Implemented custom resistance for Refined Obsidian

This commit is contained in:
aidancbrady 2016-05-11 23:56:25 -04:00
parent 627a2597db
commit f51221f5ac
3 changed files with 16 additions and 30 deletions

View file

@ -49,6 +49,7 @@ import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.item.EntityItem;
@ -117,7 +118,7 @@ public class BlockBasic extends Block implements IBlockCTM, ICustomBlockIcon
{
super(Material.iron);
setHardness(5F);
setResistance(10F);
setResistance(20F);
setCreativeTab(Mekanism.tabMekanism);
blockType = type;
}
@ -164,6 +165,19 @@ public class BlockBasic extends Block implements IBlockCTM, ICustomBlockIcon
}
}
}
@Override
public float getExplosionResistance(Entity entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ)
{
BasicType type = BasicType.get(this, world.getBlockMetadata(x, y, z));
if(type == BasicType.REFINED_OBSIDIAN)
{
return 4000F;
}
return blockResistance;
}
@Override
@SideOnly(Side.CLIENT)

View file

@ -48,8 +48,6 @@ public class SynchronizedBoilerData extends SynchronizedData<SynchronizedBoilerD
public int steamVolume;
public ContainerEditMode editMode = ContainerEditMode.BOTH;
public ItemStack[] inventory = new ItemStack[2];
public Coord4D upperRenderLocation;

View file

@ -10,14 +10,12 @@ import mekanism.api.Coord4D;
import mekanism.api.IHeatTransfer;
import mekanism.api.Range4D;
import mekanism.common.Mekanism;
import mekanism.common.base.IFluidContainerManager;
import mekanism.common.content.boiler.BoilerCache;
import mekanism.common.content.boiler.BoilerUpdateProtocol;
import mekanism.common.content.boiler.SynchronizedBoilerData;
import mekanism.common.content.tank.SynchronizedTankData.ValveData;
import mekanism.common.multiblock.MultiblockManager;
import mekanism.common.network.PacketTileEntity.TileEntityMessage;
import mekanism.common.util.FluidContainerUtils.ContainerEditMode;
import mekanism.common.util.LangUtils;
import mekanism.common.util.MekanismUtils;
import net.minecraft.entity.player.EntityPlayer;
@ -26,7 +24,7 @@ import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
public class TileEntityBoilerCasing extends TileEntityMultiblock<SynchronizedBoilerData> implements IFluidContainerManager, IHeatTransfer
public class TileEntityBoilerCasing extends TileEntityMultiblock<SynchronizedBoilerData> implements IHeatTransfer
{
/** A client-sided set of valves on this tank's structure that are currently active, used on the client for rendering fluids. */
public Set<ValveData> valveViewing = new HashSet<ValveData>();
@ -217,7 +215,6 @@ public class TileEntityBoilerCasing extends TileEntityMultiblock<SynchronizedBoi
{
data.add(structure.waterVolume*BoilerUpdateProtocol.WATER_PER_TANK);
data.add(structure.steamVolume*BoilerUpdateProtocol.STEAM_PER_TANK);
data.add(structure.editMode.ordinal());
data.add(structure.lastEnvironmentLoss);
data.add(structure.lastBoilRate);
data.add(structure.superheatingElements);
@ -282,7 +279,6 @@ public class TileEntityBoilerCasing extends TileEntityMultiblock<SynchronizedBoi
{
clientWaterCapacity = dataStream.readInt();
clientSteamCapacity = dataStream.readInt();
structure.editMode = ContainerEditMode.values()[dataStream.readInt()];
structure.lastEnvironmentLoss = dataStream.readDouble();
structure.lastBoilRate = dataStream.readInt();
structure.superheatingElements = dataStream.readInt();
@ -355,28 +351,6 @@ public class TileEntityBoilerCasing extends TileEntityMultiblock<SynchronizedBoi
return structure.steamStored.amount*i / clientSteamCapacity;
}
@Override
public ContainerEditMode getContainerEditMode()
{
if(structure != null)
{
return structure.editMode;
}
return ContainerEditMode.BOTH;
}
@Override
public void setContainerEditMode(ContainerEditMode mode)
{
if(structure == null)
{
return;
}
structure.editMode = mode;
}
@Override
public double getTemp()
{