mirror of
https://github.com/Ellpeck/NaturesAura.git
synced 2024-11-22 19:58:34 +01:00
fixed particles updating twice per tick
This commit is contained in:
parent
c49b961131
commit
7f5c054f0a
8 changed files with 48 additions and 45 deletions
|
@ -136,8 +136,8 @@ public class BlockAncientLeaves extends BlockLeaves implements
|
||||||
pos.getX() + rand.nextDouble(), pos.getY(), pos.getZ() + rand.nextDouble(),
|
pos.getX() + rand.nextDouble(), pos.getY(), pos.getZ() + rand.nextDouble(),
|
||||||
0F, 0F, 0F, 0xc46df9,
|
0F, 0F, 0F, 0xc46df9,
|
||||||
rand.nextFloat() * 2F + 0.5F,
|
rand.nextFloat() * 2F + 0.5F,
|
||||||
rand.nextInt(100) + 150,
|
rand.nextInt(50) + 75,
|
||||||
rand.nextFloat() * 0.01F + 0.001F, true, true);
|
rand.nextFloat() * 0.02F + 0.002F, true, true);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,8 +33,8 @@ public class BlockFurnaceHeater extends BlockContainerImpl {
|
||||||
pos.getX() + 0.35F + rand.nextFloat() * 0.3F,
|
pos.getX() + 0.35F + rand.nextFloat() * 0.3F,
|
||||||
pos.getY() + 0.2F,
|
pos.getY() + 0.2F,
|
||||||
pos.getZ() + 0.35F + rand.nextFloat() * 0.3F,
|
pos.getZ() + 0.35F + rand.nextFloat() * 0.3F,
|
||||||
0F, rand.nextFloat() * 0.008F + 0.005F, 0F,
|
0F, rand.nextFloat() * 0.016F + 0.01F, 0F,
|
||||||
rand.nextBoolean() ? 0xf46e42 : 0xf49541, rand.nextFloat() + 0.5F, 100, 0F, true, true);
|
rand.nextBoolean() ? 0xf46e42 : 0xf49541, rand.nextFloat() + 0.5F, 50, 0F, true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ public class TileEntityFlowerGenerator extends TileEntityImpl implements ITickab
|
||||||
this.pos.getX() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
this.pos.getX() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
||||||
this.pos.getY() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
this.pos.getY() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
||||||
this.pos.getZ() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
this.pos.getZ() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
||||||
this.world.rand.nextFloat() * 0.01F + 0.05F, color, 1F
|
this.world.rand.nextFloat() * 0.02F + 0.1F, color, 1F
|
||||||
));
|
));
|
||||||
PacketHandler.sendToAllAround(this.world, this.pos, 32, new PacketParticles(this.pos.getX(), this.pos.getY(), this.pos.getZ(), 8));
|
PacketHandler.sendToAllAround(this.world, this.pos, 32, new PacketParticles(this.pos.getX(), this.pos.getY(), this.pos.getZ(), 8));
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class TileEntityFurnaceHeater extends TileEntityImpl implements ITickable
|
||||||
this.pos.getX() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
this.pos.getX() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
||||||
this.pos.getY() + 0.15F,
|
this.pos.getY() + 0.15F,
|
||||||
this.pos.getZ() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
this.pos.getZ() + 0.25F + this.world.rand.nextFloat() * 0.5F,
|
||||||
this.world.rand.nextFloat() * 0.035F + 0.035F, 0x89cc37, this.world.rand.nextFloat() + 0.5F
|
this.world.rand.nextFloat() * 0.07F + 0.07F, 0x89cc37, this.world.rand.nextFloat() + 0.5F
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,7 +85,7 @@ public class TileEntityNatureAltar extends TileEntityImpl implements ITickable {
|
||||||
this.pos.getY() + rand.nextFloat() * 10F,
|
this.pos.getY() + rand.nextFloat() * 10F,
|
||||||
this.pos.getZ() + (float) rand.nextGaussian() * 10F,
|
this.pos.getZ() + (float) rand.nextGaussian() * 10F,
|
||||||
this.pos.getX() + 0.5F, this.pos.getY() + 0.5F, this.pos.getZ() + 0.5F,
|
this.pos.getX() + 0.5F, this.pos.getY() + 0.5F, this.pos.getZ() + 0.5F,
|
||||||
rand.nextFloat() * 0.05F + 0.05F, 0x89cc37, rand.nextFloat() * 1F + 1F
|
rand.nextFloat() * 0.1F + 0.1F, 0x89cc37, rand.nextFloat() * 1F + 1F
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -148,22 +148,22 @@ public class TileEntityNatureAltar extends TileEntityImpl implements ITickable {
|
||||||
if (this.container.getStoredAura() > 0) {
|
if (this.container.getStoredAura() > 0) {
|
||||||
NaturesAura.proxy.spawnMagicParticle(this.world,
|
NaturesAura.proxy.spawnMagicParticle(this.world,
|
||||||
this.pos.getX() - 4F + rand.nextFloat(), this.pos.getY() + 3F, this.pos.getZ() + rand.nextFloat(),
|
this.pos.getX() - 4F + rand.nextFloat(), this.pos.getY() + 3F, this.pos.getZ() + rand.nextFloat(),
|
||||||
0F, 0F, 0F, this.container.getAuraColor(), rand.nextFloat() * 3F + 1F, rand.nextInt(200) + 100, -0.025F, true, true);
|
0F, 0F, 0F, this.container.getAuraColor(), rand.nextFloat() * 3F + 1F, rand.nextInt(100) + 50, -0.05F, true, true);
|
||||||
}
|
}
|
||||||
if (this.container.getStoredAura() >= fourths) {
|
if (this.container.getStoredAura() >= fourths) {
|
||||||
NaturesAura.proxy.spawnMagicParticle(this.world,
|
NaturesAura.proxy.spawnMagicParticle(this.world,
|
||||||
this.pos.getX() + 4F + rand.nextFloat(), this.pos.getY() + 3F, this.pos.getZ() + rand.nextFloat(),
|
this.pos.getX() + 4F + rand.nextFloat(), this.pos.getY() + 3F, this.pos.getZ() + rand.nextFloat(),
|
||||||
0F, 0F, 0F, this.container.getAuraColor(), rand.nextFloat() * 3F + 1F, rand.nextInt(200) + 100, -0.025F, true, true);
|
0F, 0F, 0F, this.container.getAuraColor(), rand.nextFloat() * 3F + 1F, rand.nextInt(100) + 50, -0.05F, true, true);
|
||||||
}
|
}
|
||||||
if (this.container.getStoredAura() >= fourths * 2) {
|
if (this.container.getStoredAura() >= fourths * 2) {
|
||||||
NaturesAura.proxy.spawnMagicParticle(this.world,
|
NaturesAura.proxy.spawnMagicParticle(this.world,
|
||||||
this.pos.getX() + rand.nextFloat(), this.pos.getY() + 3F, this.pos.getZ() - 4F + rand.nextFloat(),
|
this.pos.getX() + rand.nextFloat(), this.pos.getY() + 3F, this.pos.getZ() - 4F + rand.nextFloat(),
|
||||||
0F, 0F, 0F, this.container.getAuraColor(), rand.nextFloat() * 3F + 1F, rand.nextInt(200) + 100, -0.025F, true, true);
|
0F, 0F, 0F, this.container.getAuraColor(), rand.nextFloat() * 3F + 1F, rand.nextInt(100) + 50, -0.05F, true, true);
|
||||||
}
|
}
|
||||||
if (this.container.getStoredAura() >= fourths * 3) {
|
if (this.container.getStoredAura() >= fourths * 3) {
|
||||||
NaturesAura.proxy.spawnMagicParticle(this.world,
|
NaturesAura.proxy.spawnMagicParticle(this.world,
|
||||||
this.pos.getX() + rand.nextFloat(), this.pos.getY() + 3F, this.pos.getZ() + 4F + rand.nextFloat(),
|
this.pos.getX() + rand.nextFloat(), this.pos.getY() + 3F, this.pos.getZ() + 4F + rand.nextFloat(),
|
||||||
0F, 0F, 0F, this.container.getAuraColor(), rand.nextFloat() * 3F + 1F, rand.nextInt(200) + 100, -0.025F, true, true);
|
0F, 0F, 0F, this.container.getAuraColor(), rand.nextFloat() * 3F + 1F, rand.nextInt(100) + 50, -0.05F, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ public class TileEntityWoodStand extends TileEntityImpl implements ITickable {
|
||||||
(float) pos.getY() + 0.85F,
|
(float) pos.getY() + 0.85F,
|
||||||
(float) pos.getZ() + 0.2F + this.world.rand.nextFloat() * 0.6F,
|
(float) pos.getZ() + 0.2F + this.world.rand.nextFloat() * 0.6F,
|
||||||
this.ritualPos.getX() + 0.5F, this.ritualPos.getY() + this.world.rand.nextFloat() * 3F + 2F, this.ritualPos.getZ() + 0.5F,
|
this.ritualPos.getX() + 0.5F, this.ritualPos.getY() + this.world.rand.nextFloat() * 3F + 2F, this.ritualPos.getZ() + 0.5F,
|
||||||
this.world.rand.nextFloat() * 0.02F + 0.02F, 0x89cc37, this.world.rand.nextFloat() * 1F + 1F
|
this.world.rand.nextFloat() * 0.04F + 0.04F, 0x89cc37, this.world.rand.nextFloat() * 1F + 1F
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -28,6 +28,7 @@ import net.minecraftforge.client.event.RenderWorldLastEvent;
|
||||||
import net.minecraftforge.client.event.TextureStitchEvent;
|
import net.minecraftforge.client.event.TextureStitchEvent;
|
||||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent;
|
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent;
|
||||||
|
import net.minecraftforge.fml.common.gameevent.TickEvent.Phase;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
|
@ -75,12 +76,14 @@ public class ClientEvents {
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onClientTick(ClientTickEvent event) {
|
public void onClientTick(ClientTickEvent event) {
|
||||||
Minecraft mc = Minecraft.getMinecraft();
|
if (event.phase == Phase.END) {
|
||||||
if (!mc.isGamePaused()) {
|
Minecraft mc = Minecraft.getMinecraft();
|
||||||
ParticleHandler.updateParticles();
|
if (!mc.isGamePaused()) {
|
||||||
}
|
ParticleHandler.updateParticles();
|
||||||
if (mc.world == null) {
|
}
|
||||||
ParticleHandler.clearParticles();
|
if (mc.world == null) {
|
||||||
|
ParticleHandler.clearParticles();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,18 +79,18 @@ public class PacketParticles implements IMessage {
|
||||||
dustPos.getX() + box.minX + (box.maxX - box.minX) * world.rand.nextFloat(),
|
dustPos.getX() + box.minX + (box.maxX - box.minX) * world.rand.nextFloat(),
|
||||||
dustPos.getY() + 0.1F,
|
dustPos.getY() + 0.1F,
|
||||||
dustPos.getZ() + box.minZ + (box.maxZ - box.minZ) * world.rand.nextFloat(),
|
dustPos.getZ() + box.minZ + (box.maxZ - box.minZ) * world.rand.nextFloat(),
|
||||||
(float) world.rand.nextGaussian() * 0.01F,
|
(float) world.rand.nextGaussian() * 0.02F,
|
||||||
world.rand.nextFloat() * 0.005F + 0.01F,
|
world.rand.nextFloat() * 0.01F + 0.02F,
|
||||||
(float) world.rand.nextGaussian() * 0.01F,
|
(float) world.rand.nextGaussian() * 0.02F,
|
||||||
0xf4cb42, 2F, 100, 0F, false, true);
|
0xf4cb42, 2F, 50, 0F, false, true);
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case 1: // Tree ritual: Consuming item
|
case 1: // Tree ritual: Consuming item
|
||||||
for (int i = world.rand.nextInt(20) + 10; i >= 0; i--) {
|
for (int i = world.rand.nextInt(20) + 10; i >= 0; i--) {
|
||||||
NaturesAura.proxy.spawnMagicParticle(world,
|
NaturesAura.proxy.spawnMagicParticle(world,
|
||||||
message.posX + 0.5F, message.posY + 0.9F, message.posZ + 0.5F,
|
message.posX + 0.5F, message.posY + 0.9F, message.posZ + 0.5F,
|
||||||
(float) world.rand.nextGaussian() * 0.02F, world.rand.nextFloat() * 0.02F, (float) world.rand.nextGaussian() * 0.02F,
|
(float) world.rand.nextGaussian() * 0.04F, world.rand.nextFloat() * 0.04F, (float) world.rand.nextGaussian() * 0.04F,
|
||||||
0x89cc37, 1.5F, 50, 0F, false, true);
|
0x89cc37, 1.5F, 25, 0F, false, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2: // Tree ritual: Tree disappearing
|
case 2: // Tree ritual: Tree disappearing
|
||||||
|
@ -98,15 +98,15 @@ public class PacketParticles implements IMessage {
|
||||||
NaturesAura.proxy.spawnMagicParticle(world,
|
NaturesAura.proxy.spawnMagicParticle(world,
|
||||||
message.posX + world.rand.nextFloat(), message.posY + world.rand.nextFloat(), message.posZ + world.rand.nextFloat(),
|
message.posX + world.rand.nextFloat(), message.posY + world.rand.nextFloat(), message.posZ + world.rand.nextFloat(),
|
||||||
0F, 0F, 0F,
|
0F, 0F, 0F,
|
||||||
0x33FF33, 1F, 100, 0F, false, true);
|
0x33FF33, 1F, 50, 0F, false, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3: // Tree ritual: Spawn result item
|
case 3: // Tree ritual: Spawn result item
|
||||||
for (int i = world.rand.nextInt(10) + 10; i >= 0; i--) {
|
for (int i = world.rand.nextInt(10) + 10; i >= 0; i--) {
|
||||||
NaturesAura.proxy.spawnMagicParticle(world,
|
NaturesAura.proxy.spawnMagicParticle(world,
|
||||||
message.posX, message.posY, message.posZ,
|
message.posX, message.posY, message.posZ,
|
||||||
world.rand.nextGaussian() * 0.05F, world.rand.nextGaussian() * 0.05F, world.rand.nextGaussian() * 0.05F,
|
world.rand.nextGaussian() * 0.1F, world.rand.nextGaussian() * 0.1F, world.rand.nextGaussian() * 0.1F,
|
||||||
0x89cc37, 2F, 200, 0F, true, true);
|
0x89cc37, 2F, 100, 0F, true, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4: // Nature altar: Conversion
|
case 4: // Nature altar: Conversion
|
||||||
|
@ -115,8 +115,8 @@ public class PacketParticles implements IMessage {
|
||||||
message.posX + 0.25F + world.rand.nextFloat() * 0.5F,
|
message.posX + 0.25F + world.rand.nextFloat() * 0.5F,
|
||||||
message.posY + 0.9F + 0.25F * world.rand.nextFloat(),
|
message.posY + 0.9F + 0.25F * world.rand.nextFloat(),
|
||||||
message.posZ + 0.25F + world.rand.nextFloat() * 0.5F,
|
message.posZ + 0.25F + world.rand.nextFloat() * 0.5F,
|
||||||
world.rand.nextGaussian() * 0.01F, world.rand.nextFloat() * 0.01F, world.rand.nextGaussian() * 0.01F,
|
world.rand.nextGaussian() * 0.02F, world.rand.nextFloat() * 0.02F, world.rand.nextGaussian() * 0.02F,
|
||||||
0x00FF00, world.rand.nextFloat() * 1.5F + 0.75F, 40, 0F, false, true);
|
0x00FF00, world.rand.nextFloat() * 1.5F + 0.75F, 20, 0F, false, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5: // Potion generator
|
case 5: // Potion generator
|
||||||
|
@ -127,8 +127,8 @@ public class PacketParticles implements IMessage {
|
||||||
message.posX + world.rand.nextFloat(),
|
message.posX + world.rand.nextFloat(),
|
||||||
message.posY + 1.1F,
|
message.posY + 1.1F,
|
||||||
message.posZ + world.rand.nextFloat(),
|
message.posZ + world.rand.nextFloat(),
|
||||||
world.rand.nextGaussian() * 0.005F, world.rand.nextFloat() * 0.05F, world.rand.nextGaussian() * 0.005F,
|
world.rand.nextGaussian() * 0.01F, world.rand.nextFloat() * 0.1F, world.rand.nextGaussian() * 0.01F,
|
||||||
color, 2F + world.rand.nextFloat(), 80, 0F, true, true);
|
color, 2F + world.rand.nextFloat(), 40, 0F, true, true);
|
||||||
|
|
||||||
if (disperse)
|
if (disperse)
|
||||||
for (int x = -1; x <= 1; x += 2)
|
for (int x = -1; x <= 1; x += 2)
|
||||||
|
@ -137,10 +137,10 @@ public class PacketParticles implements IMessage {
|
||||||
message.posX + x * 3 + 0.5F,
|
message.posX + x * 3 + 0.5F,
|
||||||
message.posY + 2.5,
|
message.posY + 2.5,
|
||||||
message.posZ + z * 3 + 0.5F,
|
message.posZ + z * 3 + 0.5F,
|
||||||
world.rand.nextGaussian() * 0.01F,
|
world.rand.nextGaussian() * 0.02F,
|
||||||
world.rand.nextFloat() * 0.02F,
|
world.rand.nextFloat() * 0.04F,
|
||||||
world.rand.nextGaussian() * 0.01F,
|
world.rand.nextGaussian() * 0.02F,
|
||||||
0xd6340c, 1F + world.rand.nextFloat() * 2F, 150, 0F, true, true);
|
0xd6340c, 1F + world.rand.nextFloat() * 2F, 75, 0F, true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -150,8 +150,8 @@ public class PacketParticles implements IMessage {
|
||||||
message.posX + world.rand.nextFloat(),
|
message.posX + world.rand.nextFloat(),
|
||||||
message.posY + 0.25F + world.rand.nextFloat() * 0.5F,
|
message.posY + 0.25F + world.rand.nextFloat() * 0.5F,
|
||||||
message.posZ + world.rand.nextFloat(),
|
message.posZ + world.rand.nextFloat(),
|
||||||
0F, world.rand.nextFloat() * 0.01F, 0F,
|
0F, world.rand.nextFloat() * 0.02F, 0F,
|
||||||
0x5ccc30, 1F + world.rand.nextFloat() * 2F, 100, 0F, false, true);
|
0x5ccc30, 1F + world.rand.nextFloat() * 2F, 50, 0F, false, true);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 7: // Flower generator consumation
|
case 7: // Flower generator consumation
|
||||||
|
@ -161,10 +161,10 @@ public class PacketParticles implements IMessage {
|
||||||
message.posX + 0.25F + world.rand.nextFloat() * 0.5F,
|
message.posX + 0.25F + world.rand.nextFloat() * 0.5F,
|
||||||
message.posY + 0.25F + world.rand.nextFloat() * 0.5F,
|
message.posY + 0.25F + world.rand.nextFloat() * 0.5F,
|
||||||
message.posZ + 0.25F + world.rand.nextFloat() * 0.5F,
|
message.posZ + 0.25F + world.rand.nextFloat() * 0.5F,
|
||||||
world.rand.nextGaussian() * 0.01F,
|
world.rand.nextGaussian() * 0.02F,
|
||||||
world.rand.nextGaussian() * 0.01F,
|
world.rand.nextGaussian() * 0.02F,
|
||||||
world.rand.nextGaussian() * 0.01F,
|
world.rand.nextGaussian() * 0.02F,
|
||||||
color, world.rand.nextFloat() * 2F + 1F, 50, 0F, false, true);
|
color, world.rand.nextFloat() * 2F + 1F, 25, 0F, false, true);
|
||||||
break;
|
break;
|
||||||
case 8: // Flower generator aura creation
|
case 8: // Flower generator aura creation
|
||||||
for (int i = world.rand.nextInt(10) + 5; i >= 0; i--)
|
for (int i = world.rand.nextInt(10) + 5; i >= 0; i--)
|
||||||
|
@ -172,10 +172,10 @@ public class PacketParticles implements IMessage {
|
||||||
message.posX + 0.25F + world.rand.nextFloat() * 0.5F,
|
message.posX + 0.25F + world.rand.nextFloat() * 0.5F,
|
||||||
message.posY + 1.01F,
|
message.posY + 1.01F,
|
||||||
message.posZ + 0.25F + world.rand.nextFloat() * 0.5F,
|
message.posZ + 0.25F + world.rand.nextFloat() * 0.5F,
|
||||||
world.rand.nextGaussian() * 0.005F,
|
world.rand.nextGaussian() * 0.01F,
|
||||||
world.rand.nextFloat() * 0.02F + 0.01F,
|
world.rand.nextFloat() * 0.04F + 0.02F,
|
||||||
world.rand.nextGaussian() * 0.005F,
|
world.rand.nextGaussian() * 0.01F,
|
||||||
0x5ccc30, 1F + world.rand.nextFloat() * 1.5F, 80, 0F, false, true);
|
0x5ccc30, 1F + world.rand.nextFloat() * 1.5F, 40, 0F, false, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue