remove old particles

This commit is contained in:
Sen 2025-07-08 18:08:51 +02:00
parent eca1f242c4
commit 874e118d9d
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
63 changed files with 154 additions and 1585 deletions

View file

@ -162,7 +162,7 @@ public class BlockDragonEgg extends Block
double d1 = (double)blockpos.getX() + (double)(pos.getX() - blockpos.getX()) * d0 + (worldIn.rand.doublev() - 0.5D) * 1.0D + 0.5D;
double d2 = (double)blockpos.getY() + (double)(pos.getY() - blockpos.getY()) * d0 + worldIn.rand.doublev() * 1.0D - 0.5D;
double d3 = (double)blockpos.getZ() + (double)(pos.getZ() - blockpos.getZ()) * d0 + (worldIn.rand.doublev() - 0.5D) * 1.0D + 0.5D;
worldIn.spawnParticle(ParticleType.PORTAL, d1, d2, d3, (double)f, (double)f1, (double)f2);
worldIn.spawnParticle(ParticleType.TELEPORT, d1, d2, d3, (double)f, (double)f1, (double)f2);
}
}
else

View file

@ -99,7 +99,7 @@ public class BlockFloorPortal extends Block
double d3 = 0.0D;
double d4 = 0.0D;
double d5 = 0.0D;
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0, d1, d2, d3, d4, d5);
worldIn.spawnParticle(ParticleType.SMOKE, d0, d1, d2, d3, d4, d5);
}
public Item getItem(World worldIn, BlockPos pos)

View file

@ -240,7 +240,7 @@ public class BlockPortal extends Block
d5 = (double)(rand.floatv() * 2.0F * (float)j);
}
worldIn.spawnParticle(ParticleType.PORTAL, d0, d1, d2, d3, d4, d5);
worldIn.spawnParticle(ParticleType.TELEPORT, d0, d1, d2, d3, d4, d5);
}
}

View file

@ -19,7 +19,6 @@ import common.item.block.ItemColored;
import common.item.tool.ItemShears;
import common.model.Model;
import common.model.ModelProvider;
import common.model.ParticleType;
import common.properties.Property;
import common.properties.PropertyBool;
import common.rng.Random;
@ -28,7 +27,6 @@ import common.util.BlockPos;
import common.util.Facing;
import common.vars.Vars;
import common.world.IWorldAccess;
import common.world.AWorldClient;
import common.world.State;
import common.world.World;
import common.world.AWorldServer;
@ -217,17 +215,6 @@ public class BlockLeaves extends BlockLeavesBase
// }
}
public void randomDisplayTick(AWorldClient worldIn, BlockPos pos, State state, Random rand)
{
if (worldIn.isRainingAt(pos.up(), true) && !worldIn.isBlockSolid(pos.down()) && rand.chance(15)) // == 1
{
double d0 = (double)((float)pos.getX() + rand.floatv());
double d1 = (double)pos.getY() - 0.05D;
double d2 = (double)((float)pos.getZ() + rand.floatv());
worldIn.spawnParticle(ParticleType.DRIP_WATER, d0, d1, d2, 0.0D, 0.0D, 0.0D);
}
}
private void destroy(World worldIn, BlockPos pos)
{
this.dropBlockAsItem(worldIn, pos, worldIn.getState(pos), 0);

View file

@ -75,7 +75,7 @@ public class BlockMycelium extends Block
if (rand.chance(10))
{
worldIn.spawnParticle(ParticleType.TOWN_AURA, (double)((float)pos.getX() + rand.floatv()), (double)((float)pos.getY() + 1.1F), (double)((float)pos.getZ() + rand.floatv()), 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SPORE, (double)((float)pos.getX() + rand.floatv()), (double)((float)pos.getY() + 1.1F), (double)((float)pos.getZ() + rand.floatv()), 0.0D, 0.0D, 0.0D);
}
}

View file

@ -261,10 +261,6 @@ public abstract class BlockLiquid extends Block
worldIn.playSound(d0 + 0.5D, d1 + 0.5D, d2 + 0.5D, SoundEvent.WATER, rand.floatv() * 0.25F + 0.75F);
}
}
else if (rand.chance(10))
{
worldIn.spawnParticle(ParticleType.SUSPENDED, d0 + (double)rand.floatv(), d1 + (double)rand.floatv(), d2 + (double)rand.floatv(), 0.0D, 0.0D, 0.0D);
}
}
if (this.material == Material.LAVA && worldIn.getState(pos.up()).getBlock() == Blocks.air && !worldIn.getState(pos.up()).getBlock().isOpaqueCube())
@ -283,27 +279,6 @@ public abstract class BlockLiquid extends Block
worldIn.playSound(d0, d1, d2, SoundEvent.LAVA, 0.2F + rand.floatv() * 0.2F);
}
}
if (rand.chance(10) && worldIn.isBlockSolid(pos.down()))
{
Material material = worldIn.getState(pos.down(2)).getBlock().getMaterial();
if (!material.blocksMovement() && !material.isLiquid())
{
double d3 = d0 + (double)rand.floatv();
double d5 = d1 - 1.05D;
double d7 = d2 + (double)rand.floatv();
if (this.material == Material.WATER)
{
worldIn.spawnParticle(ParticleType.DRIP_WATER, d3, d5, d7, 0.0D, 0.0D, 0.0D);
}
else
{
worldIn.spawnParticle(ParticleType.DRIP_LAVA, d3, d5, d7, 0.0D, 0.0D, 0.0D);
}
}
}
}
public static double getFlowDirection(IBlockAccess worldIn, BlockPos pos, BlockLiquid block)
@ -374,7 +349,7 @@ public abstract class BlockLiquid extends Block
for (int i = 0; i < 8; ++i)
{
worldIn.spawnParticle(ParticleType.SMOKE_LARGE, d0 + Math.random(), d1 + 1.2D, d2 + Math.random(), 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0 + Math.random(), d1 + 1.2D, d2 + Math.random(), 0.0D, 0.0D, 0.0D);
}
}

View file

@ -16,7 +16,7 @@ public class BlockBedrock extends Block {
public void randomDisplayTick(AWorldClient worldIn, BlockPos pos, State state, Random rand)
{
if(/* worldIn.canShowVoidParticles() && */ pos.getY() <= 5 && rand.chance(8)) {
worldIn.spawnParticle(ParticleType.SUSPENDED_DEPTH, (double)pos.getX() + rand.floatv(), (double)(pos.getY()+1) + (rand.floatv() * 0.5f),
worldIn.spawnParticle(ParticleType.DEPTH, (double)pos.getX() + rand.floatv(), (double)(pos.getY()+1) + (rand.floatv() * 0.5f),
(double)pos.getZ() + rand.floatv(), 0.0D, 0.0D, 0.0D);
}
}

View file

@ -364,7 +364,7 @@ public class BlockFire extends Block
double d3 = (double)pos.getX() + rand.doublev() * 0.10000000149011612D;
double d8 = (double)pos.getY() + rand.doublev();
double d13 = (double)pos.getZ() + rand.doublev();
worldIn.spawnParticle(ParticleType.SMOKE_LARGE, d3, d8, d13, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d3, d8, d13, 0.0D, 0.0D, 0.0D);
}
}
@ -375,7 +375,7 @@ public class BlockFire extends Block
double d4 = (double)(pos.getX() + 1) - rand.doublev() * 0.10000000149011612D;
double d9 = (double)pos.getY() + rand.doublev();
double d14 = (double)pos.getZ() + rand.doublev();
worldIn.spawnParticle(ParticleType.SMOKE_LARGE, d4, d9, d14, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d4, d9, d14, 0.0D, 0.0D, 0.0D);
}
}
@ -386,7 +386,7 @@ public class BlockFire extends Block
double d5 = (double)pos.getX() + rand.doublev();
double d10 = (double)pos.getY() + rand.doublev();
double d15 = (double)pos.getZ() + rand.doublev() * 0.10000000149011612D;
worldIn.spawnParticle(ParticleType.SMOKE_LARGE, d5, d10, d15, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d5, d10, d15, 0.0D, 0.0D, 0.0D);
}
}
@ -397,7 +397,7 @@ public class BlockFire extends Block
double d6 = (double)pos.getX() + rand.doublev();
double d11 = (double)pos.getY() + rand.doublev();
double d16 = (double)(pos.getZ() + 1) - rand.doublev() * 0.10000000149011612D;
worldIn.spawnParticle(ParticleType.SMOKE_LARGE, d6, d11, d16, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d6, d11, d16, 0.0D, 0.0D, 0.0D);
}
}
@ -408,7 +408,7 @@ public class BlockFire extends Block
double d7 = (double)pos.getX() + rand.doublev();
double d12 = (double)(pos.getY() + 1) - rand.doublev() * 0.10000000149011612D;
double d17 = (double)pos.getZ() + rand.doublev();
worldIn.spawnParticle(ParticleType.SMOKE_LARGE, d7, d12, d17, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d7, d12, d17, 0.0D, 0.0D, 0.0D);
}
}
}
@ -419,7 +419,7 @@ public class BlockFire extends Block
double d0 = (double)pos.getX() + rand.doublev();
double d1 = (double)pos.getY() + rand.doublev() * 0.5D + 0.5D;
double d2 = (double)pos.getZ() + rand.doublev();
worldIn.spawnParticle(ParticleType.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
}
}
}

View file

@ -171,7 +171,7 @@ public class BlockRedstoneOre extends Block
if (d1 < (double)pos.getX() || d1 > (double)(pos.getX() + 1) || d2 < 0.0D || d2 > (double)(pos.getY() + 1) || d3 < (double)pos.getZ() || d3 > (double)(pos.getZ() + 1))
{
worldIn.spawnParticle(ParticleType.REDSTONE, d1, d2, d3, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.DUST, d1, d2, d3, 0.0D, 0.0D, 0.0D);
}
}
}

View file

@ -458,7 +458,7 @@ public class BlockBrewingStand extends BlockContainer
double d0 = (double)((float)pos.getX() + 0.4F + rand.floatv() * 0.2F);
double d1 = (double)((float)pos.getY() + 0.7F + rand.floatv() * 0.3F);
double d2 = (double)((float)pos.getZ() + 0.4F + rand.floatv() * 0.2F);
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0, d1, d2, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
}
public void onBlockRemoved(AWorldServer worldIn, BlockPos pos, State state)

View file

@ -4,18 +4,14 @@ import common.block.BlockContainer;
import common.block.Material;
import common.entity.npc.EntityNPC;
import common.entity.types.EntityLiving;
import common.init.Blocks;
import common.item.CheatTab;
import common.item.ItemStack;
import common.model.Model;
import common.model.ModelProvider;
import common.model.ParticleType;
import common.rng.Random;
import common.tileentity.TileEntity;
import common.tileentity.TileEntityEnchantmentTable;
import common.util.BlockPos;
import common.util.Facing;
import common.world.AWorldClient;
import common.world.State;
import common.world.World;
@ -44,40 +40,6 @@ public class BlockEnchantmentTable extends BlockContainer
return false;
}
public void randomDisplayTick(AWorldClient worldIn, BlockPos pos, State state, Random rand)
{
super.randomDisplayTick(worldIn, pos, state, rand);
for (int i = -2; i <= 2; ++i)
{
for (int j = -2; j <= 2; ++j)
{
if (i > -2 && i < 2 && j == -1)
{
j = 2;
}
if (rand.chance(16))
{
for (int k = 0; k <= 1; ++k)
{
BlockPos blockpos = pos.add(i, k, j);
if (worldIn.getState(blockpos).getBlock() == Blocks.bookshelf)
{
if (!worldIn.isAirBlock(pos.add(i / 2, 0, j / 2)))
{
break;
}
worldIn.spawnParticle(ParticleType.ENCHANTMENT_TABLE, (double)pos.getX() + 0.5D, (double)pos.getY() + 2.0D, (double)pos.getZ() + 0.5D, (double)((float)i + rand.floatv()) - 0.5D, (double)((float)k - rand.floatv() - 1.0F), (double)((float)j + rand.floatv()) - 0.5D);
}
}
}
}
}
}
/**
* Used to determine ambient occlusion and culling when rebuilding chunks for render
*/

View file

@ -98,22 +98,22 @@ public class BlockFurnace extends BlockContainer implements Rotatable
switch (enumfacing)
{
case WEST:
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.FLAME, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
break;
case EAST:
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.FLAME, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
break;
case NORTH:
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.FLAME, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D);
break;
case SOUTH:
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.FLAME, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D);
}
}

View file

@ -6,7 +6,6 @@ import common.entity.npc.EntityNPC;
import common.init.Blocks;
import common.init.SoundEvent;
import common.item.CheatTab;
import common.model.ParticleType;
import common.util.BlockPos;
import common.util.Facing;
import common.world.State;
@ -36,8 +35,6 @@ public class BlockNote extends Block {
public boolean onBlockEventReceived(World worldIn, BlockPos pos, State state, int eventID, int eventParam) {
worldIn.playSound(SoundEvent.NOTE, (double)pos.getX() + 0.5D, (double)pos.getY() + 0.5D, (double)pos.getZ() + 0.5D, 3.0F);
worldIn.spawnParticle(ParticleType.NOTE, (double)pos.getX() + 0.5D, (double)pos.getY() + 1.2D, (double)pos.getZ() + 0.5D,
(double)eventParam / 24.0D, 0.0D, 0.0D);
return true;
}

View file

@ -126,7 +126,7 @@ public class BlockRedstoneRepeater extends BlockRedstoneDiode
f = f / 16.0F;
double d3 = (double)(f * (float)enumfacing.getFrontOffsetX());
double d4 = (double)(f * (float)enumfacing.getFrontOffsetZ());
worldIn.spawnParticle(ParticleType.REDSTONE, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.DUST, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
}
}

View file

@ -140,7 +140,7 @@ public class BlockRedstoneTorch extends BlockTorch
double d0 = (double)pos.getX() + rand.doublev() * 0.6D + 0.2D;
double d1 = (double)pos.getY() + rand.doublev() * 0.6D + 0.2D;
double d2 = (double)pos.getZ() + rand.doublev() * 0.6D + 0.2D;
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0, d1, d2, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
}
worldIn.scheduleUpdate(pos, worldIn.getState(pos).getBlock(), 160);
@ -206,7 +206,7 @@ public class BlockRedstoneTorch extends BlockTorch
d2 += 0.27D * (double)enumfacing1.getFrontOffsetZ();
}
worldIn.spawnParticle(ParticleType.REDSTONE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.DUST, d0, d1, d2, 0.0D, 0.0D, 0.0D);
}
}

View file

@ -790,7 +790,7 @@ public class BlockRedstoneWire extends Block
float f1 = f * 0.6F + 0.4F;
float f2 = Math.max(0.0F, f * f * 0.7F - 0.5F);
float f3 = Math.max(0.0F, f * f * 0.6F - 0.7F);
worldIn.spawnParticle(ParticleType.REDSTONE, d0, d1, d2, (double)f1, (double)f2, (double)f3);
worldIn.spawnParticle(ParticleType.DUST, d0, d1, d2, (double)f1, (double)f2, (double)f3);
}
}

View file

@ -229,12 +229,12 @@ public class BlockTorch extends Block implements DirectionalUp
if (enumfacing.getAxis().isHorizontal())
{
Facing enumfacing1 = enumfacing.getOpposite();
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0 + d4 * (double)enumfacing1.getFrontOffsetX(), d1 + d3, d2 + d4 * (double)enumfacing1.getFrontOffsetZ(), 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0 + d4 * (double)enumfacing1.getFrontOffsetX(), d1 + d3, d2 + d4 * (double)enumfacing1.getFrontOffsetZ(), 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.FLAME, d0 + d4 * (double)enumfacing1.getFrontOffsetX(), d1 + d3, d2 + d4 * (double)enumfacing1.getFrontOffsetZ(), 0.0D, 0.0D, 0.0D);
}
else
{
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0, d1, d2, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.FLAME, d0, d1, d2, 0.0D, 0.0D, 0.0D);
}
}

View file

@ -127,7 +127,7 @@ public class BlockWarpChest extends Block implements Rotatable
double d3 = (double)(rand.floatv() * (float)j);
double d4 = ((double)rand.floatv() - 0.5D) * 0.125D;
double d5 = (double)(rand.floatv() * (float)k);
worldIn.spawnParticle(ParticleType.PORTAL, d0, d1, d2, d3, d4, d5);
worldIn.spawnParticle(ParticleType.TELEPORT, d0, d1, d2, d3, d4, d5);
}
}

View file

@ -1712,7 +1712,7 @@ public class EntityHorse extends EntityAnimal implements IInvBasic
*/
protected void spawnHorseParticles(boolean p_110216_1_)
{
ParticleType enumparticletypes = p_110216_1_ ? ParticleType.HEART : ParticleType.SMOKE_NORMAL;
ParticleType enumparticletypes = p_110216_1_ ? ParticleType.HEART : ParticleType.SMOKE;
for (int i = 0; i < 7; ++i)
{

View file

@ -354,7 +354,7 @@ public class EntityRabbit extends EntityAnimal {
this.jumpRotTimer = 0;
}
else if(id == 19) {
this.worldObj.spawnParticle(ParticleType.BLOCK_DUST,
this.worldObj.spawnParticle(ParticleType.BLOCK_CRACK,
this.posX + (double)(this.rand.floatv() * this.width * 2.0F) - (double)this.width,
this.posY + 0.5D + (double)(this.rand.floatv() * this.height),
this.posZ + (double)(this.rand.floatv() * this.width * 2.0F) - (double)this.width, 0.0D, 0.0D, 0.0D,

View file

@ -64,7 +64,7 @@ public class EntityOrb extends EntityThrowable
for (int i = 0; i < 32; ++i)
{
this.worldObj.spawnParticle(ParticleType.PORTAL, this.posX, this.posY + this.rand.doublev() * 2.0D, this.posZ, this.rand.gaussian(), 0.0D, this.rand.gaussian());
this.worldObj.spawnParticle(ParticleType.TELEPORT, this.posX, this.posY + this.rand.doublev() * 2.0D, this.posZ, this.rand.gaussian(), 0.0D, this.rand.gaussian());
}
if (!this.worldObj.client)

View file

@ -96,7 +96,7 @@ public class EntityTnt extends Entity implements IObjectData
else
{
this.handleWaterMovement();
this.worldObj.spawnParticle(ParticleType.SMOKE_NORMAL, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
this.worldObj.spawnParticle(ParticleType.SMOKE, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
}
}

View file

@ -50,7 +50,7 @@ public class EntityTntCart extends EntityCart
if (this.minecartTNTFuse > 0)
{
--this.minecartTNTFuse;
this.worldObj.spawnParticle(ParticleType.SMOKE_NORMAL, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
this.worldObj.spawnParticle(ParticleType.SMOKE, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
}
else if (this.minecartTNTFuse == 0)
{

View file

@ -89,7 +89,7 @@ public class EntityDarkMage extends EntityHoveringNPC {
1.0F + this.rand.floatv());
}
for(int i = 0; i < 2; ++i) {
this.worldObj.spawnParticle(ParticleType.SMOKE_LARGE, this.posX + (this.rand.doublev() - 0.5D) * (double)this.width,
this.worldObj.spawnParticle(ParticleType.SMOKE, this.posX + (this.rand.doublev() - 0.5D) * (double)this.width,
this.posY + this.rand.doublev() * (double)this.height,
this.posZ + (this.rand.doublev() - 0.5D) * (double)this.width, 0.0D, 0.0D, 0.0D);
}

View file

@ -88,14 +88,14 @@ public class EntityGargoyle extends EntityFlyingNPC
for (int l = 0; l < 5; ++l)
{
this.worldObj.spawnParticle(ParticleType.SMOKE_NORMAL, this.posX + this.rand.gaussian() * 0.30000001192092896D, this.posY + this.height + this.rand.gaussian() * 0.30000001192092896D, this.posZ + this.rand.gaussian() * 0.30000001192092896D, 0.0D, 0.0D, 0.0D);
this.worldObj.spawnParticle(ParticleType.SMOKE, this.posX + this.rand.gaussian() * 0.30000001192092896D, this.posY + this.height + this.rand.gaussian() * 0.30000001192092896D, this.posZ + this.rand.gaussian() * 0.30000001192092896D, 0.0D, 0.0D, 0.0D);
}
if (this.getInvulTime() > 0)
{
for (int i1 = 0; i1 < 3; ++i1)
{
this.worldObj.spawnParticle(ParticleType.SPELL_MOB, this.posX + this.rand.gaussian() * 1.0D, this.posY + (double)(this.rand.floatv() * 3.3F), this.posZ + this.rand.gaussian() * 1.0D, 0.699999988079071D, 0.699999988079071D, 0.8999999761581421D);
this.worldObj.spawnParticle(ParticleType.CRIT, this.posX + this.rand.gaussian() * 1.0D, this.posY + (double)(this.rand.floatv() * 3.3F), this.posZ + this.rand.gaussian() * 1.0D, 0.699999988079071D, 0.699999988079071D, 0.8999999761581421D);
}
}
}

View file

@ -1,175 +0,0 @@
package common.entity.npc;
import common.model.ParticleType;
import common.world.World;
public class EntityMagma extends EntitySlime
{
public EntityMagma(World worldIn)
{
super(worldIn);
// this.fireImmune = true;
}
public boolean isImmuneToFire()
{
return true;
}
// protected void applyEntityAttributes()
// {
// super.applyEntityAttributes();
// this.getEntityAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.20000000298023224D);
// }
/**
* Checks if the entity's current position is a valid location to spawn this entity.
*/
public boolean getCanSpawnHere()
{
return true; // this.worldObj.getDifficulty() != Difficulty.PEACEFUL;
}
// /**
// * Checks that the entity is not colliding with any blocks / liquids
// */
// public boolean isNotColliding()
// {
// return this.worldObj.checkNoEntityCollision(this.getEntityBoundingBox(), this) && this.worldObj.getCollidingBoundingBoxes(this, this.getEntityBoundingBox()).isEmpty() && !this.worldObj.isAnyLiquid(this.getEntityBoundingBox());
// }
// /**
// * Returns the current armor value as determined by a call to InventoryPlayer.getTotalArmorValue
// */
// public int getTotalArmorValue()
// {
// return this.getSlimeSize() * 3;
// }
// public int getBrightnessForRender(float partialTicks)
// {
// return 15728880;
// }
//
// /**
// * Gets how bright this entity is.
// */
// public float getBrightness(float partialTicks)
// {
// return 1.0F;
// }
protected ParticleType getParticleType()
{
return ParticleType.FLAME;
}
protected EntitySlime createInstance()
{
return new EntityMagma(this.worldObj);
}
// protected Item getDropItem()
// {
// return Items.magma_cream;
// }
// /**
// * Drop 0-2 items of this living's type
// *
// * @param wasRecentlyHit true if this this entity was recently hit by appropriate entity (generally only if player
// * or tameable)
// * @param lootingModifier level of enchanment to be applied to this drop
// */
// protected void dropFewItems(boolean wasRecentlyHit, int lootingModifier)
// {
// Item item = this.getDropItem();
//
// if (item != null && this.getSlimeSize() > 1)
// {
// int i = this.rand.range(-2, 1);
//
// if (lootingModifier > 0)
// {
// i += this.rand.zrange(lootingModifier + 1);
// }
//
// for (int j = 0; j < i; ++j)
// {
// this.dropItem(item, 1);
// }
// }
// }
// /**
// * Returns true if the entity is on fire. Used by render to add the fire effect on rendering.
// */
// public boolean isBurning()
// {
// return false;
// }
// /**
// * Gets the amount of time the slime needs to wait between jumps.
// */
// protected int getJumpDelay()
// {
// return super.getJumpDelay() * 4;
// }
// protected void alterSquishAmount()
// {
// this.squishAmount *= 0.9F;
// }
// /**
// * Causes this entity to do an upwards motion (jumping).
// */
// protected void jump()
// {
// this.motionY = 0.67;
// this.isAirBorne = true;
// }
protected void handleJumpLava()
{
this.motionY = 0.345;
this.isAirBorne = true;
}
// /**
// * Indicates weather the slime is able to damage the player (based upon the slime's size)
// */
// public boolean canDamagePlayer()
// {
// return true;
// }
// /**
// * Gets the amount of damage dealt to the player when "attacked" by the slime.
// */
// protected int getAttackStrength()
// {
// return super.getAttackStrength() + 2;
// }
// /**
// * Returns the name of the sound played when the slime jumps.
// */
// protected String getJumpSound()
// {
// return this.getSlimeSize() > 1 ? "mob.magmacube.big" : "mob.magmacube.small";
// }
// /**
// * Returns true if the slime makes a sound when it lands after a jump (based upon the slime's size)
// */
// protected boolean makesSoundOnLand()
// {
// return true;
// }
public int getColor() {
return 0xee9300;
}
}

View file

@ -1247,14 +1247,14 @@ public abstract class EntityNPC extends EntityLiving
}
else {
this.worldObj.playAuxSFX(1013, new BlockPos(ox, oy, oz), 0);
((AWorldServer)this.worldObj).spawnParticle(ParticleType.PORTAL,
((AWorldServer)this.worldObj).spawnParticle(ParticleType.TELEPORT,
ox + (this.rand.doublev() - 0.5D) * (double)this.width * 2.0D,
oy + this.rand.doublev() * (double)this.height,
oz + (this.rand.doublev() - 0.5D) * (double)this.width * 2.0D, 8,
(this.rand.floatv() - 0.5F) * 0.2F, (this.rand.floatv() - 0.5F) * 0.2F, (this.rand.floatv() - 0.5F) * 0.2F,
0.15D, 0);
this.worldObj.playAuxSFX(1005, this.getPosition(), 0);
((AWorldServer)this.worldObj).spawnParticle(ParticleType.PORTAL,
((AWorldServer)this.worldObj).spawnParticle(ParticleType.TELEPORT,
this.posX + (this.rand.doublev() - 0.5D) * (double)this.width * 2.0D,
this.posY + this.rand.doublev() * (double)this.height,
this.posZ + (this.rand.doublev() - 0.5D) * (double)this.width * 2.0D, 8,
@ -2182,8 +2182,10 @@ public abstract class EntityNPC extends EntityLiving
{
if(this.connection != null)
this.connection.onEnchantmentCritical(entityHit);
else if(this.client != null)
this.client.emitParticleAtEntity(entityHit, ParticleType.CRIT_MAGIC);
else if(this.client != null) {
this.client.emitParticleAtEntity(entityHit, ParticleType.CRIT);
this.client.emitParticleAtEntity(entityHit, ParticleType.CRIT);
}
}
/**
@ -3063,7 +3065,7 @@ public abstract class EntityNPC extends EntityLiving
}
else if (id == 13)
{
this.spawnParticles(ParticleType.SMOKE_NORMAL);
this.spawnParticles(ParticleType.SMOKE);
}
else
{

View file

@ -6,6 +6,8 @@ import common.biome.Biome;
import common.entity.DamageSource;
import common.entity.Entity;
import common.entity.types.EntityLiving;
import common.init.ItemRegistry;
import common.init.Items;
import common.init.SoundEvent;
import common.model.ParticleType;
import common.pathfinding.PathNavigateGround;
@ -151,11 +153,6 @@ public class EntitySlime extends EntityNPC
this.wasOnGround = tagCompund.getBool("wasOnGround");
}
protected ParticleType getParticleType()
{
return ParticleType.SLIME;
}
/**
* Called to update the entity's position/logic.
*/
@ -181,10 +178,9 @@ public class EntitySlime extends EntityNPC
float f2 = ExtMath.sin(f) * this.width * f1;
float f3 = ExtMath.cos(f) * this.width * f1;
World world = this.worldObj;
ParticleType enumparticletypes = this.getParticleType();
double d0 = this.posX + (double)f2;
double d1 = this.posZ + (double)f3;
world.spawnParticle(enumparticletypes, d0, this.getEntityBoundingBox().minY, d1, 0.0D, 0.0D, 0.0D);
world.spawnParticle(ParticleType.ITEM_CRACK, d0, this.getEntityBoundingBox().minY, d1, 0.0D, 0.0D, 0.0D, ItemRegistry.getId(Items.slime_ball));
}
// if (!this.isChild())

View file

@ -418,7 +418,7 @@ public class EntityHook extends Entity implements IObjectData
this.playSound(SoundEvent.SPLASH, 0.25F);
float f8 = (float)ExtMath.floord(this.getEntityBoundingBox().minY);
worldserver.spawnParticle(ParticleType.WATER_BUBBLE, this.posX, (double)(f8 + 1.0F), this.posZ, (int)(1.0F + this.width * 20.0F), (double)this.width, 0.0D, (double)this.width, 0.20000000298023224D, 0);
worldserver.spawnParticle(ParticleType.WATER_WAKE, this.posX, (double)(f8 + 1.0F), this.posZ, (int)(1.0F + this.width * 20.0F), (double)this.width, 0.0D, (double)this.width, 0.20000000298023224D, 0);
worldserver.spawnParticle(ParticleType.WATER_DROP, this.posX, (double)(f8 + 1.0F), this.posZ, (int)(1.0F + this.width * 20.0F), (double)this.width, 0.0D, (double)this.width, 0.20000000298023224D, 0);
this.ticksCatchable = this.rand.range(10, 30);
}
else
@ -441,8 +441,8 @@ public class EntityHook extends Entity implements IObjectData
float f3 = f10 * 0.04F;
float f4 = f11 * 0.04F;
worldserver.spawnParticle(ParticleType.WATER_WAKE, d13, d15, d16, 0, (double)f4, 0.01D, (double)(-f3), 1.0D, 0);
worldserver.spawnParticle(ParticleType.WATER_WAKE, d13, d15, d16, 0, (double)(-f4), 0.01D, (double)f3, 1.0D, 0);
worldserver.spawnParticle(ParticleType.WATER_DROP, d13, d15, d16, 0, (double)f4, 0.01D, (double)(-f3), 1.0D, 0);
worldserver.spawnParticle(ParticleType.WATER_DROP, d13, d15, d16, 0, (double)(-f4), 0.01D, (double)f3, 1.0D, 0);
}
}
}

View file

@ -3,7 +3,6 @@ package common.entity.projectile;
import common.entity.Entity;
import common.entity.EntityType;
import common.entity.types.EntityLiving;
import common.init.SoundEvent;
import common.model.ParticleType;
import common.tags.TagObject;
import common.util.BlockPos;
@ -40,7 +39,7 @@ public class EntityMissile extends EntityBullet {
public void onUpdate() {
super.onUpdate();
if(this.worldObj.client && this.age % 2 < 2)
this.worldObj.spawnParticle(ParticleType.SMOKE_NORMAL, this.posX, this.posY, this.posZ, this.rand.gaussian() * 0.05D,
this.worldObj.spawnParticle(ParticleType.SMOKE, this.posX, this.posY, this.posZ, this.rand.gaussian() * 0.05D,
this.rand.gaussian() * 0.05D, this.rand.gaussian() * 0.05D);
if(!this.worldObj.client && this.age > this.fuse)
this.explode();

View file

@ -226,7 +226,7 @@ public abstract class EntityProjectile extends Entity
this.motionX *= (double)f2;
this.motionY *= (double)f2;
this.motionZ *= (double)f2;
this.worldObj.spawnParticle(ParticleType.SMOKE_NORMAL, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
this.worldObj.spawnParticle(ParticleType.SMOKE, this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D);
this.setPosition(this.posX, this.posY, this.posZ);
}
else

View file

@ -3,6 +3,8 @@ package common.entity.projectile;
import common.entity.DamageSource;
import common.entity.types.EntityLiving;
import common.entity.types.EntityThrowable;
import common.init.ItemRegistry;
import common.init.Items;
import common.model.ParticleType;
import common.util.HitPosition;
import common.vars.Vars;
@ -45,7 +47,7 @@ public class EntitySnowball extends EntityThrowable
for (int j = 0; j < 8; ++j)
{
this.worldObj.spawnParticle(ParticleType.SNOWBALL, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D);
this.worldObj.spawnParticle(ParticleType.ITEM_CRACK, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D, ItemRegistry.getId(Items.snowball));
}
if (!this.worldObj.client)

View file

@ -51,7 +51,6 @@ import common.pathfinding.PathNavigate;
import common.pathfinding.PathNavigateGround;
import common.potion.Potion;
import common.potion.PotionEffect;
import common.potion.PotionHelper;
import common.rng.Random;
import common.tags.TagObject;
import common.util.BlockPos;
@ -181,8 +180,6 @@ public abstract class EntityLiving extends Entity
protected void entityInit()
{
this.dataWatcher.addObject(2, 0); // potion color
this.dataWatcher.addObject(3, (byte)0); // potion ambient
this.dataWatcher.addObject(4, (byte)0); // arrows
this.dataWatcher.addObject(5, 1); // max health
this.dataWatcher.addObject(6, 1); // health
@ -224,7 +221,7 @@ public abstract class EntityLiving extends Entity
}
int i = (int)(150.0D * d0);
((AWorldServer)this.worldObj).spawnParticle(ParticleType.BLOCK_DUST, this.posX, this.posY, this.posZ, i, 0.0D, 0.0D, 0.0D, 0.15000000596046448D, BlockRegistry.getId(iblockstate));
((AWorldServer)this.worldObj).spawnParticle(ParticleType.BLOCK_CRACK, this.posX, this.posY, this.posZ, i, 0.0D, 0.0D, 0.0D, 0.15000000596046448D, BlockRegistry.getId(iblockstate));
}
}
@ -661,36 +658,6 @@ public abstract class EntityLiving extends Entity
this.effectsDirty = false;
}
int i = this.dataWatcher.getWatchableObjectInt(2);
boolean flag1 = this.dataWatcher.getWatchableObjectByte(3) > 0;
if (i > 0)
{
boolean flag = false;
// if (!this.isInvisible())
// {
flag = this.rand.chance();
// }
// else
// {
// flag = this.rand.chance(15);
// }
if (flag1)
{
flag &= this.rand.chance(5);
}
if (flag && i > 0)
{
double d0 = (double)(i >> 16 & 255) / 255.0D;
double d1 = (double)(i >> 8 & 255) / 255.0D;
double d2 = (double)(i >> 0 & 255) / 255.0D;
this.worldObj.spawnParticle(flag1 ? ParticleType.SPELL_MOB_AMBIENT : ParticleType.SPELL_MOB, this.posX + (this.rand.doublev() - 0.5D) * (double)this.width, this.posY + this.rand.doublev() * (double)this.height, this.posZ + (this.rand.doublev() - 0.5D) * (double)this.width, d0, d1, d2);
}
}
}
/**
@ -699,27 +666,6 @@ public abstract class EntityLiving extends Entity
*/
protected void updateEffectMeta()
{
if (this.effects.isEmpty())
{
this.resetPotionEffectMetadata();
// this.setInvisible(false);
}
else
{
int i = PotionHelper.calcPotionLiquidColor(this.effects.values());
this.dataWatcher.updateObject(3, Byte.valueOf((byte)(PotionHelper.getAreAmbient(this.effects.values()) ? 1 : 0)));
this.dataWatcher.updateObject(2, Integer.valueOf(i));
// this.setInvisible(this.hasEffect(Potion.invisibility.id));
}
}
/**
* Resets the potion effect color and ambience metadata values
*/
protected void resetPotionEffectMetadata()
{
this.dataWatcher.updateObject(3, Byte.valueOf((byte)0));
this.dataWatcher.updateObject(2, Integer.valueOf(0));
}
public void clearEffects(boolean negative)

View file

@ -69,7 +69,7 @@ public abstract class EntityTameable extends EntityAnimal implements IEntityOwna
if (!play)
{
enumparticletypes = ParticleType.SMOKE_NORMAL;
enumparticletypes = ParticleType.SMOKE;
}
for (int i = 0; i < 7; ++i)

View file

@ -21,7 +21,6 @@ import common.entity.npc.EntityGoblin;
import common.entity.npc.EntityHaunter;
import common.entity.npc.EntityHuman;
import common.entity.npc.EntityMage;
import common.entity.npc.EntityMagma;
import common.entity.npc.EntityMetalhead;
import common.entity.npc.EntityNPC;
import common.entity.npc.EntityOrc;
@ -123,7 +122,6 @@ public abstract class SpeciesRegistry {
":mage_4", ":mage_5", ":mage_6");
registerSpecies("Gargoyle", EntityGargoyle.class, "tbd", "Gargoyle", 0x401010, 0x534437);
registerSpecies("Slime", EntitySlime.class, "tbd", "Schleim", ModelType.SLIME, 0x51a03e, 0x7ebf6e);
registerSpecies("Magma", EntityMagma.class, "thedric", "Magmaschleim", ModelType.SLIME, 0x340000, 0xfcfc00);
registerSpecies("Orc", EntityOrc.class, "tbd", "Ork", 0x00af00, 0x004000, ":orc_1", ":orc_2", ":orc_3",
":orc_4", ":orc_5", ":orc_6", ":orc_7", ":orc_8", ":orc_9", ":orc_10", ":orc_11", ":orc_12");
registerSpecies("Vampire", EntityVampire.class, "transylvania", "Vampir", 0x7f0000, 0xff0000, ":vampire_1", ":vampire_2", ":vampire_3",

View file

@ -277,7 +277,7 @@ public class ItemBucket extends Item
for (int l = 0; l < 8; ++l)
{
worldIn.spawnParticle(ParticleType.SMOKE_LARGE, (double)i + Math.random(), (double)j + Math.random(), (double)k + Math.random(), 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(ParticleType.SMOKE, (double)i + Math.random(), (double)j + Math.random(), (double)k + Math.random(), 0.0D, 0.0D, 0.0D);
}
}
else

View file

@ -69,7 +69,7 @@ public class ItemChargedOrb extends ItemFragile
double d3 = 0.0D;
double d4 = 0.0D;
double d5 = 0.0D;
worldIn.spawnParticle(ParticleType.SMOKE_NORMAL, d0, d1, d2, d3, d4, d5);
worldIn.spawnParticle(ParticleType.SMOKE, d0, d1, d2, d3, d4, d5);
}
Facing enumfacing = (Facing)iblockstate.getValue(BlockPortalFrame.FACING);

View file

@ -4,44 +4,24 @@ import common.util.Identifyable;
public enum ParticleType implements Identifyable {
EXPLOSION_NORMAL("explode", true),
EXPLOSION_LARGE("largeexplode", true),
EXPLOSION_HUGE("hugeexplosion", true),
FIREWORKS_SPARK("fireworksSpark"),
EXPLOSION_LARGE("explode_large", true),
EXPLOSION_HUGE("explode_huge", true),
WATER_BUBBLE("bubble"),
WATER_SPLASH("splash"),
WATER_WAKE("wake"),
SUSPENDED("suspended"),
SUSPENDED_DEPTH("depthsuspend"),
DEPTH("depth"),
CRIT("crit"),
CRIT_MAGIC("magicCrit"),
SMOKE_NORMAL("smoke"),
SMOKE_LARGE("largesmoke"),
SPELL("spell"),
SPELL_INSTANT("instantSpell"),
SPELL_MOB("mobSpell"),
SPELL_MOB_AMBIENT("mobSpellAmbient"),
SPELL_WITCH("witchMagic"),
DRIP_WATER("dripWater"),
DRIP_LAVA("dripLava"),
SMOKE("smoke"),
POTION("potion"),
GROW("grow"),
TOWN_AURA("townaura"),
NOTE("note"),
PORTAL("portal"),
ENCHANTMENT_TABLE("enchantmenttable"),
SPORE("spore"),
TELEPORT("teleport"),
FLAME("flame"),
LAVA("lava"),
FOOTSTEP("footstep"),
CLOUD("cloud"),
REDSTONE("reddust"),
SNOWBALL("snowballpoof"),
SNOW_SHOVEL("snowshovel"),
SLIME("slime"),
DUST("dust"),
HEART("heart"),
ITEM_CRACK("iconcrack"),
BLOCK_CRACK("blockcrack"),
BLOCK_DUST("blockdust"),
ITEM_CRACK("item_crack"),
BLOCK_CRACK("block_crack"),
WATER_DROP("droplet"),
ITEM_TAKE("take"),
HAIL_CORN("hail");
private final String name;

View file

@ -334,7 +334,7 @@ public class Explosion
d4 = d4 * d7;
d5 = d5 * d7;
this.worldObj.spawnParticle(ParticleType.EXPLOSION_NORMAL, (d0 + this.explosionX * 1.0D) / 2.0D, (d1 + this.explosionY * 1.0D) / 2.0D, (d2 + this.explosionZ * 1.0D) / 2.0D, d3, d4, d5);
this.worldObj.spawnParticle(ParticleType.SMOKE_NORMAL, d0, d1, d2, d3, d4, d5);
this.worldObj.spawnParticle(ParticleType.SMOKE, d0, d1, d2, d3, d4, d5);
}
if (block != Blocks.air)