extraordinarily wide fluid storage

This commit is contained in:
Bob 2021-08-19 23:07:21 +02:00
parent 721edd302b
commit 2f9482a46b
17 changed files with 2158 additions and 43 deletions

View File

@ -857,6 +857,8 @@ public class ModBlocks {
public static Block machine_fluidtank;
public static final int guiID_machine_fluidtank = 50;
public static Block machine_bat9000;
public static Block launch_pad;
public static final int guiID_launch_pad = 19;
@ -1749,7 +1751,7 @@ public class ModBlocks {
watz_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_hatch");
watz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_conductor_top").setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor_side");
watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_computer");
watz = new Watz().setBlockName("watz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz");
watz = new Watz().setBlockName("watz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
fwatz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_combine_steel").setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor_side");
fwatz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":fwatz_cooler_top").setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler");
@ -1895,6 +1897,7 @@ public class ModBlocks {
machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_assembler");
machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_chemplant");
machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank");
machine_bat9000 = new MachineBigAssTank9000(Material.iron).setBlockName("machine_bat9000").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_turbofan = new MachineTurbofan(Material.iron).setBlockName("machine_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_turbofan");
machine_press = new MachinePress(Material.iron).setBlockName("machine_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_press");
machine_epress = new MachineEPress(Material.iron).setBlockName("machine_epress").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_epress");
@ -2717,6 +2720,7 @@ public class ModBlocks {
GameRegistry.registerBlock(machine_assembler, machine_assembler.getUnlocalizedName());
GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName());
GameRegistry.registerBlock(machine_fluidtank, machine_fluidtank.getUnlocalizedName());
GameRegistry.registerBlock(machine_bat9000, machine_bat9000.getUnlocalizedName());
GameRegistry.registerBlock(machine_boiler_off, machine_boiler_off.getUnlocalizedName());
GameRegistry.registerBlock(machine_boiler_on, machine_boiler_on.getUnlocalizedName());
GameRegistry.registerBlock(machine_boiler_electric_on, machine_boiler_electric_on.getUnlocalizedName());

View File

@ -0,0 +1,85 @@
package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.handler.MultiblockHandlerXR;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.TileEntityMachineBAT9000;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class MachineBigAssTank9000 extends BlockDummyable {
public MachineBigAssTank9000(Material mat) {
super(mat);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12) return new TileEntityMachineBAT9000();
if(meta >= 6) return new TileEntityProxyCombo(false, false, true);
return null;
}
@Override
public int[] getDimensions() {
return new int[] {4, 0, 2, 2, 1, 1};
}
@Override
public int getOffset() {
return 2;
}
@Override
public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
super.fillSpace(world, x, y, z, dir, o);
MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, 0, 1, 1, 2, -2}, this, dir);
MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, 0, 1, 1, -2, 2}, this, dir);
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o + 2);
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o + 2);
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o - 2);
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o - 2);
this.makeExtra(world, x + dir.offsetX * o + 2, y, z + dir.offsetZ * o + 1);
this.makeExtra(world, x + dir.offsetX * o - 2, y, z + dir.offsetZ * o + 1);
this.makeExtra(world, x + dir.offsetX * o + 2, y, z + dir.offsetZ * o - 1);
this.makeExtra(world, x + dir.offsetX * o - 2, y, z + dir.offsetZ * o - 1);
}
@Override
protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) {
if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), x, y, z, dir)) return false;
if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, 0, 1, 1, 2, -2}, x, y, z, dir)) return false;
if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, 0, 1, 1, -2, 2}, x, y, z, dir)) return false;
return true;
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote) {
return true;
} else if(!player.isSneaking()) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_barrel, world, pos[0], pos[1], pos[2]); //we can do this because nobody is stopping me from doing this
return true;
} else {
return true;
}
}
}

View File

@ -160,6 +160,7 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineBAT9000.class, new RenderBAT9000());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRefinery.class, new RenderRefinery());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpjack.class, new RenderPumpjack());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbofan.class, new RenderTurbofan());

View File

@ -483,6 +483,7 @@ public class MainRegistry {
GameRegistry.registerTileEntity(TileEntityChungus.class, "tileentity_chungus");
GameRegistry.registerTileEntity(TileEntityCableBaseNT.class, "tileentity_ohgod");
GameRegistry.registerTileEntity(TileEntityWatz.class, "tileentity_watz");
GameRegistry.registerTileEntity(TileEntityMachineBAT9000.class, "tileentity_bat9000");
GameRegistry.registerTileEntity(TileEntityRBMKRod.class, "tileentity_rbmk_rod");
GameRegistry.registerTileEntity(TileEntityRBMKRodReaSim.class, "tileentity_rbmk_rod_reasim");

View File

@ -68,6 +68,7 @@ public class ResourceManager {
//Tank
public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj"));
public static final IModelCustom bat9000 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/bat9000.obj"));
//Turbofan
public static final IModelCustom turbofan_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_body.obj"));
@ -320,6 +321,7 @@ public class ResourceManager {
//Tank
public static final ResourceLocation tank_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png");
public static final ResourceLocation tank_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank_NONE.png");
public static final ResourceLocation bat9000_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/bat9000.png");
//Turbofan
public static final ResourceLocation turbofan_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_body.png");

View File

@ -1004,6 +1004,28 @@ public class ItemRenderLibrary {
bindTexture(ResourceManager.turret_fritz_tex); ResourceManager.turret_fritz.renderPart("Gun");
GL11.glShadeModel(GL11.GL_FLAT);
}});
renderers.put(Item.getItemFromBlock(ModBlocks.machine_bat9000), new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -3, 0);
GL11.glScaled(2, 2, 2);
}
public void renderCommon() {
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.bat9000_tex); ResourceManager.bat9000.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}});
renderers.put(Item.getItemFromBlock(ModBlocks.watz), new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -1, 0);
GL11.glScaled(2, 2, 2);
}
public void renderCommon() {
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.watz_tex); ResourceManager.watz.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}});
}
private static void bindTexture(ResourceLocation res) {

View File

@ -0,0 +1,101 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.main.ResourceManager;
import com.hbm.render.util.DiamondPronter;
import com.hbm.render.util.EnumSymbol;
import com.hbm.tileentity.machine.TileEntityMachineBAT9000;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderBAT9000 extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) {
TileEntityMachineBAT9000 bat = (TileEntityMachineBAT9000) te;
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
bindTexture(ResourceManager.bat9000_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.bat9000.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
FluidType type = bat.tank.getTankType();
if(type != null && type != FluidType.NONE) {
RenderHelper.disableStandardItemLighting();
GL11.glPushMatrix();
int poison = type.poison;
int flammability = type.flammability;
int reactivity = type.reactivity;
EnumSymbol symbol = type.symbol;
GL11.glRotatef(45, 0, 1, 0);
for(int j = 0; j < 4; j++) {
GL11.glPushMatrix();
GL11.glTranslated(2.5, 2.25, 0);
GL11.glScalef(1.0F, 0.75F, 0.75F);
DiamondPronter.pront(poison, flammability, reactivity, symbol);
GL11.glPopMatrix();
GL11.glRotatef(90, 0, 1, 0);
}
GL11.glPopMatrix();
RenderHelper.enableStandardItemLighting();
}
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glColor3f(1F, 1F, 1F);
Tessellator tess = Tessellator.instance;
double height = bat.tank.getFill() * 1.5D / bat.tank.getMaxFill();
double off = 2.2;
tess.startDrawingQuads();
tess.setColorOpaque_I(type.getColor());
tess.addVertex(-off, 1.5, -0.5);
tess.addVertex(-off, 1.5 + height, -0.5);
tess.addVertex(-off, 1.5 + height, 0.5);
tess.addVertex(-off, 1.5, 0.5);
tess.addVertex(off, 1.5, -0.5);
tess.addVertex(off, 1.5 + height, -0.5);
tess.addVertex(off, 1.5 + height, 0.5);
tess.addVertex(off, 1.5, 0.5);
tess.addVertex(-0.5, 1.5, -off);
tess.addVertex(-0.5, 1.5 + height, -off);
tess.addVertex(0.5, 1.5 + height, -off);
tess.addVertex(0.5, 1.5, -off);
tess.addVertex(-0.5, 1.5, off);
tess.addVertex(-0.5, 1.5 + height, off);
tess.addVertex(0.5, 1.5 + height, off);
tess.addVertex(0.5, 1.5, off);
tess.draw();
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glPopMatrix();
}
}

View File

@ -26,6 +26,10 @@ public class RenderFluidBarrel extends TileEntitySpecialRenderer {
FluidType type = barrel.tank.getTankType();
if(type != FluidType.NONE) {
RenderHelper.disableStandardItemLighting();
GL11.glPushMatrix();
int poison = type.poison;
int flammability = type.flammability;
int reactivity = type.reactivity;
@ -33,15 +37,16 @@ public class RenderFluidBarrel extends TileEntitySpecialRenderer {
for(int j = 0; j < 4; j++) {
RenderHelper.disableStandardItemLighting();
GL11.glPushMatrix();
GL11.glTranslated(0.4, 0.25, -0.15);
GL11.glScalef(1.0F, 0.35F, 0.35F);
DiamondPronter.pront(poison, flammability, reactivity, symbol);
GL11.glPopMatrix();
GL11.glRotatef(90, 0, 1, 0);
RenderHelper.enableStandardItemLighting();
}
GL11.glPopMatrix();
RenderHelper.enableStandardItemLighting();
}
}

View File

@ -57,41 +57,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
fillFluidInit(tank.getTankType());
if(tank.getFill() > 0) {
Block b = this.getBlockType();
//for when you fill antimatter into a matter tank
if(b != ModBlocks.barrel_antimatter && tank.getTankType().traits.contains(FluidTrait.AMAT)) {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true);
}
//for when you fill hot or corrosive liquids into a plastic tank
if(b == ModBlocks.barrel_plastic && (tank.getTankType().isCorrosive() || tank.getTankType().isHot())) {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 1.0F, 1.0F);
}
//for when you fill corrosive liquid into an iron tank
if((b == ModBlocks.barrel_iron && tank.getTankType().isCorrosive()) ||
(b == ModBlocks.barrel_steel && tank.getTankType().traits.contains(FluidTrait.CORROSIVE_2))) {
ItemStack[] copy = this.slots.clone();
this.slots = new ItemStack[6];
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.barrel_corroded);
TileEntityBarrel barrel = (TileEntityBarrel)worldObj.getTileEntity(xCoord, yCoord, zCoord);
if(barrel != null) {
barrel.tank.setTankType(tank.getTankType());
barrel.tank.setFill(Math.min(barrel.tank.getMaxFill(), tank.getFill()));
barrel.slots = copy;
}
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 1.0F, 1.0F);
}
if(b == ModBlocks.barrel_corroded && worldObj.rand.nextInt(3) == 0) {
tank.setFill(tank.getFill() - 1);
}
checkFluidInteraction();
}
NBTTagCompound data = new NBTTagCompound();
@ -100,6 +66,44 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
}
}
public void checkFluidInteraction() {
Block b = this.getBlockType();
//for when you fill antimatter into a matter tank
if(b != ModBlocks.barrel_antimatter && tank.getTankType().traits.contains(FluidTrait.AMAT)) {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true);
}
//for when you fill hot or corrosive liquids into a plastic tank
if(b == ModBlocks.barrel_plastic && (tank.getTankType().isCorrosive() || tank.getTankType().isHot())) {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 1.0F, 1.0F);
}
//for when you fill corrosive liquid into an iron tank
if((b == ModBlocks.barrel_iron && tank.getTankType().isCorrosive()) ||
(b == ModBlocks.barrel_steel && tank.getTankType().traits.contains(FluidTrait.CORROSIVE_2))) {
ItemStack[] copy = this.slots.clone();
this.slots = new ItemStack[6];
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.barrel_corroded);
TileEntityBarrel barrel = (TileEntityBarrel)worldObj.getTileEntity(xCoord, yCoord, zCoord);
if(barrel != null) {
barrel.tank.setTankType(tank.getTankType());
barrel.tank.setFill(Math.min(barrel.tank.getMaxFill(), tank.getFill()));
barrel.slots = copy;
}
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 1.0F, 1.0F);
}
if(b == ModBlocks.barrel_corroded && worldObj.rand.nextInt(3) == 0) {
tank.setFill(tank.getFill() - 1);
}
}
public void networkUnpack(NBTTagCompound data) {
mode = data.getShort("mode");

View File

@ -0,0 +1,66 @@
package com.hbm.tileentity.machine;
import com.hbm.handler.FluidTypeHandler.FluidTrait;
import com.hbm.handler.FluidTypeHandler.FluidType;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityMachineBAT9000 extends TileEntityBarrel {
public TileEntityMachineBAT9000() {
super(2048000);
}
@Override
public String getName() {
return "container.bat9000";
}
@Override
public void checkFluidInteraction() {
if(tank.getTankType().traits.contains(FluidTrait.AMAT)) {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 10, true, true);
}
}
@Override
public void fillFluidInit(FluidType type) {
fillFluid(this.xCoord + 1, this.yCoord, this.zCoord + 3, getTact(), type);
fillFluid(this.xCoord - 1, this.yCoord, this.zCoord + 3, getTact(), type);
fillFluid(this.xCoord + 1, this.yCoord, this.zCoord - 3, getTact(), type);
fillFluid(this.xCoord - 1, this.yCoord, this.zCoord - 3, getTact(), type);
fillFluid(this.xCoord + 3, this.yCoord, this.zCoord + 1, getTact(), type);
fillFluid(this.xCoord - 3, this.yCoord, this.zCoord + 1, getTact(), type);
fillFluid(this.xCoord + 3, this.yCoord, this.zCoord - 1, getTact(), type);
fillFluid(this.xCoord - 3, this.yCoord, this.zCoord - 1, getTact(), type);
}
AxisAlignedBB bb = null;
@Override
public AxisAlignedBB getRenderBoundingBox() {
if(bb == null) {
bb = AxisAlignedBB.getBoundingBox(
xCoord - 2,
yCoord,
zCoord - 2,
xCoord + 3,
yCoord + 5,
zCoord + 3
);
}
return bb;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -281,9 +281,9 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
tanks[0].loadTank(17, 19, slots);
tanks[1].loadTank(18, 20, slots);
if(slots[17] != null && !(slots[17].getItem() == ModItems.fluid_barrel_infinite || slots[17].getItem() == ModItems.inf_water))
if(slots[17] != null && !(slots[17].getItem() == ModItems.fluid_barrel_infinite || slots[17].getItem() == ModItems.inf_water || slots[17].getItem() == ModItems.inf_water_mk2))
tanks[0].unloadTank(17, 19, slots);
if(slots[18] != null && !(slots[18].getItem() == ModItems.fluid_barrel_infinite || slots[18].getItem() == ModItems.inf_water))
if(slots[18] != null && !(slots[18].getItem() == ModItems.fluid_barrel_infinite || slots[18].getItem() == ModItems.inf_water || slots[18].getItem() == ModItems.inf_water_mk2))
tanks[1].unloadTank(18, 20, slots);
tanks[2].unloadTank(9, 11, slots);

View File

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.handler.FluidTypeHandler.FluidTrait;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidContainer;
@ -53,9 +54,15 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
tank.loadTank(2, 3, slots);
tank.setType(0, 1, slots);
if(tank.getTankType().isAntimatter() && tank.getFill() > 0) {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true);
if(tank.getFill() > 0) {
if(tank.getTankType().isAntimatter()) {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true);
}
if(tank.getTankType().traits.contains(FluidTrait.CORROSIVE_2)) {
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
}
}
tank.unloadTank(4, 5, slots);

View File

@ -2916,6 +2916,7 @@ tile.machine_arc_furnace_off.name=Lichtbogenofen
tile.machine_arc_furnace_on.name=Lichtbogenofen
tile.machine_armor_table.name=Rüstungsmodifikationstisch
tile.machine_assembler.name=Fertigungsmaschine
tile.machine_bat9000.name=Big-Ass Tank 9000
tile.machine_battery.name=Energiespeicherblock
tile.machine_battery_potato.name=Kartoffelbatterieblock
tile.machine_boiler_electric_off.name=Elektrischer Boiler

View File

@ -2998,6 +2998,7 @@ tile.machine_arc_furnace_off.name=Arc Furnace
tile.machine_arc_furnace_on.name=Arc Furnace
tile.machine_armor_table.name=Armor Modification Table
tile.machine_assembler.name=Assembly Machine
tile.machine_bat9000.name=Big-Ass Tank 9000
tile.machine_battery.name=Energy Storage Block
tile.machine_battery_potato.name=Potato Battery Block
tile.machine_boiler_electric_off.name=Electric Boiler

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 857 B

After

Width:  |  Height:  |  Size: 1.0 KiB