aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/GoodGenerator/util
diff options
context:
space:
mode:
authorGlodBlock <1356392126@qq.com>2021-08-19 20:31:53 +0800
committerGlodBlock <1356392126@qq.com>2021-08-19 20:31:53 +0800
commit82f768f48e8964d6dee6b2b64f042ccc755bfb6a (patch)
treed9d23b29daebfbc2974240206a912f25b59ddea2 /src/main/java/GoodGenerator/util
parent0aff8fdce56cac3738a2dddc62bcecfea2219ca2 (diff)
downloadGT5-Unofficial-82f768f48e8964d6dee6b2b64f042ccc755bfb6a.tar.gz
GT5-Unofficial-82f768f48e8964d6dee6b2b64f042ccc755bfb6a.tar.bz2
GT5-Unofficial-82f768f48e8964d6dee6b2b64f042ccc755bfb6a.zip
add Neutron Activator and NEI compact
Diffstat (limited to 'src/main/java/GoodGenerator/util')
-rw-r--r--src/main/java/GoodGenerator/util/CharExchanger.java8
-rw-r--r--src/main/java/GoodGenerator/util/ItemRefer.java1
-rw-r--r--src/main/java/GoodGenerator/util/MyRecipeAdder.java30
3 files changed, 37 insertions, 2 deletions
diff --git a/src/main/java/GoodGenerator/util/CharExchanger.java b/src/main/java/GoodGenerator/util/CharExchanger.java
index e2b95c040b..566afdfeed 100644
--- a/src/main/java/GoodGenerator/util/CharExchanger.java
+++ b/src/main/java/GoodGenerator/util/CharExchanger.java
@@ -66,10 +66,14 @@ public class CharExchanger {
public static boolean compareExpression(String exp, int num) {
int op = getOperator(exp);
String NumExp = exp;
- String[] opChar = new String[]{">", "<", "<=", ">=", "==", "!="};
+ String[] opChar = new String[]{">", "<", "=", "!"};
if (op == -1) throw new IllegalArgumentException();
for (String re: opChar) NumExp = NumExp.replace(re, "");
- int num2 = Integer.getInteger(NumExp);
+ long num2 = 0;
+ for (char c: NumExp.toCharArray()) {
+ num2 *=10;
+ num2 += c - '0';
+ }
switch (op) {
case 1: return num > num2;
case 2: return num < num2;
diff --git a/src/main/java/GoodGenerator/util/ItemRefer.java b/src/main/java/GoodGenerator/util/ItemRefer.java
index 6d20636d1e..4a76951224 100644
--- a/src/main/java/GoodGenerator/util/ItemRefer.java
+++ b/src/main/java/GoodGenerator/util/ItemRefer.java
@@ -24,6 +24,7 @@ public final class ItemRefer {
public static ItemRefer Aluminum_Nitride_Dust = getItemStack(aluminumNitride);
public static ItemRefer Special_Ceramics_Dust = getItemStack(specialCeramics);
public static ItemRefer Special_Ceramics_Plate = getItemStack(specialCeramicsPlate);
+ public static ItemRefer Radioactive_Waste = getItemStack(radioactiveWaste);
public static ItemRefer Field_Restriction_Casing = getItemStack(MAR_Casing);
public static ItemRefer Naquadah_Fuel_Refinery_Casing = getItemStack(FRF_Casings);
diff --git a/src/main/java/GoodGenerator/util/MyRecipeAdder.java b/src/main/java/GoodGenerator/util/MyRecipeAdder.java
index 85c36a1ea8..0f773a2807 100644
--- a/src/main/java/GoodGenerator/util/MyRecipeAdder.java
+++ b/src/main/java/GoodGenerator/util/MyRecipeAdder.java
@@ -40,6 +40,18 @@ public class MyRecipeAdder {
true
);
+ public final NeutronActivatorMapper NA = new NeutronActivatorMapper(
+ new HashSet<>(150),
+ "gg.recipe.neutron_activator",
+ StatCollector.translateToLocal("tile.neutron_activator"),
+ null,
+ "goodgenerator:textures/gui/neutron_activator",
+ 6, 6, 0, 0, 0,
+ null, 0, null,
+ false,
+ false
+ );
+
public static class liquidMentalFuelMapper extends GT_Recipe.GT_Recipe_Map_Fuel{
int lasting = 0;
@@ -70,4 +82,22 @@ public class MyRecipeAdder {
public void addNaquadahFuelRefineRecipe(FluidStack[] input1, ItemStack[] input2, FluidStack output, int EUt, int ticks, int tier){
FRF.addNaqFuelRefineRecipe(input1, input2, output, EUt, ticks, tier);
}
+
+ public static class NeutronActivatorMapper extends GT_Recipe.GT_Recipe_Map{
+ public NeutronActivatorMapper(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed){
+ super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed);
+ }
+
+ public void addNARecipe(FluidStack[] input1, ItemStack[] input2, FluidStack[] output1, ItemStack[] output2, int ticks, int special) {
+ super.addRecipe(false, input2, output2, null, input1, output1, ticks, 0, special);
+ }
+ }
+
+ public void addNeutronActivatorRecipe(FluidStack[] input1, ItemStack[] input2, FluidStack[] output1, ItemStack[] output2, int ticks, int maxNKE, int minNKE) {
+ if (maxNKE <= 0) maxNKE = 1;
+ if (maxNKE >= 280) maxNKE = 280;
+ if (minNKE < 0) minNKE = 0;
+ if (minNKE >= maxNKE) minNKE = maxNKE - 1;
+ NA.addNARecipe(input1, input2, output1, output2, ticks, maxNKE * 10000 + minNKE);
+ }
}