diff options
| author | Jakub <53441451+kuba6000@users.noreply.github.com> | 2022-08-29 16:04:28 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-29 16:04:28 +0200 |
| commit | 7d1f51a8937e0a86486267437d444696e81e8aa0 (patch) | |
| tree | a5b145e7271998f7b4b968a2212ed487e54a92b5 /src/main/java/Ic2ExpReactorPlanner/components | |
| parent | 5267969156d30b4bb5f4cb2279ebb49db6bd40e2 (diff) | |
| download | GT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.tar.gz GT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.tar.bz2 GT5-Unofficial-7d1f51a8937e0a86486267437d444696e81e8aa0.zip | |
Buildscript + Spotless (#318)
* Convert AES.java to readable class
* Buildscript
* Spotless
Diffstat (limited to 'src/main/java/Ic2ExpReactorPlanner/components')
8 files changed, 654 insertions, 579 deletions
diff --git a/src/main/java/Ic2ExpReactorPlanner/components/Condensator.java b/src/main/java/Ic2ExpReactorPlanner/components/Condensator.java index d38db4c704..e4b73aa838 100644 --- a/src/main/java/Ic2ExpReactorPlanner/components/Condensator.java +++ b/src/main/java/Ic2ExpReactorPlanner/components/Condensator.java @@ -12,15 +12,21 @@ import gregtech.api.objects.GT_ItemStack; * @author Brian McCloud */ public class Condensator extends ReactorItem { - - public Condensator(final int id, final String baseName, GT_ItemStack aItem, final double maxDamage, final double maxHeat, final String sourceMod) { + + public Condensator( + final int id, + final String baseName, + GT_ItemStack aItem, + final double maxDamage, + final double maxHeat, + final String sourceMod) { super(id, baseName, aItem, maxDamage, maxHeat, sourceMod); } - + public Condensator(final Condensator other) { super(other); } - + @Override public double adjustCurrentHeat(final double heat) { if (heat < 0.0) { @@ -39,10 +45,9 @@ public class Condensator extends ReactorItem { public boolean needsCoolantInjected() { return currentHeat > 0.85 * getMaxHeat(); } - + @Override public void injectCoolant() { currentHeat = 0; } - } diff --git a/src/main/java/Ic2ExpReactorPlanner/components/CoolantCell.java b/src/main/java/Ic2ExpReactorPlanner/components/CoolantCell.java index f152b49985..a9a90ceb6b 100644 --- a/src/main/java/Ic2ExpReactorPlanner/components/CoolantCell.java +++ b/src/main/java/Ic2ExpReactorPlanner/components/CoolantCell.java @@ -12,20 +12,25 @@ import gregtech.api.objects.GT_ItemStack; * @author Brian McCloud */ public class CoolantCell extends ReactorItem { - - public CoolantCell(final int id, final String baseName, GT_ItemStack aItem, final double maxDamage, final double maxHeat, final String sourceMod) { + + public CoolantCell( + final int id, + final String baseName, + GT_ItemStack aItem, + final double maxDamage, + final double maxHeat, + final String sourceMod) { super(id, baseName, aItem, maxDamage, maxHeat, sourceMod); } - + public CoolantCell(final CoolantCell other) { super(other); } - + @Override public double adjustCurrentHeat(final double heat) { currentCellCooling += heat; bestCellCooling = Math.max(currentCellCooling, bestCellCooling); return super.adjustCurrentHeat(heat); } - } diff --git a/src/main/java/Ic2ExpReactorPlanner/components/Exchanger.java b/src/main/java/Ic2ExpReactorPlanner/components/Exchanger.java index efb9a826e2..9c2f470eba 100644 --- a/src/main/java/Ic2ExpReactorPlanner/components/Exchanger.java +++ b/src/main/java/Ic2ExpReactorPlanner/components/Exchanger.java @@ -5,32 +5,39 @@ */ package Ic2ExpReactorPlanner.components; +import gregtech.api.objects.GT_ItemStack; import java.util.ArrayList; import java.util.List; -import gregtech.api.objects.GT_ItemStack; - /** * Represents a heat exchanger of some sort in a reactor. * @author Brian McCloud */ public class Exchanger extends ReactorItem { - + private final int switchSide; private final int switchReactor; - - public Exchanger(final int id, final String baseName, GT_ItemStack aItem, final double maxDamage, final double maxHeat, final String sourceMod, final int switchSide, final int switchReactor) { + + public Exchanger( + final int id, + final String baseName, + GT_ItemStack aItem, + final double maxDamage, + final double maxHeat, + final String sourceMod, + final int switchSide, + final int switchReactor) { super(id, baseName, aItem, maxDamage, maxHeat, sourceMod); this.switchSide = switchSide; this.switchReactor = switchReactor; } - + public Exchanger(final Exchanger other) { super(other); this.switchSide = other.switchSide; this.switchReactor = other.switchReactor; } - + @Override public void transfer() { List<ReactorItem> heatableNeighbors = new ArrayList<>(4); @@ -121,10 +128,9 @@ public class Exchanger extends ReactorItem { } adjustCurrentHeat(myHeat); } - + @Override public double getHullCoolingCapacity() { return switchReactor; } - } diff --git a/src/main/java/Ic2ExpReactorPlanner/components/FuelRod.java b/src/main/java/Ic2ExpReactorPlanner/components/FuelRod.java index 588e221424..abeea45a37 100644 --- a/src/main/java/Ic2ExpReactorPlanner/components/FuelRod.java +++ b/src/main/java/Ic2ExpReactorPlanner/components/FuelRod.java @@ -5,42 +5,50 @@ */ package Ic2ExpReactorPlanner.components; +import gregtech.api.objects.GT_ItemStack; import java.util.ArrayList; import java.util.List; -import gregtech.api.objects.GT_ItemStack; - /** * Represents some form of fuel rod (may be single, dual, or quad). * @author Brian McCloud */ public class FuelRod extends ReactorItem { - + private final int energyMult; private final double heatMult; private final int rodCount; private final boolean moxStyle; - + private static boolean GT509behavior = false; private static boolean GTNHbehavior = false; - + public static void setGT509Behavior(boolean value) { GT509behavior = value; } - + public static void setGTNHBehavior(boolean value) { GTNHbehavior = value; } - - public FuelRod(final int id, final String baseName, GT_ItemStack aItem, final double maxDamage, final double maxHeat, final String sourceMod, - final int energyMult, final double heatMult, final int rodCount, final boolean moxStyle) { + + public FuelRod( + final int id, + final String baseName, + GT_ItemStack aItem, + final double maxDamage, + final double maxHeat, + final String sourceMod, + final int energyMult, + final double heatMult, + final int rodCount, + final boolean moxStyle) { super(id, baseName, aItem, maxDamage, maxHeat, sourceMod); this.energyMult = energyMult; this.heatMult = heatMult; this.rodCount = rodCount; this.moxStyle = moxStyle; } - + public FuelRod(final FuelRod other) { super(other); this.energyMult = other.energyMult; @@ -48,7 +56,7 @@ public class FuelRod extends ReactorItem { this.rodCount = other.rodCount; this.moxStyle = other.moxStyle; } - + @Override public boolean isNeutronReflector() { return !isBroken(); @@ -74,7 +82,7 @@ public class FuelRod extends ReactorItem { } return neutronNeighbors; } - + protected void handleHeat(final int heat) { List<ReactorItem> heatableNeighbors = new ArrayList<>(4); ReactorItem component = parent.getComponentAt(row + 1, col); @@ -105,11 +113,11 @@ public class FuelRod extends ReactorItem { heatableNeighbors.get(0).adjustCurrentHeat(remainderHeat); } } - + @Override public double generateHeat() { int pulses = countNeutronNeighbors() + (rodCount == 1 ? 1 : (rodCount == 2) ? 2 : 3); - int heat = (int)(heatMult * pulses * (pulses + 1)); + int heat = (int) (heatMult * pulses * (pulses + 1)); if (moxStyle && parent.isFluid() && (parent.getCurrentHeat() / parent.getMaxHeat()) > 0.5) { heat *= 2; } @@ -125,13 +133,12 @@ public class FuelRod extends ReactorItem { int pulses = countNeutronNeighbors() + (rodCount == 1 ? 1 : (rodCount == 2) ? 2 : 3); double energy = energyMult * pulses; if (GT509behavior || "GT5".equals(sourceMod)) { - energy *= 2;//EUx2 if from GT5.09 or in GT5.09 mode + energy *= 2; // EUx2 if from GT5.09 or in GT5.09 mode if (moxStyle) { energy *= (1 + 1.5 * parent.getCurrentHeat() / parent.getMaxHeat()); } - } - else if (GTNHbehavior || "GTNH".equals(sourceMod)) { - energy *= 10;//EUx10 if from GTNH or in GTNH mode + } else if (GTNHbehavior || "GTNH".equals(sourceMod)) { + energy *= 10; // EUx10 if from GTNH or in GTNH mode if (moxStyle) { energy *= (1 + 1.5 * parent.getCurrentHeat() / parent.getMaxHeat()); } @@ -145,12 +152,12 @@ public class FuelRod extends ReactorItem { applyDamage(1.0); return energy; } - + @Override public int getRodCount() { return rodCount; } - + @Override public double getCurrentOutput() { if (parent != null) { @@ -162,5 +169,4 @@ public class FuelRod extends ReactorItem { } return 0; } - } diff --git a/src/main/java/Ic2ExpReactorPlanner/components/Plating.java b/src/main/java/Ic2ExpReactorPlanner/components/Plating.java index d792e06035..de49dfa13c 100644 --- a/src/main/java/Ic2ExpReactorPlanner/components/Plating.java +++ b/src/main/java/Ic2ExpReactorPlanner/components/Plating.java @@ -15,21 +15,29 @@ import gregtech.api.objects.GT_ItemStack; * @author Brian McCloud */ public class Plating extends ReactorItem { - + private final int heatAdjustment; - - public Plating(final int id, final String baseName, GT_ItemStack aItem, final double maxDamage, final double maxHeat, final String sourceMod, final int heatAdjustment, final double explosionPowerMultiplier) { + + public Plating( + final int id, + final String baseName, + GT_ItemStack aItem, + final double maxDamage, + final double maxHeat, + final String sourceMod, + final int heatAdjustment, + final double explosionPowerMultiplier) { super(id, baseName, aItem, maxDamage, maxHeat, sourceMod); this.heatAdjustment = heatAdjustment; this.explosionPowerMultiplier = explosionPowerMultiplier; } - + public Plating(Plating other) { super(other); this.heatAdjustment = other.heatAdjustment; this.explosionPowerMultiplier = other.explosionPowerMultiplier; } - + @Override public void addToReactor(final Reactor parent, final int row, final int col) { super.addToReactor(parent, row, col); @@ -45,5 +53,4 @@ public class Plating extends ReactorItem { } super.removeFromReactor(); } - } diff --git a/src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java b/src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java index 9a9b1ce341..aee7f1c441 100644 --- a/src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java +++ b/src/main/java/Ic2ExpReactorPlanner/components/ReactorItem.java @@ -5,527 +5,560 @@ */ package Ic2ExpReactorPlanner.components; -import java.util.HashMap; -import java.util.ResourceBundle; - import Ic2ExpReactorPlanner.Reactor; import gregtech.api.objects.GT_ItemStack; +import java.util.HashMap; /** * Represents an item (component) in an IndustrialCraft2 Experimental Nuclear * Reactor. - * + * * @author Brian McCloud */ public class ReactorItem { - - public static HashMap<String, ReactorItem> sComponentMap = new HashMap<String, ReactorItem>(); - // Fundamental values, set at object instantiation, should never need to be - // changed. - public final int id; - public final String baseName; // this is the non-localized version, for - // internal program use - public final String name; // this is expected to be localized, for display - // usage. - protected double maxDamage; - - public double getMaxDamage() { - return maxDamage; - } - - protected double maxHeat; - - public double getMaxHeat() { - return maxHeat; - } - - public final String sourceMod; // for potentially adjusting controls based - // on whether the mod is in use, will be - // null to indicate the item is part of base - // IC2. - public final GT_ItemStack mItem; - - // Simulation setting values - private double initialHeat = 0; - - public double getInitialHeat() { - return initialHeat; - } - - public void setInitialHeat(final double value) { - if (this.isHeatAcceptor() && value >= 0 && value < this.maxHeat) { - initialHeat = value; - } - } - private int automationThreshold = 9000; - - public int getAutomationThreshold() { - return automationThreshold; - } - - public void setAutomationThreshold(final int value) { - if (maxHeat > 1 || maxDamage > 1) { - automationThreshold = value; - } - } - private int reactorPause = 0; - - public int getReactorPause() { - return reactorPause; - } - - public void setReactorPause(final int value) { - if (maxHeat > 1 || maxDamage > 1) { - reactorPause = value; - } - } - - // fields below here are not to be copied by the copy constructor. - - // Parent reactor and position - protected Reactor parent = null; - protected int row = -10; - protected int col = -10; - - // Special variable for holding information about this item from last - // simulation. - // Usage of StringBuffer instead of StringBuilder is deliberate - this may - // be accessed by - // both the simulation worker thread and the event dispatch thread. - public final StringBuffer info = new StringBuffer(1000); - - // Calculated values - readable from outside, but only writable by - // subclasses. - protected double currentDamage = 0; - public double getCurrentDamage() { - return currentDamage; - } - protected double currentHeat = 0; - public double getCurrentHeat() { - return currentHeat; - } - protected double maxReachedHeat = 0; - public double getMaxReachedHeat() { - return maxReachedHeat; - } - - protected double currentEUGenerated = 0; - public double getCurrentEUGenerated() { - return currentEUGenerated; - } - protected double minEUGenerated = Double.MAX_VALUE; - public double getMinEUGenerated() { - return minEUGenerated; - } - protected double maxEUGenerated = 0; - public double getMaxEUGenerated() { - return maxEUGenerated; - } - - protected double currentHeatGenerated = 0; - public double getCurrentHeatGenerated() { - return currentHeatGenerated; - } - protected double minHeatGenerated = Double.MAX_VALUE; - public double getMinHeatGenerated() { - return minHeatGenerated; - } - protected double maxHeatGenerated = 0; - public double getMaxHeatGenerated() { - return maxHeatGenerated; - } - - protected double currentHullHeating = 0; - public double getCurrentHullHeating() { - return currentHullHeating; - } - protected double currentComponentHeating = 0; - public double getCurrentComponentHeating() { - return currentComponentHeating; - } - protected double currentHullCooling = 0; - public double getCurrentHullCooling() { - return currentHullCooling; - } - protected double currentVentCooling = 0; - public double getCurrentVentCooling() { - return currentVentCooling; - } - protected double bestVentCooling = 0; - public double getBestVentCooling() { - return bestVentCooling; - } - - protected double currentCellCooling = 0; - public double getCurrentCellCooling() { - return currentCellCooling; - } - protected double bestCellCooling = 0; - public double getBestCellCooling() { - return bestCellCooling; - } - - protected double currentCondensatorCooling = 0; - public double getCurrentCondensatorCooling() { - return currentCondensatorCooling; - } - protected double bestCondensatorCooling = 0; - public double getBestCondensatorCooling() { - return bestCondensatorCooling; - } - - protected double explosionPowerMultiplier = 1; - - 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; - this.name = aItem.mItem.getItemStackDisplayName(aItem.toStack()); - this.mItem = aItem; - this.maxDamage = maxDamage; - this.maxHeat = maxHeat; - if (maxHeat > 1) { - automationThreshold = (int) (maxHeat * 0.9); - } - else if (maxDamage > 1) { - automationThreshold = (int) (maxDamage * 1.1); - } - if (sourceMod == null) { - sourceMod = "IC2"; - } - this.sourceMod = sourceMod; - sComponentMap.put(sourceMod+"."+aItem.mItem.getUnlocalizedName()+"."+aItem.mMetaData, this); - } - - // Protected copy constructor for use by subclasses. Generalized copying - // should be done with a method in ComponentFactory (which can check which - // subclass copy constructor to use). - protected ReactorItem(final ReactorItem other) { - this.id = other.id; - this.baseName = other.baseName; - this.name = other.name; - this.mItem = other.mItem; - this.maxDamage = other.maxDamage; - this.maxHeat = other.maxHeat; - this.initialHeat = other.initialHeat; - this.automationThreshold = other.automationThreshold; - this.reactorPause = other.reactorPause; - this.sourceMod = other.sourceMod; - } - - /** - * Gets the name of the component, and the initial heat (if applicable). - * - * @return the name of this component, and potentially initial heat. - */ - @Override - public String toString() { - String result = name; - if (initialHeat > 0) { - result += String.format("\u0020(initial heat: %,d)", (int) initialHeat); - } - return result; - } - - /** - * Checks if this component can accept heat. (e.g. from adjacent fuel rods, - * or from an exchanger) - * - * @return true if this component can accept heat, false otherwise. - */ - public boolean isHeatAcceptor() { - // maxHeat of 1 means this component never accepts heat (though it might - // take damage instead) - return maxHeat > 1 && !isBroken(); - } - - /** - * Determines if this component can be cooled down, such as by a component - * heat vent. - * - * @return true if this component can be cooled down, false otherwise. - */ - public boolean isCoolable() { - return maxHeat > 1 && !(this instanceof Condensator); - } - - /** - * Checks if this component acts as a neutron reflector, and boosts - * performance of adjacent fuel rods, either by being a "neutron reflector" - * item or by being a fuel rod. - * - * @return true if this component reflects neutrons, false otherwise. - */ - public boolean isNeutronReflector() { - return false; - } - - /** - * Prepare for a new reactor tick. - */ - public void preReactorTick() { - currentHullHeating = 0.0; - currentComponentHeating = 0.0; - currentHullCooling = 0.0; - currentVentCooling = 0.0; - currentCellCooling = 0.0; - currentCondensatorCooling = 0.0; - currentEUGenerated = 0; - currentHeatGenerated = 0; - } - - /** - * Generate heat if appropriate for component type, and spread to reactor or - * adjacent cells. - * - * @return the amount of heat generated by this component. - */ - public double generateHeat() { - return 0.0; - } - - /** - * Generate energy if appropriate for component type. - * - * @return the number of EU generated by this component during the current - * reactor tick. - */ - public double generateEnergy() { - return 0.0; - } - - /** - * Dissipate (aka vent) heat if appropriate for component type. - * - * @return the amount of heat successfully vented during the current reactor - * tick. - */ - public double dissipate() { - return 0.0; - } - - /** - * Transfer heat between component, neighbors, and/or reactor, if - * appropriate for component type. - */ - public void transfer() { - // do nothing by default. - } - - /** - * Adds this component to a new reactor, and applies changes to the reactor - * when adding this component if appropriate, such as for reactor plating. - * - * @param parent - * the reactor to add this component to. - * @param row - * the row this component will be in. - * @param col - * the column this component will be in. - */ - public void addToReactor(final Reactor parent, final int row, final int col) { - // call removeFromReactor first, in case it had previously been added to - // a different reactor (unlikely) - removeFromReactor(); - this.parent = parent; - this.row = row; - this.col = col; - } - - /** - * Removes this component from its reactor (if any), and applies changes to - * the reactor when removing this component if appropriate, such as for - * reactor plating. - */ - public void removeFromReactor() { - parent = null; - this.row = -10; - this.col = -10; - } - - /** - * Resets heat to 0 (used when resetting simulation). - */ - public final void clearCurrentHeat() { - currentHeat = initialHeat; - bestVentCooling = 0.0; - bestCondensatorCooling = 0.0; - bestCellCooling = 0.0; - minEUGenerated = Double.MAX_VALUE; - maxEUGenerated = 0.0; - minHeatGenerated = Double.MAX_VALUE; - maxHeatGenerated = 0.0; - maxReachedHeat = initialHeat; - } - - /** - * Adjusts the component heat up or down - * - * @param heat - * the amount of heat to adjust by (positive to add heat, - * negative to remove heat). - * @return the amount of heat adjustment refused. (e.g. due to going below - * minimum heat, breaking due to excessive heat, or attempting to - * remove heat from a condensator) - */ - public double adjustCurrentHeat(final double heat) { - if (isHeatAcceptor()) { - double result = 0.0; - double tempHeat = getCurrentHeat(); - tempHeat += heat; - if (tempHeat > getMaxHeat()) { - result = getMaxHeat() - tempHeat + 1; - tempHeat = getMaxHeat(); - } - else if (tempHeat < 0.0) { - result = tempHeat; - tempHeat = 0.0; - } - currentHeat = tempHeat; - maxReachedHeat = Math.max(maxReachedHeat, currentHeat); - return result; - } - return heat; - } - - /** - * Clears the damage back to 0 (used when resetting simulation, or replacing - * the component in an automation simulation). - */ - public final void clearDamage() { - currentDamage = 0.0; - } - - /** - * Applies damage to the component, as opposed to heat. Mainly used for fuel - * rods and neutron reflectors that lose durability as the reactor runs, but - * can't recover it via cooling. - * - * @param damage - * the damage to apply (only used if positive). - */ - public final void applyDamage(final double damage) { - // maxDamage of 1 is treated as meaning the component doesn't accept - // damage (though it might accept heat instead) - // if someone actually writes a mod with such a flimsy component, I - // might have to rethink this. - if (maxDamage > 1 && damage > 0.0) { - currentDamage += damage; - } - } - - /** - * Determines if this component is broken in the current tick of the - * simulation - * - * @return true if the component has broken either from damage (e.g. neutron - * reflectors, fuel rods) or from heat (e.g. heat vents, coolant - * cells), false otherwise. - */ - public boolean isBroken() { - return currentHeat >= getMaxHeat() || currentDamage >= getMaxDamage(); - } - - /** - * The number of fuel rods in this component (0 for non-fuel-rod - * components). - * - * @return The number of fuel rods in this component, or 0 if this component - * has no fuel rods. - */ - public int getRodCount() { - return 0; - } - - /** - * Gets a value added in the formula for calculating explosion power. - * - * @return the additive value for explosion power caused by this component, - * or 0 if this component doesn't affect the addition part of the - * explosion calculation. - */ - public double getExplosionPowerOffset() { - if (!isBroken()) { - if (getRodCount() == 0 && isNeutronReflector()) { - return -1; - } - return 2 * getRodCount(); // all known fuel rods (including those - // from GT) use this formula, and - // non-rod components return 0 for - // getRodCount - } - return 0; - } - - /** - * Gets a value multiplied in the formula for calculating explosion power. - * - * @return the multiplier value for explosion power caused by this - * component, or 1 if this component doesn't affect the - * multiplication part of the explosion calculation. - */ - public double getExplosionPowerMultiplier() { - return explosionPowerMultiplier; - } - - /** - * Finds the theoretical maximum venting of this component, regardless of - * whether this venting is from itself, directly from the reactor, or from - * adjacent components. - * - * @return the capacity of this component to vent heat. - */ - public double getVentCoolingCapacity() { - return 0; - } - - /** - * Finds the theoretical maximum hull cooling of this component. - * - * @return the capacity of this component to remove heat from the reactor - * hull. - */ - public double getHullCoolingCapacity() { - return 0; - } - - /** - * Gets the current "output" of this component, presumably for writing to - * CSV data. What this "output" means may vary by component type or reactor - * type. - * - * @return the output of this component for the current reactor tick. - */ - public double getCurrentOutput() { - return 0; - } - - /** - * Determines whether this component expects to produces some sort of output - * each reactor tick, e.g. for purposes of tracking in a CSV file. - * - * @return true if this component produces output (such as EU or vented - * heat), false otherwise. - */ - public boolean producesOutput() { - return getVentCoolingCapacity() > 0 || getRodCount() > 0; - } - - /** - * Determines if this component needs input from a Reactor Coolant Injector. - * Simply returns false for non-condensator items. - * - * @return true if this is a condensator that has absorbed enough heat to - * require the appropriate item added to repair it, false otherwise. - */ - public boolean needsCoolantInjected() { - return false; - } - - /** - * Simulates having a coolant item added by a Reactor Coolant Injector. - */ - public void injectCoolant() { - // do nothing by default. - } + public static HashMap<String, ReactorItem> sComponentMap = new HashMap<String, ReactorItem>(); + // Fundamental values, set at object instantiation, should never need to be + // changed. + public final int id; + public final String baseName; // this is the non-localized version, for + // internal program use + public final String name; // this is expected to be localized, for display + // usage. + protected double maxDamage; + + public double getMaxDamage() { + return maxDamage; + } + + protected double maxHeat; + + public double getMaxHeat() { + return maxHeat; + } + + public final String sourceMod; // for potentially adjusting controls based + // on whether the mod is in use, will be + // null to indicate the item is part of base + // IC2. + public final GT_ItemStack mItem; + + // Simulation setting values + private double initialHeat = 0; + + public double getInitialHeat() { + return initialHeat; + } + + public void setInitialHeat(final double value) { + if (this.isHeatAcceptor() && value >= 0 && value < this.maxHeat) { + initialHeat = value; + } + } + + private int automationThreshold = 9000; + + public int getAutomationThreshold() { + return automationThreshold; + } + + public void setAutomationThreshold(final int value) { + if (maxHeat > 1 || maxDamage > 1) { + automationThreshold = value; + } + } + + private int reactorPause = 0; + + public int getReactorPause() { + return reactorPause; + } + + public void setReactorPause(final int value) { + if (maxHeat > 1 || maxDamage > 1) { + reactorPause = value; + } + } + + // fields below here are not to be copied by the copy constructor. + + // Parent reactor and position + protected Reactor parent = null; + protected int row = -10; + protected int col = -10; + + // Special variable for holding information about this item from last + // simulation. + // Usage of StringBuffer instead of StringBuilder is deliberate - this may + // be accessed by + // both the simulation worker thread and the event dispatch thread. + public final StringBuffer info = new StringBuffer(1000); + + // Calculated values - readable from outside, but only writable by + // subclasses. + protected double currentDamage = 0; + + public double getCurrentDamage() { + return currentDamage; + } + + protected double currentHeat = 0; + + public double getCurrentHeat() { + return currentHeat; + } + + protected double maxReachedHeat = 0; + + public double getMaxReachedHeat() { + return maxReachedHeat; + } + + protected double currentEUGenerated = 0; + + public double getCurrentEUGenerated() { + return currentEUGenerated; + } + + protected double minEUGenerated = Double.MAX_VALUE; + + public double getMinEUGenerated() { + return minEUGenerated; + } + + protected double maxEUGenerated = 0; + + public double getMaxEUGenerated() { + return maxEUGenerated; + } + + protected double currentHeatGenerated = 0; + + public double getCurrentHeatGenerated() { + return currentHeatGenerated; + } + + protected double minHeatGenerated = Double.MAX_VALUE; + + public double getMinHeatGenerated() { + return minHeatGenerated; + } + + protected double maxHeatGenerated = 0; + + public double getMaxHeatGenerated() { + return maxHeatGenerated; + } + + protected double currentHullHeating = 0; + + public double getCurrentHullHeating() { + return currentHullHeating; + } + + protected double currentComponentHeating = 0; + + public double getCurrentComponentHeating() { + return currentComponentHeating; + } + + protected double currentHullCooling = 0;< |
