Merge remote-tracking branch 'HbmMods/master'
@ -1102,6 +1102,7 @@ public class ModBlocks {
|
||||
public static Block rbmk_outgasser;
|
||||
public static Block rbmk_storage;
|
||||
public static Block rbmk_cooler;
|
||||
public static Block rbmk_heater;
|
||||
public static Block rbmk_console;
|
||||
public static Block rbmk_crane_console;
|
||||
public static final int guiID_rbmk_rod = 113;
|
||||
@ -1114,6 +1115,7 @@ public class ModBlocks {
|
||||
public static Block rbmk_loader;
|
||||
public static Block rbmk_steam_inlet;
|
||||
public static Block rbmk_steam_outlet;
|
||||
public static Block rbmk_heatex;
|
||||
public static Block pribris;
|
||||
public static Block pribris_burning;
|
||||
public static Block pribris_radiating;
|
||||
@ -2067,11 +2069,13 @@ public class ModBlocks {
|
||||
rbmk_outgasser = new RBMKOutgasser().setBlockName("rbmk_outgasser").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_outgasser");
|
||||
rbmk_storage = new RBMKStorage().setBlockName("rbmk_storage").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_storage");
|
||||
rbmk_cooler = new RBMKCooler().setBlockName("rbmk_cooler").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_cooler");
|
||||
rbmk_heater = new RBMKHeater().setBlockName("rbmk_heater").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_heater");
|
||||
rbmk_console = new RBMKConsole().setBlockName("rbmk_console").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_console");
|
||||
rbmk_crane_console = new RBMKCraneConsole().setBlockName("rbmk_crane_console").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_crane_console");
|
||||
rbmk_loader = new BlockGeneric(Material.iron).setBlockName("rbmk_loader").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_loader");
|
||||
rbmk_steam_inlet = new RBMKInlet(Material.iron).setBlockName("rbmk_steam_inlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_inlet");
|
||||
rbmk_steam_outlet = new RBMKOutlet(Material.iron).setBlockName("rbmk_steam_outlet").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_steam_outlet");
|
||||
rbmk_heatex = new RBMKHeatex(Material.iron).setBlockName("rbmk_heatex").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":rbmk_heatex");
|
||||
pribris = new RBMKDebris().setBlockName("pribris").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris");
|
||||
pribris_burning = new RBMKDebrisBurning().setBlockName("pribris_burning").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_burning");
|
||||
pribris_radiating = new RBMKDebrisRadiating().setBlockName("pribris_radiating").setCreativeTab(MainRegistry.machineTab).setHardness(50.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_debris_radiating");
|
||||
@ -2983,11 +2987,13 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(rbmk_outgasser, rbmk_outgasser.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_storage, rbmk_storage.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_cooler, rbmk_cooler.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_heater, rbmk_heater.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_console, rbmk_console.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_crane_console, rbmk_crane_console.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_loader, rbmk_loader.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_steam_inlet, rbmk_steam_inlet.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_steam_outlet, rbmk_steam_outlet.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rbmk_heatex, rbmk_heatex.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(pribris, pribris.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(pribris_burning, pribris_burning.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(pribris_radiating, pribris_radiating.getUnlocalizedName());
|
||||
|
||||
29
src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeater.java
Normal file
@ -0,0 +1,29 @@
|
||||
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;
|
||||
|
||||
public class RBMKHeater extends RBMKBase {
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
|
||||
if(meta >= this.offset)
|
||||
return new TileEntityRBMKHeater();
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
86
src/main/java/com/hbm/blocks/machine/rbmk/RBMKHeatex.java
Normal file
@ -0,0 +1,86 @@
|
||||
package com.hbm.blocks.machine.rbmk;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ILookOverlay;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.items.machine.IItemFluidIdentifier;
|
||||
import com.hbm.tileentity.machine.rbmk.TileEntityHeatex;
|
||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKHeater;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.ChatStyle;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre;
|
||||
|
||||
public class RBMKHeatex extends BlockContainer implements ILookOverlay {
|
||||
|
||||
public RBMKHeatex(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
return new TileEntityHeatex();
|
||||
}
|
||||
|
||||
@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());
|
||||
FluidType convert = TileEntityRBMKHeater.getConversion(type);
|
||||
|
||||
if(!player.isSneaking() && convert != Fluids.NONE) {
|
||||
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
|
||||
if(te instanceof TileEntityHeatex) {
|
||||
TileEntityHeatex heatex = (TileEntityHeatex) te;
|
||||
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("!")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printHook(Pre event, World world, int x, int y, int z) {
|
||||
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
|
||||
if(!(te instanceof TileEntityHeatex))
|
||||
return;
|
||||
|
||||
TileEntityHeatex extractor = (TileEntityHeatex) te;
|
||||
|
||||
List<String> text = new ArrayList();
|
||||
addLine(text, extractor.coolantIn, true);
|
||||
addLine(text, extractor.waterIn, true);
|
||||
addLine(text, extractor.coolantOut, false);
|
||||
addLine(text, extractor.waterOut, false);
|
||||
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||
}
|
||||
|
||||
private void addLine(List<String> text, FluidTank tank, boolean in) {
|
||||
text.add((in ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tank.getTankType().getName().toLowerCase()) + ": " + tank.getFill() + "/" + tank.getMaxFill() + "mB");
|
||||
}
|
||||
}
|
||||
@ -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: {
|
||||
|
||||
@ -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++) {
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -29,6 +29,7 @@ public class FluidType {
|
||||
public int reactivity;
|
||||
public EnumSymbol symbol;
|
||||
public int temperature;
|
||||
public double heatCap;
|
||||
public Set<ExtContainer> containers = new HashSet();
|
||||
public List<FluidTrait> traits = new ArrayList();
|
||||
private String stringId;
|
||||
@ -61,6 +62,11 @@ public class FluidType {
|
||||
return this;
|
||||
}
|
||||
|
||||
public FluidType setHeatCap(double heatCap) {
|
||||
this.heatCap = heatCap;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FluidType addContainers(int color, ExtContainer... containers) {
|
||||
this.containerColor = color;
|
||||
Collections.addAll(this.containers, containers);
|
||||
|
||||
@ -18,6 +18,7 @@ public class Fluids {
|
||||
public static FluidType SUPERHOTSTEAM;
|
||||
public static FluidType ULTRAHOTSTEAM;
|
||||
public static FluidType COOLANT;
|
||||
public static FluidType COOLANT_HOT;
|
||||
public static FluidType LAVA;
|
||||
public static FluidType DEUTERIUM;
|
||||
public static FluidType TRITIUM;
|
||||
@ -87,6 +88,8 @@ public class Fluids {
|
||||
public static FluidType XPJUICE;
|
||||
public static FluidType ENDERJUICE;
|
||||
public static FluidType SULFURIC_ACID;
|
||||
public static FluidType MUG;
|
||||
public static FluidType MUG_HOT;
|
||||
|
||||
private static final HashMap<Integer, FluidType> idMapping = new HashMap();
|
||||
private static final HashMap<String, FluidType> nameMapping = new HashMap();
|
||||
@ -113,7 +116,7 @@ public class Fluids {
|
||||
HOTSTEAM = new FluidType( "HOTSTEAM", 0xE7D6D6, 4, 0, 0, EnumSymbol.NONE).setTemp(300);
|
||||
SUPERHOTSTEAM = new FluidType( "SUPERHOTSTEAM", 0xE7B7B7, 4, 0, 0, EnumSymbol.NONE).setTemp(450);
|
||||
ULTRAHOTSTEAM = new FluidType( "ULTRAHOTSTEAM", 0xE39393, 4, 0, 0, EnumSymbol.NONE).setTemp(600);
|
||||
COOLANT = new FluidType( "COOLANT", 0xd8fcff, 1, 0, 0, EnumSymbol.NONE);
|
||||
COOLANT = new FluidType( "COOLANT", 0xd8fcff, 1, 0, 0, EnumSymbol.NONE).setHeatCap(0.25D);
|
||||
LAVA = new FluidType( "LAVA", 0xFF3300, 4, 0, 0, EnumSymbol.NOWATER).setTemp(1200);
|
||||
DEUTERIUM = new FluidTypeCombustible( "DEUTERIUM", 0x0000FF, 3, 4, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000);
|
||||
TRITIUM = new FluidTypeCombustible( "TRITIUM", 0x000099, 3, 4, 0, EnumSymbol.RADIATION).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000);
|
||||
@ -183,6 +186,9 @@ public class Fluids {
|
||||
GASOLINE_LEADED = new FluidTypeCombustible( "GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_500_000).setHeatEnergy(((FluidTypeFlammable)GASOLINE).getHeatEnergy());
|
||||
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", 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);
|
||||
|
||||
|
||||
// ^ ^ ^ ^ ^ ^ ^ ^
|
||||
@ -205,7 +211,10 @@ public class Fluids {
|
||||
//coolants
|
||||
metaOrder.add(CARBONDIOXIDE);
|
||||
metaOrder.add(COOLANT);
|
||||
metaOrder.add(COOLANT_HOT);
|
||||
metaOrder.add(CRYOGEL);
|
||||
metaOrder.add(MUG);
|
||||
metaOrder.add(MUG_HOT);
|
||||
//pure elements, cyogenic gasses
|
||||
metaOrder.add(HYDROGEN);
|
||||
metaOrder.add(DEUTERIUM);
|
||||
|
||||
@ -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;
|
||||
|
||||
57
src/main/java/com/hbm/inventory/gui/GUIRBMKHeater.java
Normal file
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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");
|
||||
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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() {
|
||||
|
||||
@ -127,7 +127,7 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement
|
||||
setupTanks();
|
||||
|
||||
if(heat > 100) {
|
||||
int crackTime = (int) Math.min(-0.1 * (heat - 100) + 30, 5);
|
||||
int crackTime = (int) Math.max(-0.1 * (heat - 100) + 30, 5);
|
||||
|
||||
if(worldObj.getTotalWorldTime() % crackTime == 0)
|
||||
crack();
|
||||
|
||||
@ -0,0 +1,167 @@
|
||||
package com.hbm.tileentity.machine.rbmk;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.interfaces.IFluidSource;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.lib.Library;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityHeatex extends TileEntity implements IFluidAcceptor, IFluidSource {
|
||||
|
||||
public List<IFluidAcceptor> coolantList = new ArrayList();
|
||||
public List<IFluidAcceptor> waterList = new ArrayList();
|
||||
public FluidTank coolantIn;
|
||||
public FluidTank coolantOut;
|
||||
public FluidTank waterIn;
|
||||
public FluidTank waterOut;
|
||||
public double heatBuffer;
|
||||
public static final double maxHeat = 10_000;
|
||||
|
||||
public TileEntityHeatex() {
|
||||
coolantIn = new FluidTank(Fluids.COOLANT_HOT, 1000, 0);
|
||||
coolantOut = new FluidTank(Fluids.COOLANT, 1000, 1);
|
||||
waterIn = new FluidTank(Fluids.WATER, 1000, 2);
|
||||
waterOut = new FluidTank(Fluids.SUPERHOTSTEAM, 1000, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
/* Cool input */
|
||||
double heatCap = maxHeat - heatBuffer;
|
||||
int fillCap = coolantOut.getMaxFill() - coolantOut.getFill();
|
||||
double deltaT = coolantIn.getTankType().temperature - coolantOut.getTankType().temperature;
|
||||
double heatPot = coolantIn.getFill() * coolantIn.getTankType().heatCap * deltaT;
|
||||
double heatEff = Math.min(heatCap, heatPot);
|
||||
int convertMax = (int) (heatEff / (coolantIn.getTankType().heatCap * deltaT));
|
||||
int convertEff = Math.min(convertMax, fillCap);
|
||||
|
||||
coolantIn.setFill(coolantIn.getFill() - convertEff);
|
||||
coolantOut.setFill(coolantOut.getFill() + convertEff);
|
||||
this.heatBuffer += convertEff * coolantIn.getTankType().heatCap * deltaT;
|
||||
|
||||
double HEAT_PER_MB_WATER = RBMKDials.getBoilerHeatConsumption(worldObj);
|
||||
|
||||
/* Heat water */
|
||||
int waterCap = waterOut.getMaxFill() - waterOut.getFill();
|
||||
int maxBoil = (int) Math.min(waterIn.getFill(), heatBuffer / HEAT_PER_MB_WATER);
|
||||
int boilEff = Math.min(maxBoil, waterCap);
|
||||
|
||||
waterIn.setFill(waterIn.getFill() - boilEff);
|
||||
waterOut.setFill(waterOut.getFill() + boilEff);
|
||||
this.heatBuffer -= boilEff * HEAT_PER_MB_WATER;
|
||||
|
||||
coolantIn.updateTank(this, 15);
|
||||
coolantOut.updateTank(this, 15);
|
||||
waterIn.updateTank(this, 15);
|
||||
waterOut.updateTank(this, 15);
|
||||
|
||||
this.fillFluidInit(coolantOut.getTankType());
|
||||
this.fillFluidInit(waterOut.getTankType());
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
this.coolantIn.readFromNBT(nbt, "cI");
|
||||
this.coolantOut.readFromNBT(nbt, "cO");
|
||||
this.waterIn.readFromNBT(nbt, "wI");
|
||||
this.waterOut.readFromNBT(nbt, "wO");
|
||||
this.heatBuffer = nbt.getDouble("heat");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
this.coolantIn.writeToNBT(nbt, "cI");
|
||||
this.coolantOut.writeToNBT(nbt, "cO");
|
||||
this.waterIn.writeToNBT(nbt, "wI");
|
||||
this.waterOut.writeToNBT(nbt, "wO");
|
||||
nbt.setDouble("heat", this.heatBuffer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillForSync(int fill, int index) {
|
||||
if(index == 0) coolantIn.setFill(fill);
|
||||
if(index == 1) coolantOut.setFill(fill);
|
||||
if(index == 2) waterIn.setFill(fill);
|
||||
if(index == 3) waterOut.setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFluidFill(int fill, FluidType type) {
|
||||
if(type == coolantIn.getTankType()) coolantIn.setFill(fill);
|
||||
if(type == coolantOut.getTankType()) coolantOut.setFill(fill);
|
||||
if(type == waterIn.getTankType()) waterIn.setFill(fill);
|
||||
if(type == waterOut.getTankType()) waterOut.setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTypeForSync(FluidType type, int index) {
|
||||
if(index == 0) coolantIn.setTankType(type);
|
||||
if(index == 1) coolantOut.setTankType(type);
|
||||
if(index == 2) waterIn.setTankType(type);
|
||||
if(index == 3) waterOut.setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFluidFill(FluidType type) {
|
||||
if(type == coolantIn.getTankType()) return coolantIn.getFill();
|
||||
if(type == coolantOut.getTankType()) return coolantOut.getFill();
|
||||
if(type == waterIn.getTankType()) return waterIn.getFill();
|
||||
if(type == waterOut.getTankType()) return waterOut.getFill();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillFluidInit(FluidType type) {
|
||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
|
||||
fillFluid(this.xCoord + dir.offsetX, this.yCoord + dir.offsetY, this.zCoord + dir.offsetZ, getTact(), type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) {
|
||||
Library.transmitFluid(x, y, z, newTact, this, worldObj, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean getTact() { return worldObj.getTotalWorldTime() % 2 == 0; }
|
||||
|
||||
@Override
|
||||
public List<IFluidAcceptor> getFluidList(FluidType type) {
|
||||
if(type == coolantOut.getTankType()) return this.coolantList;
|
||||
if(type == waterOut.getTankType()) return this.waterList;
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearFluidList(FluidType type) {
|
||||
if(type == coolantOut.getTankType()) this.coolantList.clear();
|
||||
if(type == waterOut.getTankType()) this.waterList.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFluidFill(FluidType type) {
|
||||
if(type == coolantIn.getTankType()) return coolantIn.getMaxFill();
|
||||
if(type == waterIn.getTankType()) return waterIn.getMaxFill();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -57,7 +57,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
|
||||
steam.setFill(steam.getMaxFill());
|
||||
}
|
||||
|
||||
this.heat -= waterUsed * RBMKDials.getBoilerHeatConsumption(worldObj);
|
||||
this.heat -= waterUsed * feed.getTankType().heatCap;
|
||||
}
|
||||
|
||||
fillFluidInit(steam.getTankType());
|
||||
@ -66,7 +66,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
|
||||
super.updateEntity();
|
||||
}
|
||||
|
||||
public double getHeatFromSteam(FluidType type) {
|
||||
public static double getHeatFromSteam(FluidType type) {
|
||||
if(type == Fluids.STEAM) return 100D;
|
||||
if(type == Fluids.HOTSTEAM) return 300D;
|
||||
if(type == Fluids.SUPERHOTSTEAM) return 450D;
|
||||
@ -74,7 +74,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
|
||||
return 0D;
|
||||
}
|
||||
|
||||
public double getFactorFromSteam(FluidType type) {
|
||||
public static double getFactorFromSteam(FluidType type) {
|
||||
if(type == Fluids.STEAM) return 1D;
|
||||
if(type == Fluids.HOTSTEAM) return 10D;
|
||||
if(type == Fluids.SUPERHOTSTEAM) return 100D;
|
||||
@ -202,10 +202,10 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
|
||||
if(data.hasKey("compression")) {
|
||||
|
||||
FluidType type = steam.getTankType();
|
||||
if(type == Fluids.STEAM) { steam.setTankType(Fluids.HOTSTEAM); steam.setFill(steam.getFill() / 10); }
|
||||
if(type == Fluids.HOTSTEAM) { steam.setTankType(Fluids.SUPERHOTSTEAM); steam.setFill(steam.getFill() / 10); }
|
||||
if(type == Fluids.SUPERHOTSTEAM) { steam.setTankType(Fluids.ULTRAHOTSTEAM); steam.setFill(steam.getFill() / 10); }
|
||||
if(type == Fluids.ULTRAHOTSTEAM) { steam.setTankType(Fluids.STEAM); steam.setFill(Math.min(steam.getFill() * 1000, steam.getMaxFill())); }
|
||||
if(type == Fluids.STEAM) { steam.setTankType(Fluids.HOTSTEAM); steam.setFill(steam.getFill() / 10); }
|
||||
if(type == Fluids.HOTSTEAM) { steam.setTankType(Fluids.SUPERHOTSTEAM); steam.setFill(steam.getFill() / 10); }
|
||||
if(type == Fluids.SUPERHOTSTEAM) { steam.setTankType(Fluids.ULTRAHOTSTEAM); steam.setFill(steam.getFill() / 10); }
|
||||
if(type == Fluids.ULTRAHOTSTEAM) { steam.setTankType(Fluids.STEAM); steam.setFill(Math.min(steam.getFill() * 1000, steam.getMaxFill())); }
|
||||
|
||||
this.markDirty();
|
||||
}
|
||||
|
||||
@ -276,7 +276,8 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon
|
||||
OUTGASSER(80),
|
||||
BREEDER(100),
|
||||
STORAGE(110),
|
||||
COOLER(120);
|
||||
COOLER(120),
|
||||
HEATEX(130);
|
||||
|
||||
public int offset;
|
||||
|
||||
|
||||
@ -0,0 +1,169 @@
|
||||
package com.hbm.tileentity.machine.rbmk;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.interfaces.IFluidSource;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
|
||||
|
||||
public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource {
|
||||
|
||||
public FluidTank feed;
|
||||
public FluidTank steam;
|
||||
public List<IFluidAcceptor> list = new ArrayList();
|
||||
|
||||
public TileEntityRBMKHeater() {
|
||||
super(1);
|
||||
this.feed = new FluidTank(Fluids.COOLANT, 16_000, 0);
|
||||
this.steam = new FluidTank(Fluids.COOLANT_HOT, 16_000, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.rbmkHeater";
|
||||
}
|
||||
|
||||
@Override
|
||||
public ColumnType getConsoleType() {
|
||||
return ColumnType.HEATEX;
|
||||
}
|
||||
|
||||
@Override
|
||||
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);
|
||||
|
||||
double heatCap = this.getConversionHeat(feed.getTankType());
|
||||
double heatProvided = this.heat - heatCap;
|
||||
|
||||
if(heatProvided > 0) {
|
||||
|
||||
int converted = (int)Math.floor(heatProvided / RBMKDials.getBoilerHeatConsumption(worldObj));
|
||||
converted = Math.min(converted, feed.getFill());
|
||||
converted = Math.min(converted, steam.getMaxFill() - steam.getFill());
|
||||
feed.setFill(feed.getFill() - converted);
|
||||
steam.setFill(steam.getFill() + converted);
|
||||
this.heat -= converted * RBMKDials.getBoilerHeatConsumption(worldObj);
|
||||
}
|
||||
|
||||
fillFluidInit(steam.getTankType());
|
||||
}
|
||||
|
||||
super.updateEntity();
|
||||
}
|
||||
|
||||
public static double getConversionHeat(FluidType type) {
|
||||
return getConversion(type).temperature;
|
||||
}
|
||||
|
||||
public static FluidType getConversion(FluidType type) {
|
||||
if(type == Fluids.MUG) return Fluids.MUG_HOT;
|
||||
if(type == Fluids.COOLANT) return Fluids.COOLANT_HOT;
|
||||
return Fluids.NONE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillFluidInit(FluidType type) {
|
||||
|
||||
fillFluid(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, getTact(), type);
|
||||
|
||||
if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.rbmk_loader) {
|
||||
|
||||
fillFluid(this.xCoord + 1, this.yCoord - 1, this.zCoord, getTact(), type);
|
||||
fillFluid(this.xCoord - 1, this.yCoord - 1, this.zCoord, getTact(), type);
|
||||
fillFluid(this.xCoord, this.yCoord - 1, this.zCoord + 1, getTact(), type);
|
||||
fillFluid(this.xCoord, this.yCoord - 1, this.zCoord - 1, getTact(), type);
|
||||
fillFluid(this.xCoord, this.yCoord - 2, this.zCoord, getTact(), type);
|
||||
}
|
||||
|
||||
if(worldObj.getBlock(xCoord, yCoord - 2, zCoord) == ModBlocks.rbmk_loader) {
|
||||
|
||||
fillFluid(this.xCoord + 1, this.yCoord - 2, this.zCoord, getTact(), type);
|
||||
fillFluid(this.xCoord - 1, this.yCoord - 2, this.zCoord, getTact(), type);
|
||||
fillFluid(this.xCoord, this.yCoord - 2, this.zCoord + 1, getTact(), type);
|
||||
fillFluid(this.xCoord, this.yCoord - 2, this.zCoord - 1, getTact(), type);
|
||||
fillFluid(this.xCoord, this.yCoord - 1, this.zCoord, getTact(), type);
|
||||
fillFluid(this.xCoord, this.yCoord - 3, this.zCoord, getTact(), type);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) {
|
||||
Library.transmitFluid(x, y, z, newTact, this, worldObj, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated //why are we still doing this?
|
||||
public boolean getTact() { return worldObj.getTotalWorldTime() % 2 == 0; }
|
||||
|
||||
@Override
|
||||
public void setFluidFill(int i, FluidType type) {
|
||||
|
||||
if(type == feed.getTankType())
|
||||
feed.setFill(i);
|
||||
else if(type == steam.getTankType())
|
||||
steam.setFill(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFluidFill(FluidType type) {
|
||||
|
||||
if(type == feed.getTankType())
|
||||
return feed.getFill();
|
||||
else if(type == steam.getTankType())
|
||||
return steam.getFill();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFluidFill(FluidType type) {
|
||||
|
||||
if(type == feed.getTankType())
|
||||
return feed.getMaxFill();
|
||||
else if(type == steam.getTankType())
|
||||
return steam.getMaxFill();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillForSync(int fill, int index) {
|
||||
|
||||
if(index == 0)
|
||||
feed.setFill(fill);
|
||||
else if(index == 1)
|
||||
steam.setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTypeForSync(FluidType type, int index) {
|
||||
|
||||
if(index == 0)
|
||||
feed.setTankType(type);
|
||||
else if(index == 1)
|
||||
steam.setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IFluidAcceptor> getFluidList(FluidType type) {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearFluidList(FluidType type) {
|
||||
list.clear();
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,5 @@
|
||||
package com.hbm.tileentity.machine.rbmk;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.machine.rbmk.RBMKBase;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
@ -12,7 +10,6 @@ import net.minecraft.block.Block;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import scala.actors.threadpool.Arrays;
|
||||
|
||||
public class TileEntityRBMKInlet extends TileEntity implements IFluidAcceptor {
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -789,6 +789,9 @@ hbmfluid.diesel=Дизель
|
||||
hbmfluid.kerosene=Керосин
|
||||
hbmfluid.gas=Природный газ
|
||||
hbmfluid.coolant=Хладагент
|
||||
hbmfluid.coolant_hot=Горячий хладагент
|
||||
hbmfluid.mug=Пиво "Mug Root"
|
||||
hbmfluid.mug_hot=Горячее пиво "Mug Root"
|
||||
hbmfluid.amat=Антиматерия
|
||||
hbmfluid.aschrab=Антишрабидий
|
||||
hbmfluid.heavyoil=Тяжелая нефть
|
||||
@ -926,6 +929,12 @@ hadron.hopper0=§eОбычный режим:$Все предметы будут
|
||||
hadron.hopper1=§eРежим воронки:$Один предмет всегда останется.
|
||||
hadron.modeCircular=§eРежим циклического ускорителя:$Магниты должны замкнуться обратно в сердечник.$Открывает больше рецептов.
|
||||
hadron.modeLine=§eРежим линейного ускорителя:$Ускоритель заканчивается камерой анализа.$Меньше рецептов.
|
||||
hadron.noresult_too_slow=Недостат. ускорение!
|
||||
hadron.noresult_wrong_ingredient=Неверный рецепт!
|
||||
hadron.noresult_wrong_mode=Неверный режим!
|
||||
hadron.stats=Предыдущие результаты:
|
||||
hadron.stats_coord=Ошибка: %s / %s / %s
|
||||
hadron.stats_momentum=Ускорение: %s
|
||||
radar.detectMissiles=Обнаружение ракет
|
||||
radar.detectPlayers=Обнаружение игроков
|
||||
radar.smartMode=Умный режим$Выход редстоуна игнорирует восходящие ракеты
|
||||
@ -1607,6 +1616,7 @@ container.rbmkOutgasser=Стержень облучения РБМК
|
||||
container.rbmkRod=Топливные стержни РБМК
|
||||
container.rbmkReaSim=Топливные стержни РБМК (РеаСим)
|
||||
container.rbmkStorage=Колонна-хранилище РБМК
|
||||
container.rbmkHeater=Жидкостный нагреватель РБМК
|
||||
tile.rbmk_storage.name=Колонна-хранилище РБМК
|
||||
tile.rbmk_cooler.name=Охладитель РБМК
|
||||
tile.block_graphite_drilled.name=Просверленный графит
|
||||
@ -2294,7 +2304,7 @@ tile.deco_emitter.name=Декоративный источник света
|
||||
tile.plant_flower.foxglove.name=Наперстянка
|
||||
tile.plant_flower.nightshade.name=Белладонна
|
||||
tile.plant_flower.tobacco.name=Табак
|
||||
tile.plant_flower.weed.name=Травка Версия 420(0)
|
||||
tile.plant_flower.weed.name=Конопля
|
||||
|
||||
tile.stone_cracked.name=Треснутый камень
|
||||
tile.reinforced_brick.name=Усиленный камень
|
||||
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/main/resources/assets/hbm/textures/blocks/rbmk_heatex.png
Normal file
|
After Width: | Height: | Size: 701 B |
|
After Width: | Height: | Size: 675 B |
BIN
src/main/resources/assets/hbm/textures/gui/fluids/mug.png
Normal file
|
After Width: | Height: | Size: 491 B |
BIN
src/main/resources/assets/hbm/textures/gui/fluids/mug_hot.png
Normal file
|
After Width: | Height: | Size: 491 B |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 1.8 KiB |