mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
more performant turbine cycles, radworld config
This commit is contained in:
parent
651a8506cf
commit
7f275d06b1
@ -12,6 +12,7 @@ public class RadiationConfig {
|
|||||||
public static float hellRad = 0.1F;
|
public static float hellRad = 0.1F;
|
||||||
public static int worldRad = 10;
|
public static int worldRad = 10;
|
||||||
public static int worldRadThreshold = 20;
|
public static int worldRadThreshold = 20;
|
||||||
|
public static boolean worldRadEffects = true;
|
||||||
|
|
||||||
public static void loadFromConfig(Configuration config) {
|
public static void loadFromConfig(Configuration config) {
|
||||||
|
|
||||||
@ -34,6 +35,7 @@ public class RadiationConfig {
|
|||||||
hellRad = netherRad.getInt() * 0.01F;
|
hellRad = netherRad.getInt() * 0.01F;
|
||||||
worldRad = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "6.10_worldRadCount", "How many block operations radiation can perform per tick", 10);
|
worldRad = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "6.10_worldRadCount", "How many block operations radiation can perform per tick", 10);
|
||||||
worldRadThreshold = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "6.11_worldRadThreshold", "The least amount of RADs required for block modification to happen", 20);
|
worldRadThreshold = CommonConfig.createConfigInt(config, CATEGORY_NUKE, "6.11_worldRadThreshold", "The least amount of RADs required for block modification to happen", 20);
|
||||||
|
worldRadEffects = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "6.12_worldRadEffects", "Whether high radiation levels should perform changes in the world", true);
|
||||||
|
|
||||||
fogCh = CommonConfig.setDef(fogCh, 20);
|
fogCh = CommonConfig.setDef(fogCh, 20);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.hbm.handler;
|
|||||||
|
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
|
import com.hbm.config.RadiationConfig;
|
||||||
import com.hbm.saveddata.RadiationSavedData;
|
import com.hbm.saveddata.RadiationSavedData;
|
||||||
|
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
@ -17,6 +18,9 @@ public class RadiationWorldHandler {
|
|||||||
if(!(world instanceof WorldServer))
|
if(!(world instanceof WorldServer))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if(!RadiationConfig.worldRadEffects)
|
||||||
|
return;
|
||||||
|
|
||||||
WorldServer serv = (WorldServer)world;
|
WorldServer serv = (WorldServer)world;
|
||||||
|
|
||||||
RadiationSavedData data = RadiationSavedData.getData(serv);
|
RadiationSavedData data = RadiationSavedData.getData(serv);
|
||||||
|
|||||||
@ -235,19 +235,19 @@ public class TileEntityMachineTurbine extends TileEntity implements ISidedInvent
|
|||||||
} else {
|
} else {
|
||||||
tanks[1].setTankType((FluidType) outs[0]);
|
tanks[1].setTankType((FluidType) outs[0]);
|
||||||
|
|
||||||
for(int i = 0; i < 1200; i++) {
|
int processMax = 1200; //the maximum amount of cycles based on the 1.2k cycle cap (subject to change)
|
||||||
if(tanks[0].getFill() >= (Integer)outs[2] && tanks[1].getFill() + (Integer)outs[1] <= tanks[1].getMaxFill()) {
|
int processSteam = tanks[0].getFill() / (Integer)outs[2]; //the maximum amount of cycles depending on steam
|
||||||
tanks[0].setFill(tanks[0].getFill() - (Integer)outs[2]);
|
int processWater = (tanks[1].getMaxFill() - tanks[1].getFill()) / (Integer)outs[1]; //the maximum amount of cycles depending on water
|
||||||
tanks[1].setFill(tanks[1].getFill() + (Integer)outs[1]);
|
|
||||||
|
int cycles = Math.min(processMax, Math.min(processSteam, processWater));
|
||||||
power += (Integer)outs[3];
|
|
||||||
|
tanks[0].setFill(tanks[0].getFill() - (Integer)outs[2] * cycles);
|
||||||
if(power > maxPower)
|
tanks[1].setFill(tanks[1].getFill() + (Integer)outs[1] * cycles);
|
||||||
power = maxPower;
|
|
||||||
} else {
|
power += (Integer)outs[3] * cycles;
|
||||||
break;
|
|
||||||
}
|
if(power > maxPower)
|
||||||
}
|
power = maxPower;
|
||||||
}
|
}
|
||||||
|
|
||||||
tanks[1].unloadTank(5, 6, slots);
|
tanks[1].unloadTank(5, 6, slots);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user