aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/AutomationSimulator.java250
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/Bundle.properties411
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/BundleHelper.java43
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/Bundle_zh_CN.properties373
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/MaterialsList.java302
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/Reactor.java43
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/ReactorPlannerFrame.form2260
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/SimulationData.java2
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java4
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/components/Reflector.java3
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java117
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/common/CI.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java17
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java207
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java49
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java10
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/GT_TileEntity_ComputerCube.java354
-rw-r--r--src/main/resources/assets/miscutils/textures/gui/computer/0.pngbin3702 -> 2335 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/gui/computer/2.pngbin3481 -> 2147 bytes
19 files changed, 676 insertions, 3771 deletions
diff --git a/src/main/java/Ic2ExpReactorPlanner/AutomationSimulator.java b/src/main/java/Ic2ExpReactorPlanner/AutomationSimulator.java
index 488de59a8d..729642e837 100644
--- a/src/main/java/Ic2ExpReactorPlanner/AutomationSimulator.java
+++ b/src/main/java/Ic2ExpReactorPlanner/AutomationSimulator.java
@@ -1,8 +1,5 @@
package Ic2ExpReactorPlanner;
-import static Ic2ExpReactorPlanner.BundleHelper.formatI18n;
-import static Ic2ExpReactorPlanner.BundleHelper.getI18n;
-
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
@@ -24,8 +21,6 @@ public class AutomationSimulator {
private final GT_TileEntity_ComputerCube mReactor;
- private final boolean[][] alreadyBroken = new boolean[6][9];
-
private final boolean[][] needsCooldown = new boolean[6][9];
private final int initialHeat;
@@ -77,13 +72,11 @@ public class AutomationSimulator {
private int lapisUsed = 0;
- private final MaterialsList replacedItems = new MaterialsList();
-
- private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat(getI18n("Simulation.DecimalFormat"));
private boolean completed = false;
private boolean mRunning = false;
+ private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("#,##0.##");
private final SimulationData data = new SimulationData();
public SimulationData getData() {
@@ -116,7 +109,7 @@ public class AutomationSimulator {
int totalRodCount = 0;
publish(""); // NOI18N
- publish(getI18n("Simulation.Started"));
+ publish("Simulation.Started");
reactor.setCurrentHeat(initialHeat);
reactor.clearVentedHeat();
double minReactorHeat = initialHeat;
@@ -241,40 +234,34 @@ public class AutomationSimulator {
calculateHeatingCooling(reactorTicks);
handleAutomation(reactorTicks);
- handleBrokenComponents(reactorTicks, totalHeatOutput, totalRodCount, totalEUoutput, minReactorHeat, maxReactorHeat);
}
if (hasStopped()) {
- publish(formatI18n("Simulation.CancelledAtTick", reactorTicks));
+ publish("Simulation.CancelledAtTick", reactorTicks);
}
data.minTemp = (int) minReactorHeat;
data.maxTemp = (int) maxReactorHeat;
- publish(formatI18n("Simulation.ReactorMinTemp", minReactorHeat));
- publish(formatI18n("Simulation.ReactorMaxTemp", maxReactorHeat));
+ publish("Simulation.ReactorMinTemp", minReactorHeat);
+ publish("Simulation.ReactorMaxTemp", maxReactorHeat);
if (reactor.getCurrentHeat() < reactor.getMaxHeat()) {
- publish(formatI18n("Simulation.TimeWithoutExploding", reactorTicks));
+ publish("Simulation.TimeWithoutExploding", reactorTicks);
if (reactor.isPulsed()) {
String rangeString = "";
if (maxActiveTime > minActiveTime) {
- rangeString = formatI18n("Simulation.ActiveTimeRange", minActiveTime, maxActiveTime);
+ rangeString = rangeString("Simulation.ActiveTimeRange", minActiveTime, maxActiveTime);
}
else if (minActiveTime < activeTime) {
- rangeString = formatI18n("Simulation.ActiveTimeSingle", minActiveTime);
+ rangeString = "Simulation.ActiveTimeSingle "+minActiveTime;
}
- publish(formatI18n("Simulation.ActiveTime", activeTime, rangeString));
+ publish("Simulation.ActiveTime", activeTime, rangeString);
rangeString = "";
if (maxInactiveTime > minInactiveTime) {
- rangeString = formatI18n("Simulation.InactiveTimeRange", minInactiveTime, maxInactiveTime);
+ rangeString = rangeString("Simulation.InactiveTimeRange", minInactiveTime, maxInactiveTime);
}
else if (minInactiveTime < inactiveTime) {
- rangeString = formatI18n("Simulation.InactiveTimeSingle", minInactiveTime);
+ rangeString = "Simulation.InactiveTimeSingle " + minInactiveTime;
}
- publish(formatI18n("Simulation.InactiveTime", inactiveTime, rangeString));
- }
- final String replacedItemsString = replacedItems.toString();
- if (!replacedItemsString.isEmpty()) {
- data.replacedItems = new MaterialsList(replacedItems);
- publish(formatI18n("Simulation.ComponentsReplaced", replacedItemsString));
+ publish("Simulation.InactiveTime", inactiveTime, rangeString);
}
if (reactorTicks > 0) {
@@ -285,10 +272,10 @@ public class AutomationSimulator {
data.minHUoutput = 2 * minHeatOutput;
data.maxHUoutput = (int) (2 * maxHeatOutput);
if (totalHeatOutput > 0) {
- publish(formatI18n("Simulation.HeatOutputs", DECIMAL_FORMAT.format(40 * totalHeatOutput), DECIMAL_FORMAT.format(2 * totalHeatOutput / reactorTicks), DECIMAL_FORMAT.format(2
- * minHeatOutput), DECIMAL_FORMAT.format(2 * maxHeatOutput)));
+ publish("Simulation.HeatOutputs", DECIMAL_FORMAT.format(40 * totalHeatOutput), DECIMAL_FORMAT.format(2 * totalHeatOutput / reactorTicks), DECIMAL_FORMAT.format(2
+ * minHeatOutput), DECIMAL_FORMAT.format(2 * maxHeatOutput));
if (totalRodCount > 0) {
- publish(formatI18n("Simulation.Efficiency", totalHeatOutput / reactorTicks / 4 / totalRodCount, minHeatOutput / 4 / totalRodCount, maxHeatOutput / 4 / totalRodCount));
+ publish("Simulation.Efficiency", totalHeatOutput / reactorTicks / 4 / totalRodCount, minHeatOutput / 4 / totalRodCount, maxHeatOutput / 4 / totalRodCount);
}
}
}
@@ -298,17 +285,17 @@ public class AutomationSimulator {
data.minEUoutput = minEUoutput / 20.0;
data.maxEUoutput = (int) (maxEUoutput / 20.0);
if (totalEUoutput > 0) {
- publish(formatI18n("Simulation.EUOutputs", DECIMAL_FORMAT.format(totalEUoutput), DECIMAL_FORMAT.format(totalEUoutput / (reactorTicks * 20)), DECIMAL_FORMAT.format(minEUoutput
- / 20.0), DECIMAL_FORMAT.format(maxEUoutput / 20.0)));
+ publish("Simulation.EUOutputs", DECIMAL_FORMAT.format(totalEUoutput), DECIMAL_FORMAT.format(totalEUoutput / (reactorTicks * 20)), DECIMAL_FORMAT.format(minEUoutput
+ / 20.0), DECIMAL_FORMAT.format(maxEUoutput / 20.0));
if (totalRodCount > 0) {
- publish(formatI18n("Simulation.Efficiency", totalEUoutput / reactorTicks / 100 / totalRodCount, minEUoutput / 100 / totalRodCount, maxEUoutput / 100 / totalRodCount));
+ publish("Simulation.Efficiency", totalEUoutput / reactorTicks / 100 / totalRodCount, minEUoutput / 100 / totalRodCount, maxEUoutput / 100 / totalRodCount);
}
}
}
}
if (reactor.getCurrentHeat() > 0.0) {
- publish(formatI18n("Simulation.ReactorRemainingHeat", reactor.getCurrentHeat()));
+ publish("Simulation.ReactorRemainingHeat", reactor.getCurrentHeat());
}
double prevReactorHeat = reactor.getCurrentHeat();
double prevTotalComponentHeat = 0.0;
@@ -319,13 +306,13 @@ public class AutomationSimulator {
if (component.getCurrentHeat() > 0.0) {
prevTotalComponentHeat += component.getCurrentHeat();
publish(String.format("R%dC%d:0xFFA500", row, col)); // NOI18N
- component.info.append(formatI18n("ComponentInfo.RemainingHeat", component.getCurrentHeat()));
+ component.info.append("ComponentInfo.RemainingHeat " + component.getCurrentHeat());
}
}
}
}
if (prevReactorHeat == 0.0 && prevTotalComponentHeat == 0.0) {
- publish(getI18n("Simulation.NoCooldown"));
+ publish("Simulation.NoCooldown");
}
else if (reactor.getCurrentHeat() < reactor.getMaxHeat()) {
double currentTotalComponentHeat = prevTotalComponentHeat;
@@ -360,7 +347,7 @@ public class AutomationSimulator {
if (component != null && !component.isBroken()) {
currentTotalComponentHeat += component.getCurrentHeat();
if (component.getCurrentHeat() == 0.0 && needsCooldown[row][col]) {
- component.info.append(formatI18n("ComponentInfo.CooldownTime", cooldownTicks));
+ component.info.append("ComponentInfo.CooldownTime " + cooldownTicks);
needsCooldown[row][col] = false;
}
}
@@ -370,17 +357,17 @@ public class AutomationSimulator {
while (lastHeatOutput > 0 && cooldownTicks < 50000);
if (reactor.getCurrentHeat() < reactor.getMaxHeat()) {
if (reactor.getCurrentHeat() == 0.0) {
- publish(formatI18n("Simulation.ReactorCooldownTime", reactorCooldownTime));
+ publish("Simulation.ReactorCooldownTime", reactorCooldownTime);
}
else if (reactorCooldownTime > 0) {
- publish(formatI18n("Simulation.ReactorResidualHeat", reactor.getCurrentHeat(), reactorCooldownTime));
+ publish("Simulation.ReactorResidualHeat", reactor.getCurrentHeat(), reactorCooldownTime);
}
- publish(formatI18n("Simulation.TotalCooldownTime", cooldownTicks));
+ publish("Simulation.TotalCooldownTime", cooldownTicks);
}
}
}
else {
- publish(formatI18n("Simulation.ReactorOverheatedTime", reactorTicks));
+ publish("Simulation.ReactorOverheatedTime", reactorTicks);
explosionPower = 10.0;
double explosionPowerMult = 1.0;
for (int row = 0; row < 6; row++) {
@@ -393,7 +380,7 @@ public class AutomationSimulator {
}
}
explosionPower *= explosionPowerMult;
- publish(formatI18n("Simulation.ExplosionPower", explosionPower));
+ publish("Simulation.ExplosionPower", explosionPower);
}
double totalEffectiveVentCooling = 0.0;
double totalVentCoolingCapacity = 0.0;
@@ -405,81 +392,82 @@ public class AutomationSimulator {
ReactorItem component = reactor.getComponentAt(row, col);
if (component != null) {
if (component.getVentCoolingCapacity() > 0) {
- component.info.append(formatI18n("ComponentInfo.UsedCooling", component.getBestVentCooling(), component.getVentCoolingCapacity()));
+ component.info.append("ComponentInfo.UsedCooling " + component.getBestVentCooling() + " | " + component.getVentCoolingCapacity());
totalEffectiveVentCooling += component.getBestVentCooling();
totalVentCoolingCapacity += component.getVentCoolingCapacity();
}
else if (component.getBestCellCooling() > 0) {
- component.info.append(formatI18n("ComponentInfo.ReceivedHeat", component.getBestCellCooling()));
+ component.info.append("ComponentInfo.ReceivedHeat " + component.getBestCellCooling());
totalCellCooling += component.getBestCellCooling();
}
else if (component.getBestCondensatorCooling() > 0) {
- component.info.append(formatI18n("ComponentInfo.ReceivedHeat", component.getBestCondensatorCooling()));
+ component.info.append("ComponentInfo.ReceivedHeat " + component.getBestCondensatorCooling());
totalCondensatorCooling += component.getBestCondensatorCooling();
}
else if (component.getMaxHeatGenerated() > 0) {
if (!reactor.isFluid() && component.getMaxEUGenerated() > 0) {
- component.info.append(formatI18n("ComponentInfo.GeneratedEU", component.getMinEUGenerated(), component.getMaxEUGenerated()));
+ component.info.append("ComponentInfo.GeneratedEU " + component.getMinEUGenerated() + " | " + component.getMaxEUGenerated());
}
- component.info.append(formatI18n("ComponentInfo.GeneratedHeat", component.getMinHeatGenerated(), component.getMaxHeatGenerated()));
+ component.info.append("ComponentInfo.GeneratedHeat " + component.getMinHeatGenerated() + " | " + component.getMaxHeatGenerated());
}
if (component.getMaxReachedHeat() > 0) {
- component.info.append(formatI18n("ComponentInfo.ReachedHeat", component.getMaxReachedHeat(), component.getMaxHeat()));
+ component.info.append("ComponentInfo.ReachedHeat " + component.getMaxReachedHeat() + " | " + component.getMaxHeat());
}
}
}
}
// if (totalVentCoolingCapacity > 0) {
- // publish(formatI18n("Simulation.TotalVentCooling",
- // totalEffectiveVentCooling, totalVentCoolingCapacity));
+ // publish("Simulation.TotalVentCooling",
+ // totalEffectiveVentCooling, totalVentCoolingCapacity);
// }
showHeatingCooling(reactorTicks); // Call to show this info in case it
// hasn't already been shown, such
// as for an automated reactor.
if (totalCellCooling > 0) {
- publish(formatI18n("Simulation.TotalCellCooling", totalCellCooling));
+ publish("Simulation.TotalCellCooling", totalCellCooling);
}
if (totalCondensatorCooling > 0) {
- publish(formatI18n("Simulation.TotalCondensatorCooling", totalCondensatorCooling));
+ publish("Simulation.TotalCondensatorCooling", totalCondensatorCooling);
}
if (maxGeneratedHeat > 0) {
- publish(formatI18n("Simulation.MaxHeatGenerated", maxGeneratedHeat));
+ publish("Simulation.MaxHeatGenerated", maxGeneratedHeat);
}
if (redstoneUsed > 0) {
- publish(formatI18n("Simulation.RedstoneUsed", redstoneUsed));
+ publish("Simulation.RedstoneUsed", redstoneUsed);
}
if (lapisUsed > 0) {
- publish(formatI18n("Simulation.LapisUsed", lapisUsed));
+ publish("Simulation.LapisUsed", lapisUsed);
}
// double totalCooling = totalEffectiveVentCooling + totalCellCooling +
// totalCondensatorCooling;
// if (totalCooling >= maxGeneratedHeat) {
- // publish(formatI18n("Simulation.ExcessCooling", totalCooling -
- // maxGeneratedHeat));
+ // publish("Simulation.ExcessCooling", totalCooling -
+ // maxGeneratedHeat);
// } else {
- // publish(formatI18n("Simulation.ExcessHeating", maxGeneratedHeat -
- // totalCooling));
+ // publish("Simulation.ExcessHeating", maxGeneratedHeat -
+ // totalCooling);
// }
// return null;
/* catch (Throwable e) {
if (cooldownTicks == 0) {
- publish(formatI18n("Simulation.ErrorReactor", reactorTicks));
+ publish("Simulation.ErrorReactor", reactorTicks);
} else {
- publish(formatI18n("Simulation.ErrorCooldown", cooldownTicks));
+ publish("Simulation.ErrorCooldown", cooldownTicks);
}
- publish(e.toString(), " ", Arrays.toString(e.getStackTrace())); // NO18N
+ publish(e.toString(), " ", Arrays.toString(e.getStackTrace()); // NO18N
}*/
data.explosionPower = (int) explosionPower;
data.totalReactorTicks = reactorTicks;
long endTime = System.nanoTime();
- publish(formatI18n("Simulation.ElapsedTime", (endTime - startTime) / 1e9));
+ publish("Simulation.ElapsedTime", (endTime - startTime) / 1e9);
mRunning = false;
completed = true;
}
+
public boolean hasStopped() {
return !mRunning;
}
@@ -488,88 +476,6 @@ public class AutomationSimulator {
return mRunning;
}
- private void handleBrokenComponents(final int reactorTicks, final double totalHeatOutput, final int totalRodCount, final double totalEUoutput, final double minReactorHeat, final double maxReactorHeat) {
- for (int row = 0; row < 6; row++) {
- for (int col = 0; col < 9; col++) {
- ReactorItem component = reactor.getComponentAt(row, col);
- if (component != null && component.isBroken() && !alreadyBroken[row][col]) {
- alreadyBroken[row][col] = true;
- if (component.getRodCount() == 0) {
- publish(String.format("R%dC%d:0xFF0000", row, col)); // NOI18N
- component.info.append(formatI18n("ComponentInfo.BrokeTime", reactorTicks));
- if (componentsIntact) {
- componentsIntact = false;
- data.firstComponentBrokenTime = reactorTicks;
- data.firstComponentBrokenRow = row;
- data.firstComponentBrokenCol = col;
- data.firstComponentBrokenDescription = component.toString();
- publish(formatI18n("Simulation.FirstComponentBrokenDetails", component.toString(), row, col, reactorTicks));
- if (reactor.isFluid()) {
- data.prebreakTotalHUoutput = 40 * totalHeatOutput;
- data.prebreakAvgHUoutput = 2 * totalHeatOutput / reactorTicks;
- data.prebreakMinHUoutput = 2 * minHeatOutput;
- data.prebreakMaxHUoutput = 2 * maxHeatOutput;
- publish(formatI18n("Simulation.HeatOutputsBeforeBreak", DECIMAL_FORMAT.format(40 * totalHeatOutput), DECIMAL_FORMAT.format(2 * totalHeatOutput
- / reactorTicks), DECIMAL_FORMAT.format(2 * minHeatOutput), DECIMAL_FORMAT.format(2 * maxHeatOutput)));
- if (totalRodCount > 0) {
- publish(formatI18n("Simulation.Efficiency", totalHeatOutput / reactorTicks / 4 / totalRodCount, minHeatOutput / 4 / totalRodCount, maxHeatOutput / 4
- / totalRodCount));
- }
- }
- else {
- data.prebreakTotalEUoutput = totalEUoutput;
- data.prebreakAvgEUoutput = totalEUoutput / (reactorTicks * 20);
- data.prebreakMinEUoutput = minEUoutput / 20.0;
- data.prebreakMaxEUoutput = maxEUoutput / 20.0;
- publish(formatI18n("Simulation.EUOutputsBeforeBreak", DECIMAL_FORMAT.format(totalEUoutput), DECIMAL_FORMAT.format(totalEUoutput
- / (reactorTicks * 20)), DECIMAL_FORMAT.format(minEUoutput / 20.0), DECIMAL_FORMAT.format(maxEUoutput / 20.0)));
- if (totalRodCount > 0) {
- publish(formatI18n("Simulation.Efficiency", totalEUoutput / reactorTicks / 100 / totalRodCount, minEUoutput / 100 / totalRodCount, maxEUoutput / 100
- / totalRodCount));
- }
- }
- }
- }
- else if (!anyRodsDepleted) {
- anyRodsDepleted = true;
- data.firstRodDepletedTime = reactorTicks;
- data.firstRodDepletedRow = row;
- data.firstRodDepletedCol = col;
- data.firstRodDepletedDescription = component.toString();
- publish(formatI18n("Simulation.FirstRodDepletedDetails", component.toString(), row, col, reactorTicks));
- if (reactor.isFluid()) {
- data.predepleteTotalHUoutput = 40 * totalHeatOutput;
- data.predepleteAvgHUoutput = 2 * totalHeatOutput / reactorTicks;
- data.predepleteMinHUoutput = 2 * minHeatOutput;
- data.predepleteMaxHUoutput = 2 * maxHeatOutput;
- publish(formatI18n("Simulation.HeatOutputsBeforeDepleted", DECIMAL_FORMAT.format(40 * totalHeatOutput), DECIMAL_FORMAT.format(2 * totalHeatOutput
- / reactorTicks), DECIMAL_FORMAT.format(2 * minHeatOutput), DECIMAL_FORMAT.format(2 * maxHeatOutput)));
- if (totalRodCount > 0) {
- publish(formatI18n("Simulation.Efficiency", totalHeatOutput / reactorTicks / 4 / totalRodCount, minHeatOutput / 4 / totalRodCount, maxHeatOutput / 4 / totalRodCount));
- }
- }
- else {
- data.predepleteTotalEUoutput = totalEUoutput;
- data.predepleteAvgEUoutput = totalEUoutput / (reactorTicks * 20);
- data.predepleteMinEUoutput = minEUoutput / 20.0;
- data.predepleteMaxEUoutput = maxEUoutput / 20.0;
- publish(formatI18n("Simulation.EUOutputsBeforeDepleted", DECIMAL_FORMAT.format(totalEUoutput), DECIMAL_FORMAT.format(totalEUoutput
- / (reactorTicks * 20)), DECIMAL_FORMAT.format(minEUoutput / 20.0), DECIMAL_FORMAT.format(maxEUoutput / 20.0)));
- if (totalRodCount > 0) {
- publish(formatI18n("Simulation.Efficiency", totalEUoutput / reactorTicks / 100 / totalRodCount, minEUoutput / 100 / totalRodCount, maxEUoutput / 100 / totalRodCount));
- }
- }
- data.predepleteMinTemp = minReactorHeat;
- data.predepleteMaxTemp = maxReactorHeat;
- publish(formatI18n("Simulation.ReactorMinTempBeforeDepleted", minReactorHeat));
- publish(formatI18n("Simulation.ReactorMaxTempBeforeDepleted", maxReactorHeat));
- }
- showHeatingCooling(reactorTicks);
- }
- }
- }
- }
-
private void handleAutomation(final int reactorTicks) {
for (int row = 0; row < 6; row++) {
for (int col = 0; col < 9; col++) {
@@ -578,8 +484,7 @@ public class AutomationSimulator {
if (component.getMaxHeat() > 1) {
if (component.getAutomationThreshold() > component.getInitialHeat() && component.getCurrentHeat() >= component.getAutomationThreshold()) {
component.clearCurrentHeat();
- replacedItems.add(component.name);
- component.info.append(formatI18n("ComponentInfo.ReplacedTime", reactorTicks));
+ component.info.append("ComponentInfo.ReplacedTime | " + reactorTicks);
if (component.getReactorPause() > 0) {
active = false;
pauseTimer = Math.max(pauseTimer, component.getReactorPause());
@@ -590,8 +495,7 @@ public class AutomationSimulator {
}
else if (component.getAutomationThreshold() < component.getInitialHeat() && component.getCurrentHeat() <= component.getAutomationThreshold()) {
component.clearCurrentHeat();
- replacedItems.add(component.name);
- component.info.append(formatI18n("ComponentInfo.ReplacedTime", reactorTicks));
+ component.info.append("ComponentInfo.ReplacedTime | " +reactorTicks);
if (component.getReactorPause() > 0) {
active = false;
pauseTimer = Math.max(pauseTimer, component.getReactorPause());
@@ -603,8 +507,7 @@ public class AutomationSimulator {
}
else if (component.isBroken() || (component.getMaxDamage() > 1 && component.getCurrentDamage() >= component.getAutomationThreshold())) {
component.clearDamage();
- replacedItems.add(component.name);
- component.info.append(formatI18n("ComponentInfo.ReplacedTime", reactorTicks));
+ component.info.append("ComponentInfo.ReplacedTime | " +reactorTicks);
if (component.getReactorPause() > 0) {
active = false;
pauseTimer = Math.max(pauseTimer, component.getReactorPause());
@@ -629,32 +532,32 @@ public class AutomationSimulator {
private void checkReactorTemperature(final int reactorTicks) {
if (reactor.getCurrentHeat() < 0.5 * reactor.getMaxHeat() && !reachedBelow50 && reachedEvaporate) {
- publish(formatI18n("Simulation.TimeToBelow50", reactorTicks));
+ publish("Simulation.TimeToBelow50", reactorTicks);
reachedBelow50 = true;
data.timeToBelow50 = reactorTicks;
}
if (reactor.getCurrentHeat() >= 0.4 * reactor.getMaxHeat() && !reachedBurn) {
- publish(formatI18n("Simulation.TimeToBurn", reactorTicks));
+ publish("Simulation.TimeToBurn", reactorTicks);
reachedBurn = true;
data.timeToBurn = reactorTicks;
}
if (reactor.getCurrentHeat() >= 0.5 * reactor.getMaxHeat() && !reachedEvaporate) {
- publish(formatI18n("Simulation.TimeToEvaporate", reactorTicks));
+ publish("Simulation.TimeToEvaporate", reactorTicks);
reachedEvaporate = true;
data.timeToEvaporate = reactorTicks;
}
if (reactor.getCurrentHeat() >= 0.7 * reactor.getMaxHeat() && !reachedHurt) {
- publish(formatI18n("Simulation.TimeToHurt", reactorTicks));
+ publish("Simulation.TimeToHurt", reactorTicks);
reachedHurt = true;
data.timeToHurt = reactorTicks;
}
if (reactor.getCurrentHeat() >= 0.85 * reactor.getMaxHeat() && !reachedLava) {
- publish(formatI18n("Simulation.TimeToLava", reactorTicks));
+ publish("Simulation.TimeToLava", reactorTicks);
reachedLava = true;
data.timeToLava = reactorTicks;
}
if (reactor.getCurrentHeat() >= reactor.getMaxHeat() && !reachedExplode) {
- publish(formatI18n("Simulation.TimeToXplode", reactorTicks));
+ publish("Simulation.TimeToXplode", reactorTicks);
reachedExplode = true;
data.timeToXplode = reactorTicks;
}
@@ -698,25 +601,54 @@ public class AutomationSimulator {
data.ventCooling = totalVentCooling / (reactorTicks - 20);
data.ventCoolingCapacity = totalVentCoolingCapacity;
if (totalHullHeating > 0) {
- publish(formatI18n("Simulation.HullHeating", totalHullHeating / (reactorTicks - 20)));
+ publish("Simulation.HullHeating", totalHullHeating / (reactorTicks - 20));
}
if (totalComponentHeating > 0) {
- publish(formatI18n("Simulation.ComponentHeating", totalComponentHeating / (reactorTicks - 20)));
+ publish("Simulation.ComponentHeating", totalComponentHeating / (reactorTicks - 20));
}
if (totalHullCoolingCapacity > 0) {
- publish(formatI18n("Simulation.HullCooling", totalHullCooling / (reactorTicks - 20), totalHullCoolingCapacity));
+ publish("Simulation.HullCooling | " +totalHullCooling / (reactorTicks - 20), totalHullCoolingCapacity);
}
if (totalVentCoolingCapacity > 0) {
- publish(formatI18n("Simulation.VentCooling", totalVentCooling / (reactorTicks - 20), totalVentCoolingCapacity));
+ publish("Simulation.VentCooling | " +totalVentCooling / (reactorTicks - 20), totalVentCoolingCapacity);
}
}
}
}
+
+ private void publish(String string, double currentHeat, int reactorCooldownTime) {
+ publish(string + " | "+currentHeat+" | "+reactorCooldownTime);
+ }
+ private void publish(String string, double d, double e, double f) {
+ publish(string + " | "+d+" | "+e+" | "+f);
+ }
+
+ private void publish(String string, String format, String format2, String format3, String format4) {
+ publish(string + " | "+format+" | "+format2+" | "+format3+" | "+format4);
+ }
+
+ private void publish(String string, int activeTime2, String rangeString) {
+ publish(string + " | "+activeTime2+" | "+rangeString);
+ }
+
+ private void publish(String aString, double aData) {
+ publish(aString+":"+aData);
+ }
+
+ private void publish(String aString, long aData) {
+ publish(aString+":"+aData);
+ }
+
private void publish(String aString) {
output.add(aString);
+ }
+
+ private String rangeString(String string, int aMin, int aMax) {
+ return string+" ("+aMin+"-"+aMax+")";
}
+
protected void process(List<String> chunks) {
/*
for (String chunk : chunks) {
diff --git a/src/main/java/Ic2ExpReactorPlanner/Bundle.properties b/src/main/java/Ic2ExpReactorPlanner/Bundle.properties
deleted file mode 100644
index b20587693f..0000000000
--- a/src/main/java/Ic2ExpReactorPlanner/Bundle.properties
+++ /dev/null
@@ -1,411 +0,0 @@
-
-# Comparison keys are for comparing two simulated reactors. Instead of being in
-# in a TextArea like the main simulation, the comparison will be in a JLabel, wrapped
-# in html tags, to allow color coding of the text more easily.
-
-Comparison.CompareDecimalFormat=+#,##0.##;-#
-Comparison.ComponentHeating=Component heating: %s (%s/%s)<br>
-Comparison.ComponentsHeading=Components:<br>
-Comparison.ComponentsReplacedHeading=Components replaced:<br>
-Comparison.Default=Please run at least two simulations (preferably with different reactor designs) to get a comparison.
-Comparison.EUEUoutput=total output: %s (%s/%s) EU (%s EU/t average (%s/%s), %s EU/t min (%s/%s), %s EU/t max (%s/%s))<br>
-Comparison.EUHUoutput=total output: %s EU / %s HU (%s EU/t / %s HU/t average, %s EU/t / %s HU/t min, %s EU/t / %s HU/t max)<br>
-Comparison.Header=Most recent simulated reactor (left, in-grid) compared to previous simulated reactor (right, in-tab):
-Comparison.HUEUoutput=total output: %s HU / %s EU (%s HU/t / %s EU/t average, %s HU/t / %s EU/t min, %s HU/t / %s EU/t max)<br>
-Comparison.HUHUoutput=total output: %s (%s/%s) HU (%s HU/t average (%s/%s), %s HU/t min (%s/%s), %s HU/t max (%s/%s))<br>
-Comparison.HullCooling=Hull cooling: %s (%s/%s)<br>
-Comparison.HullCoolingPossible=Possible hull cooling: %s (%s/%s)<br>
-Comparison.HullHeating=Hull heating: %s (%s/%s)<br>
-Comparison.MaterialsEntry=<font color="%s">%s %s (%s/%s)</font><br>
-Comparison.MaterialsHeading=Materials:<br>
-Comparison.NoDifferences=No significant differences detected.
-Comparison.PostsimMaxTemp=Reactor maximum temperature: %s (%s/%s)<br>
-Comparison.PostsimMinTemp=Reactor minimum temperature: %s (%s/%s)<br>
-Comparison.PredepleteMaxTemp=Reactor maximum temperature (before first fuel rod depleted): %s (%s/%s)<br>
-Comparison.PredepleteMinTemp=Reactor minimum temperature (before first fuel rod depleted): %s (%s/%s)<br>
-Comparison.Prefix.PostSimulation=After simulation,\u0020
-Comparison.Prefix.PostSimulationTime=Time simulated:\u0020
-Comparison.Prefix.Prebreak=Before first component broken,\u0020
-Comparison.Prefix.PrebreakTime=Time to first component break:\u0020
-Comparison.Prefix.Predeplete=Before first rod depleted,\u0020
-Comparison.Prefix.PredepleteTime=Time to first rod depletion:\u0020
-Comparison.Prefix.TimeToBelow50=Time to below 50%% heat (after being above it):\u0020
-Comparison.Prefix.TimeToBurn=Time to "Burn" temperature:\u0020
-Comparison.Prefix.TimeToEvaporate=Time to "Evaporate" temperature:\u0020
-Comparison.Prefix.TimeToHurt=Time to "Hurt" temperature:\u0020
-Comparison.Prefix.TimeToLava=Time to "Lava" temperature:\u0020
-Comparison.Prefix.TimeToXplode=Time to explode:\u0020
-Comparison.SimpleDecimalFormat=#,##0.##
-Comparison.Time.Both=%+,d seconds (%d/%d)<br>
-Comparison.Time.BothColored=<font color="%s">%+,d</font> seconds (%d/%d)<br>
-Comparison.Time.LeftOnly=%d/\u221e<br>
-Comparison.Time.RightOnly=\u221e/%d<br>
-Comparison.VentCooling=Vent cooling: %s (%s/%s)<br>
-Comparison.VentCoolingPossible=Possible vent cooling: %s (%s/%s)<br>
-
-# ComponentData keys are for providing extra details in the tooltips for the component palette.
-# Suggested by kekzdealer in Pull Request: https://github.com/MauveCloud/Ic2ExpReactorPlanner/pull/67
-# but heavily modified since.
-
-ComponentData.AdvancedHeatExchanger=Heat Capacity: 10,000 <br> Hull Exchange Rate: 8 heat/s <br> Component Exchange Rate: 24 heat/s
-ComponentData.AdvancedHeatVent=Heat Capacity: 1,000 <br> Self Venting Rate: 12 heat/s
-ComponentData.ComponentHeatExchanger=Heat Capacity: 5,000 <br> Component Exchange Rate: 36 heat/s
-ComponentData.ComponentHeatVent=Component Venting Rate: 4 heat/s
-ComponentData.ContainmentReactorPlating=Dampens explosions
-ComponentData.CoolantCell10k=Heat Capacity: 10,000
-ComponentData.CoolantCell180kHelium=Heat Capacity: 180,000
-ComponentData.CoolantCell180kNak=Heat Capacity: 180,000
-ComponentData.CoolantCell30k=Heat Capacity: 30,000
-ComponentData.CoolantCell360kHelium=Heat Capacity: 360,000
-ComponentData.CoolantCell360kNak=Heat Capacity: 360,000
-ComponentData.CoolantCell60k=Heat Capacity: 60,000
-ComponentData.CoolantCell60kHelium=Heat Capacity: 60,000
-ComponentData.CoolantCell60kNak=Heat Capacity: 60,000
-ComponentData.CoolantCell180kSpace=Heat Capacity: 180,000
-ComponentData.CoolantCell360kSpace=Heat Capacity: 360,000
-ComponentData.CoolantCell540kSpace=Heat Capacity: 540,000
-ComponentData.CoolantCell1080kSpace=Heat Capacity: 1080,000
-ComponentData.DualFuelRodCesium=Generation Time: 10,861 seconds <br> EU Generation: 40/60/80/100/120 /t <br> Heat Generation: 6/12/20/30/42 /s
-ComponentData.DualFuelRodCoaxium=Generation Time: 20,000 seconds <br> EU Generation: 20/30/40/50/60 /t <br> Heat Generation: 0 /s
-ComponentData.DualFuelRodMox=Generation Time: 10,000 seconds <br> EU Generation: [20,100)/[30,150)/[40,200)/[50,250)/[60,300) /t - scales linearly with hull temperature.<br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 24/48/80/120/168 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 48/96/160/240/336 /s
-ComponentData.DualFuelRodNaquadah=Generation Time: 100,000 seconds <br> EU Generation: [40,100)/[60,150)/[80,200)/[100,250)/[120,300) /t - scales linearly with hull temperature. <br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 24/48/80/120/168 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 48/96/160/240/336 /s
-ComponentData.DualFuelRodNaquadahGTNH=Generation Time: 100,000 seconds <br> EU Generation: 20/30/40/50/60 /t <br> Heat Generation: 24/48/80/120/168 /s
-ComponentData.DualFuelRodNaquadria=Generation Time: 100,000 seconds <br> EU Generation: [40,100)/[60,150)/[80,200)/[100,250)/[120,300) /t - scales linearly with hull temperature. <br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 24/48/80/120/168 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 48/96/160/240/336 /s
-ComponentData.DualFuelRodThorium=Generation Time: 50,000 seconds <br> EU Generation: 4/6/8/10/12 /t <br> Heat Generation: 6/12/20/30/42 /s
-ComponentData.DualFuelRodTiberium=Generation Time: 50,000 seconds <br> EU Generation: 10/20/30/40/50 /t <br> Heat Generation: 12/24/40/60/84 /s
-ComponentData.DualFuelRodUranium=Generation Time: 20,000 seconds <br> EU Generation: 20/30/40/50/60 /t <br> Heat Generation: 24/48/80/120/168 /s
-ComponentData.FuelRodCesium=Generation Time: 10,861 seconds <br> EU Generation: 10/20/30/40/50 /t <br> Heat Generation: 1/3/8/10/15 /s
-ComponentData.FuelRodCoaxium=Generation Time: 20,000 seconds <br> EU Generation: 5/10/15/20/25 /t <br> Heat Generation: 0 /s
-ComponentData.FuelRodMox=Generation Time: 10,000 seconds <br> EU Generation: [5,25)/[10,50)/[15,75)/[20,100)/[25,125) /t - scales linearly with hull temperature.<br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 4/12/24/40/60 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 8/24/48/80/120 /s
-ComponentData.FuelRodNaquadah=Generation Time: 100,000 seconds <br> EU Generation: [10,25)/[20,50)/[30,75)/[40,100)/[50,125) /t - scales linearly with hull temperature.<br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 4/12/24/40/60 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 8/24/48/80/120 /s
-ComponentData.FuelRodNaquadahGTNH=Generation Time: 100,000 seconds <br> EU Generation: 5/10/15/20/25 /t <br> Heat Generation: 4/12/24/40/60 /s
-ComponentData.FuelRodNaquadria=Generation Time: 100,000 seconds <br> EU Generation: [10,25)/[20,50)/[30,75)/[40,100)/[50,125) /t - scales linearly with hull temperature.<br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 4/12/24/40/60 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 8/24/48/80/120 /s
-ComponentData.FuelRodTheCore=Generation Time: 100,000 seconds <br> EU Generation: 10880 /t <br> Heat Generation: 19584 /s
-ComponentData.FuelRodThorium=Generation Time: 50,000 seconds <br> EU Generation: 1/2/3/4/5 /t <br> Heat Generation: 1/3/6/10/15 /s
-ComponentData.FuelRodTiberium=Generation Time: 50,000 seconds <br> EU Generation: 5/10/15/20/25 /t <br> Heat Generation: 2/6/12/20/30 /s
-ComponentData.FuelRodUranium=Generation Time: 20,000 seconds <br> EU Generation: 5/10/15/20/25 /t <br> Heat Generation: 4/12/24/40/60 /s
-ComponentData.HeatCapacityReactorPlating=Increases maximum heat capacity
-ComponentData.HeatExchanger=Heat Capacity: 2,500 <br> Hull Exchange Rate: 4 heat/s <br> Component Exchange Rate: 12 heat/s
-ComponentData.HeatVent=Heat Capacity: 1,000 <br> Self Venting Rate: 6 heat/s
-ComponentData.IridiumNeutronReflector=Durability: Infinite
-ComponentData.LzhCondensator=Heat Capacity: 100,000 <br> Cannot be vented from.
-ComponentData.NeutronReflector=Durability: 30,000 (10,000 in MC 1.7.10)
-ComponentData.OverclockedHeatVent=Heat Capacity: 1,000 <br> Self Venting Rate: 20 heat/s <br> Hull Cooling Rate: 36 heat/s
-ComponentData.QuadFuelRodCesium=Generation Time: 10,861 seconds <br> EU Generation: 120/160/200/240/280 /t <br> Heat Generation: 24/40/60/84/112 /s
-ComponentData.QuadFuelRodCoaxium=Generation Time: 20,000 seconds <br> EU Generation: 60/80/100/120/140 /t <br> Heat Generation: 0 /s
-ComponentData.QuadFuelRodMox=Generation Time: 10,000 seconds <br> EU Generation: [60,300)/[80,400)/[100,500)/[120,600)/[140,700) /t - scales linearly with hull temperature.<br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 96/160/240/336/448 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 192/320/480/672/896 /s
-ComponentData.QuadFuelRodNaquadah=Generation Time: 100,000 seconds <br> EU Generation: [120,300)/[160,400)/[200,500)/[240,600)/[280,700) /t - scales linearly with hull temperature.<br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 96/160/240/336/448 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 192/320/480/672/896 /s
-ComponentData.QuadFuelRodNaquadahGTNH=Generation Time: 100,000 seconds <br> EU Generation: 60/80/100/120/140 /t <br> Heat Generation: 96/160/240/336/448 /s
-ComponentData.QuadFuelRodNaquadria=Generation Time: 100,000 seconds <br> EU Generation: [120,300)/[160,400)/[200,500)/[240,600)/[280,700) /t - scales linearly with hull temperature.<br> Heat Generation in EU reactor or when hull temperature&lt;=50%: 96/160/240/336/448 /s <br> Heat Generation in fluid reactor when hull temperature&gt;50%: 192/320/480/672/896 /s
-ComponentData.QuadFuelRodThorium=Generation Time: 50,000 seconds <br> EU Generation: 12/16/20/24/28 /t <br> Heat Generation: 24/40/60/84/112 /s
-ComponentData.QuadFuelRodTiberium=Generation Time: 50,000 seconds <br> EU Generation: 60/80/100/120/140 /t <br> Heat Generation: 48/80/120/168/224 /s
-ComponentData.QuadFuelRodUranium=Generation Time: 20,000 seconds <br> EU Generation: 60/80/100/120/140 /t <br> Heat Generation: 96/160/240/336/448 /s
-ComponentData.ReactorHeatExchanger=Heat Capacity: 5,000 <br> Hull Exchange Rate: 72 heat/s
-ComponentData.ReactorHeatVent=Heat Capacity: 1,000 <br> Self Venting Rate: 5 heat/s <br> Hull Cooling Rate: 5 heat/s
-ComponentData.ReactorPlating=Crafting component for Containment and Heat-Capacity Reactor Plating
-ComponentData.RshCondensator=Heat Capacity: 20,000 <br> Cannot be vented from.
-ComponentData.ThickNeutronReflector=Durability: 120,000 (40,000 in MC 1.7.10)
-
-# ComponentInfo keys are for updating information about a component during a simulation.
-
-ComponentInfo.BrokeTime=\nBroke after %,d seconds.
-ComponentInfo.CooldownTime=\nTook %,d seconds to cool down.
-ComponentInfo.GeneratedEU=\nGenerated %,.2f to %,.2f EU per second.
-ComponentInfo.GeneratedHeat=\nGenerated %,.0f to %,.0f heat per second.
-ComponentInfo.ReachedHeat=\nReached up to %,.0f of %,.0f heat.
-ComponentInfo.ReceivedHeat=\nReceived at most %,.0f heat per second.
-ComponentInfo.RemainingHeat=\nHad %,.0f heat left after main simulation stopped.
-ComponentInfo.ReplacedTime=\nReplaced at %,d seconds.
-ComponentInfo.ResidualHeat=\nHad %,.0f heat left after cooldown period.
-ComponentInfo.UsedCooling=\nUsed %,.0f of %,.0f cooling.
-
-
-# Keys for component names were originally matched to class names, to allow using reflection to look them up.
-# However, refactoring eliminated the "one class for each component type" idea.
-# These keys will be used both in the reactor area and the component selection area.
-
-ComponentName.AdvancedHeatExchanger=Advanced Heat Exchanger
-ComponentName.AdvancedHeatVent=Advanced Heat Vent
-ComponentName.ComponentHeatExchanger=Component Heat Exchanger
-ComponentName.ComponentHeatVent=Component Heat Vent
-ComponentName.ContainmentReactorPlating=Containment Reactor Plating
-ComponentName.CoolantCell10k=10k Coolant Cell
-ComponentName.CoolantCell1080kSpace=1080k Space Coolant Cell
-ComponentName.CoolantCell180kHelium=180k He Coolant Cell
-ComponentName.CoolantCell180kNak=180k NaK Coolant Cell
-ComponentName.CoolantCell180kSpace=180k Space Coolant Cell
-ComponentName.CoolantCell30k=30k Coolant Cell
-ComponentName.CoolantCell360kHelium=360k He Coolant Cell
-ComponentName.CoolantCell360kNak=360k NaK Coolant Cell
-ComponentName.CoolantCell360kSpace=360k Space Coolant Cell
-ComponentName.CoolantCell540kSpace=540k Space Coolant Cell
-ComponentName.CoolantCell60k=60k Coolant Cell
-ComponentName.CoolantCell60kHelium=60k He Coolant Cell
-ComponentName.CoolantCell60kNak=60k NaK Coolant Cell
-ComponentName.DualFuelRodCesium=Dual Fuel Rod (Cesium)
-ComponentName.DualFuelRodCoaxium=Dual Fuel Rod (Coaxium)
-ComponentName.DualFuelRodMox=Dual Fuel Rod (MOX)
-ComponentName.DualFuelRodNaquadah=Dual Fuel Rod (Naquadah)
-ComponentName.DualFuelRodNaquadahGTNH=Dual Fuel Rod (Naquadah)
-ComponentName.DualFuelRodNaquadria=Dual Fuel Rod (Naquadria)
-ComponentName.DualFuelRodThorium=Dual Fuel Rod (Thorium)
-ComponentName.DualFuelRodTiberium=Dual Fuel Rod (Tiberium)
-ComponentName.DualFuelRodUranium=Dual Fuel Rod (Uranium)
-ComponentName.FuelRodCesium=Fuel Rod (Cesium)
-ComponentName.FuelRodCoaxium=Fuel Rod (Coaxium)
-ComponentName.FuelRodMox=Fuel Rod (MOX)
-ComponentName.FuelRodNaquadah=Fuel Rod (Naquadah)
-ComponentName.FuelRodNaquadahGTNH=Fuel Rod (Naquadah)
-ComponentName.FuelRodNaquadria=Fuel Rod (Naquadria)
-ComponentName.FuelRodTheCore=Fuel Rod (The Core)
-ComponentName.FuelRodThorium=Fuel Rod (Thorium)
-ComponentName.FuelRodTiberium=Fuel Rod (Tiberium)
-ComponentName.FuelRodUranium=Fuel Rod (Uranium)
-ComponentName.HeatCapacityReactorPlating=Heat-Capacity Reactor Plating
-ComponentName.HeatExchanger=Heat Exchanger
-ComponentName.HeatVent=Heat Vent
-ComponentName.IridiumNeutronReflector=Iridium Neutron Reflector
-ComponentName.LzhCondensator=LZH-Condensator
-ComponentName.NeutronReflector=Neutron Reflector
-ComponentName.OverclockedHeatVent=Overclocked Heat Vent
-ComponentName.QuadFuelRodCesium=Quad Fuel Rod (Cesium)
-ComponentName.QuadFuelRodCoaxium=Quad Fuel Rod (Coaxium)
-ComponentName.QuadFuelRodMox=Quad Fuel Rod (MOX)
-ComponentName.QuadFuelRodNaquadah=Quad Fuel Rod (Naquadah)
-ComponentName.QuadFuelRodNaquadahGTNH=Quad Fuel Rod (Naquadah)
-ComponentName.QuadFuelRodNaquadria=Quad Fuel Rod (Naquadria)
-ComponentName.QuadFuelRodThorium=Quad Fuel Rod (Thorium)
-ComponentName.QuadFuelRodTiberium=Quad Fuel Rod (Tiberium)
-ComponentName.QuadFuelRodUranium=Quad Fuel Rod (Uranium)
-ComponentName.ReactorHeatExchanger=Reactor Heat Exchanger
-ComponentName.ReactorHeatVent=Reactor Heat Vent
-ComponentName.ReactorPlating=Reactor Plating
-ComponentName.RshCondensator=RSH-Condensator
-ComponentName.ThickNeutronReflector=Thick Neutron Reflector
-
-ComponentTooltip.Broken=Broke during last simulation
-ComponentTooltip.ResidualHeat=Had residual heat after last simulation
-
-Config.CSVCheckbox=Output CSV Data
-Config.CSVLimit=For how many simulated seconds:
-Config.EUReactor=EU Reactor
-Config.FluidReactor=Fluid Reactor
-Config.InitialComponentHeat=Initial Heat:
-Config.NoComponentSelected=No component selected
-Config.OffPulse=Off-pulse duration:
-Config.OnPulse=On-pulse duration:
-Config.PlacingReactorPause=Reactor Pause:
-Config.PlacingReplacementThreshold=Threshold:
-Config.PulseHelp=(on-pulse can be set to 5 million to mimic having no redstone timing)
-Config.ReactorCoolantInjectors=Use Reactor Coolant Injectors (MC 1.8+ only)
-Config.ReactorPause=Reactor Pause (seconds):
-Config.ReactorPauseHelp=<html>(This is how long the reactor will pause while replacing this component)</html>
-Config.ReplacementThreshold=Replacement Threshold:
-Config.ReplacementThresholdHelp=<html>(Set higher than component's initial heat/damage to replace the component when it gets this hot/damaged, or lower to replace a component that has cooled; broken components will be replaced during automation runs regardless of this setting)</html>
-Config.ResumeTemp=Resume when reactor temp <=
-# Same language string should be usable anywhere "seconds" appears.
-Config.Seconds=seconds
-Config.SimulationStyle=Simulation Style:
-Config.SuspendTemp=Suspend when reactor temp >=
-Config.SuspendTempHelp=(both temps can be set to match explode temp to mimic having no temperature control)
-
-CSVData.EntryComponentValue=,"%.2f"
-CSVData.EntryComponentOutput=,%.0f
-CSVData.EntryCoreHeat=,%.0f
-CSVData.EntryEUOutput=,"%.2f"
-CSVData.EntryHUOutput=,%.0f
-CSVData.EntryReactorTick=%d
-CSVData.HeaderComponentName=,%s (R%dC%d)
-CSVData.HeaderComponentOutput=,%s (R%dC%d) Output
-CSVData.HeaderCoreHeat=,Core Heat
-CSVData.HeaderEUOutput=,EU Output
-CSVData.HeaderHUOutput=,HU Output
-CSVData.HeaderReactorTick=Reactor Time
-
-MaterialName.AdvancedAlloy=Advanced Alloy
-MaterialName.AdvancedCircuit=Advanced Circuit
-MaterialName.Aluminium=Aluminium
-MaterialName.BasicCircuit=Basic Circuit
-MaterialName.Beryllium=Beryllium
-MaterialName.Bronze=Bronze
-MaterialName.CallistoIceDust=Callisto Ice Dust
-MaterialName.CesiumFuel=Cesium-Enriched Nuclear Fuel
-MaterialName.Coal=Coal
-MaterialName.CoaxiumFuel=Coaxium-Enriched Nuclear Fuel
-MaterialName.Copper=Copper
-MaterialName.Diamond=Diamond
-MaterialName.DistilledWater=Distilled Water
-MaterialName.EmptyCell=Empty Cell
-MaterialName.EnrichedNaquadah=Enriched Naquadah
-MaterialName.FluxedElectrum=Fluxed Electrum
-MaterialName.Glass=Glass
-MaterialName.GlowstoneDust=Glowstone Dust
-MaterialName.Gold=Gold
-MaterialName.Graphite=Graphite
-MaterialName.Helium==Helium
-MaterialName.Iridium=Iridium
-MaterialName.IridiumReinforcedPlate=Iridium Reinforced Plate
-MaterialName.Iron=Iron
-MaterialName.LapisLazuli=Lapis Lazuli
-MaterialName.Lead=Lead
-MaterialName.LedoxDust=Ledox Dust
-MaterialName.MoxFuel=MOX Fuel
-MaterialName.Naquadria=Naquadria
-MaterialName.Platinum=Platinum
-MaterialName.Potassium=Potassium
-MaterialName.Redstone=Redstone
-MaterialName.ReinforcedGlass=Reinforced Glass
-MaterialName.Rubber=Rubber
-MaterialName.Sodium=Sodium
-MaterialName.Thorium=Thorium
-MaterialName.Tiberium=Tiberium
-MaterialName.Tungsten=Tungsten
-MaterialName.Tin=Tin
-MaterialName.UraniumFuel=Uranium Fuel
-
-# %s at the end of this string is for optionally showing the range of active time.
-Simulation.ActiveTime=Reactor was active for a total of %,d seconds%s.\n
-Simulation.ActiveTimeRange=\u0020(%,d to %,d seconds at a time)
-Simulation.ActiveTimeSingle=\u0020(%,d seconds at a time)
-Simulation.CancelledAtTick=Simulation cancelled after simulating %,d seconds.\n
-Simulation.ComponentHeating=Component heating: %.2f average.\n
-Simulation.ComponentsReplaced=Components replaced:\n%s
-Simulation.CSVOpenFailure=Failed to open CSV file for output.\n
-Simulation.CycleCompleteTime=Cycle complete after %,d seconds.\n
-# This will be used to optionally show extra precision, in format strings where %s is used when %.2f might otherwise be expected.
-Simulation.DecimalFormat=#,##0.##
-Simulation.Efficiency=Efficiency: %.2f average, %.2f minimum, %.2f maximum\n
-Simulation.ElapsedTime=Simulation took %.2f seconds.\n
-Simulation.ErrorCooldown=Error %,d simulated seconds into cooldown.\n
-Simulation.ErrorReactor=Error after simulating %d seconds of reactor activity\n
-Simulation.EUOutputs=Total output after full simulation: %s EU (%s EU/t average, %s EU/t min, %s EU/t max)\n
-Simulation.EUOutputsBeforeDepleted=Total output before first fuel rod depleted: %s EU (%s EU/t average, %s EU/t min, %s EU/t max)\n
-Simulation.EUOutputsBeforeBreak=Total output before first component broken: %s EU (%s EU/t average, %s EU/t min, %s EU/t max)\n
-Simulation.ExcessCooling=Excess cooling: %.2f\n
-Simulation.ExcessHeating=Excess heating: %.2f\n
-Simulation.ExplosionPower=Raw explosion power: %,.2f\n
-Simulation.FirstComponentBrokenDetails=First Component Broken: %s at row %d column %d, at %d seconds.\n
-Simulation.FirstRodDepletedDetails=First Fuel Rod Depleted: %s at row %d column %d, at %d seconds.\n
-Simulation.FuelRodsTime=Fuel rods (if any) stopped after %,d seconds.\n
-Simulation.HeatOutputs=Total output after full simulation: %s HU (%s HU/t average, %s HU/t minimum, %s HU/t max)\n
-Simulation.HeatOutputsBeforeBreak=Total output before first component broken: %s HU (%s HU/t average, %s HU/t minimum, %s HU/t max)\n
-Simulation.HeatOutputsBeforeDepleted=Total output before first fuel rod depleted: %s HU (%s HU/t average, %s HU/t minimum, %s HU/t max)\n
-Simulation.HullCooling=Hull cooling: %,.2f average of %,.0f possible.\n
-Simulation.HullHeating=Hull heating: %,.2f average.\n
-Simulation.InactiveTime=Reactor was inactive for a total of %,d seconds%s.\n
-Simulation.InactiveTimeRange=\u0020(%,d to %,d seconds at a time)
-Simulation.InactiveTimeSingle=\u0020(%,d seconds at a time)
-Simulation.LapisUsed=Used %d Lapis Lazuli Blocks.\n
-Simulation.MaxHeatGenerated=Max heat generated (internally, by fuel rods): %,.0f\n
-Simulation.NoCooldown=No cooldown needed.\n
-Simulation.NoFuelRods=No fuel rods found! Simulating a pulsed cycle makes no sense!
-Simulation.ReactorCooldownTime=Reactor took %,d seconds to cool down.\n
-Simulation.ReactorHeatBuildup=Reactor heat buildup per second (while all components are intact):%,.0f minimum, %,.0f maximum.\n
-Simulation.ReactorMaxTemp=Reactor maximum temperature: %,.0f\n
-Simulation.ReactorMaxTempBeforeDepleted=Reactor maximum temperature (before first fuel rod depleted): %,.0f\n
-Simulation.ReactorMinTemp=Reactor minimum temperature: %,.0f\n
-Simulation.ReactorMinTempBeforeDepleted=Reactor minimum temperature (before first fuel rod depleted): %,.0f\n
-Simulation.ReactorOverheatedTime=Reactor overheated at %,d seconds.\n
-Simulation.ReactorRemainingHeat=Reactor remained at %,.0f heat after main simulation finished.\n
-Simulation.ReactorResidualHeat=Reactor remained at %,.0f heat even after cool down period of %,d seconds.\n
-Simulation.RedstoneUsed=Used %d Blocks of Redstone.\n
-Simulation.Started=Simulation started.\n
-Simulation.TimeToBelow50=Reactor will dip below 50%% heat for the first time (after being above it) at %d seconds.\n
-Simulation.TimeToBurn=Reactor will reach "Burn" temperature at %d seconds.\n
-Simulation.TimeToEvaporate=Reactor will reach "Evaporate" temperature at %d seconds.\n
-Simulation.TimeToHurt=Reactor will reach "Hurt" temperature at %d seconds.\n
-Simulation.TimeToLava=Reactor will reach "Lava" temperature at %d seconds.\n
-# Note: The "e" is deliberately dropped from "Explode" in the key name so that it will sort after the others.
-Simulation.TimeToXplode=Reactor will explode at %d seconds.\n
-Simulation.TimeWithoutExploding=\nReactor ran for %,d seconds without exploding.\n
-Simulation.TotalCellCooling=Total Cell Cooling (peak usages): %,.2f\n
-Simulation.TotalCondensatorCooling=Total Condensator Cooling (peak usages): %,.2f\n
-Simulation.TotalCooldownTime=Other components took %,d seconds to cool down (as much as they would).\n
-Simulation.TotalVentCooling=Total Vent Cooling (peak usages, theoretical maximum): %,.2f of %,.2f\n
-Simulation.VentCooling=Vent cooling: %,.2f average of %,.0f possible.\n
-
-UI.AdvancedTab=Advanced
-#Needs to be heavily abbreviated to fit on the button.
-UI.AutomateButton=a
-UI.AutomateButtonFont=Arial 10
-UI.AutomatedReactor=Automated Reactor
-UI.AutomatedReactorTooltip=Turn on to allow automating of adding/removing of components.
-UI.AutomationTooltip=Click to define automation rules for this component.
-UI.CancelButton=Cancel
-UI.ChosenComponentRowCol=%s at row %d column %d
-UI.ClearGridButton=Clear Grid
-UI.CodeLabel=Code:
-UI.ComparisonTab=Comparison
-UI.ComponentAutomationTab=Component Automation
-#Needs to be heavily abbreviated to fit on the button.
-UI.ComponentInfoButton=i
-UI.ComponentInfoButtonFont=Arial 10
-UI.ComponentInfoButtonTooltip=Click for information about this component
-UI.ComponentInfoDefault=Please run a simulation and select a component in the reactor grid above to see its details.
-UI.ComponentInfoLastSimRowCol=%s at row %d column %d\n%s
-UI.ComponentListTab=Component List
-UI.ComponentPlacingDefault=Placing Component: None
-UI.ComponentPlacingSpecific=Placing Component: %s
-UI.ComponentTab=Component
-UI.CopyCodeButton=Copy Code
-UI.CopyComparisonData=Copy Comparison Data
-UI.CSVBrowseButton=Browse
-UI.CSVFileDefault=No File Selected
-UI.CSVHelp=<html>Warnings:<ol><li>Simulation will likely run much slower with CSV Output enabled, especially if the chosen file is on a mechanical hard drive.</li><li>User is responsible for making sure target drive has enough space for the CSV file.</li><li>Additional simulations will overwrite the CSV file unless the target is manually changed.</li></ol></html>
-UI.CSVTab=CSV
-UI.EnableGT508Components=Enable GT 5.08 Components
-UI.EnableGT509Components=Enable GT 5.09 Components
-UI.ExpandAdvancedAlloy=Expand Advanced Alloy into constituent materials (invalid when using GregTech)
-UI.GregTechVersion=GregTech Version:
-UI.GregTechVersionNone=None
-UI.GTReactorBehavior=GT 5.09 = (2x base EU). GTNH = (10x base EU, Naq Rods->not-MOX-like). Setting always applies to <version>-only fuel rods regardless.
-UI.InitialHeatDisplay=\u0020(initial heat: %,d)
-UI.InitialReactorHeat=Initial Reactor Heat:
-UI.InitialReactorHeatTooltip=Use this to set a heat value for testing MOX-like reactors.
-UI.LockInTabCode=Lock in-tab code
-UI.MainTitle=IC2 Experimental Reactor Planner
-UI.MaterialDecimalFormat=#,##0.##
-UI.MaterialsTab=Materials
-UI.MaxHeatDefault=/10,000
-UI.MaxHeatSpecific=/%,.0f
-UI.MaxSimulationTicks=Maximum time to simulate:
-UI.MaxSimulationTicksTooltip=Forces simulation to stop after simulating this much time, even if reactor hasn't exploded or ceased outputting HU or EU.
-UI.MinecraftVersion=Minecraft Version:
-UI.NoComponentLastSimRowCol=No component at row %d column %d during last simulation.
-UI.NoComponentRowCol=No component at row %d column %d.
-UI.NoSimulationRun=No simulation run yet.
-UI.OnlyShowDiffData=Only show data that is significantly different
-UI.PasteCodeButton=Paste Code
-UI.PulseConfigurationTab=Pulse Configuration
-UI.PulsedReactor=Pulsed Reactor
-UI.RemoveAddonComponentsTitle=Add-on Components Found
-UI.RemoveGT508ComponentsText=GT 5.08 components found in current design. Remove them?
-UI.RemoveGT509ComponentsText=GT 5.09 components found in current design. Remove them?
-UI.ResetPulseConfig=Reset Pulse Configuration
-UI.ShowComponentDetailButtons=Show Component Detail Buttons
-UI.ShowComponentPreconfigControls=Show Component Pre-configuration Controls
-UI.ShowOldStyleReactorCode=Show old-style (pre-2.3.1) reactor code
-UI.SimulateButton=Simulate
-UI.SimulationTab=Simulation
-UI.SimulationTypeAutomation=Pulsed Automation
-UI.SimulationTypePulsed=Pulsed Cycle
-UI.SimulationTypeSimple=Simple Cycle
-UI.TemperatureEffectsDefault=Burn: 4,000 Evaporate: 5,000 Hurt: 7,000 Lava: 8,500 Explode: 10,000
-UI.TemperatureEffectsSpecific=Burn: %,d Evaporate: %,d Hurt: %,d Lava: %,d Explode: %,d
-UI.TexturePackBrowseButton=Browse
-UI.TexturePackClearButton=Clear
-UI.TexturePackDefault=Texture Pack: no file selected
-UI.TexturePackHelp=(restart planner to see new textures)
-UI.TexturePackSpecific=Texture Pack: %s
-UI.UseGTRecipes=Use GregTech recipes for component materials (where applicable and unambiguous)
-UI.UseUfcForCoolantCells=Use Universal Fluid Cells for coolant (incompatible with GregTech recipes option)
-UI.VersionNumber=Version %s
-
-Warning.DepletedIsotope=Obsolete component (depleted isotope cell) at row %d column %d removed.\n
-Warning.DualPlutonium=Obsolete component (dual plutonium cell) at row %d column %d removed.\n
-Warning.Heating=Obsolete component (heating cell) at row %d column %d removed.\n
-Warning.InvalidReactorCode=Invalid Reactor Code: %s
-Warning.Plutonium=Obsolete component (plutonium cell) at row %d column %d removed.\n
-Warning.QuadPlutonium=Obsolete component (quad plutonium cell) at row %d column %d removed.\n
-Warning.Title=Warning(s)
-Warning.Unrecognized=Unrecognized component (id %d) at row %d column %d removed.\n
diff --git a/src/main/java/Ic2ExpReactorPlanner/BundleHelper.java b/src/main/java/Ic2ExpReactorPlanner/BundleHelper.java
deleted file mode 100644
index 8bbc9aab45..0000000000
--- a/src/main/java/Ic2ExpReactorPlanner/BundleHelper.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package Ic2ExpReactorPlanner;
-
-import java.util.ResourceBundle;
-
-/**
- * Utility class to handle handle access to the planner's resource bundle.
- * Methods may be static-imported, and hopefully this will make the code more
- * concise, but not to the point of obfuscation.
- * @author Brian McCloud
- */
-public class BundleHelper {
-
- private BundleHelper() {
- // private no-op constructor to prevent instantiation.
- }
-
- private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("Ic2ExpReactorPlanner/Bundle");
-
- /**
- * Looks up a key in the planner's resource bundle.
- * @param key the key to look up in the resource bundle.
- * @return the value from the resource bundle for the default locale of the system the planner is being run on.
- */
- public static String getI18n(String key) {
- return BUNDLE.getString(key);
- }
-
- /**
- * Uses a resource bundle entry as a format specifier.
- * @param key the key to look up in the resource bundle.
- * @param args the arguments to use in String.format.
- * @return the formatted string.
- */
- public static String formatI18n(String key, Object... args) {
- return String.format(getI18n(key), args);
- }
-
-}
diff --git a/src/main/java/Ic2ExpReactorPlanner/Bundle_zh_CN.properties b/src/main/java/Ic2ExpReactorPlanner/Bundle_zh_CN.properties
deleted file mode 100644
index b3d5076fb2..0000000000
--- a/src/main/java/Ic2ExpReactorPlanner/Bundle_zh_CN.properties
+++ /dev/null
@@ -1,373 +0,0 @@
-
-# Comparison keys are for comparing two simulated reactors. Instead of being in
-# in a TextArea like the main simulation, the comparison will be in a JLabel, wrapped
-# in html tags, to allow color coding of the text more easily.
-
-Comparison.CompareDecimalFormat=+#,##0.##;-#
-Comparison.ComponentHeating=\u5143\u4ef6\u4ea7\u70ed: %s (%s/%s)<br>
-Comparison.ComponentsHeading=\u5143\u4ef6:<br>
-Comparison.ComponentsReplacedHeading=\u66f4\u6362\u5143\u4ef6:<br>
-Comparison.Default=\u8bf7\u81f3\u5c11\u8fd0\u884c\u4e24\u6b21\u6a21\u62df (\u6700\u597d\u4f7f\u7528\u4e0d\u540c\u7684\u53cd\u5e94\u5806\u8bbe\u8ba1) \u4ee5\u8fdb\u884c\u6bd4\u8f83.
-Comparison.EUEUoutput=\u603b\u4ea7\u80fd: %s (%s/%s) EU (\u5e73\u5747: %s EU/t (%s/%s), \u6700\u5c0f: %s EU/t (%s/%s), \u6700\u5927: %s EU/t (%s/%s))<br>
-Comparison.EUHUoutput=\u603b\u4ea7\u80fd/\u4ea7\u70ed: %s EU / %s HU (\u5e73\u5747: %s EU/t / %s HU/t, \u6700\u5c0f: %s EU/t / %s HU/t, \u6700\u5927: %s EU/t / %s HU/t)<br>
-Comparison.Header=\u8fd9\u4e00\u6b21\u6a21\u62df (\u5de6\u4fa7, \u4e3b\u4ee3\u7801) \u4e0e\u4e0a\u4e00\u6b21\u6a21\u62df (\u53f3\u4fa7, \u6807\u7b7e\u5185\u4ee3\u7801) \u76f8\u6bd4\u8f83:
-Comparison.HUEUoutput=\u603b\u4ea7\u70ed/\u4ea7\u80fd: %s HU / %s EU (\u5e73\u5747: %s HU/t / %s EU/t, \u6700\u5c0f: %s HU/t / %s EU/t, \u6700\u5927: %s HU/t / %s EU/t)<br>
-Comparison.HUHUoutput=\u603b\u4ea7\u70ed: %s (%s/%s) HU (\u5e73\u5747: %s HU/t (%s/%s), \u6700\u5c0f: %s HU/t (%s/%s), \u6700\u5927: %s HU/t (%s/%s))<br>
-Comparison.HullCooling=\u5916\u58f3\u51b7\u5374: %s (%s/%s)<br>
-Comparison.HullCoolingPossible=\u53ef\u80fd\u7684\u5916\u58f3\u51b7\u5374: %s (%s/%s)<br>
-Comparison.HullHeating=\u5916\u58f3\u4ea7\u70ed: %s (%s/%s)<br>
-Comparison.MaterialsEntry=<font color="%s">%s %s (%s/%s)</font><br>
-Comparison.MaterialsHeading=\u6750\u6599:<br>
-Comparison.NoDifferences=\u672a\u68c0\u6d4b\u5230\u660e\u663e\u5dee\u5f02.
-Comparison.PostsimMaxTemp=\u53cd\u5e94\u5806\u6700\u9ad8\u6e29\u5ea6: %s (%s/%s)<br>
-Comparison.PostsimMinTemp=\u53cd\u5e94\u5806\u6700\u4f4e\u6e29\u5ea6: %s (%s/%s)<br>
-Comparison.PredepleteMaxTemp=\u53cd\u5e94\u5806\u6700\u9ad8\u6e29\u5ea6 (\u7b2c\u4e00\u4e2a\u71c3\u6599\u68d2\u8017\u5c3d\u4e4b\u524d): %s (%s/%s)<br>
-Comparison.PredepleteMinTemp=\u53cd\u5e94\u5806\u6700\u4f4e\u6e29\u5ea6 (\u7b2c\u4e00\u4e2a\u71c3\u6599\u68d2\u8017\u5c3d\u4e4b\u524d): %s (%s/%s)<br>
-Comparison.Prefix.PostSimulation=\u6a21\u62df\u540e,\u0020
-Comparison.Prefix.PostSimulationTime=\u6a21\u62df\u65f6\u95f4:\u0020
-Comparison.Prefix.Prebreak=\u5728\u7b2c\u4e00\u4e2a\u5143\u4ef6\u635f\u574f\u4e4b\u524d,\u0020
-Comparison.Prefix.PrebreakTime=\u7b2c\u4e00\u6b21\u5143\u4ef6\u635f\u574f\u7684\u65f6\u95f4:\u0020
-Comparison.Prefix.Predeplete=\u5728\u7b2c\u4e00\u4e2a\u71c3\u6599\u68d2\u8017\u5c3d\u4e4b\u524d,\u0020
-Comparison.Prefix.PredepleteTime=\u7b2c\u4e00\u4e2a\u71c3\u6599\u68d2\u8017\u5c3d\u65f6\u95f4:\u0020
-Comparison.Prefix.TimeToBelow50=\u8fbe\u5230\u70ed\u91cf\u964d\u81f3 50%% \u4ee5\u4e0b\u7684\u65f6\u95f4 (\u5728\u9ad8\u4e8e 50%% \u4e4b\u540e):\u0020
-Comparison.Prefix.TimeToBurn=\u8fbe\u5230 "\u71c3\u70e7" \u6e29\u5ea6\u7684\u65f6\u95f4:\u0020
-Comparison.Prefix.TimeToEvaporate=\u8fbe\u5230 "\u84b8\u53d1" \u6e29\u5ea6\u7684\u65f6\u95f4:\u0020
-Comparison.Prefix.TimeToHurt=\u8fbe\u5230 "\u4f24\u5bb3" \u6e29\u5ea6\u7684\u65f6\u95f4:\u0020
-Comparison.Prefix.TimeToLava=\u8fbe\u5230 "\u7194\u5316" \u6e29\u5ea6\u7684\u65f6\u95f4:\u0020
-Comparison.Prefix.TimeToXplode=\u8fbe\u5230\u7206\u70b8\u7684\u65f6\u95f4:\u0020
-Comparison.SimpleDecimalFormat=#,##0.##
-Comparison.Time.Both=%+,d \u79d2 (%d/%d)<br>
-Comparison.Time.BothColored=<font color="%s">%+,d</font> \u79d2 (%d/%d)<br>
-Comparison.Time.LeftOnly=%d/\u221e<br>
-Comparison.Time.RightOnly=\u221e/%d<br>
-Comparison.VentCooling=\u6563\u70ed\u7247\u51b7\u5374: %s (%s/%s)<br>
-Comparison.VentCoolingPossible=\u53ef\u80fd\u7684\u6563\u70ed\u7247\u51b7\u5374: %s (%s/%s)<br>
-
-# ComponentData keys are for providing extra details in the tooltips for the component palette.
-# Suggested by kekzdealer in Pull Request: https://github.com/MauveCloud/Ic2ExpReactorPlanner/pull/67
-# but heavily modified since.
-
-ComponentData.AdvancedHeatExchanger=\u70ed\u5bb9\u91cf: 10,000 <br> \u53cd\u5e94\u5806\u70ed\u4ea4\u6362\u7387: 8 heat/s <br> \u5143\u4ef6\u70ed\u4ea4\u6362\u7387: 24 heat/s
-ComponentData.AdvancedHeatVent=\u70ed\u5bb9\u91cf: 1,000 <br> \u81ea\u6563\u70ed\u7387: 12 heat/s
-ComponentData.ComponentHeatExchanger=\u70ed\u5bb9\u91cf: 5,000 <br> \u5143\u4ef6\u70ed\u4ea4\u6362\u7387: 36 heat/s
-ComponentData.ComponentHeatVent=\u5143\u4ef6\u51b7\u5374\u901f\u5ea6: 4 heat/s
-ComponentData.ContainmentReactorPlating=\u964d\u4f4e\u7206\u70b8\u8303\u56f4
-ComponentData.CoolantCell10k=\u70ed\u5bb9\u91cf: 10,000
-ComponentData.CoolantCell180kHelium=\u70ed\u5bb9\u91cf: 180,000
-ComponentData.CoolantCell180kNak=\u70ed\u5bb9\u91cf: 180,000
-ComponentData.CoolantCell30k=\u70ed\u5bb9\u91cf: 30,000
-ComponentData.CoolantCell360kHelium=\u70ed\u5bb9\u91cf: 360,000
-ComponentData.CoolantCell360kNak=\u70ed\u5bb9\u91cf: 360,000
-ComponentData.CoolantCell60k=\u70ed\u5bb9\u91cf: 60,000
-ComponentData.CoolantCell60kHelium=\u70ed\u5bb9\u91cf: 60,000
-ComponentData.CoolantCell60kNak=\u70ed\u5bb9\u91cf: 60,000
-ComponentData.DualFuelRodCesium=\u6301\u7eed\u65f6\u95f4: 10,861 \u79d2 <br>\u4ea7\u51fa EU: 40/60/80/100/120 <br> \u4ea7\u751f\u70ed\u91cf: 6/12/20/30/42
-ComponentData.DualFuelRodCoaxium=\u6301\u7eed\u65f6\u95f4: 20,000 \u79d2 <br>\u4ea7\u51fa EU: 20/30/40/50/60 <br> \u4ea7\u751f\u70ed\u91cf: 0
-ComponentData.DualFuelRodMox=\u6301\u7eed\u65f6\u95f4: 10,000 \u79d2 <br>\u4ea7\u51fa EU: [20,100)/[30,150)/[40,200)/[50,250)/[60,300) - \u4e0e\u53cd\u5e94\u5806\u6e29\u5ea6\u6210\u7ebf\u6027\u6bd4\u4f8b.<br> EU \u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&lt;=50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 24/48/80/120/168 <br> \u6d41\u4f53\u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&gt;50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 48/96/160/240/336
-ComponentData.DualFuelRodNaquadah=\u6301\u7eed\u65f6\u95f4: 100,000 \u79d2 <br>\u4ea7\u51fa EU: [40,100)/[60,150)/[80,200)/[100,250)/[120,300) - \u4e0e\u53cd\u5e94\u5806\u6e29\u5ea6\u6210\u7ebf\u6027\u6bd4\u4f8b. <br> EU \u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&lt;=50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 24/48/80/120/168 <br> \u6d41\u4f53\u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&gt;50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 48/96/160/240/336
-ComponentData.DualFuelRodThorium=\u6301\u7eed\u65f6\u95f4: 50,000 \u79d2 <br>\u4ea7\u51fa EU: 4/6/8/10/12 <br> \u70ed\u91cf\u4ea7\u751f: 6/12/20/30/42
-ComponentData.DualFuelRodUranium=\u6301\u7eed\u65f6\u95f4: 20,000 \u79d2 <br>\u4ea7\u51fa EU: 20/30/40/50/60 <br> \u4ea7\u751f\u70ed\u91cf: 24/48/80/120/168
-ComponentData.FuelRodCesium=\u6301\u7eed\u65f6\u95f4: 10,861 \u79d2 <br>\u4ea7\u51fa EU: 10/20/30/40/50 <br> \u4ea7\u751f\u70ed\u91cf: 1/3/8/10/15
-ComponentData.FuelRodCoaxium=\u6301\u7eed\u65f6\u95f4: 20,000 \u79d2 <br>\u4ea7\u51fa EU: 5/10/15/20/25 <br> \u4ea7\u751f\u70ed\u91cf: 0
-ComponentData.FuelRodMox=\u6301\u7eed\u65f6\u95f4: 10,000 \u79d2 <br>\u4ea7\u51fa EU: [5,25)/[10,50)/[15,75)/[20,100)/[25,125) - \u4e0e\u53cd\u5e94\u5806\u6e29\u5ea6\u6210\u7ebf\u6027\u6bd4\u4f8b.<br> EU \u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&lt;=50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 4/12/24/40/60 <br> \u6d41\u4f53\u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&gt;50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 8/24/48/80/120
-ComponentData.FuelRodNaquadah=\u6301\u7eed\u65f6\u95f4: 100,000 \u79d2 <br>\u4ea7\u51fa EU: [10,25)/[20,50)/[30,75)/[40,100)/[50,125) - \u4e0e\u53cd\u5e94\u5806\u6e29\u5ea6\u6210\u7ebf\u6027\u6bd4\u4f8b.<br> EU \u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&lt;=50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 4/12/24/40/60 <br> \u6d41\u4f53\u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&gt;50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 8/24/48/80/120
-ComponentData.FuelRodThorium=\u6301\u7eed\u65f6\u95f4: 50,000 \u79d2 <br>\u4ea7\u51fa EU: 1/2/3/4/5 <br> \u4ea7\u751f\u70ed\u91cf: 1/3/8/10/15
-ComponentData.FuelRodUranium=\u6301\u7eed\u65f6\u95f4: 20,000 \u79d2 <br>\u4ea7\u51fa EU: 5/10/15/20/25 <br> \u4ea7\u751f\u70ed\u91cf: 4/12/24/40/60
-ComponentData.HeatCapacityReactorPlating=\u589e\u52a0\u6700\u5927\u70ed\u5bb9\u91cf
-ComponentData.HeatExchanger=\u70ed\u5bb9\u91cf: 2,500 <br> \u53cd\u5e94\u5806\u70ed\u4ea4\u6362\u7387: 4 heat/s <br> \u5143\u4ef6\u70ed\u4ea4\u6362\u7387: 12 heat/s
-ComponentData.HeatVent=\u70ed\u5bb9\u91cf: 1,000 <br> \u81ea\u6563\u70ed\u7387: 6 heat/s
-ComponentData.IridiumNeutronReflector=\u8010\u4e45: \u65e0\u9650
-ComponentData.LzhCondensator=\u70ed\u5bb9\u91cf: 100,000 <br> \u65e0\u6cd5\u88ab\u6563\u70ed\u7247\u51b7\u5374.
-ComponentData.NeutronReflector=\u8010\u4e45: 30,000 (MC 1.7.10 \u4e2d\u4e3a 10,000)
-ComponentData.OverclockedHeatVent=\u70ed\u5bb9\u91cf: 1,000 <br> \u81ea\u6563\u70ed\u7387: 20 heat/s <br> \u51b7\u5374\u901f\u5ea6: 36 heat/s
-ComponentData.QuadFuelRodCesium=\u6301\u7eed\u65f6\u95f4: 10,861 \u79d2 <br>\u4ea7\u51fa EU: 120/160/200/240/280 <br> \u4ea7\u751f\u70ed\u91cf: 24/40/60/84/112
-ComponentData.QuadFuelRodCoaxium=\u6301\u7eed\u65f6\u95f4: 20,000 \u79d2 <br>\u4ea7\u51fa EU: 60/80/100/120/140 <br> \u4ea7\u751f\u70ed\u91cf: 0
-ComponentData.QuadFuelRodMox=\u6301\u7eed\u65f6\u95f4: 10,000 \u79d2 <br>\u4ea7\u51fa EU: [60,300)/[80,400)/[100,500)/[120,600)/[140,700) - \u4e0e\u53cd\u5e94\u5806\u6e29\u5ea6\u6210\u7ebf\u6027\u6bd4\u4f8b.<br> EU \u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&lt;=50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 96/160/240/336/448 <br> \u6d41\u4f53\u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&gt;50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 192/320/480/672/896
-ComponentData.QuadFuelRodNaquadah=\u6301\u7eed\u65f6\u95f4: 100,000 \u79d2 <br>\u4ea7\u51fa EU: [120,300)/[160,400)/[200,500)/[240,600)/[280,700) - \u4e0e\u53cd\u5e94\u5806\u6e29\u5ea6\u6210\u7ebf\u6027\u6bd4\u4f8b.<br> EU \u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&lt;=50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 96/160/240/336/448 <br> \u6d41\u4f53\u53cd\u5e94\u5806\u6a21\u5f0f\u4e0b, \u5f53\u5916\u58f3\u6e29\u5ea6&gt;50%\u65f6\u7684\u4ea7\u70ed\u6548\u7387: 192/320/480/672/896
-ComponentData.QuadFuelRodThorium=\u6301\u7eed\u65f6\u95f4: 50,000 \u79d2 <br>\u4ea7\u51fa EU: 12/16/20/24/28 <br> \u4ea7\u751f\u70ed\u91cf: 24/40/60/84/112
-ComponentData.QuadFuelRodUranium=\u6301\u7eed\u65f6\u95f4: 20,000 \u79d2 <br>\u4ea7\u51fa EU: 60/80/100/120/140 <br> \u4ea7\u751f\u70ed\u91cf: 96/160/240/336/448
-ComponentData.ReactorHeatExchanger=\u70ed\u5bb9\u91cf: 5,000 <br> \u53cd\u5e94\u5806\u70ed\u4ea4\u6362\u7387: 72 heat/s
-ComponentData.ReactorHeatVent=\u70ed\u5bb9\u91cf: 1,000 <br> \u81ea\u6563\u70ed\u7387: 5 heat/s <br> \u51b7\u5374\u901f\u5ea6: 5 heat/s
-ComponentData.ReactorPlating=\u5bc6\u5c01\u53cd\u5e94\u5806\u9694\u70ed\u677f\u4e0e\u9ad8\u70ed\u5bb9\u53cd\u5e94\u5806\u9694\u677f\u7684\u5408\u6210\u6750\u6599
-ComponentData.RshCondensator=\u70ed\u5bb9\u91cf: 20,000 <br> \u65e0\u6cd5\u88ab\u6563\u70ed\u7247\u51b7\u5374.
-ComponentData.ThickNeutronReflector=\u8010\u4e45: 120,000 (MC 1.7.10 \u4e2d\u4e3a 40,000)
-
-# ComponentInfo keys are for updating information about a component during a simulation.
-
-ComponentInfo.BrokeTime=\n %,d \u79d2\u540e\u635f\u574f.
-ComponentInfo.CooldownTime=\n\u51b7\u5374\u4e86 %,d \u79d2.
-ComponentInfo.GeneratedEU=\n\u4ea7\u751f %,.2f \u4e8e %,.2f EU/\u79d2.
-ComponentInfo.GeneratedHeat=\n\u4ea7\u751f %,.0f \u4e8e %,.0f \u70ed\u91cf/\u79d2.
-ComponentInfo.ReachedHeat=\n\u4ea7\u751f %,.0f \u4e8e %,.0f \u70ed\u91cf.
-ComponentInfo.ReceivedHeat=\n\u6700\u591a\u4ea7\u751f %,.0f \u70ed\u91cf/\u79d2
-ComponentInfo.RemainingHeat=\n\u6a21\u62df\u505c\u6b62\u540e, \u8fd8\u5269\u4f59 %,.0f \u70ed\u91cf.
-ComponentInfo.ReplacedTime=\n \u5728 %,d \u79d2\u540e\u88ab\u66ff\u6362.
-ComponentInfo.ResidualHeat=\n\u51b7\u5374\u540e\u8fd8\u6709 %,.0f \u70ed\u91cf.
-ComponentInfo.UsedCooling=\n\u4f7f\u7528 %,.0f \u4e8e %,.0f \u51b7\u5374.
-
-
-# Keys for component names were originally matched to class names, to allow using reflection to look them up.
-# However, refactoring eliminated the "one class for each component type" idea.
-# These keys will be used both in the reactor area and the component selection area.
-
-ComponentName.AdvancedHeatExchanger=\u9ad8\u7ea7\u70ed\u4ea4\u6362\u5668
-ComponentName.AdvancedHeatVent=\u9ad8\u7ea7\u6563\u70ed\u7247
-ComponentName.ComponentHeatExchanger=\u5143\u4ef6\u70ed\u4ea4\u6362\u5668
-ComponentName.ComponentHeatVent=\u5143\u4ef6\u6563\u70ed\u7247
-ComponentName.ContainmentReactorPlating=\u5bc6\u5c01\u53cd\u5e94\u5806\u9694\u70ed\u677f
-ComponentName.CoolantCell10k=10k \u51b7\u5374\u5355\u5143
-ComponentName.CoolantCell180kHelium=180k \u6c26\u51b7\u5374\u5355\u5143
-ComponentName.CoolantCell180kNak=180k \u94a0\u94be\u51b7\u5374\u5355\u5143
-ComponentName.CoolantCell30k=30k \u51b7\u5374\u5355\u5143
-ComponentName.CoolantCell360kHelium=360k \u6c26\u51b7\u5374\u5355\u5143
-ComponentName.CoolantCell360kNak=360k \u94a0\u94be\u51b7\u5374\u5355\u5143
-ComponentName.CoolantCell60k=60k \u51b7\u5374\u5355\u5143
-ComponentName.CoolantCell60kHelium=60k \u6c26\u51b7\u5374\u5355\u5143
-ComponentName.CoolantCell60kNak=60k \u94a0\u94be\u51b7\u5374\u5355\u5143
-ComponentName.DualFuelRodCesium=\u53cc\u8054\u71c3\u6599\u68d2 (\u94ef)
-ComponentName.DualFuelRodCoaxium=\u53cc\u8054\u71c3\u6599\u68d2 (Coaxium)
-ComponentName.DualFuelRodMox=\u53cc\u8054\u71c3\u6599\u68d2 (MOX)
-ComponentName.DualFuelRodNaquadah=\u53cc\u8054\u71c3\u6599\u68d2 (\u7845\u5ca9)
-ComponentName.DualFuelRodThorium=\u53cc\u8054\u71c3\u6599\u68d2 (\u948d)
-ComponentName.DualFuelRodUranium=\u53cc\u8054\u71c3\u6599\u68d2 (\u94c0)
-ComponentName.FuelRodCesium=\u71c3\u6599\u68d2 (\u94ef)
-ComponentName.FuelRodCoaxium=\u71c3\u6599\u68d2 (Coaxium)
-ComponentName.FuelRodMox=\u71c3\u6599\u68d2 (MOX)
-ComponentName.FuelRodNaquadah=\u71c3\u6599\u68d2 (\u7845\u5ca9)
-ComponentName.FuelRodThorium=\u71c3\u6599\u68d2 (\u948d)
-ComponentName.FuelRodUranium=\u71c3\u6599\u68d2 (\u94c0)
-ComponentName.HeatCapacityReactorPlating=\u9ad8\u70ed\u5bb9\u53cd\u5e94\u5806\u9694\u677f
-ComponentName.HeatExchanger=\u70ed\u4ea4\u6362\u5668
-ComponentName.HeatVent=\u6563\u70ed\u7247
-ComponentName.IridiumNeutronReflector=\u94f1\u4e2d\u5b50\u53cd\u5c04\u677f
-ComponentName.LzhCondensator=\u9752\u91d1\u77f3\u51b7\u51dd\u6a21\u5757
-ComponentName.NeutronReflector=\u4e2d\u5b50\u53cd\u5c04\u677f
-ComponentName.OverclockedHeatVent=\u8d85\u9891\u6563\u70ed\u7247
-ComponentName.QuadFuelRodCesium=\u56db\u8054\u71c3\u6599\u68d2 (\u94ef)
-ComponentName.QuadFuelRodCoaxium=\u56db\u8054\u71c3\u6599\u68d2 (Coaxium)
-ComponentName.QuadFuelRodMox=\u56db\u8054\u71c3\u6599\u68d2 (MOX)
-ComponentName.QuadFuelRodNaquadah=\u56db\u8054\u71c3\u6599\u68d2 (\u7845\u5ca9)
-ComponentName.QuadFuelRodThorium=\u56db\u8054\u71c3\u6599\u68d2 (\u948d)
-ComponentName.QuadFuelRodUranium=\u56db\u8054\u71c3\u6599\u68d2 (\u94c0)
-ComponentName.ReactorHeatExchanger=\u53cd\u5e94\u5806\u70ed\u4ea4\u6362\u5668
-ComponentName.ReactorHeatVent=\u53cd\u5e94\u5806\u6563\u70ed\u7247
-ComponentName.ReactorPlating=\u53cd\u5e94\u5806\u9694\u677f
-ComponentName.RshCondensator=\u7ea2\u77f3\u51b7\u51dd\u6a21\u5757
-ComponentName.ThickNeutronReflector=\u52a0\u539a\u4e2d\u5b50\u53cd\u5c04\u677f
-
-ComponentTooltip.Broken=\u4e0a\u6b21\u6a21\u62df\u65f6\u5df2\u635f\u574f
-ComponentTooltip.ResidualHeat=\u4e0a\u6b21\u6a21\u62df\u540e\u6709\u4f59\u70ed
-
-Config.CSVCheckbox=\u8f93\u51fa CSV \u6570\u636e
-Config.CSVLimit=\u6a21\u62df\u79d2\u6570:
-Config.EUReactor=EU \u53cd\u5e94\u5806
-Config.FluidReactor=\u6d41\u4f53\u53cd\u5e94\u5806
-Config.InitialComponentHeat=\u521d\u59cb\u70ed\u91cf:
-Config.NoComponentSelected=\u672a\u9009\u62e9\u5143\u4ef6
-Config.OffPulse=\u8109\u51b2\u7684\u5173\u95ed\u6301\u7eed\u65f6\u95f4:
-Config.OnPulse=\u8109\u51b2\u7684\u5f00\u542f\u6301\u7eed\u65f6\u95f4:
-Config.PlacingReactorPause=\u53cd\u5e94\u5806\u6682\u505c:
-Config.PlacingReplacementThreshold=\u9608\u503c:
-Config.PulseHelp=(\u53ef\u4ee5\u5c06\u8109\u51b2\u7684\u5f00\u542f\u6301\u7eed\u65f6\u95f4\u8bbe\u7f6e\u4e3a 5,000,000 \u4ee5\u6a21\u62df\u6ca1\u6709\u7ea2\u77f3\u8ba1\u65f6\u7684\u60c5\u51b5)
-Config.ReactorCoolantInjectors=\u4f7f\u7528\u53cd\u5e94\u5806\u51b7\u5374\u6db2\u6ce8\u5165\u5668 (\u4ec5\u9650 MC 1.8 \u4ee5\u4e0a)
-Config.ReactorPause=\u53cd\u5e94\u5806\u6682\u505c (\u79d2):
-Config.ReactorPauseHelp=<html>(\u8fd9\u662f\u53cd\u5e94\u5806\u5728\u66f4\u6362\u8be5\u5143\u4ef6\u65f6\u6682\u505c\u7684\u65f6\u95f4)</html>
-Config.ReplacementThreshold=\u66f4\u6362\u9608\u503c:
-Config.ReplacementThresholdHelp=<html>(\u8bbe\u7f6e\u4e3a\u9ad8\u4e8e\u5143\u4ef6\u7684\u521d\u59cb\u70ed\u91cf/\u635f\u574f\u503c, \u4ee5\u5728\u5143\u4ef6\u8fc7\u70ed/\u635f\u574f\u65f6\u66f4\u6362\u8be5\u5143\u4ef6, \u6216\u8bbe\u7f6e\u4e3a\u4f4e\u4e8e\u5143\u4ef6\u7684\u521d\u59cb\u70ed\u91cf/\u635f\u574f\u503c, \u4ee5\u66f4\u6362\u5df2\u51b7\u5374\u7684\u5143\u4ef6; \u65e0\u8bba\u6b64\u8bbe\u7f6e\u5982\u4f55, \u5728\u81ea\u52a8\u5316\u8fd0\u884c\u671f\u95f4, \u90fd\u5c06\u66f4\u6362\u635f\u574f\u7684\u5143\u4ef6)</html>
-Config.ResumeTemp=\u6062\u590d\u53cd\u5e94\u5806 \u5f53\u5806\u6e29 <=
-# Same language string should be usable anywhere "seconds" appears.
-Config.Seconds=\u79d2
-Config.SimulationStyle=\u6a21\u62df\u6837\u5f0f:
-Config.SuspendTemp=\u6682\u505c\u53cd\u5e94\u5806 \u5f53\u5806\u6e29 >=
-Config.SuspendTempHelp=(\u53ef\u4ee5\u5c06\u4e24\u4e2a\u6e29\u5ea6\u8bbe\u7f6e\u4e3a\u4e0e\u7206\u70b8\u6e29\u5ea6\u5339\u914d, \u4ee5\u6a21\u62df\u6ca1\u6709\u6e29\u5ea6\u63a7\u5236\u7684\u60c5\u51b5)
-
-CSVData.EntryComponentValue=,"%.2f"
-CSVData.EntryComponentOutput=,%.0f
-CSVData.EntryCoreHeat=,%.0f
-CSVData.EntryEUOutput=,"%.2f"
-CSVData.EntryHUOutput=,%.0f
-CSVData.EntryReactorTick=%d
-CSVData.HeaderComponentName=,%s (R%dC%d)
-CSVData.HeaderComponentOutput=,%s (R%dC%d) \u8f93\u51fa
-CSVData.HeaderCoreHeat=,\u5806\u82af\u70ed\u91cf
-CSVData.HeaderEUOutput=,EU \u8f93\u51fa
-CSVData.HeaderHUOutput=,HU \u8f93\u51fa
-CSVData.HeaderReactorTick=\u53cd\u5e94\u5806\u65f6\u95f4
-
-MaterialName.AdvancedAlloy=\u9ad8\u7ea7\u5408\u91d1
-MaterialName.AdvancedCircuit=\u9ad8\u7ea7\u7535\u8def\u677f
-MaterialName.Aluminium=\u94dd
-MaterialName.BasicCircuit=\u57fa\u7840\u7535\u8def
-MaterialName.Beryllium=\u94cd
-MaterialName.Bronze=\u9752\u94dc
-MaterialName.CesiumFuel=\u5bcc\u96c6\u94ef\u6838\u71c3\u6599
-MaterialName.Coal=\u7164
-MaterialName.CoaxiumFuel=\u5bcc\u96c6 Coaxium \u6838\u71c3\u6599
-MaterialName.Copper=\u94dc
-MaterialName.Diamond=\u94bb\u77f3
-MaterialName.DistilledWater=\u84b8\u998f\u6c34
-MaterialName.EmptyCell=\u7a7a\u5355\u5143
-MaterialName.EnrichedNaquadah=\u5bcc\u96c6\u7845\u5ca9
-MaterialName.Glass=\u73bb\u7483
-MaterialName.GlowstoneDust=\u8424\u77f3\u7c89
-MaterialName.Gold=\u91d1
-MaterialName.Graphite=\u77f3\u58a8
-MaterialName.Helium==\u6c26
-MaterialName.Iridium=\u94f1
-MaterialName.IridiumReinforcedPlate=\u5f3a\u5316\u94f1\u677f
-MaterialName.Iron=\u94c1
-MaterialName.LapisLazuli=\u9752\u91d1\u77f3
-MaterialName.Lead=\u94c5
-MaterialName.MoxFuel=MOX \u71c3\u6599
-MaterialName.Potassium=\u94be
-MaterialName.Redstone=\u7ea2\u77f3
-MaterialName.Rubber=\u6a61\u80f6
-MaterialName.Sodium=\u94a0
-MaterialName.Thorium=\u948d
-MaterialName.Tin=\u9521
-MaterialName.UraniumFuel=\u94c0\u71c3\u6599
-
-# %s at the end of this string is for optionally showing the range of active time.
-Simulation.ActiveTime=\u53cd\u5e94\u5806\u5904\u4e8e\u542f\u52a8\u72b6\u6001\u7684\u65f6\u95f4\u603b\u8ba1 %,d \u79d2 %s .\n
-Simulation.ActiveTimeRange=\u0020(%,d \u5230 %,d \u79d2\u4e00\u6b21)
-Simulation.ActiveTimeSingle=\u0020(%,d \u79d2\u4e00\u6b21)
-Simulation.CancelledAtTick=\u6a21\u62df %,d \u79d2\u540e\u53d6\u6d88\u6a21\u62df.\n
-Simulation.ComponentHeating=\u5143\u4ef6\u4ea7\u70ed: \u5e73\u5747: %.2f .\n
-Simulation.ComponentsReplaced=\u66f4\u6362\u7684\u5143\u4ef6:\n%s
-Simulation.CSVOpenFailure=\u65e0\u6cd5\u6253\u5f00 CSV \u6587\u4ef6\u8fdb\u884c\u8f93\u51fa.\n
-Simulation.CycleCompleteTime=%,d \u79d2\u540e\u5faa\u73af\u5b8c\u6210.\n
-# This will be used to optionally show extra precision, in format strings where %s is used when %.2f might otherwise be expected.
-Simulation.DecimalFormat=#,##0.##
-Simulation.Efficiency=\u6548\u7387: \u5e73\u5747: %.2f , \u6700\u5c0f: %.2f , \u6700\u5927: %.2f \n
-Simulation.ElapsedTime=\u6a21\u62df\u8017\u65f6 %.2f \u79d2.\n
-Simulation.ErrorCooldown=\u9519\u8bef %,d \u6a21\u62df\u51b7\u5374\u65f6\u95f4.\n
-Simulation.ErrorReactor=\u6a21\u62df\u53cd\u5e94\u5806\u542f\u52a8\u7684 %d \u79d2\u540e\u53d1\u751f\u9519\u8bef\n
-Simulation.EUOutputs=\u5b8c\u6210\u6a21\u62df\u540e\u7684\u603b\u8f93\u51fa: %s EU (\u5e73\u5747: %s EU/t, \u6700\u5c0f: %s EU/t, \u6700\u5927: %s EU/t)\n
-Simulation.EUOutputsBeforeDepleted=\u7b2c\u4e00\u6839\u71c3\u6599\u68d2\u8017\u5c3d\u524d\u7684\u603b\u8f93\u51fa: %s EU (\u5e73\u5747: %s EU/t, \u6700\u5c0f: %s EU/t, \u6700\u5927: %s EU/t)\n
-Simulation.EUOutputsBeforeBreak=\u4e00\u4e2a\u5143\u4ef6\u635f\u574f\u524d\u7684\u603b\u8f93\u51fa: %s EU (\u5e73\u5747: %s EU/t, \u6700\u5c0f: %s EU/t, \u6700\u5927: %s EU/t)\n
-Simulation.ExcessCooling=\u8fc7\u51b7: %.2f\n
-Simulation.ExcessHeating=\u8fc7\u70ed: %.2f\n
-Simulation.ExplosionPower=\u7206\u70b8\u5a01\u529b: %,.2f\n
-Simulation.FirstComponentBrokenDetails=\u7b2c\u4e00\u4e2a\u5143\u4ef6\u635f\u574f: %s \u7b2c %d \u884c %d \u5217, \u7528\u4e86 %d \u79d2.\n
-Simulation.FirstRodDepletedDetails=\u7b2c\u4e00\u6839\u71c3\u6599\u68d2\u8017\u5c3d: %s \u7b2c %d \u884c %d \u5217, \u7528\u4e86 %d \u79d2.\n
-Simulation.FuelRodsTime=\u71c3\u6599\u68d2 (\u5982\u679c\u6709) \u5728 %,d \u79d2\u540e\u505c\u6b62.\n
-Simulation.HeatOutputs=\u5b8c\u5168\u6a21\u62df\u540e\u7684\u603b\u8f93\u51fa: %s HU (\u5e73\u5747: %s HU/t, \u6700\u5c0f: %s HU/t, \u6700\u5927: %s HU/t)\n
-Simulation.HeatOutputsBeforeBreak=\u7b2c\u4e00\u4e2a\u5143\u4ef6\u635f\u574f\u4e4b\u524d\u7684\u603b\u8f93\u51fa: %s HU (\u5e73\u5747: %s HU/t, \u6700\u5c0f: %s HU/t, \u6700\u5927: %s HU/t)\n
-Simulation.HeatOutputsBeforeDepleted=\u5728\u7b2c\u4e00\u4e2a\u71c3\u6599\u68d2\u8017\u5c3d\u4e4b\u524d\u7684\u603b\u8f93\u51fa: %s HU (\u5e73\u5747: %s HU/t, \u6700\u5c0f: %s HU/t, \u6700\u5927: %s HU/t)\n
-Simulation.HullCooling=\u53cd\u5e94\u5806\u51b7\u5374: %,.2f \u5e73\u5747\u4e8e %,.0f \u53ef\u80fd\u503c.\n
-Simulation.HullHeating=\u53cd\u5e94\u5806\u4ea7\u70ed: \u5e73\u5747: %,.2f .\n
-Simulation.InactiveTime=\u53cd\u5e94\u5806\u5904\u4e8e\u505c\u6b62\u72b6\u6001\u7684\u65f6\u95f4\u603b\u8ba1 %,d \u79d2 %s .\n
-Simulation.InactiveTimeRange=\u0020(%,d \u5230 %,d \u79d2\u4e00\u6b21)
-Simulation.InactiveTimeSingle=\u0020(%,d \u79d2\u4e00\u6b21)
-Simulation.LapisUsed=\u7528\u4e86 %d \u5757\u9752\u91d1\u77f3.\n
-Simulation.MaxHeatGenerated=\u4ea7\u751f\u7684\u6700\u5927\u70ed\u91cf (\u5185\u90e8, \u7531\u71c3\u6599\u68d2\u4ea7\u751f): %,.0f\n
-Simulation.NoCooldown=\u4e0d\u9700\u8981\u51b7\u5374.\n
-Simulation.NoFuelRods=\u6ca1\u6709\u627e\u5230\u71c3\u6599\u68d2! \u6a21\u62df\u8109\u51b2\u5faa\u73af\u65e0\u610f\u4e49!
-Simulation.ReactorCooldownTime=\u53cd\u5e94\u5806\u51b7\u5374\u65f6\u95f4\u4e3a %,d \u79d2.\n
-Simulation.ReactorHeatBuildup=\u6bcf\u79d2\u53cd\u5e94\u5806\u70ed\u91cf\u7d2f\u79ef (\u6240\u6709\u5143\u4ef6\u90fd\u5b8c\u597d\u65f6): \u6700\u5c0f: %,.0f , \u6700\u5927: %,.0f .\n
-Simulation.ReactorMaxTemp=\u53cd\u5e94\u5806\u6700\u9ad8\u6e29\u5ea6: %,.0f\n
-Simulation.ReactorMaxTempBeforeDepleted=\u53cd\u5e94\u5806\u6700\u9ad8\u6e29\u5ea6 (\u7b2c\u4e00\u4e2a\u71c3\u6599\u68d2\u8017\u5c3d\u4e4b\u524d): %,.0f\n
-Simulation.ReactorMinTemp=\u53cd\u5e94\u5806\u6700\u4f4e\u6e29\u5ea6: %,.0f\n
-Simulation.ReactorMinTempBeforeDepleted=\u53cd\u5e94\u5806\u6700\u4f4e\u6e29\u5ea6 (\u7b2c\u4e00\u4e2a\u71c3\u6599\u68d2\u8017\u5c3d\u4e4b\u524d): %,.0f\n
-Simulation.ReactorOverheatedTime=\u53cd\u5e94\u5806\u5728 %,d \u79d2\u65f6\u8fc7\u70ed.\n
-Simulation.ReactorRemainingHeat=\u6a21\u62df\u5b8c\u6210\u540e, \u53cd\u5e94\u5806\u7684\u70ed\u91cf\u4fdd\u6301\u5728 %,.0f .\n
-Simulation.ReactorResidualHeat=\u53cd\u5e94\u5806\u5728\u51b7\u5374 %,d \u79d2\u540e\u70ed\u91cf\u4ecd\u4fdd\u6301\u5728 %,.0f .\n
-Simulation.RedstoneUsed=\u4f7f\u7528\u4e86 %d \u5757\u7ea2\u77f3.\n
-Simulation.Started=\u6a21\u62df\u5f00\u59cb.\n
-Simulation.TimeToBelow50=\u53cd\u5e94\u5806\u70ed\u91cf\u5c06\u4f1a\u5728 %d \u79d2\u540e\u9996\u6b21\u964d\u81f3 50%% \u4ee5\u4e0b (\u5728\u9ad8\u4e8e 50%% \u4e4b\u540e).\n
-Simulation.TimeToBurn=\u53cd\u5e94\u5806\u5c06\u5728 %d \u79d2\u540e\u8fbe\u5230"\u71c3\u70e7"\u6e29\u5ea6.\n
-Simulation.TimeToEvaporate=\u53cd\u5e94\u5806\u5c06\u5728 %d \u79d2\u540e\u8fbe\u5230"\u84b8\u53d1"\u6e29\u5ea6.\n
-Simulation.TimeToHurt=\u53cd\u5e94\u5806\u5c06\u5728 %d \u79d2\u540e\u8fbe\u5230"\u4f24\u5bb3"\u6e29\u5ea6.\n
-Simulation.TimeToLava=\u53cd\u5e94\u5806\u5c06\u5728 %d \u79d2\u540e\u8fbe\u5230"\u7194\u5316"\u6e29\u5ea6.\n
-# Note: The "e" is deliberately dropped from "Explode" in the key name so that it will sort after the others.
-Simulation.TimeToXplode=\u53cd\u5e94\u5806\u5c06\u5728 %d \u79d2\u5185\u7206\u70b8.\n
-Simulation.TimeWithoutExploding=\n\u53cd\u5e94\u5806\u8fd0\u884c %,d \u79d2\u540e\u6ca1\u6709\u7206\u70b8.\n
-Simulation.TotalCellCooling=\u603b\u71c3\u6599\u68d2\u51b7\u5374 (\u5cf0\u503c\u4f7f\u7528): %,.2f\n
-Simulation.TotalCondensatorCooling=\u51b7\u51dd\u5668\u603b\u51b7\u5374\u91cf (\u5cf0\u503c\u4f7f\u7528\u91cf): %,.2f\n
-Simulation.TotalCooldownTime=\u5176\u4ed6\u5143\u4ef6\u9700\u8981 %,d \u79d2\u6765\u51b7\u5374 (\u5c3d\u53ef\u80fd\u591a\u7684\u65f6\u95f4).\n
-Simulation.TotalVentCooling=\u603b\u7a7a\u6c14\u51b7\u5374 (\u5cf0\u503c\u7528\u6cd5, \u7406\u8bba\u6700\u5927\u503c): %,.2f \u4e8e %,.2f\n
-Simulation.VentCooling=\u6563\u70ed\u7247\u51b7\u5374: %,.2f \u5e73\u5747\u4e8e %,.0f \u53ef\u80fd\u503c.\n
-
-UI.AdvancedTab=\u9ad8\u7ea7
-#Needs to be heavily abbreviated to fit on the button.
-UI.AutomateButton=a
-UI.AutomateButtonFont=Arial 10
-UI.AutomatedReactor=\u81ea\u52a8\u5316\u53cd\u5e94\u5806
-UI.AutomationTooltip=\u5355\u51fb\u6b64\u5904\u53ef\u5b9a\u4e49\u6b64\u5143\u4ef6\u7684\u81ea\u52a8\u5316\u89c4\u5219.
-UI.CancelButton=\u53d6\u6d88
-UI.ChosenComponentRowCol=%s \u7b2c %d \u884c %d \u5217
-UI.ClearGridButton=\u6e05\u9664
-UI.CodeLabel=\u4ee3\u7801:
-UI.ComparisonTab=\u6bd4\u8f83\u65b9\u5f0f
-UI.ComponentAutomationTab=\u5143\u4ef6\u81ea\u52a8\u5316
-#Needs to be heavily abbreviated to fit on the button.
-UI.ComponentInfoButton=i
-UI.ComponentInfoButtonFont=Arial 10
-UI.ComponentInfoButtonTooltip=\u5355\u51fb\u4ee5\u83b7\u53d6\u6709\u5173\u6b64\u5143\u4ef6\u7684\u4fe1\u606f
-UI.ComponentInfoDefault=\u8bf7\u8fd0\u884c\u6a21\u62df\u5e76\u9009\u62e9\u4e0a\u9762\u53cd\u5e94\u5806\u7f51\u683c\u4e2d\u7684\u5143\u4ef6\u4ee5\u67e5\u770b\u5176\u8be6\u7ec6\u4fe1\u606f.
-UI.ComponentInfoLastSimRowCol=%s \u7b2c %d \u884c %d \u5217\n%s
-UI.ComponentListTab=\u5143\u4ef6\u6e05\u5355
-UI.ComponentPlacingDefault=\u653e\u7f6e\u5143\u4ef6: \u65e0
-UI.ComponentPlacingSpecific=\u653e\u7f6e\u5143\u4ef6: %s
-UI.ComponentTab=\u5143\u4ef6
-UI.CopyCodeButton=\u590d\u5236\u4ee3\u7801
-UI.CopyComparisonData=\u590d\u5236\u6bd4\u8f83\u6570\u636e
-UI.CSVBrowseButton=\u6d4f\u89c8
-UI.CSVFileDefault=\u672a\u9009\u62e9\u6587\u4ef6
-UI.CSVHelp=<html>\u8b66\u544a:<ol><li>\u542f\u7528 CSV \u8f93\u51fa\u540e, \u6a21\u62df\u8fd0\u884c\u53ef\u80fd\u4f1a\u6162\u5f97\u591a, \u5c24\u5176\u662f\u6240\u9009\u6587\u4ef6\u4f4d\u4e8e\u673a\u68b0\u786c\u76d8\u4e0a\u65f6.</li><li>\u7528\u6237\u5e94\u786e\u4fdd\u76ee\u6807\u9a71\u52a8\u5668\u6709\u8db3\u591f\u7684\u7a7a\u95f4\u5bb9\u7eb3 CSV \u6587\u4ef6.</li><li>\u9664\u975e\u624b\u52a8\u66f4\u6539\u76ee\u6807, \u5426\u5219\u5176\u4ed6\u6a21\u62df\u5c06\u8986\u76d6 CSV \u6587\u4ef6.</li></ol></html>
-UI.CSVTab=CSV
-UI.EnableGT508Components=\u542f\u7528 GT 5.08 \u5143\u4ef6
-UI.EnableGT509Components=\u542f\u7528 GT 5.09 \u5143\u4ef6
-UI.ExpandAdvancedAlloy=\u5c06\u9ad8\u7ea7\u5408\u91d1\u6269\u5c55\u6210\u5143\u4ef6\u6750\u6599 (\u4f7f\u7528\u683c\u96f7\u79d1\u6280\u65f6\u65e0\u6548)
-UI.GregTechVersion=\u683c\u96f7\u79d1\u6280 \u7248\u672c:
-UI.GregTechVersionNone=\u65e0
-UI.GT509ReactorBehavior=\u4f7f\u7528 GT 5.09 \u53cd\u5e94\u5806\u7279\u6027 (\u71c3\u6599\u68d2\u4ea7\u751f 2 \u500d\u7684\u57fa\u672c EU \u751f\u6210\u91cf, \u65e0\u8bba\u6b64\u8bbe\u7f6e\u5982\u4f55, \u53ea\u9002\u7528\u4e8e GT 5.09 \u7684\u71c3\u6599\u68d2)
-UI.InitialHeatDisplay=\u0020(\u521d\u59cb\u70ed\u91cf: %,d)
-UI.InitialReactorHeat=\u53cd\u5e94\u5806\u521d\u59cb\u70ed\u91cf:
-UI.LockInTabCode=\u9501\u5b9a\u9009\u9879\u5361\u4ee3\u7801
-UI.MainTitle=\u5de5\u4e1a2 \u5b9e\u9a8c\u7248 \u6838\u7535\u6a21\u62df\u5668
-UI.MaterialDecimalFormat=#,##0.##
-UI.MaterialsTab=\u6750\u6599
-UI.MaxHeatDefault=/10,000
-UI.MaxHeatSpecific=/%,.0f
-UI.MaxSimulationTicks=\u6700\u5927\u6a21\u62df\u65f6\u95f4:
-UI.MaxSimulationTicksTooltip=\u5373\u4f7f\u53cd\u5e94\u5806\u6ca1\u6709\u7206\u70b8\u6216\u505c\u6b62\u8f93\u51fa HU \u6216 EU, \u5728\u957f\u65f6\u95f4\u6a21\u62df\u540e, \u4e5f\u4f1a\u8feb\u4f7f\u6a21\u62df\u505c\u6b62\u3002
-UI.MinecraftVersion=Minecraft \u7248\u672c:
-UI.NoComponentLastSimRowCol=\u5728\u4e0a\u6b21\u6a21\u62df\u671f\u95f4\u7b2c %d \u884c %d \u5217 \u6ca1\u6709\u5143\u4ef6.
-UI.NoComponentRowCol=\u7b2c %d \u884c %d \u5217 \u6ca1\u6709\u5143\u4ef6.
-UI.NoSimulationRun=\u5c1a\u672a\u8fd0\u884c\u6a21\u62df.
-UI.OnlyShowDiffData=\u53ea\u663e\u793a\u660e\u663e\u4e0d\u540c\u7684\u6570\u636e
-UI.PasteCodeButton=\u7c98\u8d34\u4ee3\u7801
-UI.PulseConfigurationTab=\u8109\u51b2\u914d\u7f6e
-UI.PulsedReactor=\u8109\u51b2\u578b\u53cd\u5e94\u5806
-UI.RemoveAddonComponentsTitle=\u627e\u5230\u9644\u52a0\u5143\u4ef6
-UI.RemoveGT508ComponentsText=\u5f53\u524d\u8bbe\u8ba1\u4e2d\u53d1\u73b0 GT 5.08 \u7684\u5143\u4ef6\u3002\u662f\u5426\u79fb\u9664\u5b83\u4eec?
-UI.RemoveGT509ComponentsText=\u5f53\u524d\u8bbe\u8ba1\u4e2d\u53d1\u73b0 GT 5.09 \u7684\u5143\u4ef6\u3002\u662f\u5426\u79fb\u9664\u5b83\u4eec?
-UI.ResetPulseConfig=\u91cd\u7f6e\u8109\u51b2\u914d\u7f6e
-UI.ShowComponentDetailButtons=\u663e\u793a\u5143\u4ef6\u8be6\u7ec6\u4fe1\u606f\u6309\u94ae
-UI.ShowComponentPreconfigControls=\u663e\u793a\u5143\u4ef6\u9884\u914d\u7f6e\u63a7\u4ef6
-UI.ShowOldStyleReactorCode=\u663e\u793a\u65e7 (2.3.1 \u4e4b\u524d\u7248\u672c) \u53cd\u5e94\u5806\u4ee3\u7801
-UI.SimulateButton=\u6a21\u62df
-UI.SimulationTab=\u6a21\u62df
-UI.SimulationTypeAutomation=\u8109\u51b2\u81ea\u52a8\u5316
-UI.SimulationTypePulsed=\u8109\u51b2\u578b\u5faa\u73af
-UI.SimulationTypeSimple=\u7b80\u5355\u578b\u5faa\u73af
-UI.TemperatureEffectsDefault=\u71c3\u70e7: 4,000 \u84b8\u53d1: 5,000 \u4f24\u5bb3: 7,000 \u7194\u5316: 8,500 \u7206\u70b8: 10,000
-UI.TemperatureEffectsSpecific=\u71c3\u70e7: %,d \u84b8\u53d1: %,d \u4f24\u5bb3: %,d \u7194\u5316: %,d \u7206\u70b8: %,d
-UI.TexturePackBrowseButton=\u6d4f\u89c8
-UI.TexturePackClearButton=\u6e05\u9664
-UI.TexturePackDefault=\u6750\u8d28\u5305: \u672a\u9009\u62e9\u6587\u4ef6
-UI.TexturePackHelp=(\u91cd\u65b0\u542f\u52a8\u6a21\u62df\u5668\u4ee5\u67e5\u770b\u65b0\u6750\u8d28)
-UI.TexturePackSpecific=\u6750\u8d28\u5305: %s
-UI.UseGTRecipes=\u4f7f\u7528\u683c\u96f7\u79d1\u6280\u914d\u65b9\u5236\u4f5c\u5143\u4ef6\u6750\u6599 (\u5982\u9002\u7528\u4e14\u660e\u786e)
-UI.UseUfcForCoolantCells=\u4f7f\u7528\u901a\u7528\u6d41\u4f53\u5355\u5143\u4f5c\u4e3a\u51b7\u5374\u5242 (\u4e0e\u683c\u96f7\u79d1\u6280\u914d\u65b9\u4e0d\u517c\u5bb9)
-UI.VersionNumber=\u7248\u672c %s
-
-Warning.DepletedIsotope=\u5220\u9664\u4e86 (\u8fd1\u8870\u53d8\u94c0\u68d2) \u4f4d\u4e8e\u7b2c %d \u884c %d \u5217.\n
-Warning.DualPlutonium=\u5220\u9664\u4e86 (\u53cc\u8054\u71c3\u6599\u68d2 (\u949a)) \u4f4d\u4e8e\u7b2c %d \u884c %d \u5217.\n
-Warning.Heating=\u5220\u9664\u4e86 (\u52a0\u70ed\u5143\u4ef6) \u4f4d\u4e8e\u7b2c %d \u884c %d \u5217.\n
-Warning.InvalidReactorCode=\u65e0\u6548\u7684\u53cd\u5e94\u5806\u4ee3\u7801: %s
-Warning.Plutonium=\u5220\u9664\u4e86 (\u71c3\u6599\u68d2 (\u949a)) \u4f4d\u4e8e\u7b2c %d \u884c %d \u5217.\n
-Warning.QuadPlutonium=\u5220\u9664\u4e86 (\u56db\u8054\u71c3\u6599\u68d2 (\u949a)) \u4f4d\u4e8e\u7b2c %d \u884c %d \u5217.\n
-Warning.Title=\u8b66\u544a
-Warning.Unrecognized=\u5220\u9664\u4e86\u65e0\u6cd5\u8bc6\u522b\u7684\u5143\u4ef6 (id %d) \u4f4d\u4e8e\u7b2c %d \u884c %d \u5217.\n
diff --git a/src/main/java/Ic2ExpReactorPlanner/MaterialsList.java b/src/main/java/Ic2ExpReactorPlanner/MaterialsList.java
deleted file mode 100644
index e798f2d44f..0000000000
--- a/src/main/java/Ic2ExpReactorPlanner/MaterialsList.java
+++ /dev/null
@@ -1,302 +0,0 @@
-package Ic2ExpReactorPlanner;
-
-import static Ic2ExpReactorPlanner.BundleHelper.getI18n;
-import Ic2ExpReactorPlanner.components.ReactorItem;
-import java.text.DecimalFormat;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-/**
- * Represents a list of materials (such as for an IndustrialCraft2 Nuclear Reactor and components).
- * @author Brian McCloud
- */
-public final class MaterialsList {
-
- private final SortedMap<String, Double> materials = new TreeMap<>();
-
- private static boolean useGTRecipes = false;
- private static boolean useUfcForCoolantCells = false;
- private static boolean expandAdvancedAlloy = false;
- private static String gtVersion = "none";
-
- // pre-load localized material names as constants to make code more readable.
- public static final String ALUMINIUM = getI18n("MaterialName.Aluminium");
- public static final String BERYLLIUM = getI18n("MaterialName.Beryllium");
- public static final String BRONZE = getI18n("MaterialName.Bronze");
- public static final String CALLISTOICEDUST = getI18n("MaterialName.CallistoIceDust");
- public static final String CESIUM = getI18n("MaterialName.CesiumFuel");
- public static final String COAL = getI18n("MaterialName.Coal");
- public static final String COAXIUM = getI18n("MaterialName.CoaxiumFuel");
- public static final String COPPER = getI18n("MaterialName.Copper");
- public static final String DIAMOND = getI18n("MaterialName.Diamond");
- public static final String DISTILLED_WATER = getI18n("MaterialName.DistilledWater");
- // Since GT 5.09 allows different materials for making the "empty cell" (steel, tin, or PTFE), it is treated as a primitive material for GT recipes instead of a crafted item that can be further broken down.
- public static final String EMPTY_CELL = getI18n("MaterialName.EmptyCell");
- public static final String ENRICHEDNAQUADAH = getI18n("MaterialName.EnrichedNaquadah");
- public static final String FLUXEDELECTRUM = getI18n("MaterialName.FluxedElectrum");//too long
- public static final String GOLD = getI18n("MaterialName.Gold");
- public static final String GRAPHITE = getI18n("MaterialName.Graphite");
- public static final String GLASS = getI18n("MaterialName.Glass");
- public static final String GLOWSTONE = getI18n("MaterialName.GlowstoneDust");
- public static final String HELIUM = getI18n("MaterialName.Helium");
- public static final String IRIDIUM = getI18n("MaterialName.Iridium");
- public static final String IRON = getI18n("MaterialName.Iron");
- public static final String LAPIS = getI18n("MaterialName.LapisLazuli");
- public static final String LEAD = getI18n("MaterialName.Lead");
- public static final String LEDOXDUST = getI18n("MaterialName.LedoxDust");
- public static final String MOX = getI18n("MaterialName.MoxFuel");
- public static final String NAQUADRIA = getI18n("MaterialName.Naquadria");
- public static final String PLATINUM = getI18n("MaterialName.Platinum");
- public static final String POTASSIUM = getI18n("MaterialName.Potassium");
- public static final String REDSTONE = getI18n("MaterialName.Redstone");
- public static final String REINFORCEDGLASS = getI18n("MaterialName.ReinforcedGlass");//alt recipes
- public static final String RUBBER = getI18n("MaterialName.Rubber");
- public static final String SODIUM = getI18n("MaterialName.Sodium");
- public static final String THORIUM = getI18n("MaterialName.Thorium");
- public static final String TIBERIUM = getI18n("MaterialName.Tiberium");
- public static final String TIN = getI18n("MaterialName.Tin");
- public static final String TUNGSTEN = getI18n("MaterialName.Tungsten");
- public static final String URANIUM = getI18n("MaterialName.UraniumFuel");
-
- // Special materials lists for items that may expand differently.
- public static MaterialsList basicCircuit = new MaterialsList(IRON, 2, REDSTONE, 2, COPPER, 6, RUBBER);
- public static MaterialsList advancedCircuit = new MaterialsList(basicCircuit, 4, REDSTONE, 2, LAPIS, 2, GLOWSTONE);
- public static MaterialsList alloy = new MaterialsList(getI18n("MaterialName.AdvancedAlloy"));
- public static MaterialsList coolantCell = new MaterialsList(1.0 / 3, TIN, DISTILLED_WATER, LAPIS);
- public static MaterialsList iridiumPlate = new MaterialsList(4, IRIDIUM, 4, alloy, DIAMOND);
-
- // some materials lists for crafted items that are part of reactor components without themselves being reactor components.
- public static final MaterialsList TIN_ITEM_CASING = new MaterialsList(0.5, TIN);
- public static final MaterialsList COIL = new MaterialsList(IRON, 8.0 / 3, COPPER);
- public static final MaterialsList ELECTRIC_MOTOR = new MaterialsList(IRON, 2, COIL, 2, TIN_ITEM_CASING);
- public static final MaterialsList IRON_BARS = new MaterialsList(6.0 / 16, IRON);
- public static final MaterialsList GLASS_PANE = new MaterialsList(6.0 / 16, GLASS);
- public static final MaterialsList TIN_ALLOY = new MaterialsList(0.5, TIN, 0.5, IRON);
-
-
- private static Map<String, MaterialsList> componentMaterialsMap = buildComponentMaterialsMap();
-
- /**
- * Creates an empty materials list.
- */
- public MaterialsList() {
- // fields are initialized when declared, so no code is needed in this constructor.
- }
-
- /**
- * Creates a materials list with the specified items in it.
- * @param materials the materials to add, which can be strings that each represent a single material or other MaterialsList objects, and either can be preceded by a number as a count.
- * @throws IllegalArgumentException if other object types are passed as arguments.
- */
- public MaterialsList(Object... materials) {
- add(materials);
- }
-
- /**
- * Adds the specified items to this materials list.
- * @param materials the materials to add, which can be strings that each represent a single material or other MaterialsList objects, and either can be preceded by a number as a count.
- * @throws IllegalArgumentException if other object types are passed as arguments.
- */
- public void add(Object... materials) {
- double itemCount = 1;
- for (Object material : materials) {
- if (material instanceof String) {
- final String materialName = (String)material;
- if (this.materials.containsKey(materialName)) {
- this.materials.put(materialName, this.materials.get(materialName) + itemCount);
- } else {
- this.materials.put(materialName, itemCount);
- }
- itemCount = 1;
- } else if (material instanceof Number) {
- itemCount = ((Number)material).doubleValue();
- } else if (material instanceof MaterialsList) {
- for (Map.Entry<String, Double> entrySet : ((MaterialsList)material).materials.entrySet()) {
- if (this.materials.containsKey(entrySet.getKey())) {
- this.materials.put(entrySet.getKey(), this.materials.get(entrySet.getKey()) + itemCount * entrySet.getValue());
- } else {
- this.materials.put(entrySet.getKey(), itemCount * entrySet.getValue());
- }
- }
- itemCount = 1;
- } else {
- throw new IllegalArgumentException("Invalid material type: " + material.getClass().getName());
- }
- }
- }
-
- @Override
- public String toString() {
- StringBuilder result = new StringBuilder(1000);
- DecimalFormat materialDecimalFormat = new DecimalFormat(getI18n("UI.MaterialDecimalFormat"));
- for (Map.Entry<String, Double> entrySet : materials.entrySet()) {
- double count = entrySet.getValue();
- String formattedNumber = materialDecimalFormat.format(count);
- result.append(String.format("%s %s\n", formattedNumber, entrySet.getKey())); //NOI18N
- }
- return result.toString();
- }
-
- public String buildComparisonString(MaterialsList rhs, boolean alwaysDiff) {
- StringBuilder result = new StringBuilder(1000);
- SortedSet<String> keys = new TreeSet<>(materials.keySet());
- keys.addAll(rhs.materials.keySet());
- DecimalFormat comparisonDecimalFormat = new DecimalFormat(getI18n("Comparison.CompareDecimalFormat"));
- DecimalFormat simpleDecimalFormat = new DecimalFormat(getI18n("Comparison.SimpleDecimalFormat"));
- for (String key : keys) {
- double left = 0;
- if (materials.containsKey(key)) {
- left = materials.get(key);
- }
- double right = 0;
- if (rhs.materials.containsKey(key)) {
- right = rhs.materials.get(key);
- }
- String color = "orange";
- if (left < right) {
- color = "green";
- } else if (left > right) {
- color = "red";
- }
- if (alwaysDiff || left != right) {
- result.append(String.format(getI18n("Comparison.MaterialsEntry"), color,
- comparisonDecimalFormat.format(left - right), key,
- simpleDecimalFormat.format(left),
- simpleDecimalFormat.format(right)));
- }
- }
- return result.toString();
- }
-
- public static void setUseUfcForCoolantCells(boolean value) {
- useUfcForCoolantCells = value;
- if (value) {
- coolantCell = new MaterialsList(4, TIN_ITEM_CASING, GLASS_PANE, DISTILLED_WATER, LAPIS);
- } else {
- coolantCell = new MaterialsList(1.0 / 3, TIN, DISTILLED_WATER, LAPIS);
- }
- componentMaterialsMap = buildComponentMaterialsMap();
- }
-
- public static void setExpandAdvancedAlloy(boolean value) {
- expandAdvancedAlloy = value;
- if (value) {
- alloy = new MaterialsList(3.0 / 2, IRON, 3.0 / 2, BRONZE, 3.0 / 2, TIN);
- } else {
- alloy = new MaterialsList(getI18n("MaterialName.AdvancedAlloy"));
- }
- iridiumPlate = new MaterialsList(4, IRIDIUM, 4, alloy, DIAMOND);
- componentMaterialsMap = buildComponentMaterialsMap();
- }
-
- public static void setGTVersion(String value) {
- gtVersion = value;
- if ("5.08".equals(value) || "5.09".equals(value)) {
- coolantCell = new MaterialsList(EMPTY_CELL, DISTILLED_WATER, LAPIS);
- alloy = new MaterialsList(getI18n("MaterialName.AdvancedAlloy"));
- basicCircuit = new MaterialsList(getI18n("MaterialName.BasicCircuit"));
- advancedCircuit = new MaterialsList(getI18n("MaterialName.AdvancedCircuit"));
- } else {
- basicCircuit = new MaterialsList(IRON, 2, REDSTONE, 2, COPPER, 6, RUBBER);
- advancedCircuit = new MaterialsList(basicCircuit, 4, REDSTONE, 2, LAPIS, 2, GLOWSTONE);
- if (useUfcForCoolantCells) {
- coolantCell = new MaterialsList(4, TIN_ITEM_CASING, GLASS_PANE, DISTILLED_WATER, LAPIS);
- } else {
- coolantCell = new MaterialsList(1.0 / 3, TIN, DISTILLED_WATER, LAPIS);
- }
- if (expandAdvancedAlloy) {
- alloy = new MaterialsList(3.0 / 2, IRON, 3.0 / 2, BRONZE, 3.0 / 2, TIN);
- } else {
- alloy = new MaterialsList(getI18n("MaterialName.AdvancedAlloy"));
- }
- }
- iridiumPlate = new MaterialsList(4, IRIDIUM, 4, alloy, DIAMOND);
- componentMaterialsMap = buildComponentMaterialsMap();
- }
-
- public static MaterialsList getMaterialsForComponent(ReactorItem component) {
- return componentMaterialsMap.get(component.baseName);
- }
-
- private static Map<String, MaterialsList> buildComponentMaterialsMap() {
- Map<String, MaterialsList> result = new HashMap<>(63);//result.put+2? Added 14, but I can't really tell if that's right
- result.put("fuelRodUranium", new MaterialsList(IRON, URANIUM));
- result.put("dualFuelRodUranium", new MaterialsList(IRON, 2, result.get("fuelRodUranium")));
- result.put("quadFuelRodUranium", new MaterialsList(3, IRON, 2, COPPER, 4, result.get("fuelRodUranium")));
- result.put("fuelRodMox", new MaterialsList(IRON, MOX));
- result.put("dualFuelRodMox", new MaterialsList(IRON, 2, result.get("fuelRodMox")));
- result.put("quadFuelRodMox", new MaterialsList(3, IRON, 2, COPPER, 4, result.get("fuelRodMox")));
- if ("5.09".equals(gtVersion)) {
- result.put("neutronReflector", new MaterialsList(6, TIN_ALLOY, 2, GRAPHITE, BERYLLIUM));
- result.put("thickNeutronReflector", new MaterialsList(4, result.get("neutronReflector"), 2, BERYLLIUM));
- } else {
- result.put("neutronReflector", new MaterialsList(COPPER, 4, TIN, 4, COAL));
- result.put("thickNeutronReflector", new MaterialsList(4, result.get("neutronReflector"), 5, COPPER));
- }
- if ("5.08".equals(gtVersion) || "5.09".equals(gtVersion)) {
- result.put("heatVent", new MaterialsList(4, ALUMINIUM, 4, IRON_BARS));
- } else {
- result.put("heatVent", new MaterialsList(ELECTRIC_MOTOR, 4, IRON, 4, IRON_BARS));
- }
- result.put("advancedHeatVent", new MaterialsList(2, result.get("heatVent"), 6, IRON_BARS, DIAMOND));
- result.put("reactorHeatVent", new MaterialsList(result.get("heatVent"), 8, COPPER));
- result.put("componentHeatVent", new MaterialsList(result.get("heatVent"), 4, TIN, 4, IRON_BARS));
- result.put("overclockedHeatVent", new MaterialsList(result.get("reactorHeatVent"), 4, GOLD));
- result.put("coolantCell10k", new MaterialsList(coolantCell, 4, TIN));
- result.put("coolantCell30k", new MaterialsList(3, result.get("coolantCell10k"), 6, TIN));
- result.put("coolantCell60k", new MaterialsList(2, result.get("coolantCell30k"), 6, TIN, IRON));
- result.put("heatExchanger", new MaterialsList(basicCircuit, 3, TIN, 5, COPPER));
- result.put("advancedHeatExchanger", new MaterialsList(2, result.get("heatExchanger"), 2, basicCircuit, COPPER, 4, LAPIS));
- result.put("coreHeatExchanger", new MaterialsList(result.get("heatExchanger"), 8, COPPER));
- result.put("componentHeatExchanger", new MaterialsList(result.get("heatExchanger"), 4, GOLD));
- result.put("reactorPlating", new MaterialsList(LEAD, alloy));
- result.put("heatCapacityReactorPlating", new MaterialsList(result.get("reactorPlating"), 8, COPPER));
- if ("5.08".equals(gtVersion) || "5.09".equals(gtVersion)) {
- result.put("containmentReactorPlating", new MaterialsList(result.get("reactorPlating"), LEAD));
- } else {
- result.put("containmentReactorPlating", new MaterialsList(result.get("reactorPlating"), 2, alloy));
- }
- result.put("rshCondensator", new MaterialsList(result.get("heatVent"), result.get("heatExchanger"), 7, REDSTONE));
- result.put("lzhCondensator", new MaterialsList(2, result.get("rshCondensator"), result.get("reactorHeatVent"), result.get("coreHeatExchanger"), 9, LAPIS, 4, REDSTONE));
- result.put("fuelRodThorium", new MaterialsList(IRON, 3, THORIUM));
- result.put("dualFuelRodThorium", new MaterialsList(IRON, 2, result.get("fuelRodThorium")));
- result.put("quadFuelRodThorium", new MaterialsList(3, IRON, 2, COPPER, 4, result.get("fuelRodThorium")));
- result.put("coolantCellHelium60k", new MaterialsList(EMPTY_CELL, HELIUM, 4, TIN));
- result.put("coolantCellHelium180k", new MaterialsList(3, result.get("coolantCellHelium60k"), 6, TIN));
- result.put("coolantCellHelium360k", new MaterialsList(2, result.get("coolantCellHelium180k"), 6, TIN, 9, COPPER));
- result.put("coolantCellNak60k", new MaterialsList(result.get("coolantCell10k"), 4, TIN, 2, POTASSIUM, 2, SODIUM));
- result.put("coolantCellNak180k", new MaterialsList(3, result.get("coolantCellNak60k"), 6, TIN));
- result.put("coolantCellNak360k", new MaterialsList(2, result.get("coolantCellNak180k"), 6, TIN, 9, COPPER));
- result.put("iridiumNeutronReflector", new MaterialsList(6, result.get("thickNeutronReflector"), 18, COPPER, iridiumPlate));
- result.put("fuelRodNaquadah", new MaterialsList(IRON, 3, ENRICHEDNAQUADAH));
- result.put("dualFuelRodNaquadah", new MaterialsList(IRON, 2, result.get("fuelRodNaquadah")));
- result.put("quadFuelRodNaquadah", new MaterialsList(3, IRON, 2, COPPER, 4, result.get("fuelRodNaquadah")));
- result.put("fuelRodCoaxium", new MaterialsList(4, IRIDIUM, 36, DIAMOND, 3, COAXIUM));
- result.put("dualFuelRodCoaxium", new MaterialsList(IRON, 2, result.get("fuelRodCoaxium")));
- result.put("quadFuelRodCoaxium", new MaterialsList(3, IRON, 2, COPPER, 4, result.get("fuelRodCoaxium")));
- result.put("fuelRodCesium", new MaterialsList(IRON, 3, CESIUM));
- result.put("dualFuelRodCesium", new MaterialsList(IRON, 2, result.get("fuelRodCesium")));
- result.put("quadFuelRodCesium", new MaterialsList(3, IRON, 2, COPPER, 4, result.get("fuelRodCesium")));
- result.put("fuelRodNaquadahGTNH", new MaterialsList(4, IRON, 4, TUNGSTEN, 1, PLATINUM, 3, ENRICHEDNAQUADAH));
- result.put("dualFuelRodNaquadahGTNH", new MaterialsList(IRON, TUNGSTEN, 2, result.get("fuelRodNaquadahGTNH")));
- result.put("quadFuelRodNaquadahGTNH", new MaterialsList(3, IRON, 3, TUNGSTEN, 4, result.get("fuelRodNaquadahGTNH")));
- result.put("fuelRodNaquadria", new MaterialsList(4, IRON, 4, TUNGSTEN, 1, PLATINUM, 3, NAQUADRIA));
- result.put("dualFuelRodNaquadria", new MaterialsList(IRON, TUNGSTEN, 2, result.get("fuelRodNaquadria")));
- result.put("quadFuelRodNaquadria", new MaterialsList(3, IRON, 3, TUNGSTEN, 4, result.get("fuelRodNaquadria")));
- result.put("fuelRodTiberium", new MaterialsList(4, IRON, 4, TUNGSTEN, 1, PLATINUM, 3, TIBERIUM));
- result.put("dualFuelRodTiberium", new MaterialsList(IRON, TUNGSTEN, 2, result.get("fuelRodTiberium")));
- result.put("quadFuelRodTiberium", new MaterialsList(3, IRON, 3, TUNGSTEN, 4, result.get("fuelRodTiberium")));
- result.put("fuelRodTheCore", new MaterialsList(96, IRON, 96, TUNGSTEN, 128, TIBERIUM, 32, result.get("fuelRodNaquadah")));
- result.put("coolantCellSpace180k", new MaterialsList(0.5, CALLISTOICEDUST, 0.5, LEDOXDUST, 1000, DISTILLED_WATER, LAPIS, REINFORCEDGLASS, 2, IRON, 2, TUNGSTEN));
- result.put("coolantCellSpace360k", new MaterialsList(1.5, IRON, 1.5, TUNGSTEN, 2, result.get("coolantCellSpace180k")));
- result.put("coolantCellSpace540k", new MaterialsList(3, IRON, 3, TUNGSTEN, 3, result.get("coolantCellSpace180k")));
- result.put("coolantCellSpace1080k", new MaterialsList(3, IRON, 3, TUNGSTEN, 9, FLUXEDELECTRUM, 3, result.get("coolantCellSpace540k")));
-
- return result;
- }
-
-}
diff --git a/src/main/java/Ic2ExpReactorPlanner/Reactor.java b/src/main/java/Ic2ExpReactorPlanner/Reactor.java
index 6febc91b90..83b6c511ad 100644
--- a/src/main/java/Ic2ExpReactorPlanner/Reactor.java
+++ b/src/main/java/Ic2ExpReactorPlanner/Reactor.java
@@ -5,11 +5,11 @@
*/
package Ic2ExpReactorPlanner;
-import static Ic2ExpReactorPlanner.BundleHelper.formatI18n;
-import static Ic2ExpReactorPlanner.BundleHelper.getI18n;
-import Ic2ExpReactorPlanner.components.ReactorItem;
import java.awt.HeadlessException;
-import javax.swing.JOptionPane;
+import java.util.ArrayList;
+
+import Ic2ExpReactorPlanner.components.ReactorItem;
+
/**
* Represents an IndustrialCraft2 Nuclear Reactor.
@@ -152,24 +152,16 @@ public class Reactor {
* Gets a list of the materials needed to build the components.
* @return a list of the materials needed to build the components.
*/
- public MaterialsList getMaterials() {
- MaterialsList result = new MaterialsList();
- for (int col = 0; col < grid[0].length; col++) {
- for (int row = 0; row < grid.length; row++) {
- if (getComponentAt(row, col) != null) {
- result.add(MaterialsList.getMaterialsForComponent(getComponentAt(row, col)));
- }
- }
- }
- return result;
+ public ArrayList getMaterials() {
+ return new ArrayList();
}
- public MaterialsList getComponentList() {
- MaterialsList result = new MaterialsList();
+ public ArrayList<ReactorItem> getComponentList() {
+ ArrayList<ReactorItem> result = new ArrayList<ReactorItem>();
for (int col = 0; col < grid[0].length; col++) {
for (int row = 0; row < grid.length; row++) {
if (getComponentAt(row, col) != null) {
- result.add(getComponentAt(row, col).name);
+ result.add(getComponentAt(row, col));
}
}
}
@@ -348,7 +340,7 @@ public class Reactor {
// Try to handle it as a newer code with the "erp=" prefix stripped
readCodeString(code);
} else if (!code.isEmpty()) {
- JOptionPane.showMessageDialog(null, String.format(getI18n("Warning.InvalidReactorCode"), code), getI18n("Warning.Title"), JOptionPane.WARNING_MESSAGE);
+ //JOptionPane.showMessageDialog(null, String.format(getI18n("Warning.InvalidReactorCode"), code), getI18n("Warning.Title"), JOptionPane.WARNING_MESSAGE);
}
}
}
@@ -381,9 +373,6 @@ public class Reactor {
case 3:
setComponentAt(y, x, ComponentFactory.createComponent("quadFuelRodUranium"));
break;
- case 4:
- warnings.append(formatI18n("Warning.DepletedIsotope", y, x));
- break;
case 5:
setComponentAt(y, x, ComponentFactory.createComponent("neutronReflector"));
break;
@@ -442,7 +431,7 @@ public class Reactor {
setComponentAt(y, x, ComponentFactory.createComponent("coolantCell60k"));
break;
case 24:
- warnings.append(formatI18n("Warning.Heating", y, x));
+ warnings.append("Warning.Heating", y, x);
break;
case 32:
setComponentAt(y, x, ComponentFactory.createComponent("fuelRodThorium"));
@@ -454,13 +443,13 @@ public class Reactor {
setComponentAt(y, x, ComponentFactory.createComponent("quadFuelRodThorium"));
break;
case 35:
- warnings.append(formatI18n("Warning.Plutonium", y, x));
+ warnings.append("Warning.Plutonium", y, x);
break;
case 36:
- warnings.append(formatI18n("Warning.DualPlutonium", y, x));
+ warnings.append("Warning.DualPlutonium", y, x);
break;
case 37:
- warnings.append(formatI18n("Warning.QuadPlutonium", y, x));
+ warnings.append("Warning.QuadPlutonium", y, x);
break;
case 38:
setComponentAt(y, x, ComponentFactory.createComponent("iridiumNeutronReflector"));
@@ -484,14 +473,14 @@ public class Reactor {
setComponentAt(y, x, ComponentFactory.createComponent("coolantCellNak360k"));
break;
default:
- warnings.append(formatI18n("Warning.Unrecognized", nextValue, y, x));
+ warnings.append("Warning.Unrecognized", y, x);
break;
}
}
}
if (warnings.length() > 0) {
warnings.setLength(warnings.length() - 1); // to remove last newline character
- JOptionPane.showMessageDialog(null, warnings, getI18n("Warning.Title"), JOptionPane.WARNING_MESSAGE);
+ //JOptionPane.showMessageDialog(null, warnings, "Warning.Title", JOptionPane.WARNING_MESSAGE);
}
}
diff --git a/src/main/java/Ic2ExpReactorPlanner/ReactorPlannerFrame.form b/src/main/java/Ic2ExpReactorPlanner/ReactorPlannerFrame.form
deleted file mode 100644
index 40e56f5d3e..0000000000
--- a/src/main/java/Ic2ExpReactorPlanner/ReactorPlannerFrame.form
+++ /dev/null
@@ -1,2260 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <NonVisualComponents>
- <Component class="javax.swing.ButtonGroup" name="componentsGroup">
- </Component>
- <Component class="javax.swing.ButtonGroup" name="reactorStyleGroup">
- </Component>
- <Container class="javax.swing.JPanel" name="pulsePanel">
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel3">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.OnPulse" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="onPulseSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="5000000" maximum="5000000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[80, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[80, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="onPulseSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel4">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.Seconds" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel7">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.OffPulse" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="12" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="offPulseSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="0" maximum="5000000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[80, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[80, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="offPulseSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel8">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.Seconds" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel11">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.PulseHelp" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel9">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.SuspendTemp" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="suspendTempSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="120000" maximum="120000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[80, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[80, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="suspendTempSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel10">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.ResumeTemp" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="2" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="12" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="resumeTempSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="120000" maximum="120000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[80, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[80, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="resumeTempSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel16">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.SuspendTempHelp" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JButton" name="resetPulseConfigButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ResetPulseConfig" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="resetPulseConfigButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- </NonVisualComponents>
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- <Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.MainTitle" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[915, 700]"/>
- </Property>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,3,9,0,0,4,85"/>
- <SyntheticProperty name="formSizePolicy" type="int" value="0"/>
- <SyntheticProperty name="generateSize" type="boolean" value="true"/>
- <SyntheticProperty name="generateCenter" type="boolean" value="true"/>
- </SyntheticProperties>
- <Events>
- <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="plannerResized"/>
- </Events>
- <AuxValues>
- <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
- <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
- <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Container class="javax.swing.JSplitPane" name="jSplitPane1">
- <Properties>
- <Property name="orientation" type="int" value="0"/>
- <Property name="resizeWeight" type="double" value="1.0"/>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="1.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="jPanel2">
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
- <JSplitPaneConstraints position="top"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Container class="javax.swing.JSplitPane" name="jSplitPane2">
- <Properties>
- <Property name="resizeWeight" type="double" value="1.0"/>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="reactorPanel">
- <Properties>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[450, 300]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[450, 300]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="reactorPanelComponentResized"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
- <JSplitPaneConstraints position="left"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
- <Property name="columns" type="int" value="9"/>
- <Property name="horizontalGap" type="int" value="2"/>
- <Property name="rows" type="int" value="6"/>
- <Property name="verticalGap" type="int" value="2"/>
- </Layout>
- </Container>
- <Container class="javax.swing.JSplitPane" name="jSplitPane3">
- <Properties>
- <Property name="orientation" type="int" value="0"/>
- <Property name="resizeWeight" type="double" value="1.0"/>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
- <JSplitPaneConstraints position="right"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="temperatureAndComponentsPanel">
- <Properties>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[475, 240]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[475, 240]"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
- <JSplitPaneConstraints position="top"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="temperatureEffectsLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.TemperatureEffectsDefault" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Container class="javax.swing.JPanel" name="componentsPanel">
- <Properties>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[160, 80]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[160, 80]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="componentResized" listener="java.awt.event.ComponentListener" parameters="java.awt.event.ComponentEvent" handler="componentsPanelComponentResized"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="1.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridLayout">
- <Property name="columns" type="int" value="9"/>
- <Property name="rows" type="int" value="6"/>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JToggleButton" name="emptyButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="empty" noResource="true"/>
- <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[50, 50]"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[50, 50]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[50, 50]"/>
- </Property>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodUraniumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;FuelRodUranium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="fuelRodUranium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodUraniumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;DualFuelRodUranium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="dualFuelRodUranium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodUraniumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodUranium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodUranium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodMoxButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;FuelRodMox&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="fuelRodMox" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodMoxButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;DualFuelRodMox&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="dualFuelRodMox" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodMoxButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodMox&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodMox" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="neutronReflectorButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;NeutronReflector&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="neutronReflector" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="thickNeutronReflectorButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;ThickNeutronReflector&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="thickNeutronReflector" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="iridiumNeutronReflectorButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;IridiumNeutronReflector&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="iridiumNeutronReflector" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="heatVentButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;HeatVent&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="heatVent" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="advancedHeatVentButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;AdvancedHeatVent&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="advancedHeatVent" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="reactorHeatVentButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;ReactorHeatVent&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="reactorHeatVent" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="componentHeatVentButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;ComponentHeatVent&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="componentHeatVent" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="overclockedHeatVentButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;OverclockedHeatVent&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="overclockedHeatVent" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCell10kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell10k&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCell10k" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCell30kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell30k&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCell30k" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCell60kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell60k&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCell60k" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="heatExchangerButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;HeatExchanger&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="heatExchanger" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="advancedHeatExchangerButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;AdvancedHeatExchanger&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="advancedHeatExchanger" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coreHeatExchangerButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;ReactorHeatExchanger&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coreHeatExchanger" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="componentHeatExchangerButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;ComponentHeatExchanger&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="componentHeatExchanger" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="reactorPlatingButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;ReactorPlating&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="reactorPlating" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="heatCapacityReactorPlatingButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;HeatCapacityReactorPlating&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="heatCapacityReactorPlating" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="containmentReactorPlatingButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;ContainmentReactorPlating&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="containmentReactorPlating" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="rshCondensatorButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;RshCondensator&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="rshCondensator" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="lzhCondensatorButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;LzhCondensator&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="lzhCondensator" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodThoriumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;FuelRodThorium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="fuelRodThorium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodThoriumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;DualFuelRodThorium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="dualFuelRodThorium" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodThoriumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodThorium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodThorium" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellHelium60kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell60kHelium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellHelium60k" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellHelium180kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell180kHelium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellHelium180k" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellHelium360kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell360kHelium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellHelium360k" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellNak60kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell60kNak&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellNak60k" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellNak180kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell180kNak&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellNak180k" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellNak360kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCell360kNak&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellNak360k" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodNaquadahButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;FuelRodNaquadah&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="fuelRodNaquadah" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodNaquadahButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;DualFuelRodNaquadah&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="dualFuelRodNaquadah" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodNaquadahButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodNaquadah&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodNaquadah" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodCoaxiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;FuelRodCoaxium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="fuelRodCoaxium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodCoaxiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;DualFuelRodCoaxium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="dualFuelRodCoaxium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodCoaxiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodCoaxium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodCoaxium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodCesiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;FuelRodCesium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="fuelRodCesium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodCesiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;DualFuelRodCesium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="dualFuelRodCesium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodCesiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodCesium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodCesium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodNaquadahGTNHButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;FuelRodNaquadahGTNH&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="fuelRodNaquadahGTNH" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodNaquadahButtonGTNH">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;DualFuelRodNaquadahGTNH&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="dualFuelRodNaquadahGTNH" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodNaquadahGTNHButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodNaquadahGTNH&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodNaquadahGTNH" noResource="true"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodNaquadriaButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodNaquadria&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodNaquadria" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodNaquadriaButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodNaquadria&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodNaquadria" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodNaquadriaButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodNaquadria&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodNaquadria" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodTiberiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodTiberium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodTiberium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="dualFuelRodTiberiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodTiberium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodTiberium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="quadFuelRodTiberiumButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;QuadFuelRodTiberium&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="quadFuelRodTiberium" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="fuelRodTheCoreButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;FuelRodTheCore&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="fuelRodTheCore" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellSpace180kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCellSpace540k&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellSpace180k" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellSpace360kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCellSpace540k&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellSpace360k" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellSpace540kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCellSpace540k&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellSpace540k" noResource="true"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JToggleButton" name="coolantCellSpace1080kButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="componentsGroup"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="buildTooltipInfo(&quot;CoolantCellSpace1080k&quot;)" type="code"/>
- </Property>
- <Property name="actionCommand" type="java.lang.String" value="coolantCellSpace1080k" noResource="true"/>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel8">
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="placingLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ComponentPlacingDefault" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="-1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="versionLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="formatI18n(&quot;UI.VersionNumber&quot;, VERSION)" type="code"/>
- </Property>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- <Component class="javax.swing.JLabel" name="componentHeatLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.InitialComponentHeat" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="componentHeatSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="0" maximum="360000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[70, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[70, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="componentHeatSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="placingThresholdLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.PlacingReplacementThreshold" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="placingThresholdSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="9000" maximum="360000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[100, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[100, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="placingThresholdSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="placingReactorPauseLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.PlacingReactorPause" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="placingReactorPauseSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="0" maximum="10000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[100, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[100, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="placingReactorPauseSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel1">
- <Properties>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[392, 170]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[392, 160]"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
- <JSplitPaneConstraints position="bottom"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="jPanel3">
- <Properties>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="-6" insetsLeft="-6" insetsBottom="-6" insetsRight="-6" anchor="15" weightX="0.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JRadioButton" name="euReactorRadio">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="reactorStyleGroup"/>
- </Property>
- <Property name="selected" type="boolean" value="true"/>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.EUReactor" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="euReactorRadioActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JRadioButton" name="fluidReactorRadio">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="reactorStyleGroup"/>
- </Property>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.FluidReactor" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="fluidReactorRadioActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel4">
- <Properties>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="-2" insetsLeft="-2" insetsBottom="-2" insetsRight="-2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JButton" name="clearGridButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ClearGridButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clearGridButtonActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JButton" name="simulateButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.SimulateButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="simulateButtonActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JButton" name="cancelButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CancelButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="cancelButtonActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel5">
- <Properties>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="-2" insetsLeft="-2" insetsBottom="-2" insetsRight="-2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel1">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.InitialReactorHeat" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- </Component>
- <Component class="javax.swing.JSpinner" name="heatSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="0.0" maximum="9999.0" minimum="0.0" numberType="java.lang.Double" stepSize="1.0" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[70, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[70, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="heatSpinnerStateChanged"/>
- </Events>
- </Component>
- <Component class="javax.swing.JLabel" name="maxHeatLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.MaxHeatDefault" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel6">
- <Properties>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="-4" insetsLeft="-4" insetsBottom="-4" insetsRight="-4" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JCheckBox" name="pulsedReactorCheck">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.PulsedReactor" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pulsedReactorCheckActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JCheckBox" name="automatedReactorCheck">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.AutomatedReactor" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="automatedReactorCheckActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel7">
- <Properties>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="-2" insetsLeft="-2" insetsBottom="-2" insetsRight="-2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="maxSimulationTicksLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.MaxSimulationTicks" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- </Component>
- <Component class="javax.swing.JSpinner" name="maxSimulationTicksSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="5000000" maximum="5000000" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.MaxSimulationTicksTooltip" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="maxSimulationTicksSpinnerStateChanged"/>
- </Events>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel6">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.Seconds" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Component class="javax.swing.JCheckBox" name="reactorCoolantInjectorCheckbox">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.ReactorCoolantInjectors" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- <Property name="opaque" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="reactorCoolantInjectorCheckboxActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- </SubComponents>
- </Container>
- </SubComponents>
- </Container>
- <Component class="javax.swing.JLabel" name="jLabel2">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CodeLabel" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="4" insetsLeft="4" insetsBottom="4" insetsRight="4" anchor="12" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JTextField" name="codeField">
- <Properties>
- <Property name="editable" type="boolean" value="false"/>
- <Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[200, 20]"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JButton" name="copyCodeButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CopyCodeButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="copyCodeButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="2" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JButton" name="pasteCodeButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.PasteCodeButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="pasteCodeButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JTabbedPane" name="outputTabs">
- <Properties>
- <Property name="tabLayoutPolicy" type="int" value="1"/>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[900, 220]"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
- <JSplitPaneConstraints position="right"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
- <SubComponents>
- <Container class="javax.swing.JScrollPane" name="outputPane">
- <AuxValues>
- <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
- <JTabbedPaneConstraints tabName="Simulation">
- <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.SimulationTab" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </JTabbedPaneConstraints>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
- <SubComponents>
- <Component class="javax.swing.JTextArea" name="outputArea">
- <Properties>
- <Property name="editable" type="boolean" value="false"/>
- <Property name="columns" type="int" value="20"/>
- <Property name="rows" type="int" value="5"/>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JScrollPane" name="componentPane">
- <AuxValues>
- <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
- <JTabbedPaneConstraints tabName="Component">
- <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ComponentTab" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </JTabbedPaneConstraints>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
- <SubComponents>
- <Component class="javax.swing.JTextArea" name="componentArea">
- <Properties>
- <Property name="columns" type="int" value="20"/>
- <Property name="rows" type="int" value="5"/>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ComponentInfoDefault" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="automationPanel">
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
- <JTabbedPaneConstraints tabName="Component Automation">
- <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ComponentAutomationTab" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </JTabbedPaneConstraints>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="selectedComponentLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.NoComponentSelected" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel12">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.ReplacementThreshold" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="thresholdSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="9000" maximum="360000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[100, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[100, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="thresholdSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel13">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.ReplacementThresholdHelp" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel14">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.ReactorPause" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="pauseSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="0" maximum="10000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[100, 20]"/>
- </Property>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[100, 20]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="pauseSpinnerStateChanged"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel15">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.ReactorPauseHelp" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JScrollPane" name="componentListPane">
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
- <JTabbedPaneConstraints tabName="Component List">
- <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ComponentListTab" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </JTabbedPaneConstraints>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
- <SubComponents>
- <Component class="javax.swing.JTextArea" name="componentListArea">
- <Properties>
- <Property name="columns" type="int" value="20"/>
- <Property name="rows" type="int" value="5"/>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JScrollPane" name="materialsListPane">
- <AuxValues>
- <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
- <JTabbedPaneConstraints tabName="Materials">
- <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.MaterialsTab" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </JTabbedPaneConstraints>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
- <SubComponents>
- <Component class="javax.swing.JTextArea" name="materialsArea">
- <Properties>
- <Property name="editable" type="boolean" value="false"/>
- <Property name="columns" type="int" value="20"/>
- <Property name="rows" type="int" value="5"/>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="csvPanel">
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
- <JTabbedPaneConstraints tabName="CSV">
- <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CSVTab" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </JTabbedPaneConstraints>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JCheckBox" name="csvOutputCheck">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.CSVCheckbox" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel19">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Config.CSVLimit" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="13" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JSpinner" name="csvLimitSpinner">
- <Properties>
- <Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
- <SpinnerModel initial="5000" maximum="5000000" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="csvFileLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CSVFileDefault" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
- <EtchetBorder/>
- </Border>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="-1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.3" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JButton" name="csvBrowseButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CSVBrowseButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="csvBrowseButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="csvHelpLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CSVHelp" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JScrollPane" name="advancedScroll">
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
- <JTabbedPaneConstraints tabName="Advanced">
- <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.AdvancedTab" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </JTabbedPaneConstraints>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="advancedPanel">
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="jPanel10">
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel20">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.MinecraftVersion" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- </Component>
- <Component class="javax.swing.JComboBox" name="mcVersionCombo">
- <Properties>
- <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
- <StringArray count="6">
- <StringItem index="0" value="1.12.2"/>
- <StringItem index="1" value="1.11.2"/>
- <StringItem index="2" value="1.10.2"/>
- <StringItem index="3" value="1.9.4"/>
- <StringItem index="4" value="1.8.9"/>
- <StringItem index="5" value="1.7.10"/>
- </StringArray>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="mcVersionComboActionPerformed"/>
- </Events>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
- </AuxValues>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel21">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.GregTechVersion" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- </Component>
- <Component class="javax.swing.JComboBox" name="gtVersionCombo">
- <Properties>
- <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="new DefaultComboBoxModel&lt;String&gt;&#xd;&#xa;(new String[]{getI18n(&quot;UI.GregTechVersionNone&quot;), &quot;5.08&quot;, &quot;5.09&quot;, &quot;GTNH&quot;})" type="code"/>
- </Property>
- <Property name="selectedItem" type="java.lang.Object" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="getI18n(&quot;UI.GregTechVersionNone&quot;)" type="code"/>
- </Property>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="gtVersionComboActionPerformed"/>
- </Events>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
- </AuxValues>
- </Component>
- </SubComponents>
- </Container>
- <Component class="javax.swing.JCheckBox" name="showComponentDetailButtonsCheck">
- <Properties>
- <Property name="selected" type="boolean" value="true"/>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ShowComponentDetailButtons" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="showComponentDetailButtonsCheckActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JCheckBox" name="showOldStyleReactorCodeCheck">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ShowOldStyleReactorCode" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="showOldStyleReactorCodeCheckActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JCheckBox" name="showComponentPreconfigCheck">
- <Properties>
- <Property name="selected" type="boolean" value="true"/>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ShowComponentPreconfigControls" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="showComponentPreconfigCheckActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="texturePackLabel">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.TexturePackDefault" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JButton" name="texturePackBrowseButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.TexturePackBrowseButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="texturePackBrowseButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JButton" name="texturePackClearButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.TexturePackClearButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="texturePackClearButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel5">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.TexturePackHelp" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JCheckBox" name="expandAdvancedAlloyCheck">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ExpandAdvancedAlloy" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="expandAdvancedAlloyCheckActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JScrollPane" name="comparisonScroll">
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
- <JTabbedPaneConstraints tabName="Comparison">
- <Property name="tabTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.ComparisonTab" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </JTabbedPaneConstraints>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="comparisonPanel">
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel17">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CodeLabel" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JTextField" name="comparisonCodeField">
- <Properties>
- <Property name="editable" type="boolean" value="false"/>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="1.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JButton" name="comparisonCopyCodeButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CopyCodeButton" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="comparisonCopyCodeButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Container class="javax.swing.JPanel" name="jPanel9">
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JCheckBox" name="lockPrevCodeCheck">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.LockInTabCode" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- </Component>
- <Component class="javax.swing.JCheckBox" name="onlyShowDiffCheck">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.OnlyShowDiffData" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="onlyShowDiffCheckActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JButton" name="copyComparisonButton">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="UI.CopyComparisonData" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="copyComparisonButtonActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Component class="javax.swing.JLabel" name="jLabel18">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Comparison.Header" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <AuxValues>
- <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/>
- <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/>
- </AuxValues>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="17" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JLabel" name="comparisonLabel">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Arial" size="12" style="0"/>
- </Property>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
- <ResourceString bundle="Ic2ExpReactorPlanner/Bundle.properties" key="Comparison.Default" replaceFormat="java.util.ResourceBundle.getBundle(&quot;{bundleNameSlashes}&quot;).getString(&quot;{key}&quot;)"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="0" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="18" weightX="0.0" weightY="1.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- </SubComponents>
- </Container>
- </SubComponents>
- </Container>
- </SubComponents>
- </Container>
- </SubComponents>
-</Form>
diff --git a/src/main/java/Ic2ExpReactorPlanner/SimulationData.java b/src/main/java/Ic2ExpReactorPlanner/SimulationData.java
index d6384ef012..39ecdbc5f5 100644
--- a/src/main/java/Ic2ExpReactorPlanner/SimulationData.java
+++ b/src/main/java/Ic2ExpReactorPlanner/SimulationData.java
@@ -76,6 +76,4 @@ public class SimulationData {
public double ventCooling = 0;
public double ventCoolingCapacity = 0;
- // Automation details
- public MaterialsList replacedItems = new MaterialsList();
}
diff --git a/src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java b/src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java
index 4c4e0bb01b..9a9b1ce341 100644
--- a/src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java
+++ b/src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java
@@ -176,8 +176,6 @@ public class ReactorItem {
protected double explosionPowerMultiplier = 1;
- protected static final ResourceBundle BUNDLE = ResourceBundle.getBundle("Ic2ExpReactorPlanner/Bundle");
-
protected ReactorItem(final int id, final String baseName, GT_ItemStack aItem, final double maxDamage, final double maxHeat, String sourceMod) {
this.id = id;
this.baseName = baseName;
@@ -223,7 +221,7 @@ public class ReactorItem {
public String toString() {
String result = name;
if (initialHeat > 0) {
- result += String.format(BUNDLE.getString("UI.InitialHeatDisplay"), (int) initialHeat);
+ result += String.format("\u0020(initial heat: %,d)", (int) initialHeat);
}
return result;
}
diff --git a/src/main/java/Ic2ExpReactorPlanner/components/Reflector.java b/src/main/java/Ic2ExpReactorPlanner/components/Reflector.java
index 465641972a..7851a62804 100644
--- a/src/main/java/Ic2ExpReactorPlanner/components/Reflector.java
+++ b/src/main/java/Ic2ExpReactorPlanner/components/Reflector.java
@@ -5,11 +5,8 @@
*/
package Ic2ExpReactorPlanner.components;
-import Ic2ExpReactorPlanner.MaterialsList;
import gregtech.api.objects.GT_ItemStack;
-import java.awt.Image;
-
/**
* Represents a neutron reflector in a reactor.
* @author Brian McCloud
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 1876001f11..cd960e5ca1 100644
--- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -266,11 +266,31 @@ public class RECIPES_Machines {
multiSolarTower();
multiElementalDuplicator();
+ computerCube();
+
resonanceChambers();
modulators();
}
+
+ private static void computerCube() {
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(20),
+ CI.getTieredGTPPMachineCasing(4, 1),
+ CI.getCircuit(4, 8),
+ CI.getFieldGenerator(2, 4),
+ CI.getDoublePlate(4, 8),
+ CI.getRobotArm(4, 8)
+ },
+ Materials.Redstone.getMolten(144 * 32),
+ GregtechItemList.Gregtech_Computer_Cube_Machine.get(1),
+ 20 * 60 * 10,
+ MaterialUtils.getVoltageForTier(4));
+
+ }
private static void gt4FarmManager() {
@@ -532,6 +552,25 @@ public class RECIPES_Machines {
private static void multiXlTurbines() {
+ RecipeUtils.addShapedRecipe(
+ CI.getDoublePlate(4, 1), CI.getElectricMotor(3, 1), CI.getDoublePlate(4, 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellLubricant", 1), ItemList.Casing_Gearbox_Titanium.get(1), ItemUtils.getItemStackOfAmountFromOreDict("cellLubricant", 1),
+ CI.getDoublePlate(4, 1), CI.getElectricMotor(3, 1), CI.getDoublePlate(4, 1),
+ GregtechItemList.Casing_Turbine_Shaft.get(1));
+
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(18),
+ ItemList.Casing_Turbine.get(1),
+ CI.getPlate(4, 4),
+ CI.getScrew(4, 8),
+ CI.getCircuit(4, 4),
+ CI.getGear(3, 8)
+ },
+ CI.tieredMaterials[3].getMolten(144 * 8),
+ GregtechItemList.Hatch_Turbine_Rotor.get(1),
+ 20 * 60,
+ MaterialUtils.getVoltageForTier(4));
// Steam
CORE.RA.addSixSlotAssemblingRecipe(
@@ -712,6 +751,84 @@ public class RECIPES_Machines {
private static void multiElementalDuplicator() {
+ CORE.RA.addAssemblylineRecipe(
+ ItemList.Machine_IV_Replicator.get(1),
+ 20 * 60 * 60 * 12,
+ new Object[] {
+ CI.getTieredMachineHull(7, 4),
+ CI.getFieldGenerator(5, GTNH ? 32 : 16),
+ CI.getElectricMotor(7, GTNH ? 32 : 16),
+ CI.getElectricPiston(7, GTNH ? 16 : 4),
+ CI.getEnergyCore(6, GTNH ? 8 : 2),
+ CI.getPlate(7, GTNH ? 32 : 16),
+ CI.getScrew(7, GTNH ? 64 : 32),
+ CI.getBolt(6, GTNH ? 64 : 32),
+ CI.getTieredComponent(OrePrefixes.rod, 6, GTNH ? 20 : 10),
+ new Object[] {CI.getTieredCircuitOreDictName(7), 20},
+ ItemList.Tool_DataOrb.get(32),
+ GregtechItemList.Laser_Lens_Special.get(1)
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(7, 144 * 32),
+ CI.getAlternativeTieredFluid(6, 144 * 16),
+ CI.getTertiaryTieredFluid(6, 144 * 16),
+ ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144),
+
+ },
+ GregtechItemList.Controller_ElementalDuplicator.get(1),
+ 20 * 60 * 60 * (GTNH ? 2 : 1),
+ (int) MaterialUtils.getVoltageForTier(7));
+
+ CORE.RA.addAssemblylineRecipe(
+ GregtechItemList.Modulator_III.get(1),
+ 20 * 60 * 60 * 4,
+ new Object[] {
+ CI.getTieredGTPPMachineCasing(7, 2),
+ CI.getFieldGenerator(4, GTNH ? 8 : 4),
+ CI.getEnergyCore(4, GTNH ? 8 : 2),
+ CI.getPlate(7, GTNH ? 16 : 8),
+ CI.getScrew(6, GTNH ? 32 : 16),
+ CI.getBolt(6, GTNH ? 32 : 16),
+ CI.getTieredComponent(OrePrefixes.rod, 5, GTNH ? 32 : 16),
+ new Object[] {CI.getTieredCircuitOreDictName(6), 32},
+ ItemList.Tool_DataOrb.get(32),
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(6, 144 * 16),
+ CI.getAlternativeTieredFluid(5, 144 * 8),
+ CI.getTertiaryTieredFluid(5, 144 * 8),
+ ALLOY.BABBIT_ALLOY.getFluidStack(64 * 144),
+
+ },
+ GregtechItemList.Hatch_Input_Elemental_Duplicator.get(1),
+ 20 * 60 * 60 * (GTNH ? 4 : 2),
+ (int) MaterialUtils.getVoltageForTier(6));
+
+ CORE.RA.addAssemblylineRecipe(
+ GregtechItemList.ResonanceChamber_III.get(1),
+ 20 * 60 * 60 * 2,
+ new Object[] {
+ CI.getTieredMachineHull(6, 5),
+ CI.getFieldGenerator(3, GTNH ? 32 : 16),
+ CI.getEnergyCore(2, GTNH ? 8 : 2),
+ CI.getPlate(7, GTNH ? 8 : 4),
+ CI.getScrew(7, GTNH ? 8 : 4),
+ CI.getBolt(6, GTNH ? 16 : 8),
+ CI.getTieredComponent(OrePrefixes.rod, 5, GTNH ? 8 : 4),
+ new Object[] {CI.getTieredCircuitOreDictName(5), 4},
+ ItemList.Tool_DataStick.get(4),
+ },
+ new FluidStack[] {
+ CI.getTieredFluid(5, 144 * 16),
+ CI.getAlternativeTieredFluid(4, 144 * 8),
+ CI.getTertiaryTieredFluid(4, 144 * 8),
+ ALLOY.BABBIT_ALLOY.getFluidStack(16 * 144),
+
+ },
+ GregtechItemList.Casing_ElementalDuplicator.get(1),
+ 20 * 60 * (GTNH ? 20 : 10),
+ (int) MaterialUtils.getVoltageForTier(6));
+
}
private static void resonanceChambers() {
diff --git a/src/main/java/gtPlusPlus/core/recipe/common/CI.java b/src/main/java/gtPlusPlus/core/recipe/common/CI.java
index 6bdf77bec5..c5a514c31a 100644
--- a/src/main/java/gtPlusPlus/core/recipe/common/CI.java
+++ b/src/main/java/gtPlusPlus/core/recipe/common/CI.java
@@ -541,7 +541,7 @@ public class CI {
ALLOY.TUMBAGA,
ALLOY.EGLIN_STEEL,
ALLOY.INCONEL_792,
- ALLOY.TUNGSTEN_TITANIUM_CARBIDE,
+ ALLOY.INCOLOY_MA956,
ALLOY.NITINOL_60,
ALLOY.ZERON_100,
ALLOY.PIKYONIUM,
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
index c61195a9e8..4d67603db0 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
@@ -501,12 +501,25 @@ public enum GregtechItemList implements GregtechItemContainer {
Hatch_SuperBus_Output_MAX,
-
-
//----------------------------------------------------------------------------
+ /**
+ * Blocks
+ */
+
+
+ ResonanceChamber_I,
+ ResonanceChamber_II,
+ ResonanceChamber_III,
+ ResonanceChamber_IV,
+
+ Modulator_I,
+ Modulator_II,
+ Modulator_III,
+ Modulator_IV,
+ //----------------------------------------------------------------------------
/**
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java
index 80202695e7..8abe7bff66 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_Container_ComputerCube.java
@@ -4,22 +4,16 @@ import java.util.Iterator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.gui.GT_ContainerMetaTile_Machine;
-import gregtech.api.gui.GT_Slot_Holo;
-import gregtech.api.gui.GT_Slot_Output;
+import gregtech.api.gui.*;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_ItemStack;
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.slots.SlotDataStick;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.common.tileentities.misc.GT_TileEntity_ComputerCube;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.Container;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.IInventory;
-import net.minecraft.inventory.Slot;
+import net.minecraft.entity.player.*;
+import net.minecraft.inventory.*;
import net.minecraft.item.ItemStack;
public class GT_Container_ComputerCube extends GT_ContainerMetaTile_Machine {
@@ -39,6 +33,13 @@ public class GT_Container_ComputerCube extends GT_ContainerMetaTile_Machine {
public long mEU;
public int mEU1;
public int mEU2;
+
+ public long mStoredEU;
+ public int mStoredEU1;
+ public int mStoredEU2;
+ public long mMaxStoredEU;
+ public int mMaxStoredEU1;
+ public int mMaxStoredEU2;
public int mProgress;
@@ -66,90 +67,72 @@ public class GT_Container_ComputerCube extends GT_ContainerMetaTile_Machine {
int y;
mID = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mMode;
Logger.INFO(""+(Utils.isClient() ? "Client" : "Server")+" Mode: " + mID);
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 156 + ((this.mID == 5) ? 50 : 0), 4, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 156 + ((this.mID == 5) ? 50 : 0), 4, false, false, 1));
switch (this.mID) {
case 1 :
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 156, 86, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 156, 70, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 156, 54, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 156, 86, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 156, 70, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 156, 54, false, false, 1));
for (y = 0; y < 6; y++) {
for (int x = 0; x < 9; x++)
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, x + y * 9, 5 + x * 16, 5 + y * 16, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, x + y * 9, 5 + x * 16, 5 + y * 16, false, false, 64));
}
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 113, 153, 28, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 113, 153, 28, false, false, 64));
break;
case 2 :
- addSlotToContainer(new Slot((IInventory) this.mTileEntity, 54, 8, 28));
- addSlotToContainer(new Slot((IInventory) this.mTileEntity, 55, 26, 28));
- addSlotToContainer(new GT_Slot_Output((IInventory) this.mTileEntity, 56, 134, 28));
- addSlotToContainer(new GT_Slot_Output((IInventory) this.mTileEntity, 57, 152, 28));
+ addSlotToContainer(new SlotDataStick(this.mTileEntity, 54, 8, 28));
+ addSlotToContainer(new Slot(this.mTileEntity, 55, 26, 28));
+ addSlotToContainer(new GT_Slot_Output(this.mTileEntity, 56, 134, 28));
+ addSlotToContainer(new GT_Slot_Output(this.mTileEntity, 57, 152, 28));
break;
case 3 :
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 88, 65, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 104, 65, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 59, 122, 35, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 60, 92, 5, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 61, 122, 5, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 62, 152, 35, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 63, 122, 65, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 64, 92, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 88, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 104, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 59, 122, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 60, 92, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 61, 122, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 62, 152, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 63, 122, 65, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 64, 92, 35, false, false, 64));
break;
case 4 :
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 88, 65, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 104, 65, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 59, 122, 5, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 60, 122, 65, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 61, 152, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 88, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 104, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 59, 122, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 60, 122, 65, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 61, 152, 35, false, false, 64));
break;
case 5 :
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 190, 146, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 206, 146, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 59, 206, 38, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 60, 206, 56, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 61, 206, 74, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 62, 206, 92, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 63, 206, 110, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 64, 153, 7, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 65, 169, 7, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 66, 185, 7, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 67, 153, 23, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 68, 169, 23, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 69, 185, 23, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 70, 153, 39, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 71, 169, 39, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 72, 185, 39, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 190, 146, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 206, 146, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 59, 206, 38, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 60, 206, 56, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 61, 206, 74, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 62, 206, 92, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 63, 206, 110, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 64, 153, 7, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 65, 169, 7, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 66, 185, 7, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 67, 153, 23, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 68, 169, 23, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 69, 185, 23, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 70, 153, 39, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 71, 169, 39, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 72, 185, 39, false, false, 64));
break;
case 6 :
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 88, 65, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 58, 104, 65, false, false, 1));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 59, 122, 35, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 60, 92, 5, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 61, 122, 5, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 62, 152, 35, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 63, 122, 65, false, false, 64));
- addSlotToContainer(new GT_Slot_Holo((IInventory) this.mTileEntity, 64, 92, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 88, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 58, 104, 65, false, false, 1));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 59, 122, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 60, 92, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 61, 122, 5, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 62, 152, 35, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 63, 122, 65, false, false, 64));
+ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 64, 92, 35, false, false, 64));
break;
}
}
- public int getComputerCubeGUIID() {
- switch (getMode()) {
- case 1 :
- return 32;
- case 2 :
- return 34;
- case 3 :
- return 35;
- case 4 :
- return 36;
- case 5 :
- return 37;
- case 6 :
- return 38;
- }
- return 4;
- }
-
public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) {
//Logger.INFO("Clicked slot " + aSlotIndex);
if (aSlotIndex < 0) {
@@ -187,51 +170,51 @@ public class GT_Container_ComputerCube extends GT_ContainerMetaTile_Machine {
else if (aSlotIndex <= 2 && this.mID == 3) {
if (aSlotIndex == 1) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchCentrifugePageBackward();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
else if (aSlotIndex == 2) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchCentrifugePageForward();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
}
else if (aSlotIndex <= 2 && this.mID == 6) {
if (aSlotIndex == 1) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchElectrolyzerPageBackward();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
else if (aSlotIndex == 2) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchElectrolyzerPageForward();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
}
else if (aSlotIndex <= 2 && this.mID == 4) {
if (aSlotIndex == 1) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchFusionPageBackward();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
else if (aSlotIndex == 2) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchFusionPageForward();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
}
else if (aSlotIndex <= 2 && this.mID == 5) {
if (aSlotIndex == 1) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchDescriptionPageBackward();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
else if (aSlotIndex == 2) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchDescriptionPageForward();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
}
else if (aSlotIndex <= 58 && this.mID == 1) {
if (aSlotIndex == 1) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).switchNuclearReactor();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
else if (aSlotIndex == 2) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).loadNuclearReactor();
- onCraftMatrixChanged((IInventory) this.mTileEntity);
+ onCraftMatrixChanged(this.mTileEntity);
}
else if (aSlotIndex == 3) {
((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).saveNuclearReactor();
@@ -307,6 +290,16 @@ public class GT_Container_ComputerCube extends GT_ContainerMetaTile_Machine {
if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) {
return;
}
+ mStoredEU = mTileEntity.getStoredEU();
+ mMaxStoredEU = mTileEntity.getEUCapacity();
+ int[] aStored = MathUtils.splitLongIntoTwoIntegers(mStoredEU);
+ int[] aMaxStorage = MathUtils.splitLongIntoTwoIntegers(mMaxStoredEU);
+ mStoredEU1 = aStored[0];
+ mStoredEU2 = aStored[1];
+ mMaxStoredEU1 = aMaxStorage[0];
+ mMaxStoredEU2 = aMaxStorage[1];
+
+
this.mID = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mMode;
this.mEUOut = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mEUOut;
int[] aEUSplit1 = MathUtils.splitLongIntoTwoIntegers(mEUOut);
@@ -318,24 +311,30 @@ public class GT_Container_ComputerCube extends GT_ContainerMetaTile_Machine {
this.mExplosionStrength = (int) (((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mExplosionStrength * 100.0F);
this.mEU = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mEU;
this.mProgress = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mProgress;
+ this.mMaxProgressTime = ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).mMaxProgress;
+ this.mProgressTime = (int) ((GT_TileEntity_ComputerCube) mTileEntity.getMetaTileEntity()).getEUVar();
int[] aEUSplit2 = MathUtils.splitLongIntoTwoIntegers(mEU);
this.mEU1 = aEUSplit2[0];
this.mEU2 = aEUSplit2[1];
Iterator<ICrafting> var2 = this.crafters.iterator();
while (var2.hasNext()) {
ICrafting var1 = var2.next();
- var1.sendProgressBarUpdate((Container) this, 101, this.mID);
- var1.sendProgressBarUpdate((Container) this, 102, this.mHeat & 0xFFFF);
- var1.sendProgressBarUpdate((Container) this, 103, this.mMaxHeat & 0xFFFF);
- var1.sendProgressBarUpdate((Container) this, 104, this.mHEM);
- var1.sendProgressBarUpdate((Container) this, 105, this.mExplosionStrength);
- var1.sendProgressBarUpdate((Container) this, 106, this.mHeat >>> 16);
- var1.sendProgressBarUpdate((Container) this, 107, this.mMaxHeat >>> 16);
- var1.sendProgressBarUpdate((Container) this, 108, this.mEU1);
- var1.sendProgressBarUpdate((Container) this, 109, this.mEU2);
- var1.sendProgressBarUpdate((Container) this, 110, this.mProgress);
- var1.sendProgressBarUpdate((Container) this, 111, this.mEUOut1);
- var1.sendProgressBarUpdate((Container) this, 112, this.mEUOut2);
+ var1.sendProgressBarUpdate(this, 101, this.mID);
+ var1.sendProgressBarUpdate(this, 102, this.mHeat & 0xFFFF);
+ var1.sendProgressBarUpdate(this, 103, this.mMaxHeat & 0xFFFF);
+ var1.sendProgressBarUpdate(this, 104, this.mHEM);
+ var1.sendProgressBarUpdate(this, 105, this.mExplosionStrength);
+ var1.sendProgressBarUpdate(this, 106, this.mHeat >>> 16);
+ var1.sendProgressBarUpdate(this, 107, this.mMaxHeat >>> 16);
+ var1.sendProgressBarUpdate(this, 108, this.mEU1);
+ var1.sendProgressBarUpdate(this, 109, this.mEU2);
+ var1.sendProgressBarUpdate(this, 110, this.mProgress);
+ var1.sendProgressBarUpdate(this, 111, this.mEUOut1);
+ var1.sendProgressBarUpdate(this, 112, this.mEUOut2);
+ var1.sendProgressBarUpdate(this, 113, mStoredEU1);
+ var1.sendProgressBarUpdate(this, 114, mStoredEU2);
+ var1.sendProgressBarUpdate(this, 115, mMaxStoredEU1);
+ var1.sendProgressBarUpdate(this, 116, mMaxStoredEU2);
}
}
@@ -379,6 +378,20 @@ public class GT_Container_ComputerCube extends GT_ContainerMetaTile_Machine {
this.mEUOut2 = par2;
this.mEUOut = MathUtils.combineTwoIntegersToLong(mEUOut1, mEUOut2);
break;
+ case 113 :
+ mStoredEU1 = par2;
+ break;
+ case 114 :
+ mStoredEU2 = par2;
+ mStoredEU = MathUtils.combineTwoIntegersToLong(mStoredEU1, mStoredEU2);
+ break;
+ case 115 :
+ mMaxStoredEU1 = par2;
+ break;
+ case 116 :
+ mMaxStoredEU2 = par2;
+ mMaxStoredEU = MathUtils.combineTwoIntegersToLong(mMaxStoredEU1, mMaxStoredEU2);
+ break;
}
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java
index c56e167319..71defdc72a 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/computer/GT_GUIContainer_ComputerCube.java
@@ -2,21 +2,25 @@ package gtPlusPlus.xmod.gregtech.api.gui.computer;
import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.common.computer.GT_Computercube_Description;
+import gtPlusPlus.xmod.gregtech.common.tileentities.misc.GT_TileEntity_ComputerCube;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
public class GT_GUIContainer_ComputerCube extends GT_GUIContainerMetaTile_Machine {
+
+ public final GT_Container_ComputerCube mPowerContainer;
+
public GT_GUIContainer_ComputerCube(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aBaseMetaTileEntity, int aID) {
super(new GT_Container_ComputerCube(aInventoryPlayer, aBaseMetaTileEntity, aID), CORE.RES_PATH_GUI + "computer/"+aID+".png");
- GT_Container_ComputerCube tContainer = (GT_Container_ComputerCube) this.mContainer;
- Logger.INFO("1 GUI Mode: "+aID);
- Logger.INFO("2 GUI Mode: "+tContainer.mID);
- if (tContainer.mID == 5) {
+ mPowerContainer = (GT_Container_ComputerCube) mContainer;
+ if (mPowerContainer.mID == 5) {
this.xSize += 50;
}
}
@@ -43,8 +47,8 @@ public class GT_GUIContainer_ComputerCube extends GT_GUIContainerMetaTile_Machin
if (tContainer != null)
switch (tContainer.mID) {
case 0 :
- this.fontRendererObj.drawString("G.L.A.D.-OS", 64, 61, 16448255);
- this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
+ this.fontRendererObj.drawString("Solaris 1.7.10", 56, 70, Utils.rgbtoHexValue(100, 190, 255));
+ //this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
break;
case 1 :
this.fontRendererObj.drawString("Reactorstats:", 7, 108, 16448255);
@@ -58,11 +62,13 @@ public class GT_GUIContainer_ComputerCube extends GT_GUIContainerMetaTile_Machin
this.fontRendererObj.drawString("Scanner", 51, 7, 16448255);
if (tContainer.mProgress == 0) {
this.fontRendererObj.drawString("Can be used to", 51, 24, 16448255);
- this.fontRendererObj.drawString("scan Seedbags", 51, 32, 16448255);
+ this.fontRendererObj.drawString("scan things", 51, 32, 16448255);
+ this.fontRendererObj.drawString("Currently", 51, 48, Utils.rgbtoHexValue(200, 20, 20));
+ this.fontRendererObj.drawString("Disabled", 51, 56, Utils.rgbtoHexValue(200, 20, 20));
}
else {
this.fontRendererObj.drawString("Progress:", 51, 24, 16448255);
- this.fontRendererObj.drawString(tContainer.mProgress + "%", 51, 32, 16448255);
+ this.fontRendererObj.drawString(MathUtils.findPercentage(tContainer.mProgress, tContainer.mMaxProgressTime) + " %", 51, 32, 16448255);
}
this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
break;
@@ -73,15 +79,17 @@ public class GT_GUIContainer_ComputerCube extends GT_GUIContainerMetaTile_Machin
break;
case 4 :
this.fontRendererObj.drawString("Fusionreactor", 7, 7, 16448255);
- this.fontRendererObj.drawString("Recipe: " + (tContainer.mMaxHeat + 1) + "/" + GT_Recipe_Map.sFusionRecipes.mRecipeList.size(), 7, 23, 16448255);
- this.fontRendererObj.drawString("Start: " + toNumber(tContainer.mEU) + "EU", 7, 31, 16448255);
- this.fontRendererObj.drawString("EU/t: " + toNumber(tContainer.mEUOut), 7, 39, 16448255);
- this.fontRendererObj.drawString(toNumber(tContainer.mHeat) + " Ticks", 7, 47, 16448255);
+ this.fontRendererObj.drawString("Recipe: " + (tContainer.mMaxHeat + 1) + "/" + GT_TileEntity_ComputerCube.sFusionReactorRecipes.size(), 7, 15, 16448255);
+ this.fontRendererObj.drawString("Start: " + toNumber(tContainer.mEU) + "EU", 7, 23, 16448255);
+ this.fontRendererObj.drawString("EU/t: " + toNumber(tContainer.mEUOut), 7, 31, 16448255);
+ this.fontRendererObj.drawString(toNumber(tContainer.mHeat) + " Ticks", 7, 39, 16448255);
+ GT_Recipe tRecipe = GT_TileEntity_ComputerCube.sFusionReactorRecipes.get(tContainer.mMaxHeat);
+ this.fontRendererObj.drawString(""+tRecipe.mFluidOutputs[0].getLocalizedName(), 7, 55, 16448255);
if (tContainer.mEUOut < 0) {
- this.fontRendererObj.drawString("IN: " + toNumber(-tContainer.mEUOut * tContainer.mHeat) + "EU", 7, 55, 16448255);
+ this.fontRendererObj.drawString("IN: " + toNumber(-tContainer.mEUOut * tContainer.mHeat) + "EU", 7, 47, 16448255);
break;
}
- this.fontRendererObj.drawString("OUT: " + toNumber(tContainer.mEUOut * tContainer.mHeat) + "EU", 7, 55, 16448255);
+ this.fontRendererObj.drawString("OUT: " + toNumber(tContainer.mEUOut * tContainer.mHeat) + "EU", 7, 47, 16448255);
break;
case 5 :
if (tContainer.mID == 5 && this.xSize == 176) {
@@ -114,6 +122,17 @@ public class GT_GUIContainer_ComputerCube extends GT_GUIContainerMetaTile_Machin
int y = (height - ySize) / 2;
drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
switch (tContainer.mID) {
+ case 0 :
+ if (this.mPowerContainer.mStoredEU > 0 && this.mPowerContainer.mMaxStoredEU > 0) {
+ final double tScale = MathUtils.findPercentage(this.mPowerContainer.mStoredEU, this.mPowerContainer.mMaxStoredEU);
+ this.drawTexturedModalRect(x + 44, y + 8, 0, 166, Math.min(MathUtils.roundToClosestInt(tScale), 95), 5);
+ }
+ else {
+ //
+ //Logger.INFO("1 No Power? "+tContainer.mProgressTime+" | "+tContainer.mTileEntity.getEUCapacity());
+ //Logger.INFO("2 No Power? "+aComp.getEUVar()+" | "+aComp.maxEUStore());
+ }
+ break;
case 5 :
if (tContainer.mExplosionStrength != 0)
drawTexturedModalRect(x + 152, y + 6, 0, 166, 50, 50);
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java
index 7ec655dca5..a80b788aa1 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java
@@ -7,6 +7,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.Textures;
import gregtech.api.util.GT_LanguageManager;
import gregtech.common.blocks.GT_Material_Casings;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
@@ -59,7 +60,14 @@ public class GregtechMetaSpecialMultiCasings2 extends GregtechMetaCasingBlocksAb
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".14.name", ""); // Unused
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", ""); // Unused
- //GregtechItemList.Casing_Turbine_Shaft.set(new ItemStack(this, 1, 0));
+ GregtechItemList.ResonanceChamber_I.set(new ItemStack(this, 1, 0));
+ GregtechItemList.ResonanceChamber_II.set(new ItemStack(this, 1, 1));
+ GregtechItemList.ResonanceChamber_III.set(new ItemStack(this, 1, 2));
+ GregtechItemList.ResonanceChamber_IV.set(new ItemStack(this, 1, 3));
+ GregtechItemList.Modulator_I.set(new ItemStack(this, 1, 4));
+ GregtechItemList.Modulator_II.set(new ItemStack(this, 1, 5));
+ GregtechItemList.Modulator_III.set(new ItemStack(this, 1, 6));
+ GregtechItemList.Modulator_IV.set(new ItemStack(this, 1, 7));
}
@Override
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/GT_TileEntity_ComputerCube.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/GT_TileEntity_ComputerCube.java
index 033a5f925b..67999087f3 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/GT_TileEntity_ComputerCube.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/misc/GT_TileEntity_ComputerCube.java
@@ -1,39 +1,50 @@
package gtPlusPlus.xmod.gregtech.common.tileentities.misc;
+import static gregtech.api.enums.GT_Values.V;
+import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes;
+
import java.util.ArrayList;
import java.util.Collections;
import Ic2ExpReactorPlanner.SimulationData;
+import cpw.mods.fml.common.FMLCommonHandler;
import gregtech.api.GregTech_API;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.ItemList;
+import gregtech.api.enums.*;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
-import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.GT_Recipe;
+import gregtech.api.objects.*;
+import gregtech.api.util.*;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import gregtech.api.util.GT_Utility;
+import gregtech.common.items.behaviors.Behaviour_DataOrb;
import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.api.gui.computer.GT_Container_ComputerCube;
import gtPlusPlus.xmod.gregtech.api.gui.computer.GT_GUIContainer_ComputerCube;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gtPlusPlus.xmod.gregtech.common.computer.GT_Computercube_Description;
import gtPlusPlus.xmod.gregtech.common.computer.GT_Computercube_Simulator;
-import ic2.core.Ic2Items;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
+ public static int MODE_MAIN = 0;
+ public static int MODE_REACTOR_PLANNER = 1;
+ public static int MODE_SCANNER = 2;
+ public static int MODE_CENTRIFUGE = 3;
+ public static int MODE_FUSION = 4;
+ public static int MODE_INFO = 5;
+ public static int MODE_ELECTROLYZER = 6;
+
public static boolean mSeedscanner = true;
public static boolean mReactorplanner = true;
@@ -48,11 +59,12 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
public long mEUOut = 0;
- public int mMaxHeat = 10000;
+ public int mMaxHeat = 1;
public long mEU = 0;
public int mProgress = 0;
+ public int mMaxProgress = 0;
public int mEUTimer = 0;
@@ -65,13 +77,15 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
public int mEULast4 = 0;
public float mHEM = 1.0F, mExplosionStrength = 0.0F;
+
+ public String mFusionOutput = "";
private boolean mNeedsUpdate;
private GT_Computercube_Simulator mSimulator;
public GT_TileEntity_ComputerCube(final int aID, final String aDescription) {
- super(aID, "computer.cube", "Computer Cube", 5, 114, aDescription);
+ super(aID, "computer.cube", "Computer Cube MKII", 5, 114, aDescription);
}
public GT_TileEntity_ComputerCube(final String aName, final String aDescription, final ITexture[][][] aTextures) {
@@ -91,6 +105,17 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
}
@Override
+ public String[] getDescription() {
+ return new String[]{
+ this.mDescription,
+ "Built in Reactor Planner",
+ "Built in Scanner",
+ "Built in Info-Bank",
+ "Displays Fusion Recipes",
+ CORE.GT_Tooltip};
+ }
+
+ @Override
public boolean onRightclick(final IGregTechTileEntity aBaseMetaTileEntity, final EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) {
return true;
@@ -143,7 +168,7 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
@Override
public long maxEUInput() {
- return GT_Values.V[2];
+ return GT_Values.V[4];
}
@Override
@@ -213,6 +238,8 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
this.mHEM = 1.0F;
this.mExplosionStrength = 0.0F;
this.mProgress = 0;
+ this.mMaxProgress = 0;
+ this.mFusionOutput = "";
this.mInventory[113] = null;
int i;
for (i = 0; i < 54; i++) {
@@ -229,37 +256,51 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
}
public void switchModeForward() {
- this.mMode = (this.mMode + 1) % 7;
+ int aTempMode = mMode;
+ aTempMode++;
+ if (aTempMode == MODE_ELECTROLYZER ||aTempMode == MODE_CENTRIFUGE) {
+ aTempMode++;
+ }
+ if (aTempMode >= 7) {
+ aTempMode = 0;
+ }
+ mMode = aTempMode;
switchMode();
}
public void switchModeBackward() {
- this.mMode--;
- if (this.mMode < 0)
- this.mMode = 6;
+ int aTempMode = mMode;
+ aTempMode--;
+ if (aTempMode == MODE_ELECTROLYZER ||aTempMode == MODE_CENTRIFUGE) {
+ aTempMode--;
+ }
+ if (aTempMode < 0) {
+ aTempMode = 6;
+ }
+ mMode = aTempMode;
switchMode();
}
private void switchMode() {
reset();
- if (this.mMode == 1 && !mReactorplanner) {
+ if (this.mMode == MODE_REACTOR_PLANNER && !mReactorplanner) {
switchMode();
return;
}
- if (this.mMode == 2 && !mSeedscanner) {
+ if (this.mMode == MODE_SCANNER && !mSeedscanner) {
switchMode();
return;
}
- if (this.mMode == 3) {
+ if (this.mMode == MODE_CENTRIFUGE) {
showCentrifugeRecipe(0);
}
- if (this.mMode == 4) {
+ if (this.mMode == MODE_FUSION) {
showFusionRecipe(0);
}
- if (this.mMode == 5) {
+ if (this.mMode == MODE_INFO) {
showDescription(0);
}
- if (this.mMode == 6) {
+ if (this.mMode == MODE_ELECTROLYZER) {
showElectrolyzerRecipe(0);
}
this.getWorld().addBlockEvent(this.getXCoord(), this.getYCoord(), this.getZCoord(), GregTech_API.sBlockMachines, 10, this.mMode);
@@ -540,6 +581,7 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
this.mEUOut = tRecipe.mEUt;
this.mHeat = tRecipe.mDuration;
this.mMaxHeat = aIndex;
+ this.mFusionOutput = tRecipe.mFluidOutputs[0].getLocalizedName();
}
this.getWorld().addBlockEvent(this.getXCoord(), this.getYCoord(), this.getZCoord(), GregTech_API.sBlockMachines, 11, this.mMaxHeat);
}
@@ -582,6 +624,7 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
super.saveNBTData(aNBT);
aNBT.setInteger("mMode", this.mMode);
aNBT.setInteger("mProgress", this.mProgress);
+ aNBT.setInteger("mMaxProgress", this.mMaxProgress);
aNBT.setBoolean("mStarted", this.mStarted);
int[] aSplitLong1 = MathUtils.splitLongIntoTwoIntegers(mEU);
aNBT.setInteger("mEU1", aSplitLong1[0]);
@@ -593,6 +636,7 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
aNBT.setInteger("mMaxHeat", this.mMaxHeat);
aNBT.setFloat("mHEM", this.mHEM);
aNBT.setFloat("mExplosionStrength", this.mExplosionStrength);
+ aNBT.setString("mFusionOutput", this.mFusionOutput);
}
@Override
@@ -600,6 +644,7 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
super.loadNBTData(aNBT);
this.mMode = aNBT.getInteger("mMode");
this.mProgress = aNBT.getInteger("mProgress");
+ this.mMaxProgress = aNBT.getInteger("mMaxProgress");
this.mStarted = aNBT.getBoolean("mStarted");
int partA = aNBT.getInteger("mEU1");
int partB = aNBT.getInteger("mEU2");
@@ -611,6 +656,7 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
this.mMaxHeat = aNBT.getInteger("mMaxHeat");
this.mHEM = aNBT.getFloat("mHEM");
this.mExplosionStrength = aNBT.getFloat("mExplosionStrength");
+ this.mFusionOutput = aNBT.getString("mFusionOutput");
}
@Override
@@ -633,17 +679,32 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
this.mNeedsUpdate = false;
}
if (this.getBaseMetaTileEntity().isServerSide()) {
- if (this.mMode == 2) {
- if (this.mInventory[55] == null) {
+ if (this.mMode == MODE_SCANNER) {
+ /*if (this.mInventory[55] == null) {
this.mInventory[55] = this.mInventory[54];
this.mInventory[54] = null;
- }
+ }*/
if (this.mInventory[57] == null) {
this.mInventory[57] = this.mInventory[56];
this.mInventory[56] = null;
}
- if (mSeedscanner && this.mInventory[55] != null && GT_Utility.areStacksEqual(this.mInventory[55], Ic2Items.cropSeed, true) && this.mInventory[55].getTagCompound() != null) {
+ // 54 - 55 || 56 - 57
+ // Do scanny bits
+ if (mSeedscanner && this.mMode == MODE_SCANNER) {
+ /*if (doScan(this.mInventory[55]) == 4) {
+ if ((this.mInventory[57] != null) && (this.mInventory[57].getUnlocalizedName().equals("gt.metaitem.01.32707"))) {
+ GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "scanning");
+ }
+ }*/
+ /*if (this.mEU > 0) {
+ if (!this.getBaseMetaTileEntity().decreaseStoredEnergyUnits(this.mEU, false)) {
+ this.mProgress = 0;
+ }
+ }*/
+ }
+
+ /*if (mSeedscanner && this.mInventory[55] != null && GT_Utility.areStacksEqual(this.mInventory[55], Ic2Items.cropSeed, true) && this.mInventory[55].getTagCompound() != null) {
if (this.mInventory[55].getTagCompound().getByte("scan") < 4) {
if (this.mProgress >= 100) {
this.mInventory[55].getTagCompound().setByte("scan", (byte) 4);
@@ -667,10 +728,10 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
this.mInventory[56] = this.mInventory[55];
this.mInventory[55] = null;
}
- }
+ }*/
}
- if (this.mMode == 1 && mReactorplanner && this.mSimulator != null && this.mSimulator.simulator != null && this.mSimulator.simulatedReactor != null) {
+ if (this.mMode == MODE_REACTOR_PLANNER && mReactorplanner && this.mSimulator != null && this.mSimulator.simulator != null && this.mSimulator.simulatedReactor != null) {
SimulationData aData = this.mSimulator.simulator.getData();
if (aData != null && aData.totalReactorTicks > 0 && this.mProgress != aData.totalReactorTicks) {
Logger.INFO("Updating Variables");
@@ -684,50 +745,6 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
}
}
- /*if (this.mMode == 1 && mReactorplanner && this.mStarted && this.getBaseMetaTileEntity().decreaseStoredEnergyUnits(32, false))
- for (int i = 0; i < 25 && this.mStarted; i++) {
- this.mEUOut = 0;
- this.mMaxHeat = 10000;
- this.mHEM = 1.0F;
- this.mExplosionStrength = 10.0F;
- float tMultiplier = 1.0F;
- for (int y = 0; y < 6; y++) {
- for (int x = 0; x < 9; x++) {
- ItemStack tStack = getStackInSlot(x + y * 9);
- if (tStack != null)
- if (tStack.getItem() instanceof IReactorComponent) {
- IReactorComponent tComponent = (IReactorComponent) tStack.getItem();
- tComponent.processChamber(this, tStack, x, y, false); //TODO
- float tInfluence = ((IReactorComponent) tStack.getItem()).influenceExplosion(this, tStack);
- if (tInfluence > 0.0F && tInfluence < 1.0F) {
- tMultiplier *= tInfluence;
- }
- else {
- this.mExplosionStrength += tInfluence;
- }
- }
- else if (tStack.isItemEqual(GT_ModHandler.getIC2Item("nearDepletedUraniumCell", 1)) || tStack.isItemEqual(GT_ModHandler.getIC2Item("reEnrichedUraniumCell", 1))) {
- stopNuclearReactor();
- }
- else {
- setInventorySlotContents(x + y * 9, (ItemStack) null);
- }
- }
- }
- this.mEUOut *= getReactorEUOutput();
- if ((this.mEUOut == 0 && this.mEUTimer++ > 20) || this.mHeat >= this.mMaxHeat)
- stopNuclearReactor();
- if (this.mEUOut != 0)
- this.mEUTimer = 0;
- this.mExplosionStrength *= this.mHEM * tMultiplier;
- this.mEU += this.mEUOut * 20;
- int tEU = this.mEULast1;
- this.mEULast1 = this.mEULast2;
- this.mEULast2 = this.mEULast3;
- this.mEULast3 = this.mEULast4;
- this.mEULast4 = this.mEUOut;
- this.mEUOut = (this.mEUOut + this.mEULast1 + this.mEULast2 + this.mEULast3 + tEU) / 5;
- }*/
if (aTick % 20L == 0L) {
this.getWorld().addBlockEvent(this.getXCoord(), this.getYCoord(), this.getZCoord(), GregTech_API.sBlockMachines, 10, this.mMode);
this.getWorld().addBlockEvent(this.getXCoord(), this.getYCoord(), this.getZCoord(), GregTech_API.sBlockMachines, 11, this.mMaxHeat);
@@ -765,12 +782,12 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
@Override
public boolean canInsertItem(int i, ItemStack itemstack, int j) {
- return (this.mMode == 2) ? ((i == 54 || i == 55)) : false;
+ return (this.mMode == MODE_SCANNER) ? ((i == 54 || i == 55)) : false;
}
@Override
public boolean canExtractItem(int i, ItemStack itemstack, int j) {
- return (this.mMode == 2) ? ((i == 56 || i == 57)) : false;
+ return (this.mMode == MODE_SCANNER) ? ((i == 56 || i == 57)) : false;
}
public World getWorld() {
@@ -838,5 +855,198 @@ public class GT_TileEntity_ComputerCube extends GT_MetaTileEntity_BasicTank {
public ITexture[] getSides(final byte aColor) {
return new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Computer_Cube)};
}
+
+ protected static final int
+ DID_NOT_FIND_RECIPE = 0,
+ FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS = 1,
+ FOUND_AND_SUCCESSFULLY_USED_RECIPE = 2;
+
+ /**
+ * Calcualtes overclocked ness using long integers
+ * @param aEUt - recipe EUt
+ * @param aDuration - recipe Duration
+ */
+ protected void calculateOverclockedNess(int aEUt, int aDuration) {
+ if(mTier==0){
+ //Long time calculation
+ long xMaxProgresstime = ((long)aDuration)<<1;
+ if(xMaxProgresstime>Integer.MAX_VALUE-1){
+ //make impossible if too long
+ mEU=Integer.MAX_VALUE-1;
+ mMaxProgress=Integer.MAX_VALUE-1;
+ }else{
+ mEU=aEUt>>2;
+ mMaxProgress=(int)xMaxProgresstime;
+ }
+ }else{
+ //Long EUt calculation
+ long xEUt=aEUt;
+ //Isnt too low EUt check?
+ long tempEUt = Math.max(xEUt, V[1]);
+
+ mMaxProgress = aDuration;
+
+ while (tempEUt <= V[mTier -1] * (long)this.maxAmperesIn()) {
+ tempEUt<<=2;//this actually controls overclocking
+ //xEUt *= 4;//this is effect of everclocking
+ mMaxProgress>>=1;//this is effect of overclocking
+ xEUt = mMaxProgress==0 ? xEUt>>1 : xEUt<<2;//U know, if the time is less than 1 tick make the machine use 2x less power
+ }
+ if(xEUt>Integer.MAX_VALUE-1){
+ mEU = Integer.MAX_VALUE-1;
+ mMaxProgress = Integer.MAX_VALUE-1;
+ }else{
+ mEU = (int)xEUt;
+ if(mEU==0)
+ mEU = 1;
+ if(mMaxProgress==0)
+ mMaxProgress = 1;//set time to 1 tick
+ }
+ }
+ }
+
+ public int doScan(ItemStack aInput) {
+ if (this.mMode != MODE_SCANNER) {
+ return DID_NOT_FIND_RECIPE;
+ }
+ ItemStack aStack = aInput;
+ if (this.mInventory[56] != null) {
+ return DID_NOT_FIND_RECIPE;
+ } else if ((GT_Utility.isStackValid(aStack)) && (aStack.stackSize > 0)) {
+
+
+ if (ItemList.IC2_Crop_Seeds.isStackEqual(aStack, true, true)) {
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ if (tNBT == null) {
+ tNBT = new NBTTagCompound();
+ }
+ if (tNBT.getByte("scan") < 4) {
+ tNBT.setByte("scan", (byte) 4);
+ calculateOverclockedNess(8, 160);
+ //In case recipe is too OP for that machine
+ if (mMaxProgress == Integer.MAX_VALUE - 1 && mEU == Integer.MAX_VALUE - 1)
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ } else {
+ this.mMaxProgress = 1;
+ this.mEU = 1;
+ }
+ aStack.stackSize -= 1;
+ this.mInventory[57] = GT_Utility.copyAmount(1L, aStack);
+ this.mInventory[57].setTagCompound(tNBT);
+ return 2;
+ }
+
+
+ if (ItemList.Tool_DataOrb.isStackEqual(getSpecialSlot(), false, true)) {
+ if (ItemList.Tool_DataOrb.isStackEqual(aStack, false, true)) {
+ aStack.stackSize -= 1;
+ this.mInventory[57] = GT_Utility.copyAmount(1L, getSpecialSlot());
+ calculateOverclockedNess(30, 512);
+ //In case recipe is too OP for that machine
+ if (mMaxProgress == Integer.MAX_VALUE - 1 && mEU == Integer.MAX_VALUE - 1)
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ return 2;
+ }
+ ItemData tData = GT_OreDictUnificator.getAssociation(aStack);
+ if ((tData != null) && ((tData.mPrefix == OrePrefixes.dust) || (tData.mPrefix == OrePrefixes.cell)) && (tData.mMaterial.mMaterial.mElement != null) && (!tData.mMaterial.mMaterial.mElement.mIsIsotope) && (tData.mMaterial.mMaterial != Materials.Magic) && (tData.mMaterial.mMaterial.getMass() > 0L)) {
+ getSpecialSlot().stackSize -= 1;
+ aStack.stackSize -= 1;
+
+ this.mInventory[57] = ItemList.Tool_DataOrb.get(1L);
+ Behaviour_DataOrb.setDataTitle(this.mInventory[57], "Elemental-Scan");
+ Behaviour_DataOrb.setDataName(this.mInventory[57], tData.mMaterial.mMaterial.mElement.name());
+ calculateOverclockedNess(30, GT_Utility.safeInt(tData.mMaterial.mMaterial.getMass() * 8192L));
+ //In case recipe is too OP for that machine
+ if (mMaxProgress == Integer.MAX_VALUE - 1 && mEU == Integer.MAX_VALUE - 1)
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ return 2;
+ }
+ }
+
+
+ if (ItemList.Tool_DataStick.isStackEqual(getSpecialSlot(), false, true)) {
+ if (ItemList.Tool_DataStick.isStackEqual(aStack, false, true)) {
+ aStack.stackSize -= 1;
+ this.mInventory[57] = GT_Utility.copyAmount(1L, getSpecialSlot());
+ calculateOverclockedNess(30, 128);
+ //In case recipe is too OP for that machine
+ if (mMaxProgress == Integer.MAX_VALUE - 1 && mEU == Integer.MAX_VALUE - 1)
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ return 2;
+ }
+ if (aStack.getItem() == Items.written_book) {
+ getSpecialSlot().stackSize -= 1;
+ aStack.stackSize -= 1;
+
+ this.mInventory[57] = GT_Utility.copyAmount(1L, getSpecialSlot());
+ this.mInventory[57].setTagCompound(aStack.getTagCompound());
+ calculateOverclockedNess(30, 128);
+ //In case recipe is too OP for that machine
+ if (mMaxProgress == Integer.MAX_VALUE - 1 && mEU == Integer.MAX_VALUE - 1)
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ return 2;
+ }
+ if (aStack.getItem() == Items.filled_map) {
+ getSpecialSlot().stackSize -= 1;
+ aStack.stackSize -= 1;
+
+ this.mInventory[57] = GT_Utility.copyAmount(1L, getSpecialSlot());
+ this.mInventory[57].setTagCompound(GT_Utility.getNBTContainingShort(new NBTTagCompound(), "map_id", (short) aStack.getItemDamage()));
+ calculateOverclockedNess(30, 128);
+ //In case recipe is too OP for that machine
+ if (mMaxProgress == Integer.MAX_VALUE - 1 && mEU == Integer.MAX_VALUE - 1)
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ return 2;
+ }
+
+ }
+
+ if (ItemList.Tool_DataStick.isStackEqual(getSpecialSlot(), false, true) && aStack != null) {
+ for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes) {
+ if (GT_Utility.areStacksEqual(tRecipe.mResearchItem, aStack, true)) {
+ boolean failScanner = true;
+ for (GT_Recipe scannerRecipe : sScannerFakeRecipes.mRecipeList) {
+ if (GT_Utility.areStacksEqual(scannerRecipe.mInputs[0], aStack, true)) {
+ failScanner = false;
+ break;
+ }
+ }
+ if (failScanner) {
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ }
+
+
+ String s = tRecipe.mOutput.getDisplayName();
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) {
+ s = GT_Assemblyline_Server.lServerNames.get(tRecipe.mOutput.getDisplayName());
+ if (s == null)
+ s = tRecipe.mOutput.getDisplayName();
+ }
+ this.mInventory[57] = GT_Utility.copyAmount(1L, getSpecialSlot());
+
+
+ // Use Assline Utils
+ if (GT_AssemblyLineUtils.setAssemblyLineRecipeOnDataStick(this.mInventory[57], tRecipe)) {
+ aStack.stackSize -= 1;
+ calculateOverclockedNess(30, tRecipe.mResearchTime);
+ //In case recipe is too OP for that machine
+ if (mMaxProgress == Integer.MAX_VALUE - 1 && mEU == Integer.MAX_VALUE - 1)
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
+ getSpecialSlot().stackSize -= 1;
+ return 2;
+ }
+
+ }
+ }
+ }
+
+ }
+ return 0;
+ }
+
+ private ItemStack getSpecialSlot() {
+ return this.mInventory[54];
+ }
+
}
diff --git a/src/main/resources/assets/miscutils/textures/gui/computer/0.png b/src/main/resources/assets/miscutils/textures/gui/computer/0.png
index 8f8a4a8f75..d96545981e 100644
--- a/src/main/resources/assets/miscutils/textures/gui/computer/0.png
+++ b/src/main/resources/assets/miscutils/textures/gui/computer/0.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/gui/computer/2.png b/src/main/resources/assets/miscutils/textures/gui/computer/2.png
index a128743fef..90a9447503 100644
--- a/src/main/resources/assets/miscutils/textures/gui/computer/2.png
+++ b/src/main/resources/assets/miscutils/textures/gui/computer/2.png
Binary files differ