diff --git a/src/main/java/com/hbm/blocks/machine/MachineIndustrialTurbine.java b/src/main/java/com/hbm/blocks/machine/MachineIndustrialTurbine.java index 72da572c4..54cdda6cf 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineIndustrialTurbine.java +++ b/src/main/java/com/hbm/blocks/machine/MachineIndustrialTurbine.java @@ -89,6 +89,8 @@ public class MachineIndustrialTurbine extends BlockDummyable implements ITooltip this.addStandardInfo(stack, player, list, ext); } + private static String[] blocks = new String[] {"▖ ", "▘ ", " ▘", " ▖"}; // right hand side quarter blocks break the renderer so we cheat a little + @Override public void printHook(Pre event, World world, int x, int y, int z) { int[] pos = this.findCore(world, x, y, z); @@ -110,9 +112,13 @@ public class MachineIndustrialTurbine extends BlockDummyable implements ITooltip outputType = inputType.getTrait(FT_Coolable.class).coolsTo; } + int color = ((int) (0xFF - 0xFF * chungus.spin)) << 16 | ((int)(0xFF * chungus.spin) << 8); + int time = (int) ((world.getTotalWorldTime() / 4) % 4); + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + inputType.getLocalizedName() + ": " + String.format(Locale.US, "%,d", tankInput.getFill()) + "/" + String.format(Locale.US, "%,d", tankInput.getMaxFill()) + "mB"); text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + outputType.getLocalizedName() + ": " + String.format(Locale.US, "%,d", tankOutput.getFill()) + "/" + String.format(Locale.US, "%,d", tankOutput.getMaxFill()) + "mB"); - text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + BobMathUtil.getShortNumber(chungus.powerBuffer) + "HE (" + (int)(chungus.spin * 100) + "%)"); + text.add("&[" + color + "&]" + EnumChatFormatting.RED + "<- " + EnumChatFormatting.WHITE + BobMathUtil.getShortNumber(chungus.powerBuffer) + "HE (" + + EnumChatFormatting.RESET + blocks[time] + (int) Math.round(chungus.spin * 100) + "%" + EnumChatFormatting.WHITE + ")"); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIndustrialTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIndustrialTurbine.java index 7c2045a71..11d075769 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIndustrialTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIndustrialTurbine.java @@ -18,9 +18,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineIndustrialTurbine extends TileEntityTurbineBase implements IConfigurableMachine { - - public static int inputTankSize = 1_000_000_000; - public static int outputTankSize = 1_000_000_000; + + public static int inputTankSize = 512_000; + public static int outputTankSize = 10_240_000; public static double efficiency = 1D; public float rotor; @@ -114,6 +114,7 @@ public class TileEntityMachineIndustrialTurbine extends TileEntityTurbineBase im @Override public double consumptionPercent() { return 0.2D; } @Override public double getEfficiency() { return efficiency; } + @Override public boolean doesResizeCompressor() { return true; } @Override public void serialize(ByteBuf buf) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTurbineBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTurbineBase.java index b516b11b4..a57e2b3ec 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTurbineBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTurbineBase.java @@ -65,7 +65,7 @@ public abstract class TileEntityTurbineBase extends TileEntityLoadedBase impleme if(ops > 0) { tanks[0].setFill(tanks[0].getFill() - ops * trait.amountReq); tanks[1].setFill(tanks[1].getFill() + ops * trait.amountProduced); - this.generatePower((long) (ops * trait.heatEnergy * eff), tanks[0].getFill() - ops * trait.amountReq); + this.generatePower((long) (ops * trait.heatEnergy * eff), ops * trait.amountReq); } info[0] = ops * trait.amountReq; info[1] = ops * trait.amountProduced; @@ -103,32 +103,36 @@ public abstract class TileEntityTurbineBase extends TileEntityLoadedBase impleme public void onLeverPull() { FluidType type = tanks[0].getTankType(); + boolean resize = this.doesResizeCompressor(); if(type == Fluids.STEAM) { - tanks[0].setTankType(Fluids.HOTSTEAM); - tanks[1].setTankType(Fluids.STEAM); - tanks[0].setFill(tanks[0].getFill() / 10); - tanks[1].setFill(0); + tanks[0].setTankType(Fluids.HOTSTEAM); tanks[1].setTankType(Fluids.STEAM); + tanks[0].setFill(tanks[0].getFill() / 10); tanks[1].setFill(0); + if(resize) { tanks[0].changeTankSize(tanks[0].getMaxFill() / 10); tanks[1].changeTankSize(tanks[1].getMaxFill() / 10); } } else if(type == Fluids.HOTSTEAM) { - tanks[0].setTankType(Fluids.SUPERHOTSTEAM); - tanks[1].setTankType(Fluids.HOTSTEAM); - tanks[0].setFill(tanks[0].getFill() / 10); - tanks[1].setFill(0); + tanks[0].setTankType(Fluids.SUPERHOTSTEAM); tanks[1].setTankType(Fluids.HOTSTEAM); + tanks[0].setFill(tanks[0].getFill() / 10); tanks[1].setFill(0); + if(resize) { tanks[0].changeTankSize(tanks[0].getMaxFill() / 10); tanks[1].changeTankSize(tanks[1].getMaxFill() / 10); } } else if(type == Fluids.SUPERHOTSTEAM) { - tanks[0].setTankType(Fluids.ULTRAHOTSTEAM); - tanks[1].setTankType(Fluids.SUPERHOTSTEAM); - tanks[0].setFill(tanks[0].getFill() / 10); - tanks[1].setFill(0); + tanks[0].setTankType(Fluids.ULTRAHOTSTEAM); tanks[1].setTankType(Fluids.SUPERHOTSTEAM); + tanks[0].setFill(tanks[0].getFill() / 10); tanks[1].setFill(0); + if(resize) { tanks[0].changeTankSize(tanks[0].getMaxFill() / 10); tanks[1].changeTankSize(tanks[1].getMaxFill() / 10); } + } else if(type == Fluids.ULTRAHOTSTEAM) { + tanks[0].setTankType(Fluids.STEAM); tanks[1].setTankType(Fluids.SPENTSTEAM); + tanks[0].setFill(Math.min(tanks[0].getFill() * 1000, tanks[0].getMaxFill())); tanks[1].setFill(0); + if(resize) { tanks[0].changeTankSize(tanks[0].getMaxFill() * 1000); tanks[1].changeTankSize(tanks[1].getMaxFill() * 1000); } } else { - tanks[0].setTankType(Fluids.STEAM); - tanks[1].setTankType(Fluids.SPENTSTEAM); - tanks[0].setFill(Math.min(tanks[0].getFill() * 1000, tanks[0].getMaxFill())); - tanks[1].setFill(0); + tanks[0].setTankType(Fluids.STEAM); tanks[1].setTankType(Fluids.SPENTSTEAM); + tanks[0].setFill(Math.min(tanks[0].getFill() * 1000, tanks[0].getMaxFill())); tanks[1].setFill(0); } markDirty(); } + public boolean doesResizeCompressor() { + return false; + } + @Override public void serialize(ByteBuf buf) { super.serialize(buf); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 8b6106312..6c6cd6163 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -4561,9 +4561,11 @@ tile.machine_icf_press.name=ICF-Brennstoffpellet-Fabrikant tile.machine_industrial_boiler.name=Industrieller Boiler tile.machine_industrial_boiler.desc=Großer Boiler zum Verdampfen von Wasser oder$Erhitzen von Öl. Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.1 TU/t$Überdrucksicher tile.machine_industrial_generator.name=Industrieller Generator +tile.machine_industrial_turbine.name=Industrielle Dampfturbine +tile.machine_industrial_turbine.desc=Effizienz: 100%% tile.machine_intake.name=Lufteinlass tile.machine_keyforge.name=Schlossertisch -tile.machine_large_turbine.name=Industrielle Dampfturbine +tile.machine_large_turbine.name=Industrielle Dampfturbine (LEGACY) tile.machine_large_turbine.desc=Effizienz: 100%% tile.machine_lithium_battery.name=Li-Ion-Energiespeicherblock (LEGACY) tile.machine_microwave.name=Mikrowelle diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index b6cae06c5..ceda0768c 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -5826,9 +5826,11 @@ tile.machine_icf_press.desc=Fills ICF Fuel pellets$Left fuel slot is accepted by tile.machine_industrial_boiler.name=Industrial Boiler tile.machine_industrial_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.1 TU/t$Cannot explode tile.machine_industrial_generator.name=Industrial Generator +tile.machine_industrial_turbine.name=Industrial Steam Turbine +tile.machine_industrial_turbine.desc=Efficiency: 100%% tile.machine_intake.name=Air Intake tile.machine_keyforge.name=Locksmith Table -tile.machine_large_turbine.name=Industrial Steam Turbine +tile.machine_large_turbine.name=Industrial Steam Turbine (LEGACY) tile.machine_large_turbine.desc=Efficiency: 100%% tile.machine_liquefactor.name=Industrial Liquefaction Machine tile.machine_liquefactor.desc=Powerful universal machine to turn items into fluids.$Comes with versatile catalytic components, heating elements$and a built-in hydrator for petrochemical liquefaction.