skim milk: stick ya dick in it™️

This commit is contained in:
Boblet 2026-02-12 08:57:24 +01:00
parent 1ad65345b0
commit 068c3a8b7d
5 changed files with 38 additions and 23 deletions

View File

@ -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);

View File

@ -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) {

View File

@ -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);

View File

@ -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

View File

@ -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.