Tier 0, 2, 3 machine blocks fixed
This commit is contained in:
parent
3201ac878b
commit
93cf0a97d5
4 changed files with 28 additions and 59 deletions
|
@ -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,41 +53,43 @@ 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]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// BlockMachineBase
|
// BlockMachineBase
|
||||||
@Override
|
@Override
|
||||||
public TileEntity createNewTileEntity(IBlockReader worldIn) {
|
public TileEntity createNewTileEntity(IBlockReader worldIn) {
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,10 +59,12 @@ public class BlockCreativeQuantumChest extends BlockMachineBase {
|
||||||
public boolean isAdvanced() {
|
public boolean isAdvanced() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
|
public void onReplaced(IBlockState state, World worldIn, BlockPos pos, IBlockState newState, boolean isMoving) {
|
||||||
//lets not drop max int items into the world, that sounds like a bad idea
|
if (state.getBlock() != newState.getBlock()) {
|
||||||
worldIn.removeTileEntity(pos);
|
//lets not drop max int items into the world, that sounds like a bad idea
|
||||||
|
worldIn.removeTileEntity(pos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue