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; package techreborn.blocks.tier0;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Particles;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.NonNullList; import net.minecraft.util.NonNullList;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
@ -43,8 +44,6 @@ import reborncore.common.blocks.BlockMachineBase;
import techreborn.TechReborn; import techreborn.TechReborn;
import techreborn.client.EGui; import techreborn.client.EGui;
import techreborn.tiles.machine.iron.TileIronFurnace; import techreborn.tiles.machine.iron.TileIronFurnace;
import java.util.ArrayList;
import java.util.List;
import java.util.Random; import java.util.Random;
public class BlockIronFurnace extends BlockMachineBase { 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")); RebornModelRegistry.registerModel(new ModelCompound(TechReborn.MOD_ID, this, "machines/tier0_machines"));
} }
@OnlyIn(Dist.CLIENT)
@SuppressWarnings("incomplete-switch") @SuppressWarnings("incomplete-switch")
public void randomDisplayTick(final World worldIn, final BlockPos pos, final IBlockState state, final Random rand) { @OnlyIn(Dist.CLIENT)
if (this.isActive(state)) { public void animateTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
final EnumFacing enumfacing = state.getValue(BlockMachineBase.FACING); if (this.isActive(stateIn)) {
final double d0 = pos.getX() + 0.5D; final double d0 = pos.getX() + 0.5D;
final double d1 = pos.getY() + rand.nextDouble() * 6.0D / 16.0D; final double d1 = pos.getY() + rand.nextDouble() * 6.0D / 16.0D;
final double d2 = pos.getZ() + 0.5D; 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 d3 = 0.52D;
final double d4 = rand.nextDouble() * 0.6D - 0.3D; final double d4 = rand.nextDouble() * 0.6D - 0.3D;
switch (enumfacing) { switch (enumfacing) {
case WEST: case WEST:
worldIn.spawnParticle( EnumParticleTypes.SMOKE_NORMAL, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, worldIn.spawnParticle(Particles.SMOKE, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
new int[0]); worldIn.spawnParticle(Particles.FLAME, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]);
break; break;
case EAST: case EAST:
worldIn.spawnParticle( EnumParticleTypes.SMOKE_NORMAL, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, worldIn.spawnParticle(Particles.SMOKE, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
new int[0]); worldIn.spawnParticle(Particles.FLAME, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]);
break; break;
case NORTH: case NORTH:
worldIn.spawnParticle( EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, worldIn.spawnParticle(Particles.SMOKE, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D);
new int[0]); worldIn.spawnParticle(Particles.FLAME, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, new int[0]);
break; break;
case SOUTH: case SOUTH:
worldIn.spawnParticle( EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D, worldIn.spawnParticle(Particles.SMOKE, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D);
new int[0]); worldIn.spawnParticle(Particles.FLAME, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D, new int[0]);
} }
} }
} }

View file

@ -24,22 +24,15 @@
package techreborn.blocks.tier2; package techreborn.blocks.tier2;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
import reborncore.api.tile.IMachineGuiHandler; import reborncore.api.tile.IMachineGuiHandler;
import reborncore.client.models.ModelCompound; import reborncore.client.models.ModelCompound;
import reborncore.client.models.RebornModelRegistry; import reborncore.client.models.RebornModelRegistry;
import reborncore.common.blocks.BlockMachineBase; import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.util.WorldUtils;
import techreborn.TechReborn; import techreborn.TechReborn;
import techreborn.client.EGui; import techreborn.client.EGui;
import techreborn.tiles.TileDigitalChest; import techreborn.tiles.TileDigitalChest;
import techreborn.tiles.TileTechStorageBase;
import java.util.List;
public class BlockDigitalChest extends BlockMachineBase { public class BlockDigitalChest extends BlockMachineBase {
@ -62,14 +55,4 @@ public class BlockDigitalChest extends BlockMachineBase {
public boolean isAdvanced() { public boolean isAdvanced() {
return true; 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 @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 //lets not drop max int items into the world, that sounds like a bad idea
worldIn.removeTileEntity(pos); worldIn.removeTileEntity(pos);
} }
} }
}

View file

@ -24,22 +24,15 @@
package techreborn.blocks.tier3; package techreborn.blocks.tier3;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
import reborncore.api.tile.IMachineGuiHandler; import reborncore.api.tile.IMachineGuiHandler;
import reborncore.client.models.ModelCompound; import reborncore.client.models.ModelCompound;
import reborncore.client.models.RebornModelRegistry; import reborncore.client.models.RebornModelRegistry;
import reborncore.common.blocks.BlockMachineBase; import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.util.WorldUtils;
import techreborn.TechReborn; import techreborn.TechReborn;
import techreborn.client.EGui; import techreborn.client.EGui;
import techreborn.tiles.TileQuantumChest; import techreborn.tiles.TileQuantumChest;
import techreborn.tiles.TileTechStorageBase;
import java.util.List;
public class BlockQuantumChest extends BlockMachineBase { public class BlockQuantumChest extends BlockMachineBase {
@ -62,14 +55,4 @@ public class BlockQuantumChest extends BlockMachineBase {
public boolean isAdvanced() { public boolean isAdvanced() {
return true; 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);
}
} }