mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
extraordinarily wide fluid storage
This commit is contained in:
parent
721edd302b
commit
2f9482a46b
@ -857,6 +857,8 @@ public class ModBlocks {
|
|||||||
public static Block machine_fluidtank;
|
public static Block machine_fluidtank;
|
||||||
public static final int guiID_machine_fluidtank = 50;
|
public static final int guiID_machine_fluidtank = 50;
|
||||||
|
|
||||||
|
public static Block machine_bat9000;
|
||||||
|
|
||||||
public static Block launch_pad;
|
public static Block launch_pad;
|
||||||
public static final int guiID_launch_pad = 19;
|
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_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_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_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_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");
|
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_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_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_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_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_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");
|
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_assembler, machine_assembler.getUnlocalizedName());
|
||||||
GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName());
|
GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName());
|
||||||
GameRegistry.registerBlock(machine_fluidtank, machine_fluidtank.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_off, machine_boiler_off.getUnlocalizedName());
|
||||||
GameRegistry.registerBlock(machine_boiler_on, machine_boiler_on.getUnlocalizedName());
|
GameRegistry.registerBlock(machine_boiler_on, machine_boiler_on.getUnlocalizedName());
|
||||||
GameRegistry.registerBlock(machine_boiler_electric_on, machine_boiler_electric_on.getUnlocalizedName());
|
GameRegistry.registerBlock(machine_boiler_electric_on, machine_boiler_electric_on.getUnlocalizedName());
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -160,6 +160,7 @@ public class ClientProxy extends ServerProxy {
|
|||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank());
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineBAT9000.class, new RenderBAT9000());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRefinery.class, new RenderRefinery());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRefinery.class, new RenderRefinery());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpjack.class, new RenderPumpjack());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpjack.class, new RenderPumpjack());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbofan.class, new RenderTurbofan());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbofan.class, new RenderTurbofan());
|
||||||
|
|||||||
@ -483,6 +483,7 @@ public class MainRegistry {
|
|||||||
GameRegistry.registerTileEntity(TileEntityChungus.class, "tileentity_chungus");
|
GameRegistry.registerTileEntity(TileEntityChungus.class, "tileentity_chungus");
|
||||||
GameRegistry.registerTileEntity(TileEntityCableBaseNT.class, "tileentity_ohgod");
|
GameRegistry.registerTileEntity(TileEntityCableBaseNT.class, "tileentity_ohgod");
|
||||||
GameRegistry.registerTileEntity(TileEntityWatz.class, "tileentity_watz");
|
GameRegistry.registerTileEntity(TileEntityWatz.class, "tileentity_watz");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityMachineBAT9000.class, "tileentity_bat9000");
|
||||||
|
|
||||||
GameRegistry.registerTileEntity(TileEntityRBMKRod.class, "tileentity_rbmk_rod");
|
GameRegistry.registerTileEntity(TileEntityRBMKRod.class, "tileentity_rbmk_rod");
|
||||||
GameRegistry.registerTileEntity(TileEntityRBMKRodReaSim.class, "tileentity_rbmk_rod_reasim");
|
GameRegistry.registerTileEntity(TileEntityRBMKRodReaSim.class, "tileentity_rbmk_rod_reasim");
|
||||||
|
|||||||
@ -68,6 +68,7 @@ public class ResourceManager {
|
|||||||
|
|
||||||
//Tank
|
//Tank
|
||||||
public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj"));
|
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
|
//Turbofan
|
||||||
public static final IModelCustom turbofan_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_body.obj"));
|
public static final IModelCustom turbofan_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_body.obj"));
|
||||||
@ -320,6 +321,7 @@ public class ResourceManager {
|
|||||||
//Tank
|
//Tank
|
||||||
public static final ResourceLocation tank_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png");
|
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 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
|
//Turbofan
|
||||||
public static final ResourceLocation turbofan_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_body.png");
|
public static final ResourceLocation turbofan_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_body.png");
|
||||||
|
|||||||
@ -1004,6 +1004,28 @@ public class ItemRenderLibrary {
|
|||||||
bindTexture(ResourceManager.turret_fritz_tex); ResourceManager.turret_fritz.renderPart("Gun");
|
bindTexture(ResourceManager.turret_fritz_tex); ResourceManager.turret_fritz.renderPart("Gun");
|
||||||
GL11.glShadeModel(GL11.GL_FLAT);
|
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) {
|
private static void bindTexture(ResourceLocation res) {
|
||||||
|
|||||||
101
src/main/java/com/hbm/render/tileentity/RenderBAT9000.java
Normal file
101
src/main/java/com/hbm/render/tileentity/RenderBAT9000.java
Normal 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();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -26,6 +26,10 @@ public class RenderFluidBarrel extends TileEntitySpecialRenderer {
|
|||||||
FluidType type = barrel.tank.getTankType();
|
FluidType type = barrel.tank.getTankType();
|
||||||
|
|
||||||
if(type != FluidType.NONE) {
|
if(type != FluidType.NONE) {
|
||||||
|
|
||||||
|
RenderHelper.disableStandardItemLighting();
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
|
||||||
int poison = type.poison;
|
int poison = type.poison;
|
||||||
int flammability = type.flammability;
|
int flammability = type.flammability;
|
||||||
int reactivity = type.reactivity;
|
int reactivity = type.reactivity;
|
||||||
@ -33,15 +37,16 @@ public class RenderFluidBarrel extends TileEntitySpecialRenderer {
|
|||||||
|
|
||||||
for(int j = 0; j < 4; j++) {
|
for(int j = 0; j < 4; j++) {
|
||||||
|
|
||||||
RenderHelper.disableStandardItemLighting();
|
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(0.4, 0.25, -0.15);
|
GL11.glTranslated(0.4, 0.25, -0.15);
|
||||||
GL11.glScalef(1.0F, 0.35F, 0.35F);
|
GL11.glScalef(1.0F, 0.35F, 0.35F);
|
||||||
DiamondPronter.pront(poison, flammability, reactivity, symbol);
|
DiamondPronter.pront(poison, flammability, reactivity, symbol);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
GL11.glRotatef(90, 0, 1, 0);
|
GL11.glRotatef(90, 0, 1, 0);
|
||||||
RenderHelper.enableStandardItemLighting();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
RenderHelper.enableStandardItemLighting();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -57,41 +57,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
|
|||||||
fillFluidInit(tank.getTankType());
|
fillFluidInit(tank.getTankType());
|
||||||
|
|
||||||
if(tank.getFill() > 0) {
|
if(tank.getFill() > 0) {
|
||||||
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NBTTagCompound data = new NBTTagCompound();
|
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) {
|
public void networkUnpack(NBTTagCompound data) {
|
||||||
|
|
||||||
mode = data.getShort("mode");
|
mode = data.getShort("mode");
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -281,9 +281,9 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
|
|||||||
tanks[0].loadTank(17, 19, slots);
|
tanks[0].loadTank(17, 19, slots);
|
||||||
tanks[1].loadTank(18, 20, 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);
|
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[1].unloadTank(18, 20, slots);
|
||||||
|
|
||||||
tanks[2].unloadTank(9, 11, slots);
|
tanks[2].unloadTank(9, 11, slots);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
|
import com.hbm.handler.FluidTypeHandler.FluidTrait;
|
||||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||||
import com.hbm.interfaces.IFluidAcceptor;
|
import com.hbm.interfaces.IFluidAcceptor;
|
||||||
import com.hbm.interfaces.IFluidContainer;
|
import com.hbm.interfaces.IFluidContainer;
|
||||||
@ -53,9 +54,15 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
|||||||
tank.loadTank(2, 3, slots);
|
tank.loadTank(2, 3, slots);
|
||||||
tank.setType(0, 1, slots);
|
tank.setType(0, 1, slots);
|
||||||
|
|
||||||
if(tank.getTankType().isAntimatter() && tank.getFill() > 0) {
|
if(tank.getFill() > 0) {
|
||||||
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
|
if(tank.getTankType().isAntimatter()) {
|
||||||
worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true);
|
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);
|
tank.unloadTank(4, 5, slots);
|
||||||
|
|||||||
@ -2916,6 +2916,7 @@ tile.machine_arc_furnace_off.name=Lichtbogenofen
|
|||||||
tile.machine_arc_furnace_on.name=Lichtbogenofen
|
tile.machine_arc_furnace_on.name=Lichtbogenofen
|
||||||
tile.machine_armor_table.name=Rüstungsmodifikationstisch
|
tile.machine_armor_table.name=Rüstungsmodifikationstisch
|
||||||
tile.machine_assembler.name=Fertigungsmaschine
|
tile.machine_assembler.name=Fertigungsmaschine
|
||||||
|
tile.machine_bat9000.name=Big-Ass Tank 9000
|
||||||
tile.machine_battery.name=Energiespeicherblock
|
tile.machine_battery.name=Energiespeicherblock
|
||||||
tile.machine_battery_potato.name=Kartoffelbatterieblock
|
tile.machine_battery_potato.name=Kartoffelbatterieblock
|
||||||
tile.machine_boiler_electric_off.name=Elektrischer Boiler
|
tile.machine_boiler_electric_off.name=Elektrischer Boiler
|
||||||
|
|||||||
@ -2998,6 +2998,7 @@ tile.machine_arc_furnace_off.name=Arc Furnace
|
|||||||
tile.machine_arc_furnace_on.name=Arc Furnace
|
tile.machine_arc_furnace_on.name=Arc Furnace
|
||||||
tile.machine_armor_table.name=Armor Modification Table
|
tile.machine_armor_table.name=Armor Modification Table
|
||||||
tile.machine_assembler.name=Assembly Machine
|
tile.machine_assembler.name=Assembly Machine
|
||||||
|
tile.machine_bat9000.name=Big-Ass Tank 9000
|
||||||
tile.machine_battery.name=Energy Storage Block
|
tile.machine_battery.name=Energy Storage Block
|
||||||
tile.machine_battery_potato.name=Potato Battery Block
|
tile.machine_battery_potato.name=Potato Battery Block
|
||||||
tile.machine_boiler_electric_off.name=Electric Boiler
|
tile.machine_boiler_electric_off.name=Electric Boiler
|
||||||
|
|||||||
1815
src/main/resources/assets/hbm/models/machines/bat9000.obj
Normal file
1815
src/main/resources/assets/hbm/models/machines/bat9000.obj
Normal file
File diff suppressed because it is too large
Load Diff
BIN
src/main/resources/assets/hbm/sounds/turret/richard_reload.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/turret/richard_reload.ogg
Normal file
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 857 B After Width: | Height: | Size: 1.0 KiB |
Loading…
x
Reference in New Issue
Block a user