From 5f222a90e9b8cb1a4c47e9665518d452031249a1 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 17 Apr 2022 21:57:34 +0200 Subject: [PATCH] i love my mug root beer --- .../hbm/blocks/machine/rbmk/RBMKHeater.java | 6 ++ .../hbm/blocks/machine/rbmk/RBMKHeatex.java | 7 +- src/main/java/com/hbm/handler/GUIHandler.java | 6 +- ...KBoiler.java => ContainerRBMKGeneric.java} | 9 +-- .../container/ContainerRBMKHeater.java | 62 ++++++++++++++++++ .../java/com/hbm/inventory/fluid/Fluids.java | 4 +- .../com/hbm/inventory/gui/GUIRBMKBoiler.java | 8 +-- .../com/hbm/inventory/gui/GUIRBMKHeater.java | 57 ++++++++++++++++ src/main/java/com/hbm/items/ModItems.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../com/hbm/main/ModEventHandlerRenderer.java | 2 +- .../com/hbm/render/model/ModelArmorBJ.java | 1 - .../hbm/render/tileentity/RenderRBMKLid.java | 3 +- .../java/com/hbm/tileentity/TileMappings.java | 2 + .../machine/rbmk/TileEntityHeatex.java | 6 ++ .../machine/rbmk/TileEntityRBMKHeater.java | 6 ++ src/main/resources/assets/hbm/lang/de_DE.lang | 6 +- src/main/resources/assets/hbm/lang/en_US.lang | 4 ++ .../assets/hbm/textures/gui/fluids/mug.png | Bin 0 -> 491 bytes .../hbm/textures/gui/fluids/mug_hot.png | Bin 0 -> 491 bytes .../hbm/textures/gui/generators/gui_igen.png | Bin 5095 -> 5106 bytes 21 files changed, 171 insertions(+), 21 deletions(-) rename src/main/java/com/hbm/inventory/container/{ContainerRBMKBoiler.java => ContainerRBMKGeneric.java} (77%) create mode 100644 src/main/java/com/hbm/inventory/container/ContainerRBMKHeater.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUIRBMKHeater.java create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/mug.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/mug_hot.png diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java index 3b3d7ceb2..51e438f1c 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java @@ -2,6 +2,7 @@ package com.hbm.blocks.machine.rbmk; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKHeater; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -16,6 +17,11 @@ public class RBMKHeater extends RBMKBase { return null; } + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return openInv(world, x, y, z, player, 0); + } + @Override public int getRenderType(){ return this.renderIDControl; diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java index a8d2c2136..a1a99bc8d 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java @@ -37,6 +37,9 @@ public class RBMKHeatex extends BlockContainer implements ILookOverlay { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) { + if(world.isRemote) + return true; + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { IItemFluidIdentifier id = (IItemFluidIdentifier) player.getHeldItem().getItem(); FluidType type = id.getType(world, x, y, z, player.getHeldItem()); @@ -48,8 +51,8 @@ public class RBMKHeatex extends BlockContainer implements ILookOverlay { if(te instanceof TileEntityHeatex) { TileEntityHeatex heatex = (TileEntityHeatex) te; - heatex.coolantIn.setTankType(type); - heatex.coolantOut.setTankType(convert); + heatex.coolantIn.setTankType(convert); + heatex.coolantOut.setTankType(type); heatex.markDirty(); player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation("hbmfluid." + type.getName().toLowerCase())).appendSibling(new ChatComponentText("!"))); } diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index 6f60d6d70..0df9f040f 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -32,6 +32,8 @@ public class GUIHandler implements IGuiHandler { if(entity instanceof TileEntityMachineRadiolysis) { return new ContainerRadiolysis(player.inventory, (TileEntityMachineRadiolysis) entity); } if(entity instanceof TileEntityMachineChemfac) { return new ContainerChemfac(player.inventory, (TileEntityMachineChemfac) entity); } if(entity instanceof TileEntityElectrolyser) { return new ContainerElectrolyser(player.inventory, (TileEntityElectrolyser) entity); } + + if(entity instanceof TileEntityRBMKHeater) { return new ContainerRBMKHeater(player.inventory, (TileEntityRBMKHeater) entity); } switch(ID) { case ModBlocks.guiID_test_difurnace: { @@ -778,7 +780,7 @@ public class GUIHandler implements IGuiHandler { case ModBlocks.guiID_rbmk_boiler: { if(entity instanceof TileEntityRBMKBoiler) { - return new ContainerRBMKBoiler(player.inventory, (TileEntityRBMKBoiler) entity); + return new ContainerRBMKGeneric(player.inventory); } return null; } @@ -874,6 +876,8 @@ public class GUIHandler implements IGuiHandler { if(entity instanceof TileEntityMachineRadiolysis) { return new GUIRadiolysis(player.inventory, (TileEntityMachineRadiolysis) entity); } if(entity instanceof TileEntityMachineChemfac) { return new GUIChemfac(player.inventory, (TileEntityMachineChemfac) entity); } if(entity instanceof TileEntityElectrolyser) { return new GUIElectrolyser(player.inventory, (TileEntityElectrolyser) entity); } + + if(entity instanceof TileEntityRBMKHeater) { return new GUIRBMKHeater(player.inventory, (TileEntityRBMKHeater) entity); } switch(ID) { case ModBlocks.guiID_test_difurnace: { diff --git a/src/main/java/com/hbm/inventory/container/ContainerRBMKBoiler.java b/src/main/java/com/hbm/inventory/container/ContainerRBMKGeneric.java similarity index 77% rename from src/main/java/com/hbm/inventory/container/ContainerRBMKBoiler.java rename to src/main/java/com/hbm/inventory/container/ContainerRBMKGeneric.java index 732f403c1..9fa297ea3 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerRBMKBoiler.java +++ b/src/main/java/com/hbm/inventory/container/ContainerRBMKGeneric.java @@ -1,19 +1,14 @@ package com.hbm.inventory.container; -import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBoiler; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class ContainerRBMKBoiler extends Container { +public class ContainerRBMKGeneric extends Container { - private TileEntityRBMKBoiler rbmk; - - public ContainerRBMKBoiler(InventoryPlayer invPlayer, TileEntityRBMKBoiler tedf) { - rbmk = tedf; + public ContainerRBMKGeneric(InventoryPlayer invPlayer) { for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { diff --git a/src/main/java/com/hbm/inventory/container/ContainerRBMKHeater.java b/src/main/java/com/hbm/inventory/container/ContainerRBMKHeater.java new file mode 100644 index 000000000..8f448e702 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerRBMKHeater.java @@ -0,0 +1,62 @@ +package com.hbm.inventory.container; + +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKHeater; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerRBMKHeater extends Container { + + private TileEntityRBMKHeater rbmk; + + public ContainerRBMKHeater(InventoryPlayer invPlayer, TileEntityRBMKHeater tile) { + rbmk = tile; + + this.addSlotToContainer(new Slot(tile, 0, 41, 45)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 20)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 20)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= rbmk.getSizeInventory() - 1) { + if(!this.mergeItemStack(var5, rbmk.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else if(!this.mergeItemStack(var5, 0, rbmk.getSizeInventory(), false)) { + return null; + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return true; + } +} diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 13a2aef2e..f4697e7de 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -187,8 +187,8 @@ public class Fluids { COALGAS_LEADED = new FluidTypeCombustible( "COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 250_000).setHeatEnergy(((FluidTypeFlammable)COALGAS).getHeatEnergy()); SULFURIC_ACID = new FluidType( "SULFURIC_ACID", 0xB0AA64, 3, 0, 2, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE); COOLANT_HOT = new FluidType( "COOLANT_HOT", 0x99525E, 1, 0, 0, EnumSymbol.NONE).setTemp(600).setHeatCap(STEAM.heatCap); - MUG = new FluidType( "MUG", 0xd8fcff, 0, 0, 0, EnumSymbol.NONE).setHeatCap(1D); - MUG_HOT = new FluidType( "MUG_HOT", 0xd8fcff, 0, 0, 0, EnumSymbol.NONE).setHeatCap(MUG.heatCap).setTemp(500); + MUG = new FluidType( "MUG", 0x4B2D28, 0, 0, 0, EnumSymbol.NONE).setHeatCap(1D); + MUG_HOT = new FluidType( "MUG_HOT", 0x6B2A20, 0, 0, 0, EnumSymbol.NONE).setHeatCap(MUG.heatCap).setTemp(500); // ^ ^ ^ ^ ^ ^ ^ ^ diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java index ccb041d18..0b32f00e1 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java @@ -2,7 +2,7 @@ package com.hbm.inventory.gui; import org.lwjgl.opengl.GL11; -import com.hbm.inventory.container.ContainerRBMKBoiler; +import com.hbm.inventory.container.ContainerRBMKGeneric; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; @@ -22,9 +22,9 @@ public class GUIRBMKBoiler extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/reactors/gui_rbmk_boiler.png"); private TileEntityRBMKBoiler boiler; - public GUIRBMKBoiler(InventoryPlayer invPlayer, TileEntityRBMKBoiler tedf) { - super(new ContainerRBMKBoiler(invPlayer, tedf)); - boiler = tedf; + public GUIRBMKBoiler(InventoryPlayer invPlayer, TileEntityRBMKBoiler tile) { + super(new ContainerRBMKGeneric(invPlayer)); + boiler = tile; this.xSize = 176; this.ySize = 186; diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKHeater.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKHeater.java new file mode 100644 index 000000000..92d5cc380 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKHeater.java @@ -0,0 +1,57 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerRBMKHeater; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKHeater; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIRBMKHeater extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/reactors/gui_rbmk_heater.png"); + private TileEntityRBMKHeater rod; + + public GUIRBMKHeater(InventoryPlayer invPlayer, TileEntityRBMKHeater tedf) { + super(new ContainerRBMKHeater(invPlayer, tedf)); + rod = tedf; + + this.xSize = 176; + this.ySize = 186; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + rod.feed.renderTankInfo(this, mouseX, mouseY, guiLeft + 68, guiTop + 24, 16, 58); + rod.steam.renderTankInfo(this, mouseX, mouseY, guiLeft + 126, guiTop + 24, 16, 58); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.rod.hasCustomInventoryName() ? this.rod.getInventoryName() : I18n.format(this.rod.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + rod.feed.renderTank(guiLeft + 68, guiTop + 82, this.zLevel, 14, 58); + rod.steam.renderTank(guiLeft + 126, guiTop + 82, this.zLevel, 14, 58); + + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + + drawTexturedModalRect(guiLeft + 72, guiTop + 72, 176, 0, 10, 10); + drawTexturedModalRect(guiLeft + 130, guiTop + 72, 186, 0, 10, 10); + } +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 6634ff179..d7a767f00 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -5006,7 +5006,7 @@ public class ModItems { .setFall("hbm:step.iron_land") .addResistance("fall", 0).setUnlocalizedName("bj_helmet").setTextureName(RefStrings.MODID + ":bj_helmet"); bj_plate = new ArmorBJ(aMatBJ, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate").setTextureName(RefStrings.MODID + ":bj_plate"); - bj_plate_jetpack = new ArmorBJJetpack(aMatBJ, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).hides(EnumPlayerPart.LEFT_ARM, EnumPlayerPart.RIGHT_ARM).setUnlocalizedName("bj_plate_jetpack").setTextureName(RefStrings.MODID + ":bj_plate_jetpack"); + bj_plate_jetpack = new ArmorBJJetpack(aMatBJ, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate_jetpack").setTextureName(RefStrings.MODID + ":bj_plate_jetpack"); bj_legs = new ArmorBJ(aMatBJ, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs"); bj_boots = new ArmorBJ(aMatBJ, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_boots").setTextureName(RefStrings.MODID + ":bj_boots"); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index c7dde902a..c98b15df3 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -292,6 +292,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKLid()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKCooler.class, new RenderRBMKLid()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKStorage.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKHeater.class, new RenderRBMKLid()); //ITER ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater()); diff --git a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java index 30c29a402..cc2a0064a 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java +++ b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java @@ -88,7 +88,7 @@ public class ModEventHandlerRenderer { @SubscribeEvent public void onOverlayRender(RenderGameOverlayEvent.Pre event) { - if(event.type == ElementType.AIR) { + if(event.type == ElementType.PORTAL) { Minecraft mc = Minecraft.getMinecraft(); diff --git a/src/main/java/com/hbm/render/model/ModelArmorBJ.java b/src/main/java/com/hbm/render/model/ModelArmorBJ.java index 4325e3ba0..8f07fd4c7 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorBJ.java +++ b/src/main/java/com/hbm/render/model/ModelArmorBJ.java @@ -28,7 +28,6 @@ public class ModelArmorBJ extends ModelArmorBase { @Override public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); body.copyTo(jetpack); diff --git a/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java b/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java index aa9d60546..465c33e67 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java @@ -7,6 +7,7 @@ import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBoiler; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKHeater; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRod; import net.minecraft.client.renderer.Tessellator; @@ -79,7 +80,7 @@ public class RenderRBMKLid extends TileEntitySpecialRenderer { cherenkov = false; } - if(control instanceof TileEntityRBMKBoiler && meta != RBMKBase.DIR_GLASS_LID.ordinal()) + if((control instanceof TileEntityRBMKBoiler || control instanceof TileEntityRBMKHeater) && meta != RBMKBase.DIR_GLASS_LID.ordinal()) ResourceManager.rbmk_rods.renderPart("Lid"); ResourceManager.rbmk_element.renderPart("Lid"); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index dd2d04436..10bac11a4 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -285,11 +285,13 @@ public class TileMappings { put(TileEntityRBMKModerator.class, "tileentity_rbmk_moderator"); put(TileEntityRBMKOutgasser.class, "tileentity_rbmk_outgasser"); put(TileEntityRBMKCooler.class, "tileentity_rbmk_cooler"); + put(TileEntityRBMKHeater.class, "tileentity_rbmk_heater"); put(TileEntityRBMKStorage.class, "tileentity_rbmk_storage"); put(TileEntityCraneConsole.class, "tileentity_rbmk_crane_console"); put(TileEntityRBMKConsole.class, "tileentity_rbmk_console"); put(TileEntityRBMKInlet.class, "tileentity_rbmk_inlet"); put(TileEntityRBMKOutlet.class, "tileentity_rbmk_outlet"); + put(TileEntityHeatex.class, "tileentity_rbmk_heatex"); } private static void putNetwork() { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityHeatex.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityHeatex.java index 4ba6f0497..5a8eeed9e 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityHeatex.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityHeatex.java @@ -71,6 +71,12 @@ public class TileEntityHeatex extends TileEntity implements IFluidAcceptor, IFlu } } + public static FluidType getConversion(FluidType type) { + if(type == Fluids.MUG_HOT) return Fluids.MUG; + if(type == Fluids.COOLANT_HOT) return Fluids.COOLANT; + return Fluids.NONE; + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java index 99e819dde..1dd6fb692 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -20,6 +20,8 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I public TileEntityRBMKHeater() { super(1); + this.feed = new FluidTank(Fluids.COOLANT, 16_000, 0); + this.steam = new FluidTank(Fluids.COOLANT_HOT, 16_000, 1); } @Override @@ -36,6 +38,10 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I public void updateEntity() { if(!worldObj.isRemote) { + + feed.setType(0, slots); + steam.setTankType(getConversion(feed.getTankType())); + feed.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); steam.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 80ac65a75..71e056b3a 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -288,6 +288,7 @@ container.radiorec=UKW Radio container.rbmkBoiler=RBMK Dampfkanal container.rbmkControl=RBMK Steuerstäbe container.rbmkControlAuto=RBMK Automatische Steuerstäbe +container.rbmkHeater=RBMK Heizer container.rbmkOutgasser=RBMK Bestrahlungskanal container.rbmkReaSim=RBMK Brennstäbe (ReaSim) container.rbmkRod=RBMK Brennstäbe @@ -479,10 +480,11 @@ hbmfluid.biofuel=Biodiesel hbmfluid.biogas=Biogas hbmfluid.bitumen=Bitumen hbmfluid.carbondioxide=Kohlenstoffdioxid -hbmfluid.coolant=Kühlflüssigkeit hbmfluid.coalgas=Kohlebenzin hbmfluid.coalgas_leaded=Bleikohlebenzin hbmfluid.coaloil=Kohleöl +hbmfluid.coolant=Kühlflüssigkeit +hbmfluid.coolant_hot=Heiße Kühlflüssigkeit hbmfluid.crackoil=Crack-Öl hbmfluid.cryogel=Kryogel hbmfluid.death=Osmiridiumlösung @@ -510,6 +512,8 @@ hbmfluid.lightoil_crack=Crack-Leichtöl hbmfluid.lpg=LPG hbmfluid.lubricant=Schmiermittel hbmfluid.mercury=Quecksilber +hbmfluid.mug=Mug Root Beer +hbmfluid.mug_hot=Heißes Mug Root Beer hbmfluid.naphtha=Mitteldestillat hbmfluid.naphtha_crack=Crack-Mitteldestillat hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 248ae199d..bc810657b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -461,6 +461,7 @@ container.radiorec=FM Radio container.rbmkBoiler=RBMK Steam Channel container.rbmkControl=RBMK Control Rods container.rbmkControlAuto=RBMK Automatic Control Rods +container.rbmkHeater=RBMK Fluid Heater container.rbmkOutgasser=RBMK Irradiation Channel container.rbmkReaSim=RBMK Fuel Rod (ReaSim) container.rbmkRod=RBMK Fuel Rod @@ -677,6 +678,7 @@ hbmfluid.coalgas=Coal Gasoline hbmfluid.coalgas_leaded=Leaded Coal Gasoline hbmfluid.coaloil=Coal Oil hbmfluid.coolant=Coolant +hbmfluid.coolant_hot=Hot Coolant hbmfluid.crackoil=Cracked Oil hbmfluid.cryogel=Cryogel hbmfluid.death=Osmiridic Solution @@ -704,6 +706,8 @@ hbmfluid.lightoil_crack=Cracked Light Oil hbmfluid.lpg=LPG hbmfluid.lubricant=Engine Lubricant hbmfluid.mercury=Mercury +hbmfluid.mug=Mug Root Beer +hbmfluid.mug_hot=Hot Mug Root Beer hbmfluid.naphtha=Naphtha hbmfluid.naphtha_crack=Cracked Naphtha hbmfluid.nitan=NITAN© 100 Octane Super Fuel diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/mug.png b/src/main/resources/assets/hbm/textures/gui/fluids/mug.png new file mode 100644 index 0000000000000000000000000000000000000000..75270984eab953c0e70e3a9bcda1d7c9bbced31d GIT binary patch literal 491 zcmVhjs>+ia*0Eh@NMsjGaF~%SwCAZe%oMRXU+P1}x^0!h7Yb{DC+O{o|dGG)K2Z%A2f-wf?95Kdn zd#-D(S=Y7XDJ5*iXN)Q9JkO+*%3-Ax-unYLN-1KD*nBfkAZV>=+m?ObOOvK)*tQK3 zK|~4+>zrfXcSPjSXxp|jDnM3h7=}Xh&(9CG?|ZJ-EARK4X_^Y|zV8Vk6exKe#}Q); zUDthO?faf(Sr8GdwVcmqPNx&oG#wyiezewv5ZJa2=N$Hazf(u8aZO^)mDU;&A%yVt zK{idza#p8yq%o$b(KO9hg?eMHM4i{QJW&YY%RxO_-cU!K*A`DHeR-=NOWvI2t1aC$ z4aOLjWjVk+K&W}hBWkVbx{mAhiimK#-FQ46#V59D8rrrcgaAO-bzCkNVvKw~A7YGn h?|D9-2VZ1^{R5-}J9$^ERJ;HH002ovPDHLkV1hFL*DnA7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/mug_hot.png b/src/main/resources/assets/hbm/textures/gui/fluids/mug_hot.png new file mode 100644 index 0000000000000000000000000000000000000000..cac47b2c0cf1a9b8407c49137aa92fbd3f3f0187 GIT binary patch literal 491 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 Bhcf^G literal 5095 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 x_~06y$AG`j3*8&E2ejk