1
0
mirror of https://github.com/turbodiesel4598/NuclearCraft synced 2025-09-23 22:54:40 +02:00

Compare commits

..

No commits in common. "9637040f92fa15cfe330e22464425d8f7dcf76bd" and "0145ca2cefa3fe052959cb3cc5a0980feb1a979b" have entirely different histories.

10 changed files with 20 additions and 59 deletions

View File

@ -1,10 +1,3 @@
v2.18s
+ Added configs to modify the base energy storage and heat capacities of fission reactors [thanks to Exaxxion!]
* Hopefully fixed fusion reactors placing and removing plasma too often
* Fixed possible crash on creating plasma fluid when other mods add their own
v2.18r v2.18r
+ Added configs to modify the tank capacities of exchanger and condenser tubes + Added configs to modify the tank capacities of exchanger and condenser tubes

View File

@ -1,7 +1,7 @@
mc_version=1.12.2 mc_version=1.12.2
forge_version=14.23.5.2838 forge_version=14.23.5.2838
mapping_version=stable_39 mapping_version=stable_39
mod_version=2.18s mod_version=2.18r
ic2_version=2.8.170-ex112 ic2_version=2.8.170-ex112
jei_version=4.15.0.+ jei_version=4.15.0.+
@ -11,7 +11,7 @@ tic_version=1.12.2-2.12.0.157
oc_version=MC1.12.2-1.7.4.+ oc_version=MC1.12.2-1.7.4.+
cofh_core_version=1.12.2-4.6.3.+ cofh_core_version=1.12.2-4.6.3.+
common_capabilities_version=2.4.4-309 common_capabilities_version=2.4.4-309
gamestages_version=2.0.117 gamestages_version=2.0.+
baubles_version=1.12:1.5.2 baubles_version=1.12:1.5.2
conarm_version=1.12.2:1.2.4 conarm_version=1.12.2:1.2.4

View File

@ -26,7 +26,7 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
public class NCConfig { public class NCConfig {
private static Configuration config = null; private static Configuration config = null;
public static final String CATEGORY_ORES = "ores"; public static final String CATEGORY_ORES = "ores";
@ -83,8 +83,6 @@ public class NCConfig {
public static double[] decay_lifetime; public static double[] decay_lifetime;
public static int[] decay_power; public static int[] decay_power;
public static int fission_base_capacity; // Default: 64000
public static int fission_base_max_heat; // Default: 25000
public static double fission_power; // Default: 1 public static double fission_power; // Default: 1
public static double fission_fuel_use; // Default: 1 public static double fission_fuel_use; // Default: 1
public static double fission_heat_generation; // Default: 1 public static double fission_heat_generation; // Default: 1
@ -455,10 +453,6 @@ public class NCConfig {
Property propertyDecayPower = config.get(CATEGORY_GENERATORS, "decay_power", new int[] {80, 80, 15, 5, 10, 15, 20, 25, 30, 40}, Lang.localise("gui.config.generators.decay_power.comment"), 0, 32767); Property propertyDecayPower = config.get(CATEGORY_GENERATORS, "decay_power", new int[] {80, 80, 15, 5, 10, 15, 20, 25, 30, 40}, Lang.localise("gui.config.generators.decay_power.comment"), 0, 32767);
propertyDecayPower.setLanguageKey("gui.config.generators.decay_power"); propertyDecayPower.setLanguageKey("gui.config.generators.decay_power");
Property propertyFissionBaseCapacity = config.get(CATEGORY_FISSION, "fission_base_capacity", 64000, Lang.localise("gui.config.fission.fission_base_capacity.comment"), 1, Integer.MAX_VALUE);
propertyFissionBaseCapacity.setLanguageKey("gui.config.fission.fission_base_capacity");
Property propertyFissionBaseMaxHeat = config.get(CATEGORY_FISSION, "fission_base_max_heat", 25000, Lang.localise("gui.config.fission.fission_base_max_heat.comment"), 1, Integer.MAX_VALUE);
propertyFissionBaseMaxHeat.setLanguageKey("gui.config.fission.fission_base_max_heat");
Property propertyFissionPower = config.get(CATEGORY_FISSION, "fission_power", 1D, Lang.localise("gui.config.fission.fission_power.comment"), 0D, 255D); Property propertyFissionPower = config.get(CATEGORY_FISSION, "fission_power", 1D, Lang.localise("gui.config.fission.fission_power.comment"), 0D, 255D);
propertyFissionPower.setLanguageKey("gui.config.fission.fission_power"); propertyFissionPower.setLanguageKey("gui.config.fission.fission_power");
Property propertyFissionFuelUse = config.get(CATEGORY_FISSION, "fission_fuel_use", 1D, Lang.localise("gui.config.fission.fission_fuel_use.comment"), 0.001D, 255D); Property propertyFissionFuelUse = config.get(CATEGORY_FISSION, "fission_fuel_use", 1D, Lang.localise("gui.config.fission.fission_fuel_use.comment"), 0.001D, 255D);
@ -987,8 +981,6 @@ public class NCConfig {
config.setCategoryPropertyOrder(CATEGORY_GENERATORS, propertyOrderGenerators); config.setCategoryPropertyOrder(CATEGORY_GENERATORS, propertyOrderGenerators);
List<String> propertyOrderFission = new ArrayList<String>(); List<String> propertyOrderFission = new ArrayList<String>();
propertyOrderFission.add(propertyFissionBaseCapacity.getName());
propertyOrderFission.add(propertyFissionBaseMaxHeat.getName());
propertyOrderFission.add(propertyFissionPower.getName()); propertyOrderFission.add(propertyFissionPower.getName());
propertyOrderFission.add(propertyFissionFuelUse.getName()); propertyOrderFission.add(propertyFissionFuelUse.getName());
propertyOrderFission.add(propertyFissionHeatGeneration.getName()); propertyOrderFission.add(propertyFissionHeatGeneration.getName());
@ -1294,8 +1286,6 @@ public class NCConfig {
decay_lifetime = readDoubleArrayFromConfig(propertyDecayLifetime); decay_lifetime = readDoubleArrayFromConfig(propertyDecayLifetime);
decay_power = readIntegerArrayFromConfig(propertyDecayPower); decay_power = readIntegerArrayFromConfig(propertyDecayPower);
fission_base_capacity = propertyFissionBaseCapacity.getInt();
fission_base_max_heat = propertyFissionBaseMaxHeat.getInt();
fission_power = propertyFissionPower.getDouble(); fission_power = propertyFissionPower.getDouble();
fission_fuel_use = propertyFissionFuelUse.getDouble(); fission_fuel_use = propertyFissionFuelUse.getDouble();
fission_heat_generation = propertyFissionHeatGeneration.getDouble(); fission_heat_generation = propertyFissionHeatGeneration.getDouble();
@ -1589,8 +1579,6 @@ public class NCConfig {
propertyDecayLifetime.set(decay_lifetime); propertyDecayLifetime.set(decay_lifetime);
propertyDecayPower.set(decay_power); propertyDecayPower.set(decay_power);
propertyFissionBaseCapacity.set(fission_base_capacity);
propertyFissionBaseMaxHeat.set(fission_base_max_heat);
propertyFissionPower.set(fission_power); propertyFissionPower.set(fission_power);
propertyFissionFuelUse.set(fission_fuel_use); propertyFissionFuelUse.set(fission_fuel_use);
propertyFissionHeatGeneration.set(fission_heat_generation); propertyFissionHeatGeneration.set(fission_heat_generation);

View File

@ -60,6 +60,8 @@ public class TileFissionController extends TileItemGenerator implements IGui<Fis
public String problemPos = ""; public String problemPos = "";
public int problemPosX = 0, problemPosY = 0, problemPosZ = 0; public int problemPosX = 0, problemPosY = 0, problemPosZ = 0;
public static final int BASE_CAPACITY = 64000, BASE_MAX_HEAT = 25000;
private boolean isActivated = false; private boolean isActivated = false;
public boolean computerActivated = false; public boolean computerActivated = false;
@ -99,7 +101,7 @@ public class TileFissionController extends TileItemGenerator implements IGui<Fis
} }
private TileFissionController(boolean newRules) { private TileFissionController(boolean newRules) {
super("fission_controller", 1, 1, 0, defaultItemSorptions(1, 1), NCConfig.fission_base_capacity, NCRecipes.fission); super("fission_controller", 1, 1, 0, defaultItemSorptions(1, 1), BASE_CAPACITY, NCRecipes.fission);
this.newRules = newRules; this.newRules = newRules;
} }
@ -343,9 +345,9 @@ public class TileFissionController extends TileItemGenerator implements IGui<Fis
} }
public int getMaxHeat() { public int getMaxHeat() {
if (NCMath.atIntLimit(getLengthX()*getLengthY()*getLengthZ(), NCConfig.fission_base_max_heat)) return Integer.MAX_VALUE; if (NCMath.atIntLimit(getLengthX()*getLengthY()*getLengthZ(), BASE_MAX_HEAT)) return Integer.MAX_VALUE;
if (getLengthX() <= 0 || getLengthY() <= 0 || getLengthZ() <= 0) return NCConfig.fission_base_max_heat; if (getLengthX() <= 0 || getLengthY() <= 0 || getLengthZ() <= 0) return BASE_MAX_HEAT;
return NCConfig.fission_base_max_heat*getLengthX()*getLengthY()*getLengthZ(); return BASE_MAX_HEAT*getLengthX()*getLengthY()*getLengthZ();
} }
// Finding Blocks // Finding Blocks
@ -773,9 +775,9 @@ public class TileFissionController extends TileItemGenerator implements IGui<Fis
} }
private int getNewCapacity() { private int getNewCapacity() {
if (NCMath.atIntLimit(getLengthX()*getLengthY()*getLengthZ(), NCConfig.fission_base_capacity)) return Integer.MAX_VALUE; if (NCMath.atIntLimit(getLengthX()*getLengthY()*getLengthZ(), BASE_CAPACITY)) return Integer.MAX_VALUE;
if (getLengthX() <= 0 || getLengthY() <= 0 || getLengthZ() <= 0) return NCConfig.fission_base_capacity; if (getLengthX() <= 0 || getLengthY() <= 0 || getLengthZ() <= 0) return BASE_CAPACITY;
return NCConfig.fission_base_capacity*getLengthX()*getLengthY()*getLengthZ(); return BASE_CAPACITY*getLengthX()*getLengthY()*getLengthZ();
} }
// Set Fuel and Power and Modify Heat // Set Fuel and Power and Modify Heat

View File

@ -39,7 +39,6 @@ import nc.util.Lang;
import nc.util.MaterialHelper; import nc.util.MaterialHelper;
import nc.util.NCUtil; import nc.util.NCUtil;
import nc.util.SoundHelper; import nc.util.SoundHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -53,7 +52,6 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.Optional; import net.minecraftforge.fml.common.Optional;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
@ -67,7 +65,9 @@ public class TileFusionCore extends TileFluidGenerator implements IGui<FusionUpd
public double processHeatVariable = 0; public double processHeatVariable = 0;
public double heat = ROOM_TEMP, efficiency, cooling, heatChange; // cooling and heatChange are in K, not kK public double heat = ROOM_TEMP, efficiency, cooling, heatChange; // cooling and heatChange are in K, not kK
public int currentEnergyStored = 0, energyChange = 0; public int currentEnergyStored = 0, energyChange = 0;
public int size = 1, complete = 0;
public int size = 1;
public int complete;
public String problem = RING_INCOMPLETE; public String problem = RING_INCOMPLETE;
public static final String RING_INCOMPLETE = Lang.localise("gui.container.fusion_core.ring_incomplete"); public static final String RING_INCOMPLETE = Lang.localise("gui.container.fusion_core.ring_incomplete");
@ -118,7 +118,7 @@ public class TileFusionCore extends TileFluidGenerator implements IGui<FusionUpd
@Override @Override
public void updateGenerator() { public void updateGenerator() {
if (!world.isRemote) { if (!world.isRemote) {
boolean wasProcessing = isProcessing, wasHotEnough = isHotEnough(); boolean wasProcessing = isProcessing;
isProcessing = isProcessing(); isProcessing = isProcessing();
if (structureCount == 0) refreshMultiblock(); if (structureCount == 0) refreshMultiblock();
tickStructureCheck(); tickStructureCheck();
@ -126,15 +126,15 @@ public class TileFusionCore extends TileFluidGenerator implements IGui<FusionUpd
double previousHeat = heat; double previousHeat = heat;
run(); run();
if (isHotEnough()) doCooling(); if (isHotEnough()) doCooling();
else plasma(false);
doHeating(); doHeating();
if (wasHotEnough && !isHotEnough()) plasma(false);
heatChange = 1000*(heat - previousHeat); heatChange = 1000*(heat - previousHeat);
if (overheat()) return; if (overheat()) return;
if (isProcessing) process(); if (isProcessing) process();
else getRadiationSource().setRadiationLevel(0D); else getRadiationSource().setRadiationLevel(0D);
if (wasProcessing != isProcessing) { if (wasProcessing != isProcessing) {
if (isProcessing) { if (isProcessing || recipeInfo == null) {
plasma(true); plasma(isProcessing);
} }
updateBlockType(); updateBlockType();
sendUpdateToAllPlayers(); sendUpdateToAllPlayers();
@ -362,9 +362,7 @@ public class TileFusionCore extends TileFluidGenerator implements IGui<FusionUpd
// Setting Blocks // Setting Blocks
private static IBlockState plasmaState() { private static IBlockState plasmaState() {
Fluid plasma = FluidRegistry.getFluid("plasma"); return FluidRegistry.getFluid("plasma").getBlock().getDefaultState();
Block block = plasma == null ? null : plasma.getBlock();
return block == null ? Blocks.AIR.getDefaultState() : block.getDefaultState();
} }
public void plasma(boolean createPlasma) { public void plasma(boolean createPlasma) {

View File

@ -1667,10 +1667,6 @@ gui.config.generators.generator_rf_per_eu.comment=Wie viel RF pro erzeugtem EU v
gui.config.category.fission=Spaltungskonfigurationen gui.config.category.fission=Spaltungskonfigurationen
gui.config.category.fission.tooltip=Konfiguriere Aspekte der Kernspaltung. gui.config.category.fission.tooltip=Konfiguriere Aspekte der Kernspaltung.
gui.config.fission.fission_base_capacity=Base Capacity
gui.config.fission.fission_base_capacity.comment=The base energy capacity of the Fission Reactor. This is multiplied by the dimensions of the reactor to determine the maximum energy capacity. Note that the "RF per IC2 EU" property will override this one if it is larger.
gui.config.fission.fission_base_max_heat=Base Max Heat
gui.config.fission.fission_base_max_heat.comment=The base maximum heat of the Fission Reactor. This is multiplied by the dimensions of the reactor to determine the maximum heat capacity.
gui.config.fission.fission_power=Energieerzeugungsmultiplikator gui.config.fission.fission_power=Energieerzeugungsmultiplikator
gui.config.fission.fission_power.comment=Verändert die erzeugte Energie von Spaltungsreaktoren. gui.config.fission.fission_power.comment=Verändert die erzeugte Energie von Spaltungsreaktoren.
gui.config.fission.fission_fuel_use=Brennstoffverbrauchsmultiplikator gui.config.fission.fission_fuel_use=Brennstoffverbrauchsmultiplikator

View File

@ -1890,10 +1890,6 @@ gui.config.generators.generator_rf_per_eu.comment=The RF used per EU emitted for
gui.config.category.fission=Fission Configs gui.config.category.fission=Fission Configs
gui.config.category.fission.tooltip=Configure aspects of nuclear fission. gui.config.category.fission.tooltip=Configure aspects of nuclear fission.
gui.config.fission.fission_base_capacity=Base Capacity
gui.config.fission.fission_base_capacity.comment=The base energy capacity of fission reactors. This is multiplied by the volume of the reactor to determine the energy capacity.
gui.config.fission.fission_base_max_heat=Base Max Heat
gui.config.fission.fission_base_max_heat.comment=The base maximum heat of fission reactors. This is multiplied by the volume of the reactor to determine the maximum heat.
gui.config.fission.fission_power=Power Gen Multiplier gui.config.fission.fission_power=Power Gen Multiplier
gui.config.fission.fission_power.comment=Modifies the power generated by fission reactors. gui.config.fission.fission_power.comment=Modifies the power generated by fission reactors.
gui.config.fission.fission_fuel_use=Fuel Use Multiplier gui.config.fission.fission_fuel_use=Fuel Use Multiplier

View File

@ -1446,10 +1446,6 @@ gui.config.generators.generator_update_rate.comment=Ticks para cada checagem de
gui.config.category.fission=Configuração de Fissão gui.config.category.fission=Configuração de Fissão
gui.config.category.fission.tooltip=Configura aspectos da fissão nuclear gui.config.category.fission.tooltip=Configura aspectos da fissão nuclear
gui.config.fission.fission_base_capacity=Base Capacity
gui.config.fission.fission_base_capacity.comment=The base energy capacity of the Fission Reactor. This is multiplied by the dimensions of the reactor to determine the maximum energy capacity. Note that the "RF per IC2 EU" property will override this one if it is larger.
gui.config.fission.fission_base_max_heat=Base Max Heat
gui.config.fission.fission_base_max_heat.comment=The base maximum heat of the Fission Reactor. This is multiplied by the dimensions of the reactor to determine the maximum heat capacity.
gui.config.fission.fission_power=Geração de Energia gui.config.fission.fission_power=Geração de Energia
gui.config.fission.fission_power.comment=Modifica a energia gerada por reatores de fissão gui.config.fission.fission_power.comment=Modifica a energia gerada por reatores de fissão
gui.config.fission.fission_fuel_use=Uso de Combustível gui.config.fission.fission_fuel_use=Uso de Combustível

View File

@ -1848,10 +1848,6 @@ gui.config.generators.generator_rf_per_eu.comment=The RF used per EU emitted for
gui.config.category.fission=Fission Configs gui.config.category.fission=Fission Configs
gui.config.category.fission.tooltip=Configure aspects of nuclear fission. gui.config.category.fission.tooltip=Configure aspects of nuclear fission.
gui.config.fission.fission_base_capacity=Base Capacity
gui.config.fission.fission_base_capacity.comment=The base energy capacity of the Fission Reactor. This is multiplied by the dimensions of the reactor to determine the maximum energy capacity. Note that the "RF per IC2 EU" property will override this one if it is larger.
gui.config.fission.fission_base_max_heat=Base Max Heat
gui.config.fission.fission_base_max_heat.comment=The base maximum heat of the Fission Reactor. This is multiplied by the dimensions of the reactor to determine the maximum heat capacity.
gui.config.fission.fission_power=Power Gen Multiplier gui.config.fission.fission_power=Power Gen Multiplier
gui.config.fission.fission_power.comment=Modifies the power generated by fission reactors. gui.config.fission.fission_power.comment=Modifies the power generated by fission reactors.
gui.config.fission.fission_fuel_use=Fuel Use Multiplier gui.config.fission.fission_fuel_use=Fuel Use Multiplier

View File

@ -1447,10 +1447,6 @@ gui.config.generators.generator_update_rate.comment=Ticks per fluid content chec
gui.config.category.fission=裂变 gui.config.category.fission=裂变
gui.config.category.fission.tooltip=裂变方面的配置. gui.config.category.fission.tooltip=裂变方面的配置.
gui.config.fission.fission_base_capacity=Base Capacity
gui.config.fission.fission_power.comment=Modifies the power generated by fission reactors. gui.config.fission.fission_base_capacity.comment=The base energy capacity of the Fission Reactor. This is multiplied by the dimensions of the reactor to determine the maximum energy capacity. Note that the "RF per IC2 EU" property will override this one if it is larger.
gui.config.fission.fission_base_max_heat=Base Max Heat
gui.config.fission.fission_base_max_heat.comment=The base maximum heat of the Fission Reactor. This is multiplied by the dimensions of the reactor to determine the maximum heat capacity.
gui.config.fission.fission_power=Power Gen Multiplier gui.config.fission.fission_power=Power Gen Multiplier
gui.config.fission.fission_power.comment=Modifies the power generated by fission reactors. gui.config.fission.fission_power.comment=Modifies the power generated by fission reactors.
gui.config.fission.fission_fuel_use=Fuel Use Multiplier gui.config.fission.fission_fuel_use=Fuel Use Multiplier