From f5723290460fa96b7e5c3c369b901902501030f7 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 10 Apr 2021 18:42:02 +0200 Subject: [PATCH] RBMK boilers and debugging overlays --- src/main/java/com/hbm/blocks/ModBlocks.java | 19 +-- .../hbm/blocks/machine/rbmk/RBMKBoiler.java | 29 ++++- .../com/hbm/blocks/machine/rbmk/RBMKRod.java | 18 +-- src/main/java/com/hbm/handler/GUIHandler.java | 16 ++- .../container/ContainerRBMKBoiler.java | 45 +++++++ .../com/hbm/inventory/gui/GUIRBMKBoiler.java | 42 +++++++ .../com/hbm/items/machine/ItemRBMKRod.java | 22 ++-- .../com/hbm/items/special/ItemUnstable.java | 2 + .../com/hbm/main/ModEventHandlerClient.java | 6 + src/main/java/com/hbm/packet/NBTPacket.java | 8 +- .../hbm/tileentity/INBTPacketReceiver.java | 8 ++ .../hbm/tileentity/TileEntityMachineBase.java | 2 +- .../hbm/tileentity/TileEntityTickingBase.java | 2 +- .../machine/rbmk/TileEntityRBMKBase.java | 111 +++++++++++++++++- .../machine/rbmk/TileEntityRBMKBoiler.java | 7 +- .../machine/rbmk/TileEntityRBMKControl.java | 7 +- .../machine/rbmk/TileEntityRBMKRod.java | 33 +++++- src/main/resources/assets/hbm/lang/de_DE.lang | 8 ++ src/main/resources/assets/hbm/lang/en_US.lang | 8 ++ .../textures/gui/reactors/gui_rbmk_boiler.png | Bin 5469 -> 6001 bytes .../resources/assets/hbm/textures/misc/id.png | Bin 0 -> 55188 bytes .../textures/models/machines/deaerator.png | Bin 0 -> 3157 bytes 22 files changed, 340 insertions(+), 53 deletions(-) create mode 100644 src/main/java/com/hbm/inventory/container/ContainerRBMKBoiler.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java create mode 100644 src/main/java/com/hbm/tileentity/INBTPacketReceiver.java create mode 100644 src/main/resources/assets/hbm/textures/misc/id.png create mode 100644 src/main/resources/assets/hbm/textures/models/machines/deaerator.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 051988075..f9fb1cc07 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -4,22 +4,9 @@ import com.hbm.blocks.generic.*; import com.hbm.blocks.generic.BlockHazard.ExtDisplayEffect; import com.hbm.blocks.bomb.*; import com.hbm.blocks.fluid.*; -import com.hbm.blocks.gas.BlockGasAsbestos; -import com.hbm.blocks.gas.BlockGasClorine; -import com.hbm.blocks.gas.BlockGasFlammable; -import com.hbm.blocks.gas.BlockGasMonoxide; -import com.hbm.blocks.gas.BlockGasRadon; -import com.hbm.blocks.gas.BlockGasRadonDense; -import com.hbm.blocks.gas.BlockGasRadonTomb; +import com.hbm.blocks.gas.*; import com.hbm.blocks.machine.*; -import com.hbm.blocks.machine.rbmk.RBMKAbsorber; -import com.hbm.blocks.machine.rbmk.RBMKBlank; -import com.hbm.blocks.machine.rbmk.RBMKBoiler; -import com.hbm.blocks.machine.rbmk.RBMKControl; -import com.hbm.blocks.machine.rbmk.RBMKControlAuto; -import com.hbm.blocks.machine.rbmk.RBMKModerator; -import com.hbm.blocks.machine.rbmk.RBMKReflector; -import com.hbm.blocks.machine.rbmk.RBMKRod; +import com.hbm.blocks.machine.rbmk.*; import com.hbm.blocks.network.*; import com.hbm.blocks.test.*; import com.hbm.blocks.turret.*; @@ -34,7 +21,6 @@ import com.hbm.main.MainRegistry; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; -import net.minecraft.block.BlockLadder; import net.minecraft.block.material.*; import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.fluids.Fluid; @@ -864,6 +850,7 @@ public class ModBlocks { public static Block rbmk_moderator; public static Block rbmk_console; public static final int guiID_rbmk_rod = 113; + public static final int guiID_rbmk_boiler = 114; public static Block book_guide; diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBoiler.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBoiler.java index 77dd12ca0..ba1203e19 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBoiler.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBoiler.java @@ -1,7 +1,11 @@ package com.hbm.blocks.machine.rbmk; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBoiler; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -9,7 +13,30 @@ public class RBMKBoiler extends RBMKBase { @Override public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityRBMKBoiler(); + + if(meta >= this.offset) + return new TileEntityRBMKBoiler(); + + return null; + } + + @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_rbmk_boiler, world, pos[0], pos[1], pos[2]); + return true; + } else { + return true; + } } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java index 6c5ecc2b2..daa6bd7f4 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRod.java @@ -13,21 +13,25 @@ public class RBMKRod extends RBMKBase { @Override public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityRBMKRod(); + + if(meta >= this.offset) + return new TileEntityRBMKRod(); + + return null; } @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) - { + + if(world.isRemote) { return true; - } else if(!player.isSneaking()) - { - int[] pos = this.findCore(world, x, y, z); + } else if(!player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return false; - + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_rbmk_rod, world, pos[0], pos[1], pos[2]); return true; } else { diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index f6b71b03a..a99880597 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -8,7 +8,7 @@ import com.hbm.inventory.inv.InventoryLeadBox; import com.hbm.items.ModItems; import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.machine.*; -import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRod; +import com.hbm.tileentity.machine.rbmk.*; import com.hbm.tileentity.turret.*; import net.minecraft.entity.player.EntityPlayer; @@ -792,6 +792,13 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_rbmk_boiler: { + if(entity instanceof TileEntityRBMKBoiler) { + return new ContainerRBMKBoiler(player.inventory, (TileEntityRBMKBoiler) entity); + } + return null; + } } // NON-TE CONTAINERS @@ -1571,6 +1578,13 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_rbmk_boiler: { + if(entity instanceof TileEntityRBMKBoiler) { + return new GUIRBMKBoiler(player.inventory, (TileEntityRBMKBoiler) entity); + } + return null; + } } // ITEM GUIS diff --git a/src/main/java/com/hbm/inventory/container/ContainerRBMKBoiler.java b/src/main/java/com/hbm/inventory/container/ContainerRBMKBoiler.java new file mode 100644 index 000000000..64031fb09 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerRBMKBoiler.java @@ -0,0 +1,45 @@ +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 { + + private TileEntityRBMKBoiler rbmk; + + public ContainerRBMKBoiler(InventoryPlayer invPlayer, TileEntityRBMKBoiler tedf) { + rbmk = tedf; + + 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()) { + return null; + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return rbmk.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java new file mode 100644 index 000000000..c84d89a53 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKBoiler.java @@ -0,0 +1,42 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerRBMKBoiler; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBoiler; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIRBMKBoiler extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/reactors/gui_rbmk_boiler.png"); + private TileEntityRBMKBoiler rod; + + public GUIRBMKBoiler(InventoryPlayer invPlayer, TileEntityRBMKBoiler tedf) { + super(new ContainerRBMKBoiler(invPlayer, tedf)); + rod = tedf; + + this.xSize = 176; + this.ySize = 186; + } + + @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); + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java index 1d938715d..c1705d1ae 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java @@ -14,17 +14,17 @@ import net.minecraft.util.EnumChatFormatting; public class ItemRBMKRod extends ItemHazard { - String fullName = ""; //full name of the fuel rod - double funcStart; //starting point of the linear reactivity function - double funcEnd; //endpoint of the function - double xGen = 0.5D;; //multiplier for xenon production - double xBurn = 50D; //divider for xenon burnup - double heat = 1D; //heat produced per outFlux - double yield; //total potential inFlux the rod can take in its lifetime - double meltingPoint = 1000D; //the maximum heat of the rod's hull before shit hits the fan. the core can be as hot as it wants to be - double diffusion = 1D; //the speed at which the core heats the hull - public NType nType = NType.SLOW; //neutronType, the most efficient neutron type for fission - public NType rType = NType.FAST; //releaseType, the type of neutrons released by this fuel + public String fullName = ""; //full name of the fuel rod + public double funcStart; //starting point of the linear reactivity function + public double funcEnd; //endpoint of the function + public double xGen = 0.5D;; //multiplier for xenon production + public double xBurn = 50D; //divider for xenon burnup + public double heat = 1D; //heat produced per outFlux + public double yield; //total potential inFlux the rod can take in its lifetime + public double meltingPoint = 1000D; //the maximum heat of the rod's hull before shit hits the fan. the core can be as hot as it wants to be + public double diffusion = 1D; //the speed at which the core heats the hull + public NType nType = NType.SLOW; //neutronType, the most efficient neutron type for fission + public NType rType = NType.FAST; //releaseType, the type of neutrons released by this fuel /* _____ * ,I I I I, diff --git a/src/main/java/com/hbm/items/special/ItemUnstable.java b/src/main/java/com/hbm/items/special/ItemUnstable.java index c66e41860..df5a8b017 100644 --- a/src/main/java/com/hbm/items/special/ItemUnstable.java +++ b/src/main/java/com/hbm/items/special/ItemUnstable.java @@ -51,6 +51,8 @@ public class ItemUnstable extends Item { world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, radius, entity.posX, entity.posY, entity.posZ)); world.playSoundAtEntity(entity, "hbm:entity.oldExplosion", 1.0F, 1.0F); entity.attackEntityFrom(ModDamageSource.nuclearBlast, 10000); + + stack.stackSize = 0; } } diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 70359c4d9..52d92b5f2 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -44,6 +44,7 @@ import com.hbm.sound.MovingSoundXVL1456; import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.bomb.TileEntityNukeCustom.CustomNukeEntry; import com.hbm.tileentity.bomb.TileEntityNukeCustom.EnumEntryType; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; import com.hbm.util.I18nUtil; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; @@ -104,6 +105,11 @@ public class ModEventHandlerClient { } } } + + /// DODD DIAG HOOK FOR RBMK + if(event.type == ElementType.CROSSHAIRS) { + TileEntityRBMKBase.diagnosticPrintHook(event); + } /// HANLDE ANIMATION BUSES /// diff --git a/src/main/java/com/hbm/packet/NBTPacket.java b/src/main/java/com/hbm/packet/NBTPacket.java index 8d60abf61..cdca9f2eb 100644 --- a/src/main/java/com/hbm/packet/NBTPacket.java +++ b/src/main/java/com/hbm/packet/NBTPacket.java @@ -2,6 +2,7 @@ package com.hbm.packet; import java.io.IOException; +import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.TileEntityTickingBase; @@ -80,10 +81,9 @@ public class NBTPacket implements IMessage { NBTTagCompound nbt = m.buffer.readNBTTagCompoundFromBuffer(); if(nbt != null) { - if(te instanceof TileEntityMachineBase) - ((TileEntityMachineBase) te).networkUnpack(nbt); - if(te instanceof TileEntityTickingBase) - ((TileEntityTickingBase) te).networkUnpack(nbt); + + if(te instanceof INBTPacketReceiver) + ((INBTPacketReceiver) te).networkUnpack(nbt); } } catch (IOException e) { diff --git a/src/main/java/com/hbm/tileentity/INBTPacketReceiver.java b/src/main/java/com/hbm/tileentity/INBTPacketReceiver.java new file mode 100644 index 000000000..fbe6379c7 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/INBTPacketReceiver.java @@ -0,0 +1,8 @@ +package com.hbm.tileentity; + +import net.minecraft.nbt.NBTTagCompound; + +public interface INBTPacketReceiver { + + public void networkUnpack(NBTTagCompound nbt); +} diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index c736a60d1..350191917 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -16,7 +16,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityMachineBase extends TileEntity implements ISidedInventory { +public abstract class TileEntityMachineBase extends TileEntity implements ISidedInventory, INBTPacketReceiver { public ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java index 92c204e8a..32f60083a 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java @@ -8,7 +8,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityTickingBase extends TileEntity { +public abstract class TileEntityTickingBase extends TileEntity implements INBTPacketReceiver { public TileEntityTickingBase() { } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java index 687325a57..da4dc6f79 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java @@ -1,10 +1,30 @@ package com.hbm.tileentity.machine.rbmk; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Set; +import org.lwjgl.opengl.GL11; + +import com.google.common.collect.Sets; +import com.hbm.blocks.machine.rbmk.RBMKBase; +import com.hbm.packet.NBTPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.util.I18nUtil; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.ScaledResolution; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.common.util.ForgeDirection; /** @@ -12,7 +32,7 @@ import net.minecraftforge.common.util.ForgeDirection; * @author hbm * */ -public abstract class TileEntityRBMKBase extends TileEntity { +public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacketReceiver { public double heat; @@ -44,8 +64,15 @@ public abstract class TileEntityRBMKBase extends TileEntity { @Override public void updateEntity() { - moveHeat(); - coolPassively(); + + if(!worldObj.isRemote) { + moveHeat(); + coolPassively(); + + NBTTagCompound data = new NBTTagCompound(); + this.writeToNBT(data); + this.networkPack(data, 10); + } } public static final ForgeDirection[] heatDirs = new ForgeDirection[] { @@ -99,7 +126,11 @@ public abstract class TileEntityRBMKBase extends TileEntity { * TODO: add faster passive cooling based on temperature (blackbody radiation has an exponent of 4!) */ private void coolPassively() { + this.heat -= this.passiveCooling(); + + if(heat < 0) + heat = 0D; } @Override @@ -115,4 +146,78 @@ public abstract class TileEntityRBMKBase extends TileEntity { nbt.setDouble("heat", this.heat); } + + public void networkPack(NBTTagCompound nbt, int range) { + + if(!worldObj.isRemote) + PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + } + + public void networkUnpack(NBTTagCompound nbt) { + + this.readFromNBT(nbt); + } + + public void getDiagData(NBTTagCompound nbt) { + this.writeToNBT(nbt); + } + + @SideOnly(Side.CLIENT) + public static void diagnosticPrintHook(RenderGameOverlayEvent.Pre event) { + + Minecraft mc = Minecraft.getMinecraft(); + World world = mc.theWorld; + MovingObjectPosition mop = mc.objectMouseOver; + ScaledResolution resolution = event.resolution; + + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK && world.getBlock(mop.blockX, mop.blockY, mop.blockZ) instanceof RBMKBase) { + + RBMKBase rbmk = (RBMKBase)world.getBlock(mop.blockX, mop.blockY, mop.blockZ); + int[] pos = rbmk.findCore(world, mop.blockX, mop.blockY, mop.blockZ); + + if(pos == null) + return; + + TileEntityRBMKBase te = (TileEntityRBMKBase)world.getTileEntity(pos[0], pos[1], pos[2]); + NBTTagCompound flush = new NBTTagCompound(); + te.getDiagData(flush); + Set keys = flush.func_150296_c(); + + GL11.glPushMatrix(); + + int pX = resolution.getScaledWidth() / 2 + 8; + int pZ = resolution.getScaledHeight() / 2; + + List exceptions = new ArrayList(); + exceptions.add("x"); + exceptions.add("y"); + exceptions.add("z"); + exceptions.add("items"); + exceptions.add("id"); + + String title = "Dump of Ordered Data Diagnostic (DODD)"; + mc.fontRenderer.drawString(title, pX + 1, pZ - 19, 0x006000); + mc.fontRenderer.drawString(title, pX, pZ - 20, 0x00FF00); + + mc.fontRenderer.drawString(I18nUtil.resolveKey(rbmk.getUnlocalizedName() + ".name"), pX, pZ - 10, 0xFFFFFF); + + String[] ents = new String[keys.size()]; + keys.toArray(ents); + Arrays.sort(ents); + + for(String key : ents) { + + if(exceptions.contains(key)) + continue; + + mc.fontRenderer.drawString(key + ": " + flush.getTag(key), pX, pZ, 0xFFFFFF); + pZ += 10; + } + + GL11.glDisable(GL11.GL_BLEND); + + GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); + } + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index b1dec99e3..f4e6fcfae 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -11,20 +11,17 @@ import com.hbm.inventory.FluidTank; import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; -public class TileEntityRBMKBoiler extends TileEntityRBMKActiveBase implements IFluidAcceptor, IFluidSource, IControlReceiver { +public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IControlReceiver { public FluidTank feed; public FluidTank steam; public List list = new ArrayList(); public TileEntityRBMKBoiler() { - super(); + super(0); feed = new FluidTank(FluidType.WATER, 10000, 0); steam = new FluidTank(FluidType.STEAM, 1000000, 1); diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java index 6c245ca57..e7ec4c053 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -1,7 +1,10 @@ package com.hbm.tileentity.machine.rbmk; -import net.minecraft.tileentity.TileEntity; +public class TileEntityRBMKControl extends TileEntityRBMKActiveBase { -public class TileEntityRBMKControl extends TileEntity { + @Override + public String getName() { + return "container.rbmkControl"; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java index 244ae2115..0fae92e82 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.items.machine.ItemRBMKRod; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; @@ -32,7 +33,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM @Override public void updateEntity() { - if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { + if(!worldObj.isRemote && slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { ItemRBMKRod rod = ((ItemRBMKRod)slots[0].getItem()); @@ -111,4 +112,34 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM } } } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.fluxFast = nbt.getDouble("fluxFast"); + this.fluxSlow = nbt.getDouble("fluxSlow"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setDouble("fluxFast", this.fluxFast); + nbt.setDouble("fluxSlow", this.fluxSlow); + } + + public void getDiagData(NBTTagCompound nbt) { + this.writeToNBT(nbt); + + + if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { + + ItemRBMKRod rod = ((ItemRBMKRod)slots[0].getItem()); + + nbt.setString("f_yield", rod.getYield(slots[0]) + " / " + rod.yield + " (" + (rod.getEnrichment(slots[0]) * 100) + "%)"); + nbt.setString("f_xenon", rod.getPoison(slots[0]) + "%"); + nbt.setString("f_heat", rod.getCoreHeat(slots[0]) + " / " + rod.getHullHeat(slots[0]) + " / " + rod.meltingPoint); + } + } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index d0b848158..134f86af7 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2761,6 +2761,14 @@ tile.radiobox.name=Rosenberg Ungeziefervernichter tile.radiorec.name=Kaputtes UKW Radio tile.rail_booster.name=Hochgeschwindigkeits-Boosterschienen tile.rail_highspeed.name=Hochgeschwindigkeitsschienen +tile.rbmk_absorber.name=RBMK Bor-Neutronenabsorber +tile.rbmk_blank.name=RBMK Strukturteil +tile.rbmk_boiler.name=RBMK Dampfkanal +tile.rbmk_control.name=RBMK Steuerstäbe +tile.rbmk_control_auto.name=RBMK Automatische Steuerstäbe +tile.rbmk_moderator.name=RBMK Graphitmoderator +tile.rbmk_reflector.name=RBMK Wolframcarbid-Moderator +tile.rbmk_rod.name=RBMK Brennstäbe tile.reactor_computer.name=Reaktorsteuerung tile.reactor_conductor.name=Reaktorboiler tile.reactor_control.name=Steuerstäbe diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index c50e3dd13..d6c7353a6 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2772,6 +2772,14 @@ tile.radiobox.name=Rosenberg Pest Control Box tile.radiorec.name=Broken FM Radio tile.rail_booster.name=High Speed Booster Rail tile.rail_highspeed.name=High Speed Rail +tile.rbmk_absorber.name=RBMK Boron Neutron Absorber +tile.rbmk_blank.name=RBMK Structural Column +tile.rbmk_boiler.name=RBMK Steam Channel +tile.rbmk_control.name=RBMK Control Rods +tile.rbmk_control_auto.name=RBMK Automatic Control Rods +tile.rbmk_moderator.name=RBMK Graphite Moderator +tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector +tile.rbmk_rod.name=RBMK Fuel Rod tile.reactor_computer.name=Reactor Control tile.reactor_conductor.name=Reactor Boiler tile.reactor_control.name=Control Rods diff --git a/src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_boiler.png b/src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_boiler.png index 1fae5365b32a5d3447f4c340dd6fca04131c8748..c9a0c0e2661c2bfbab6628212c88aed0fe2ca613 100644 GIT binary patch literal 6001 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 JlxREL{SW`kG$a53 literal 5469 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/machines/deaerator.png b/src/main/resources/assets/hbm/textures/models/machines/deaerator.png new file mode 100644 index 0000000000000000000000000000000000000000..ee02802705755d7a40a69f10ef8657da339d7805 GIT binary patch literal 3157 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 literal 0 HcmV?d00001