fix some blocks crashing on explosion

This commit is contained in:
Raoul Van den Berge
2016-01-01 16:49:18 +01:00
parent 68a4dc7534
commit c245da1deb
2 changed files with 20 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import storagecraft.StorageCraftBlocks;
import storagecraft.block.BlockCable;
import java.util.List;
@@ -34,7 +35,12 @@ public class TileCable extends TileBase
public boolean isSensitiveCable()
{
return (Boolean) worldObj.getBlockState(pos).getValue(BlockCable.SENSITIVE);
if (worldObj.getBlockState(pos).getBlock() == StorageCraftBlocks.CABLE)
{
return (Boolean) worldObj.getBlockState(pos).getValue(BlockCable.SENSITIVE);
}
return false;
}
public boolean isEnabled()

View File

@@ -8,6 +8,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import storagecraft.StorageCraft;
import storagecraft.StorageCraftBlocks;
import storagecraft.block.BlockController;
import storagecraft.block.EnumControllerType;
@@ -115,7 +116,8 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
}
}
switch (getType()){
switch (getType())
{
case NORMAL:
energy.extractEnergy(energyUsage, false);
break;
@@ -124,14 +126,21 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor
break;
}
if (lastEnergy != energy.getEnergyStored()) {
if (lastEnergy != energy.getEnergyStored())
{
worldObj.updateComparatorOutputLevel(pos, StorageCraftBlocks.CONTROLLER);
}
}
}
public EnumControllerType getType() {
return (EnumControllerType) worldObj.getBlockState(pos).getValue(BlockController.TYPE);
public EnumControllerType getType()
{
if (worldObj.getBlockState(pos).getBlock() == StorageCraftBlocks.CONTROLLER)
{
return (EnumControllerType) worldObj.getBlockState(pos).getValue(BlockController.TYPE);
}
return EnumControllerType.NORMAL;
}
public void onDestroyed()