diff --git a/src/main/java/techreborn/blocks/tier0/BlockIronFurnace.java b/src/main/java/techreborn/blocks/tier0/BlockIronFurnace.java index d067cac07..80c8346c7 100644 --- a/src/main/java/techreborn/blocks/tier0/BlockIronFurnace.java +++ b/src/main/java/techreborn/blocks/tier0/BlockIronFurnace.java @@ -25,13 +25,14 @@ package techreborn.blocks.tier0; import net.minecraft.block.state.IBlockState; +import net.minecraft.init.Particles; +import net.minecraft.init.SoundEvents; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.NonNullList; +import net.minecraft.util.SoundCategory; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; @@ -43,8 +44,6 @@ import reborncore.common.blocks.BlockMachineBase; import techreborn.TechReborn; import techreborn.client.EGui; import techreborn.tiles.machine.iron.TileIronFurnace; -import java.util.ArrayList; -import java.util.List; import java.util.Random; public class BlockIronFurnace extends BlockMachineBase { @@ -54,41 +53,43 @@ public class BlockIronFurnace extends BlockMachineBase { RebornModelRegistry.registerModel(new ModelCompound(TechReborn.MOD_ID, this, "machines/tier0_machines")); } - @OnlyIn(Dist.CLIENT) @SuppressWarnings("incomplete-switch") - public void randomDisplayTick(final World worldIn, final BlockPos pos, final IBlockState state, final Random rand) { - if (this.isActive(state)) { - final EnumFacing enumfacing = state.getValue(BlockMachineBase.FACING); + @OnlyIn(Dist.CLIENT) + public void animateTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) { + if (this.isActive(stateIn)) { + final double d0 = pos.getX() + 0.5D; final double d1 = pos.getY() + rand.nextDouble() * 6.0D / 16.0D; final double d2 = pos.getZ() + 0.5D; + if (rand.nextDouble() < 0.1D) { + worldIn.playSound(d0, d1, d2, SoundEvents.BLOCK_FURNACE_FIRE_CRACKLE, SoundCategory.BLOCKS, 1.0F, 1.0F, + false); + } + + final EnumFacing enumfacing = stateIn.get(BlockMachineBase.FACING); final double d3 = 0.52D; final double d4 = rand.nextDouble() * 0.6D - 0.3D; switch (enumfacing) { case WEST: - worldIn.spawnParticle( EnumParticleTypes.SMOKE_NORMAL, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, - new int[0]); - worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]); + worldIn.spawnParticle(Particles.SMOKE, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D); + worldIn.spawnParticle(Particles.FLAME, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D); break; case EAST: - worldIn.spawnParticle( EnumParticleTypes.SMOKE_NORMAL, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, - new int[0]); - worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]); + worldIn.spawnParticle(Particles.SMOKE, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D); + worldIn.spawnParticle(Particles.FLAME, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D); break; case NORTH: - worldIn.spawnParticle( EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, - new int[0]); - worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, new int[0]); + worldIn.spawnParticle(Particles.SMOKE, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D); + worldIn.spawnParticle(Particles.FLAME, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D); break; case SOUTH: - worldIn.spawnParticle( EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D, - new int[0]); - worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D, new int[0]); + worldIn.spawnParticle(Particles.SMOKE, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D); + worldIn.spawnParticle(Particles.FLAME, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D); } } } - + // BlockMachineBase @Override public TileEntity createNewTileEntity(IBlockReader worldIn) { diff --git a/src/main/java/techreborn/blocks/tier2/BlockDigitalChest.java b/src/main/java/techreborn/blocks/tier2/BlockDigitalChest.java index 488ed6b9d..737f33b7e 100644 --- a/src/main/java/techreborn/blocks/tier2/BlockDigitalChest.java +++ b/src/main/java/techreborn/blocks/tier2/BlockDigitalChest.java @@ -24,22 +24,15 @@ package techreborn.blocks.tier2; -import net.minecraft.block.state.IBlockState; -import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockReader; -import net.minecraft.world.World; import reborncore.api.tile.IMachineGuiHandler; import reborncore.client.models.ModelCompound; import reborncore.client.models.RebornModelRegistry; import reborncore.common.blocks.BlockMachineBase; -import reborncore.common.util.WorldUtils; import techreborn.TechReborn; import techreborn.client.EGui; import techreborn.tiles.TileDigitalChest; -import techreborn.tiles.TileTechStorageBase; -import java.util.List; public class BlockDigitalChest extends BlockMachineBase { @@ -62,14 +55,4 @@ public class BlockDigitalChest extends BlockMachineBase { public boolean isAdvanced() { return true; } - - @Override - public void breakBlock(World worldIn, BlockPos pos, IBlockState state) { - TileEntity storageTile = worldIn.getTileEntity(pos); - if (storageTile != null && storageTile instanceof TileTechStorageBase) { - List stacks = ((TileTechStorageBase) storageTile).getContentDrops(); - WorldUtils.dropItems(stacks, worldIn, pos); - } - super.breakBlock(worldIn, pos, state); - } } diff --git a/src/main/java/techreborn/blocks/tier3/BlockCreativeQuantumChest.java b/src/main/java/techreborn/blocks/tier3/BlockCreativeQuantumChest.java index 7dfe51aca..eadb88811 100644 --- a/src/main/java/techreborn/blocks/tier3/BlockCreativeQuantumChest.java +++ b/src/main/java/techreborn/blocks/tier3/BlockCreativeQuantumChest.java @@ -59,10 +59,12 @@ public class BlockCreativeQuantumChest extends BlockMachineBase { public boolean isAdvanced() { return true; } - + @Override - public void breakBlock(World worldIn, BlockPos pos, IBlockState state) { - //lets not drop max int items into the world, that sounds like a bad idea - worldIn.removeTileEntity(pos); + public void onReplaced(IBlockState state, World worldIn, BlockPos pos, IBlockState newState, boolean isMoving) { + if (state.getBlock() != newState.getBlock()) { + //lets not drop max int items into the world, that sounds like a bad idea + worldIn.removeTileEntity(pos); + } } } diff --git a/src/main/java/techreborn/blocks/tier3/BlockQuantumChest.java b/src/main/java/techreborn/blocks/tier3/BlockQuantumChest.java index cf50b246a..2496e83fa 100644 --- a/src/main/java/techreborn/blocks/tier3/BlockQuantumChest.java +++ b/src/main/java/techreborn/blocks/tier3/BlockQuantumChest.java @@ -24,22 +24,15 @@ package techreborn.blocks.tier3; -import net.minecraft.block.state.IBlockState; -import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockReader; -import net.minecraft.world.World; import reborncore.api.tile.IMachineGuiHandler; import reborncore.client.models.ModelCompound; import reborncore.client.models.RebornModelRegistry; import reborncore.common.blocks.BlockMachineBase; -import reborncore.common.util.WorldUtils; import techreborn.TechReborn; import techreborn.client.EGui; import techreborn.tiles.TileQuantumChest; -import techreborn.tiles.TileTechStorageBase; -import java.util.List; public class BlockQuantumChest extends BlockMachineBase { @@ -62,14 +55,4 @@ public class BlockQuantumChest extends BlockMachineBase { public boolean isAdvanced() { return true; } - - @Override - public void breakBlock(World worldIn, BlockPos pos, IBlockState state) { - TileEntity storageTile = worldIn.getTileEntity(pos); - if (storageTile != null && storageTile instanceof TileTechStorageBase) { - List stacks = ((TileTechStorageBase) storageTile).getContentDrops(); - WorldUtils.dropItems(stacks, worldIn, pos); - } - super.breakBlock(worldIn, pos, state); - } }