1
0
mirror of https://github.com/turbodiesel4598/NuclearCraft synced 2026-03-13 16:14:54 +01:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Tom Dodd
66b0fa9a2c 2o.5.3 2021-04-30 03:56:00 +01:00
Tom Dodd
37b68cde58 Fixed script addon unzip bug and added more global fission multipliers 2021-04-30 03:26:47 +01:00
12 changed files with 48 additions and 15 deletions

View File

@ -1,3 +1,9 @@
v2o.5.3
+ Added global multiplier configs for fission fuel heat gen, base efficiency and radiation stats
* Script addon zip files with the "[name]-[version].zip" file name format will now have their scripts extracted to the "scripts/nc_script_addons/[name]" directory
v2o.5.2
* Moved to an unofficial fork of ForgeGradle 2.3 [thanks to DStrand1!]

View File

@ -1,7 +1,7 @@
mc_version=1.12.2
forge_version=14.23.5.2847
mapping_version=stable_39
mod_version=2o.5.2
mod_version=2o.5.3
ic2_version=2.8.197-ex112
jei_version=4.15.0.293

View File

@ -20,7 +20,7 @@ public class NCInfo {
public static String[] fissionFuelInfo(BasicRecipe fuelInfo) {
List<String> list = Lists.newArrayList(
Lang.localise("info." + Global.MOD_ID + ".fission_fuel.desc"),
Lang.localise("info." + Global.MOD_ID + ".fission_fuel.base_time.desc", UnitHelper.applyTimeUnit(fuelInfo.getFissionFuelTime() * fission_fuel_time_multiplier, 3)),
Lang.localise("info." + Global.MOD_ID + ".fission_fuel.base_time.desc", UnitHelper.applyTimeUnit(fuelInfo.getFissionFuelTime(), 3)),
Lang.localise("info." + Global.MOD_ID + ".fission_fuel.base_heat.desc", UnitHelper.prefix(fuelInfo.getFissionFuelHeat(), 5, "H/t")),
Lang.localise("info." + Global.MOD_ID + ".fission_fuel.base_efficiency.desc", NCMath.pcDecimalPlaces(fuelInfo.getFissionFuelEfficiency(), 1)),
Lang.localise("info." + Global.MOD_ID + ".fission_fuel.criticality.desc", fuelInfo.getFissionFuelCriticality() + " N/t"),

View File

@ -89,6 +89,9 @@ public class NCConfig {
public static int[] battery_capacity;
public static double fission_fuel_time_multiplier; // Default: 1
public static double fission_fuel_heat_multiplier; // Default: 1
public static double fission_fuel_efficiency_multiplier; // Default: 1
public static double fission_fuel_radiation_multiplier; // Default: 1
public static double[] fission_source_efficiency;
public static int[] fission_sink_cooling_rate;
public static String[] fission_sink_rule;
@ -520,6 +523,12 @@ public class NCConfig {
Property propertyFissionFuelTimeMultiplier = config.get(CATEGORY_FISSION, "fission_fuel_time_multiplier", 1D, Lang.localise("gui.nc.config.fission_fuel_time_multiplier.comment"), 0.001D, 255D);
propertyFissionFuelTimeMultiplier.setLanguageKey("gui.nc.config.fission_fuel_time_multiplier");
Property propertyFissionFuelHeatMultiplier = config.get(CATEGORY_FISSION, "fission_fuel_heat_multiplier", 1D, Lang.localise("gui.nc.config.fission_fuel_heat_multiplier.comment"), 0.001D, 255D);
propertyFissionFuelHeatMultiplier.setLanguageKey("gui.nc.config.fission_fuel_heat_multiplier");
Property propertyFissionFuelEfficiencyMultiplier = config.get(CATEGORY_FISSION, "fission_fuel_efficiency_multiplier", 1D, Lang.localise("gui.nc.config.fission_fuel_efficiency_multiplier.comment"), 0.001D, 255D);
propertyFissionFuelEfficiencyMultiplier.setLanguageKey("gui.nc.config.fission_fuel_efficiency_multiplier");
Property propertyFissionFuelRadiationMultiplier = config.get(CATEGORY_FISSION, "fission_fuel_radiation_multiplier", 1D, Lang.localise("gui.nc.config.fission_fuel_radiation_multiplier.comment"), 0.001D, 255D);
propertyFissionFuelRadiationMultiplier.setLanguageKey("gui.nc.config.fission_fuel_radiation_multiplier");
Property propertyFissionSourceEfficiency = config.get(CATEGORY_FISSION, "fission_source_efficiency", new double[] {0.9D, 0.95D, 1D}, Lang.localise("gui.nc.config.fission_source_efficiency.comment"), 0D, 255D);
propertyFissionSourceEfficiency.setLanguageKey("gui.nc.config.fission_source_efficiency");
Property propertyFissionSinkCoolingRate = config.get(CATEGORY_FISSION, "fission_sink_cooling_rate", new int[] {55, 50, 85, 80, 70, 105, 90, 100, 110, 115, 145, 65, 95, 200, 195, 75, 120, 60, 160, 130, 125, 150, 175, 170, 165, 180, 140, 135, 185, 190, 155, 205}, Lang.localise("gui.nc.config.fission_sink_cooling_rate.comment"), 0, 32767);
@ -1127,6 +1136,9 @@ public class NCConfig {
List<String> propertyOrderFission = new ArrayList<>();
propertyOrderFission.add(propertyFissionFuelTimeMultiplier.getName());
propertyOrderFission.add(propertyFissionFuelHeatMultiplier.getName());
propertyOrderFission.add(propertyFissionFuelEfficiencyMultiplier.getName());
propertyOrderFission.add(propertyFissionFuelRadiationMultiplier.getName());
propertyOrderFission.add(propertyFissionSourceEfficiency.getName());
propertyOrderFission.add(propertyFissionSinkCoolingRate.getName());
propertyOrderFission.add(propertyFissionSinkRule.getName());
@ -1477,6 +1489,9 @@ public class NCConfig {
battery_capacity = readIntegerArrayFromConfig(propertyBatteryCapacity);
fission_fuel_time_multiplier = propertyFissionFuelTimeMultiplier.getDouble();
fission_fuel_heat_multiplier = propertyFissionFuelHeatMultiplier.getDouble();
fission_fuel_efficiency_multiplier = propertyFissionFuelEfficiencyMultiplier.getDouble();
fission_fuel_radiation_multiplier = propertyFissionFuelRadiationMultiplier.getDouble();
fission_source_efficiency = readDoubleArrayFromConfig(propertyFissionSourceEfficiency);
fission_sink_cooling_rate = readIntegerArrayFromConfig(propertyFissionSinkCoolingRate);
fission_sink_rule = propertyFissionSinkRule.getStringList();
@ -1819,6 +1834,9 @@ public class NCConfig {
propertyBatteryCapacity.set(battery_capacity);
propertyFissionFuelTimeMultiplier.set(fission_fuel_time_multiplier);
propertyFissionFuelHeatMultiplier.set(fission_fuel_heat_multiplier);
propertyFissionFuelEfficiencyMultiplier.set(fission_fuel_efficiency_multiplier);
propertyFissionFuelRadiationMultiplier.set(fission_fuel_radiation_multiplier);
propertyFissionSourceEfficiency.set(fission_source_efficiency);
propertyFissionSinkCoolingRate.set(fission_sink_cooling_rate);
propertyFissionSinkRule.set(fission_sink_rule);

View File

@ -58,6 +58,10 @@ public class ScriptAddonHandler {
}
if (fileName.endsWith(".zip") || fileName.endsWith(".jar")) {
fileName = StringHelper.removeSuffix(fileName, 4);
int hyphen = fileName.lastIndexOf('-');
if (hyphen > 0) {
fileName = fileName.substring(0, hyphen);
}
}
IOHelper.unzip(f, "resources/nuclearcraft/addons/.temp/" + fileName);
}
@ -65,6 +69,10 @@ public class ScriptAddonHandler {
}
public static void copyAddons(File dir) throws IOException {
if (!dir.isDirectory()) {
return;
}
String dirName = dir.getName();
if (dirName.equals("__MACOSX")) {
return;

View File

@ -693,7 +693,7 @@ public class JEIRecipeWrapper {
List<String> tooltip = new ArrayList<>();
if (mouseX >= 73 - 47 && mouseY >= 34 - 30 && mouseX < 73 - 47 + 37 + 1 && mouseY < 34 - 30 + 18 + 1) {
tooltip.add(TextFormatting.GREEN + FUEL_TIME + " " + TextFormatting.WHITE + UnitHelper.applyTimeUnitShort(getFissionFuelTime() * fission_fuel_time_multiplier, 3));
tooltip.add(TextFormatting.GREEN + FUEL_TIME + " " + TextFormatting.WHITE + UnitHelper.applyTimeUnitShort(getFissionFuelTime(), 3));
tooltip.add(TextFormatting.YELLOW + FUEL_HEAT + " " + TextFormatting.WHITE + UnitHelper.prefix(getFissionFuelHeat(), 5, "H/t"));
tooltip.add(TextFormatting.LIGHT_PURPLE + FUEL_EFFICIENCY + " " + TextFormatting.WHITE + NCMath.pcDecimalPlaces(getFissionFuelEfficiency(), 1));
tooltip.add(TextFormatting.RED + FUEL_CRITICALITY + " " + TextFormatting.WHITE + getFissionFuelCriticality() + " N/t");
@ -784,7 +784,7 @@ public class JEIRecipeWrapper {
List<String> tooltip = new ArrayList<>();
if (mouseX >= 73 - 47 && mouseY >= 34 - 30 && mouseX < 73 - 47 + 37 + 1 && mouseY < 34 - 30 + 18 + 1) {
tooltip.add(TextFormatting.GREEN + FUEL_TIME + " " + TextFormatting.WHITE + UnitHelper.applyTimeUnitShort(getFissionFuelTime() * fission_fuel_time_multiplier, 3));
tooltip.add(TextFormatting.GREEN + FUEL_TIME + " " + TextFormatting.WHITE + UnitHelper.applyTimeUnitShort(getFissionFuelTime(), 3));
tooltip.add(TextFormatting.YELLOW + FUEL_HEAT + " " + TextFormatting.WHITE + UnitHelper.prefix(getFissionFuelHeat(), 5, "H/t"));
tooltip.add(TextFormatting.LIGHT_PURPLE + FUEL_EFFICIENCY + " " + TextFormatting.WHITE + NCMath.pcDecimalPlaces(getFissionFuelEfficiency(), 1));
tooltip.add(TextFormatting.RED + FUEL_CRITICALITY + " " + TextFormatting.WHITE + getFissionFuelCriticality() + " N/t");
@ -907,7 +907,7 @@ public class JEIRecipeWrapper {
List<String> tooltip = new ArrayList<>();
if (mouseX >= 73 - 47 && mouseY >= 34 - 30 && mouseX < 73 - 47 + 37 + 1 && mouseY < 34 - 30 + 18 + 1) {
tooltip.add(TextFormatting.GREEN + FUEL_TIME + " " + TextFormatting.WHITE + UnitHelper.applyTimeUnitShort(getSaltFissionFuelTime() * fission_fuel_time_multiplier, 3));
tooltip.add(TextFormatting.GREEN + FUEL_TIME + " " + TextFormatting.WHITE + UnitHelper.applyTimeUnitShort(getSaltFissionFuelTime(), 3));
tooltip.add(TextFormatting.YELLOW + FUEL_HEAT + " " + TextFormatting.WHITE + UnitHelper.prefix(getFissionFuelHeat(), 5, "H/t"));
tooltip.add(TextFormatting.LIGHT_PURPLE + FUEL_EFFICIENCY + " " + TextFormatting.WHITE + NCMath.pcDecimalPlaces(getFissionFuelEfficiency(), 1));
tooltip.add(TextFormatting.RED + FUEL_CRITICALITY + " " + TextFormatting.WHITE + getFissionFuelCriticality() + " N/t");

View File

@ -605,7 +605,7 @@ public class TileSaltFissionVessel extends TileFissionPart implements ITileFilte
// Processor Stats
public double getSpeedMultiplier() {
return 1D / (fission_fuel_time_multiplier * undercoolingLifetimeFactor);
return 1D / undercoolingLifetimeFactor;
}
public boolean setRecipeStats() {

View File

@ -571,7 +571,7 @@ public class TileSolidFissionCell extends TileFissionPart implements ITileFilter
// Processor Stats
public double getSpeedMultiplier() {
return 1D / (fission_fuel_time_multiplier * undercoolingLifetimeFactor);
return 1D / undercoolingLifetimeFactor;
}
public boolean setRecipeStats() {

View File

@ -28,7 +28,7 @@ public class PebbleFissionRecipes extends BasicRecipeHandler {
public void addFuelDepleteRecipes(int[] time, int[] heat, double[] efficiency, int[] criticality, double[] decayFactor, boolean[] selfPriming, double[] radiation, String... fuelTypes) {
int id = 0;
for (String fuelType : fuelTypes) {
addRecipe("ingot" + fuelType + "TRISO", "ingotDepleted" + fuelType + "TRISO", time[id], heat[id], efficiency[id], criticality[id], decayFactor[id], selfPriming[id], radiation[id]);
addRecipe("ingot" + fuelType + "TRISO", "ingotDepleted" + fuelType + "TRISO", (int) (fission_fuel_time_multiplier * time[id]), (int) (fission_fuel_heat_multiplier * heat[id]), fission_fuel_efficiency_multiplier * efficiency[id], criticality[id], decayFactor[id], selfPriming[id], fission_fuel_radiation_multiplier * radiation[id]);
id += 5;
}
}

View File

@ -29,7 +29,7 @@ public class SaltFissionRecipes extends BasicRecipeHandler {
public void addFuelDepleteRecipes(int[] time, int[] heat, double[] efficiency, int[] criticality, double[] decayFactor, boolean[] selfPriming, double[] radiation, String... fuelTypes) {
int id = 0;
for (String fuelType : fuelTypes) {
addRecipe(fluidStack(fuelType + "_fluoride_flibe", 1), fluidStack("depleted_" + fuelType + "_fluoride_flibe", 1), (double) time[id + 4] / (double) INGOT_VOLUME, heat[id + 4], efficiency[id + 4], criticality[id + 4], decayFactor[id + 4], selfPriming[id + 4], radiation[id + 4]);
addRecipe(fluidStack(fuelType + "_fluoride_flibe", 1), fluidStack("depleted_" + fuelType + "_fluoride_flibe", 1), (int) (fission_fuel_time_multiplier * time[id + 4] / INGOT_VOLUME), (int) (fission_fuel_heat_multiplier * heat[id + 4]), fission_fuel_efficiency_multiplier * efficiency[id + 4], criticality[id + 4], decayFactor[id + 4], selfPriming[id + 4], fission_fuel_radiation_multiplier * radiation[id + 4]);
id += 5;
}
}

View File

@ -38,9 +38,9 @@ public class SolidFissionRecipes extends BasicRecipeHandler {
public void addFuelDepleteRecipes(int[] time, int[] heat, double[] efficiency, int[] criticality, double[] decayFactor, boolean[] selfPriming, double[] radiation, String... fuelTypes) {
int id = 0;
for (String fuelType : fuelTypes) {
addRecipe("ingot" + fuelType + "Oxide", "ingotDepleted" + fuelType + "Oxide", time[id + 1], heat[id + 1], efficiency[id + 1], criticality[id + 1], decayFactor[id + 1], selfPriming[id + 1], radiation[id + 1]);
addRecipe("ingot" + fuelType + "Nitride", "ingotDepleted" + fuelType + "Nitride", time[id + 2], heat[id + 2], efficiency[id + 2], criticality[id + 2], decayFactor[id + 2], selfPriming[id + 2], radiation[id + 2]);
addRecipe("ingot" + fuelType + "ZA", "ingotDepleted" + fuelType + "ZA", time[id + 3], heat[id + 3], efficiency[id + 3], criticality[id + 3], decayFactor[id + 3], selfPriming[id + 3], radiation[id + 3]);
addRecipe("ingot" + fuelType + "Oxide", "ingotDepleted" + fuelType + "Oxide", (int) (fission_fuel_time_multiplier * time[id + 1]), (int) (fission_fuel_heat_multiplier * heat[id + 1]), fission_fuel_efficiency_multiplier * efficiency[id + 1], criticality[id + 1], decayFactor[id + 1], selfPriming[id + 1], fission_fuel_radiation_multiplier * radiation[id + 1]);
addRecipe("ingot" + fuelType + "Nitride", "ingotDepleted" + fuelType + "Nitride", (int) (fission_fuel_time_multiplier * time[id + 2]), (int) (fission_fuel_heat_multiplier * heat[id + 2]), fission_fuel_efficiency_multiplier * efficiency[id + 2], criticality[id + 2], decayFactor[id + 2], selfPriming[id + 2], fission_fuel_radiation_multiplier * radiation[id + 2]);
addRecipe("ingot" + fuelType + "ZA", "ingotDepleted" + fuelType + "ZA", (int) (fission_fuel_time_multiplier * time[id + 3]), (int) (fission_fuel_heat_multiplier * heat[id + 3]), fission_fuel_efficiency_multiplier * efficiency[id + 3], criticality[id + 3], decayFactor[id + 3], selfPriming[id + 3], fission_fuel_radiation_multiplier * radiation[id + 3]);
id += 5;
}
}

View File

@ -1,5 +1,3 @@
NC & NCO: "base the condition for the advancement on if the processor in the parent advancement is registered and if the processor for the advancement is registered..."
v2o.6: QMD feature merge: nitrogen collector -> air collector
v2o.6: Refactor multiblock NBT
@ -76,12 +74,15 @@ deuterium-enriched H2S + water -> H2S + deuterium-enriched water
Fractional distillation: deuterium-enriched water -> heavy water + water
1.17: Uranium/Thorium ore processing - ore -> 2x crushed ore -> hexa/tetrafluoride -> 4x dust
1.17: Uranium/Thorium ore processing - ore -> 2x crushed ore -> hexa/tetrafluoride -> 4x dust?
1.17: Tiered machines: basic -> advanced -> DU -> elite? https://discordapp.com/channels/425461908712325130/425471153067524098/651401188054401025
___________________________________________________________________________________________________________________________
1.17: Specialised fuel-making machine
1.17: Make clusters share heat with casing (if connected)
1.17: Make active reflectors conduct heat
Gas-cooled Pebble-Bed Reactor that produces energy directly
Option to use superheated gases in turbine loop?
QT gas coolants: https://docs.google.com/spreadsheets/d/1gtXbk_S9ginkjgDo8BNXQr54kaQcToaqUa2E9LA0CMQ/edit#gid=1165328757