PWR breeder rods, rod recycling, creative stirling

This commit is contained in:
Bob 2023-08-25 21:48:45 +02:00
parent 2928f832a3
commit 65587e7db7
18 changed files with 233 additions and 47 deletions

View File

@ -14,6 +14,10 @@
* Valid PWR coolant * Valid PWR coolant
* Has a high flux multiplication rate, boosting fuels * Has a high flux multiplication rate, boosting fuels
* After cooling, the depleted salt has to be reprocessed using a chemical plant * After cooling, the depleted salt has to be reprocessed using a chemical plant
* Creative stirling engine
* A stirling engine with 100% efficiency and no heat cap
* Still has the 10% delta-T heat transfer rate as the other stirlings
* Great for quickly benchmarking reactors without needing to set up a turbine cycle
## Changed ## Changed
* Bedrock fluorite ore now yields actual ore instead of fluorite directly * Bedrock fluorite ore now yields actual ore instead of fluorite directly

View File

@ -675,6 +675,7 @@ public class ModBlocks {
public static Block furnace_combination; public static Block furnace_combination;
public static Block machine_stirling; public static Block machine_stirling;
public static Block machine_stirling_steel; public static Block machine_stirling_steel;
public static Block machine_stirling_creative;
public static Block machine_sawmill; public static Block machine_sawmill;
public static Block machine_crucible; public static Block machine_crucible;
public static Block machine_boiler; public static Block machine_boiler;
@ -1835,6 +1836,7 @@ public class ModBlocks {
furnace_combination = new FurnaceCombination().setBlockName("furnace_combination").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_light_alt"); furnace_combination = new FurnaceCombination().setBlockName("furnace_combination").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_light_alt");
machine_stirling = new MachineStirling().setBlockName("machine_stirling").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_stirling = new MachineStirling().setBlockName("machine_stirling").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_stirling_steel = new MachineStirling().setBlockName("machine_stirling_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_stirling_steel = new MachineStirling().setBlockName("machine_stirling_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_stirling_creative = new MachineStirling().setBlockName("machine_stirling_creative").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_sawmill = new MachineSawmill().setBlockName("machine_sawmill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_sawmill = new MachineSawmill().setBlockName("machine_sawmill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_crucible = new MachineCrucible().setBlockName("machine_crucible").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); machine_crucible = new MachineCrucible().setBlockName("machine_crucible").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire");
machine_boiler = new MachineHeatBoiler().setBlockName("machine_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); machine_boiler = new MachineHeatBoiler().setBlockName("machine_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper");
@ -2056,7 +2058,7 @@ public class ModBlocks {
pwr_casing = new BlockGenericPWR(Material.iron).setBlockName("pwr_casing").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing"); pwr_casing = new BlockGenericPWR(Material.iron).setBlockName("pwr_casing").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing");
pwr_port = new BlockGenericPWR(Material.iron).setBlockName("pwr_port").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_port"); pwr_port = new BlockGenericPWR(Material.iron).setBlockName("pwr_port").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_port");
pwr_controller = new MachinePWRController(Material.iron).setBlockName("pwr_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing_blank"); pwr_controller = new MachinePWRController(Material.iron).setBlockName("pwr_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing_blank");
pwr_block = new BlockPWR(Material.iron).setBlockName("pwr_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_block"); pwr_block = new BlockPWR(Material.iron).setBlockName("pwr_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pwr_block");
reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side");
reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side");
@ -3099,6 +3101,7 @@ public class ModBlocks {
register(furnace_combination); register(furnace_combination);
register(machine_stirling); register(machine_stirling);
register(machine_stirling_steel); register(machine_stirling_steel);
register(machine_stirling_creative);
register(machine_sawmill); register(machine_sawmill);
register(machine_crucible); register(machine_crucible);
register(machine_boiler); register(machine_boiler);

View File

@ -7,6 +7,7 @@ import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.IBlockMulti; import com.hbm.blocks.IBlockMulti;
import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ILookOverlay;
import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ITooltipProvider;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.TileEntityStirling; import com.hbm.tileentity.machine.TileEntityStirling;
@ -156,26 +157,28 @@ public class MachineStirling extends BlockDummyable implements ILookOverlay, ITo
return; return;
TileEntityStirling stirling = (TileEntityStirling) te; TileEntityStirling stirling = (TileEntityStirling) te;
int maxHeat = stirling.maxHeat();
List<String> text = new ArrayList(); List<String> text = new ArrayList();
text.add(stirling.heat + "TU/t"); text.add(stirling.heat + "TU/t");
text.add((stirling.hasCog ? stirling.powerBuffer : 0) + "HE/t"); text.add((stirling.hasCog ? stirling.powerBuffer : 0) + "HE/t");
double percent = (double) stirling.heat / (double) maxHeat; if(this != ModBlocks.machine_stirling_creative) {
int color = ((int) (0xFF - 0xFF * percent)) << 16 | ((int)(0xFF * percent) << 8); int maxHeat = stirling.maxHeat();
double percent = (double) stirling.heat / (double) maxHeat;
int color = ((int) (0xFF - 0xFF * percent)) << 16 | ((int)(0xFF * percent) << 8);
if(percent > 1D) if(percent > 1D)
color = 0xff0000; color = 0xff0000;
text.add("&[" + color + "&]" + ((stirling.heat * 1000 / maxHeat) / 10D) + "%"); text.add("&[" + color + "&]" + ((stirling.heat * 1000 / maxHeat) / 10D) + "%");
if(stirling.heat > maxHeat) { if(stirling.heat > maxHeat) {
text.add("&[" + (BobMathUtil.getBlink() ? 0xff0000 : 0xffff00) + "&]! ! ! OVERSPEED ! ! !"); text.add("&[" + (BobMathUtil.getBlink() ? 0xff0000 : 0xffff00) + "&]! ! ! OVERSPEED ! ! !");
} }
if(!stirling.hasCog) { if(!stirling.hasCog) {
text.add("&[" + 0xff0000 + "&]Gear missing!"); text.add("&[" + 0xff0000 + "&]Gear missing!");
}
} }
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);

View File

@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerMachinePress; import com.hbm.inventory.container.ContainerMachinePress;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.render.util.GaugeUtil;
import com.hbm.tileentity.machine.TileEntityMachinePress; import com.hbm.tileentity.machine.TileEntityMachinePress;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -46,14 +47,14 @@ public class GUIMachinePress extends GuiInfoContainer {
Minecraft.getMinecraft().getTextureManager().bindTexture(texture); Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
int i = press.speed * 12 / press.maxSpeed;
drawTexturedModalRect(guiLeft + 25, guiTop + 16, 176, 14 + 18 * i, 18, 18);
if(press.burnTime >= 20) { if(press.burnTime >= 20) {
this.drawTexturedModalRect(guiLeft + 27, guiTop + 36, 176, 0, 14, 14); this.drawTexturedModalRect(guiLeft + 27, guiTop + 36, 176, 0, 14, 14);
} }
int k = (int) (press.renderPress * 16 / press.maxPress); int k = (int) (press.renderPress * 16 / press.maxPress);
this.drawTexturedModalRect(guiLeft + 79, guiTop + 35, 194, 0, 18, k); this.drawTexturedModalRect(guiLeft + 79, guiTop + 35, 194, 0, 18, k);
double i = (double) press.speed / (double) press.maxSpeed;
GaugeUtil.drawSmoothGauge(guiLeft + 34, guiTop + 25, this.zLevel, i, 5, 2, 1, 0x7f0000);
} }
} }

View File

@ -9,6 +9,7 @@ import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.packet.NBTControlPacket; import com.hbm.packet.NBTControlPacket;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.render.util.GaugeUtil;
import com.hbm.tileentity.machine.TileEntityPWRController; import com.hbm.tileentity.machine.TileEntityPWRController;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -16,7 +17,6 @@ import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -24,7 +24,6 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
public class GUIPWR extends GuiInfoContainer { public class GUIPWR extends GuiInfoContainer {
@ -121,8 +120,8 @@ public class GUIPWR extends GuiInfoContainer {
//GaugeUtil.renderGauge(Gauge.ROUND_SMALL, guiLeft + 115, guiTop + 31, this.zLevel, (double) controller.coreHeat / (double) controller.coreHeatCapacity); //GaugeUtil.renderGauge(Gauge.ROUND_SMALL, guiLeft + 115, guiTop + 31, this.zLevel, (double) controller.coreHeat / (double) controller.coreHeatCapacity);
//GaugeUtil.renderGauge(Gauge.ROUND_SMALL, guiLeft + 151, guiTop + 31, this.zLevel, (double) controller.hullHeat / (double) controller.hullHeatCapacity); //GaugeUtil.renderGauge(Gauge.ROUND_SMALL, guiLeft + 151, guiTop + 31, this.zLevel, (double) controller.hullHeat / (double) controller.hullHeatCapacity);
drawGauge(guiLeft + 124, guiTop + 40, (double) controller.coreHeat / (double) controller.coreHeatCapacity); GaugeUtil.drawSmoothGauge(guiLeft + 124, guiTop + 40, this.zLevel, (double) controller.coreHeat / (double) controller.coreHeatCapacity, 5, 2, 1, 0x7F0000);
drawGauge(guiLeft + 160, guiTop + 40, (double) controller.hullHeat / (double) controller.hullHeatCapacity); GaugeUtil.drawSmoothGauge(guiLeft + 160, guiTop + 40, this.zLevel, (double) controller.hullHeat / (double) controller.hullHeatCapacity, 5, 2, 1, 0x7F0000);
if(controller.typeLoaded != -1 && controller.amountLoaded > 0) { if(controller.typeLoaded != -1 && controller.amountLoaded > 0) {
ItemStack display = new ItemStack(ModItems.pwr_fuel, 1, controller.typeLoaded); ItemStack display = new ItemStack(ModItems.pwr_fuel, 1, controller.typeLoaded);
@ -139,7 +138,7 @@ public class GUIPWR extends GuiInfoContainer {
this.field.drawTextBox(); this.field.drawTextBox();
} }
private void drawGauge(int x, int y, double d) { /*private void drawGauge(int x, int y, double d) {
GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_TEXTURE_2D);
d = MathHelper.clamp_double(d, 0, 1); d = MathHelper.clamp_double(d, 0, 1);
@ -168,7 +167,7 @@ public class GUIPWR extends GuiInfoContainer {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_TEXTURE_2D);
} }*/
@Override @Override
protected void mouseClicked(int mouseX, int mouseY, int i) { protected void mouseClicked(int mouseX, int mouseY, int i) {

View File

@ -22,6 +22,7 @@ import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ItemEnums.EnumAshType; import com.hbm.items.ItemEnums.EnumAshType;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel;
import com.hbm.items.machine.ItemWatzPellet.EnumWatzType; import com.hbm.items.machine.ItemWatzPellet.EnumWatzType;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.items.special.ItemByproduct.EnumByproduct; import com.hbm.items.special.ItemByproduct.EnumByproduct;
@ -189,6 +190,82 @@ public class CentrifugeRecipes extends SerializableRecipe {
new ItemStack(ModItems.nugget_pu238, 6), new ItemStack(ModItems.nugget_pu238, 6),
new ItemStack(ModItems.nuclear_waste, 2) }); new ItemStack(ModItems.nuclear_waste, 2) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.MEU)), new ItemStack[] {
new ItemStack(ModItems.nugget_u238, 3),
new ItemStack(ModItems.nugget_plutonium, 4),
new ItemStack(ModItems.nugget_technetium, 2),
new ItemStack(ModItems.nuclear_waste_tiny, 3) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.HEU233)), new ItemStack[] {
new ItemStack(ModItems.nugget_u235, 3),
new ItemStack(ModItems.nugget_pu238, 3),
new ItemStack(ModItems.nugget_technetium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 5) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.HEU235)), new ItemStack[] {
new ItemStack(ModItems.nugget_neptunium, 3),
new ItemStack(ModItems.nugget_pu238, 3),
new ItemStack(ModItems.nugget_technetium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 5) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.MEN)), new ItemStack[] {
new ItemStack(ModItems.nugget_u238, 3),
new ItemStack(ModItems.nugget_pu239, 4),
new ItemStack(ModItems.nugget_technetium, 2),
new ItemStack(ModItems.nuclear_waste_tiny, 3) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.HEN237)), new ItemStack[] {
new ItemStack(ModItems.nugget_pu238, 2),
new ItemStack(ModItems.nugget_pu239, 4),
new ItemStack(ModItems.nugget_technetium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 5) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.MOX)), new ItemStack[] {
new ItemStack(ModItems.nugget_u238, 3),
new ItemStack(ModItems.nugget_pu240, 4),
new ItemStack(ModItems.nugget_technetium, 2),
new ItemStack(ModItems.nuclear_waste_tiny, 3) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.MEP)), new ItemStack[] {
new ItemStack(ModItems.nugget_lead, 2),
new ItemStack(ModItems.nugget_pu_mix, 4),
new ItemStack(ModItems.nugget_technetium, 2),
new ItemStack(ModItems.nuclear_waste_tiny, 3) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.HEP239)), new ItemStack[] {
new ItemStack(ModItems.nugget_pu_mix, 2),
new ItemStack(ModItems.nugget_pu240, 4),
new ItemStack(ModItems.nugget_technetium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 5) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.HEP241)), new ItemStack[] {
new ItemStack(ModItems.nugget_lead, 3),
new ItemStack(ModItems.nugget_zirconium, 2),
new ItemStack(ModItems.nugget_technetium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 6) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.MEA)), new ItemStack[] {
new ItemStack(ModItems.nugget_lead, 3),
new ItemStack(ModItems.nugget_zirconium, 2),
new ItemStack(ModItems.nugget_technetium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 6) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.HEA242)), new ItemStack[] {
new ItemStack(ModItems.nugget_lead, 3),
new ItemStack(ModItems.nugget_zirconium, 2),
new ItemStack(ModItems.nugget_technetium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 6) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.HES326)), new ItemStack[] {
new ItemStack(ModItems.nugget_solinium, 3),
new ItemStack(ModItems.nugget_lead, 2),
new ItemStack(ModItems.nugget_euphemium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 6) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.HES327)), new ItemStack[] {
new ItemStack(ModItems.nugget_australium, 4),
new ItemStack(ModItems.nugget_lead, 1),
new ItemStack(ModItems.nugget_euphemium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 6) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.BFB_AM_MIX)), new ItemStack[] {
new ItemStack(ModItems.nugget_am_mix, 4),
new ItemStack(ModItems.nugget_pu_mix, 1),
new ItemStack(ModItems.nugget_bismuth, 6),
new ItemStack(ModItems.nuclear_waste_tiny, 1) });
recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.pwr_fuel_depleted, EnumPWRFuel.BFB_PU241)), new ItemStack[] {
new ItemStack(ModItems.nugget_pu241, 4),
new ItemStack(ModItems.nugget_pu_mix, 1),
new ItemStack(ModItems.nugget_bismuth, 6),
new ItemStack(ModItems.nuclear_waste_tiny, 1) });
ArrayList<ItemStack> naquadriaNuggets = OreDictionary.getOres("nuggetNaquadria"); ArrayList<ItemStack> naquadriaNuggets = OreDictionary.getOres("nuggetNaquadria");
if(naquadriaNuggets.size() != 0) { if(naquadriaNuggets.size() != 0) {
ItemStack nuggetNQR = naquadriaNuggets.get(0); ItemStack nuggetNQR = naquadriaNuggets.get(0);
@ -452,7 +529,7 @@ public class CentrifugeRecipes extends SerializableRecipe {
recipes.put(new ComparableStack(ModItems.crystal_iron), new ItemStack[] { new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_iron), new ItemStack[] { new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_gold), new ItemStack[] { new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.ingot_mercury, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_gold), new ItemStack[] { new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.ingot_mercury, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_redstone), new ItemStack[] { new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(ModItems.ingot_mercury, 3) }); recipes.put(new ComparableStack(ModItems.crystal_redstone), new ItemStack[] { new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(ModItems.ingot_mercury, 3) });
recipes.put(new ComparableStack(ModItems.crystal_lapis), new ItemStack[] { new ItemStack(ModItems.powder_lapis, 4), new ItemStack(ModItems.powder_lapis, 4), new ItemStack(ModItems.powder_cobalt, 1), new ItemStack(ModItems.gem_sodalite, 1) }); recipes.put(new ComparableStack(ModItems.crystal_lapis), new ItemStack[] { new ItemStack(ModItems.powder_lapis, 4), new ItemStack(ModItems.powder_lapis, 4), new ItemStack(ModItems.powder_cobalt, 1), new ItemStack(ModItems.gem_sodalite, 2) });
recipes.put(new ComparableStack(ModItems.crystal_diamond), new ItemStack[] { new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1) }); recipes.put(new ComparableStack(ModItems.crystal_diamond), new ItemStack[] { new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1) });
recipes.put(new ComparableStack(ModItems.crystal_uranium), new ItemStack[] { new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.nugget_ra226, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_uranium), new ItemStack[] { new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.nugget_ra226, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_thorium), new ItemStack[] { new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_uranium, 1), new ItemStack(ModItems.nugget_ra226, 1) }); recipes.put(new ComparableStack(ModItems.crystal_thorium), new ItemStack[] { new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_uranium, 1), new ItemStack(ModItems.nugget_ra226, 1) });

View File

@ -19,28 +19,34 @@ public class ItemPWRFuel extends ItemEnumMulti {
} }
public static enum EnumPWRFuel { public static enum EnumPWRFuel {
MEU( 05.0D, new FunctionLogarithmic(25)), MEU( 05.0D, new FunctionLogarithmic(20 * 30).withDiv(2_500)),
HEU233( 07.5D, new FunctionSqrt(25)), HEU233( 07.5D, new FunctionSqrt(25)),
HEU235( 07.5D, new FunctionSqrt(25)), HEU235( 07.5D, new FunctionSqrt(22.5)),
MEN( 07.5D, new FunctionLogarithmic(25)), MEN( 07.5D, new FunctionLogarithmic(22.5 * 30).withDiv(2_500)),
HEN237( 07.5D, new FunctionSqrt(25)), HEN237( 07.5D, new FunctionSqrt(27.5)),
MOX( 07.5D, new FunctionLogarithmic(25)), MOX( 07.5D, new FunctionLogarithmic(20 * 30).withDiv(2_500)),
MEP( 07.5D, new FunctionLogarithmic(25)), MEP( 07.5D, new FunctionLogarithmic(22.5 * 30).withDiv(2_500)),
HEP239( 10.0D, new FunctionSqrt(25)), HEP239( 10.0D, new FunctionSqrt(22.5)),
HEP241( 10.0D, new FunctionSqrt(25)), HEP241( 10.0D, new FunctionSqrt(25)),
MEA( 07.5D, new FunctionLogarithmic(25)), MEA( 07.5D, new FunctionLogarithmic(25 * 30).withDiv(2_500)),
HEA242( 10.0D, new FunctionSqrt(25)), HEA242( 10.0D, new FunctionSqrt(25)),
HES326( 15.0D, new FunctionSqrt(25)), HES326( 12.5D, new FunctionSqrt(27.5)),
HES327( 15.0D, new FunctionSqrt(25)); HES327( 12.5D, new FunctionSqrt(30)),
BFB_AM_MIX( 2.5D, new FunctionSqrt(15), 250_000_000),
BFB_PU241( 2.5D, new FunctionSqrt(15), 250_000_000);
public double yield = 1_000_000_000; public double yield = 1_000_000_000;
public double heatEmission; public double heatEmission;
public Function function; public Function function;
private EnumPWRFuel(double heatEmission, Function function) { private EnumPWRFuel(double heatEmission, Function function, double yield) {
this.heatEmission = heatEmission; this.heatEmission = heatEmission;
this.function = function; this.function = function;
} }
private EnumPWRFuel(double heatEmission, Function function) {
this(heatEmission, function, 1_000_000_000);
}
} }
@Override @Override

View File

@ -398,6 +398,7 @@ public class ResourceManager {
//Heat Engines //Heat Engines
public static final ResourceLocation stirling_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling.png"); public static final ResourceLocation stirling_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling.png");
public static final ResourceLocation stirling_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling_steel.png"); public static final ResourceLocation stirling_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling_steel.png");
public static final ResourceLocation stirling_creative_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling_creative.png");
public static final ResourceLocation sawmill_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/sawmill.png"); public static final ResourceLocation sawmill_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/sawmill.png");
public static final ResourceLocation crucible_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crucible_heat.png"); public static final ResourceLocation crucible_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crucible_heat.png");
public static final ResourceLocation boiler_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/boiler.png"); public static final ResourceLocation boiler_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/boiler.png");

View File

@ -47,6 +47,8 @@ public class RenderStirling extends TileEntitySpecialRenderer implements IItemRe
if(type == 0) if(type == 0)
bindTexture(ResourceManager.stirling_tex); bindTexture(ResourceManager.stirling_tex);
else if(type == 2)
bindTexture(ResourceManager.stirling_creative_tex);
else else
bindTexture(ResourceManager.stirling_steel_tex); bindTexture(ResourceManager.stirling_steel_tex);
@ -86,7 +88,8 @@ public class RenderStirling extends TileEntitySpecialRenderer implements IItemRe
public Item[] getItemsForRenderer() { public Item[] getItemsForRenderer() {
return new Item[] { return new Item[] {
Item.getItemFromBlock(ModBlocks.machine_stirling), Item.getItemFromBlock(ModBlocks.machine_stirling),
Item.getItemFromBlock(ModBlocks.machine_stirling_steel) Item.getItemFromBlock(ModBlocks.machine_stirling_steel),
Item.getItemFromBlock(ModBlocks.machine_stirling_creative)
}; };
} }
@ -100,7 +103,7 @@ public class RenderStirling extends TileEntitySpecialRenderer implements IItemRe
public void renderCommonWithStack(ItemStack item) { public void renderCommonWithStack(ItemStack item) {
GL11.glRotatef(90, 0F, 1F, 0F); GL11.glRotatef(90, 0F, 1F, 0F);
boolean cog = item.getItemDamage() != 1; boolean cog = item.getItemDamage() != 1;
RenderStirling.this.renderCommon(cog ? System.currentTimeMillis() % 3600 * 0.1F : 0, cog, item.getItem() == Item.getItemFromBlock(ModBlocks.machine_stirling) ? 0 : 1); RenderStirling.this.renderCommon(cog ? System.currentTimeMillis() % 3600 * 0.1F : 0, cog, item.getItem() == Item.getItemFromBlock(ModBlocks.machine_stirling) ? 0 : item.getItem() == Item.getItemFromBlock(ModBlocks.machine_stirling_creative) ? 2 : 1);
}}; }};
} }

View File

@ -1,10 +1,14 @@
package com.hbm.render.util; package com.hbm.render.util;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
public class GaugeUtil { public class GaugeUtil {
@ -56,4 +60,34 @@ public class GaugeUtil {
tess.draw(); tess.draw();
} }
public static void drawSmoothGauge(int x, int y, double z, double progress, double tipLength, double backLength, double backSide, int color) {
GL11.glDisable(GL11.GL_TEXTURE_2D);
progress = MathHelper.clamp_double(progress, 0, 1);
float angle = (float) Math.toRadians(-progress * 270 - 45);
Vec3 tip = Vec3.createVectorHelper(0, tipLength, 0);
Vec3 left = Vec3.createVectorHelper(backSide, -backLength, 0);
Vec3 right = Vec3.createVectorHelper(-backSide, -backLength, 0);
tip.rotateAroundZ(angle);
left.rotateAroundZ(angle);
right.rotateAroundZ(angle);
Tessellator tess = Tessellator.instance;
tess.startDrawing(GL11.GL_TRIANGLES);
tess.setColorOpaque_F(0F, 0F, 0F);
double mult = 1.5;
tess.addVertex(x + tip.xCoord * mult, y + tip.yCoord * mult, z);
tess.addVertex(x + left.xCoord * mult, y + left.yCoord * mult, z);
tess.addVertex(x + right.xCoord * mult, y + right.yCoord * mult, z);
tess.setColorOpaque_I(color);
tess.addVertex(x + tip.xCoord, y + tip.yCoord, z);
tess.addVertex(x + left.xCoord, y + left.yCoord, z);
tess.addVertex(x + right.xCoord, y + right.yCoord, z);
tess.draw();
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
}
} }

View File

@ -131,13 +131,13 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG
connections = connectionsDouble / 2; connections = connectionsDouble / 2;
connectionsControlled = connectionsControlledDouble / 2; connectionsControlled = connectionsControlledDouble / 2;
System.out.println("Finalized nuclear reactor!"); /*System.out.println("Finalized nuclear reactor!");
System.out.println("Rods: " + rodCount); System.out.println("Rods: " + rodCount);
System.out.println("Connections: " + connections); System.out.println("Connections: " + connections);
System.out.println("Controlled connections: " + connectionsControlled); System.out.println("Controlled connections: " + connectionsControlled);
System.out.println("Heatex: " + heatexCount); System.out.println("Heatex: " + heatexCount);
System.out.println("Channels: " + channelCount); System.out.println("Channels: " + channelCount);
System.out.println("Sources: " + sourceCount); System.out.println("Sources: " + sourceCount);*/
} }
@Override @Override

View File

@ -48,12 +48,12 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack
if(hasCog) { if(hasCog) {
tryPullHeat(); tryPullHeat();
this.powerBuffer = (long) (this.heat * this.efficiency); this.powerBuffer = (long) (this.heat * (this.isCreative() ? 1 : this.efficiency));
if(warnCooldown > 0) if(warnCooldown > 0)
warnCooldown--; warnCooldown--;
if(heat > maxHeat()) { if(heat > maxHeat() && !isCreative()) {
this.overspeed++; this.overspeed++;
@ -109,6 +109,8 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack
float momentum = powerBuffer * 50F / ((float) maxHeat()); float momentum = powerBuffer * 50F / ((float) maxHeat());
if(this.isCreative()) momentum = Math.min(momentum, 45F);
this.lastSpin = this.spin; this.lastSpin = this.spin;
this.spin += momentum; this.spin += momentum;
@ -120,13 +122,17 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack
} }
public int getGeatMeta() { public int getGeatMeta() {
return this.getBlockType() == ModBlocks.machine_stirling ? 0 : 1; return this.getBlockType() == ModBlocks.machine_stirling ? 0 : this.getBlockType() == ModBlocks.machine_stirling_creative ? 2 : 1;
} }
public int maxHeat() { public int maxHeat() {
return this.getBlockType() == ModBlocks.machine_stirling ? 300 : 1500; return this.getBlockType() == ModBlocks.machine_stirling ? 300 : 1500;
} }
public boolean isCreative() {
return this.getBlockType() == ModBlocks.machine_stirling_creative;
}
protected DirPos[] getConPos() { protected DirPos[] getConPos() {
return new DirPos[] { return new DirPos[] {
new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X),

View File

@ -4078,6 +4078,8 @@ tile.machine_steam_engine.name=Dampfmaschine
tile.machine_steam_engine.desc=Effizienz: 85%% tile.machine_steam_engine.desc=Effizienz: 85%%
tile.machine_stirling.name=Stirlingmotor tile.machine_stirling.name=Stirlingmotor
tile.machine_stirling.desc=Erzeugt Energie aus Wärme. Benötigt externe Hitzequelle.$Wärmestransferrate: T*0.1 TU/t$Maximalaufnahme: 300 TU/t$Effizienz: 50%% tile.machine_stirling.desc=Erzeugt Energie aus Wärme. Benötigt externe Hitzequelle.$Wärmestransferrate: T*0.1 TU/t$Maximalaufnahme: 300 TU/t$Effizienz: 50%%
tile.machine_stirling_creative.name=Kreativer Stirlingmotor
tile.machine_stirling_creative.desc=Erzeugt Energie aus Wärme. Benötigt externe Hitzequelle.$Wärmestransferrate: T*0.1 TU/t$Keine Maximalaufnahme/t$Effizienz: 100%%
tile.machine_stirling_steel.name=Schwerer Stirlingmotor tile.machine_stirling_steel.name=Schwerer Stirlingmotor
tile.machine_stirling_steel.desc=Erzeugt Energie aus Wärme. Benötigt externe Hitzequelle.$Verwendet ein schwereres Zahnrad und verträgt höhere Temparaturen.$Wärmestransferrate: T*0.1 TU/t$Maximalaufnahme: 1500 TU/t$Effizienz: 50%% tile.machine_stirling_steel.desc=Erzeugt Energie aus Wärme. Benötigt externe Hitzequelle.$Verwendet ein schwereres Zahnrad und verträgt höhere Temparaturen.$Wärmestransferrate: T*0.1 TU/t$Maximalaufnahme: 1500 TU/t$Effizienz: 50%%
tile.machine_storage_drum.name=Atommüll-Lagertrommel tile.machine_storage_drum.name=Atommüll-Lagertrommel

View File

@ -3611,6 +3611,51 @@ item.primer_buckshot.name=Buckshot Primer (x12)
item.protection_charm.name=Charm of Protection item.protection_charm.name=Charm of Protection
item.prototype_kit.name=Prototype Kit item.prototype_kit.name=Prototype Kit
item.pudding.name=Pudding item.pudding.name=Pudding
item.pwr_fuel.bfb_am_mix.name=Fuel Grade Americium PWR ZFB Rod
item.pwr_fuel.bfb_pu241.name=Plutonium-241 PWR ZFB Rod
item.pwr_fuel.hea242.name=HEA-242 PWR Fuel Rod
item.pwr_fuel.hen237.name=HEN-237 PWR Fuel Rod
item.pwr_fuel.hep239.name=HEP-239 PWR Fuel Rod
item.pwr_fuel.hep241.name=HEP-241 PWR Fuel Rod
item.pwr_fuel.hes326.name=HES-326 PWR Fuel Rod
item.pwr_fuel.hes327.name=HES-327 PWR Fuel Rod
item.pwr_fuel.heu233.name=HEU-233 PWR Fuel Rod
item.pwr_fuel.heu235.name=HEU-235 PWR Fuel Rod
item.pwr_fuel.mea.name=MEA PWR Fuel Rod
item.pwr_fuel.men.name=MEN PWR Fuel Rod
item.pwr_fuel.mep.name=MEP PWR Fuel Rod
item.pwr_fuel.meu.name=MEU PWR Fuel Rod
item.pwr_fuel.mox.name=MOX PWR Fuel Rod
item.pwr_fuel_depleted.bfb_am_mix.name=Depleted Fuel Grade Americium PWR ZFB Rod
item.pwr_fuel_depleted.bfb_pu241.name=Depleted Plutonium-241 PWR ZFB Rod
item.pwr_fuel_depleted.hea242.name=Depleted HEA-242 PWR Fuel Rod
item.pwr_fuel_depleted.hen237.name=Depleted HEN-237 PWR Fuel Rod
item.pwr_fuel_depleted.hep239.name=Depleted HEP-239 PWR Fuel Rod
item.pwr_fuel_depleted.hep241.name=Depleted HEP-241 PWR Fuel Rod
item.pwr_fuel_depleted.hes326.name=Depleted HES-326 PWR Fuel Rod
item.pwr_fuel_depleted.hes327.name=Depleted HES-327 PWR Fuel Rod
item.pwr_fuel_depleted.heu233.name=Depleted HEU-233 PWR Fuel Rod
item.pwr_fuel_depleted.heu235.name=Depleted HEU-235 PWR Fuel Rod
item.pwr_fuel_depleted.mea.name=Depleted MEA PWR Fuel Rod
item.pwr_fuel_depleted.men.name=Depleted MEN PWR Fuel Rod
item.pwr_fuel_depleted.mep.name=Depleted MEP PWR Fuel Rod
item.pwr_fuel_depleted.meu.name=Depleted MEU PWR Fuel Rod
item.pwr_fuel_depleted.mox.name=Depleted MOX PWR Fuel Rod
item.pwr_fuel_hot.bfb_am_mix.name=Hot Fuel Grade Americium PWR ZFB Rod
item.pwr_fuel_hot.bfb_pu241.name=Hot Plutonium-241 PWR ZFB Rod
item.pwr_fuel_hot.hea242.name=Hot HEA-242 PWR Fuel Rod
item.pwr_fuel_hot.hen237.name=Hot HEN-237 PWR Fuel Rod
item.pwr_fuel_hot.hep239.name=Hot HEP-239 PWR Fuel Rod
item.pwr_fuel_hot.hep241.name=Hot HEP-241 PWR Fuel Rod
item.pwr_fuel_hot.hes326.name=Hot HES-326 PWR Fuel Rod
item.pwr_fuel_hot.hes327.name=Hot HES-327 PWR Fuel Rod
item.pwr_fuel_hot.heu233.name=Hot HEU-233 PWR Fuel Rod
item.pwr_fuel_hot.heu235.name=Hot HEU-235 PWR Fuel Rod
item.pwr_fuel_hot.mea.name=Hot MEA PWR Fuel Rod
item.pwr_fuel_hot.men.name=Hot MEN PWR Fuel Rod
item.pwr_fuel_hot.mep.name=Hot MEP PWR Fuel Rod
item.pwr_fuel_hot.meu.name=Hot MEU PWR Fuel Rod
item.pwr_fuel_hot.mox.name=Hot MOX PWR Fuel Rod
item.quartz_plutonium.name=Plutonic Quartz item.quartz_plutonium.name=Plutonic Quartz
item.radaway.name=RadAway item.radaway.name=RadAway
item.radaway_flush.name=Elite RadAway item.radaway_flush.name=Elite RadAway
@ -5032,6 +5077,8 @@ tile.machine_steam_engine.name=Steam Engine
tile.machine_steam_engine.desc=Efficiency: 85%% tile.machine_steam_engine.desc=Efficiency: 85%%
tile.machine_stirling.name=Stirling Engine tile.machine_stirling.name=Stirling Engine
tile.machine_stirling.desc=Turns heat into energy. Requires external heat source.$Heat transfer rate: T*0.1 TU/t$Max intake: 300 TU/t$Efficiency: 50%% tile.machine_stirling.desc=Turns heat into energy. Requires external heat source.$Heat transfer rate: T*0.1 TU/t$Max intake: 300 TU/t$Efficiency: 50%%
tile.machine_stirling_creative.name=Creative Stirling Engine
tile.machine_stirling_creative.desc=Turns heat into energy. Requires external heat source.$Heat transfer rate: T*0.1 TU/t$Infinite intake/t$Efficiency: 100%%
tile.machine_stirling_steel.name=Heavy Stirling Engine tile.machine_stirling_steel.name=Heavy Stirling Engine
tile.machine_stirling_steel.desc=Turns heat into energy. Requires external heat source.$Uses a much heavier gear to support higher temperatures.$Heat transfer rate: T*0.1 TU/t$Max intake: 1500 TU/t$Efficiency: 50%% tile.machine_stirling_steel.desc=Turns heat into energy. Requires external heat source.$Uses a much heavier gear to support higher temperatures.$Heat transfer rate: T*0.1 TU/t$Max intake: 1500 TU/t$Efficiency: 50%%
tile.machine_storage_drum.name=Nuclear Waste Disposal Drum tile.machine_storage_drum.name=Nuclear Waste Disposal Drum

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB