Tier 0, 2, 3 machine blocks fixed

This commit is contained in:
drcrazy 2019-02-21 16:27:18 +03:00
parent 3201ac878b
commit 93cf0a97d5
4 changed files with 28 additions and 59 deletions

View file

@ -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,37 +53,39 @@ 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);
}
}
}

View file

@ -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<ItemStack> stacks = ((TileTechStorageBase) storageTile).getContentDrops();
WorldUtils.dropItems(stacks, worldIn, pos);
}
super.breakBlock(worldIn, pos, state);
}
}

View file

@ -61,8 +61,10 @@ public class BlockCreativeQuantumChest extends BlockMachineBase {
}
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
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);
}
}
}

View file

@ -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<ItemStack> stacks = ((TileTechStorageBase) storageTile).getContentDrops();
WorldUtils.dropItems(stacks, worldIn, pos);
}
super.breakBlock(worldIn, pos, state);
}
}