aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorquerns <33518699+querns@users.noreply.github.com>2023-11-20 10:53:40 -0600
committerGitHub <noreply@github.com>2023-11-20 17:53:40 +0100
commit8cd2febd2315e4f963f051a42216e620dce3f50b (patch)
tree8882bacfb5d346455dbb683c74c1c4eb1559b3ed /src/main/java
parent1808bf7a9da769d6be4ac69536a26f06d55f984d (diff)
downloadGT5-Unofficial-8cd2febd2315e4f963f051a42216e620dce3f50b.tar.gz
GT5-Unofficial-8cd2febd2315e4f963f051a42216e620dce3f50b.tar.bz2
GT5-Unofficial-8cd2febd2315e4f963f051a42216e620dce3f50b.zip
Allow Simple Washers to clean Purified Dusts, adds LV/HV/IV/ZPM Simple Washers (#783)
* Lower reservoir hatch tier to EV, add tooltip showing tier for reservoir + air intake hatches * Use getColoredTierNameFromTier instead of rolling our own * Allow simple washer to clean purified dusts * Adds simple washers for LV, HV, IV, and ZPM
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java85
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java5
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java147
3 files changed, 104 insertions, 133 deletions
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 2016a6582c..ae0f591e59 100644
--- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -8,6 +8,8 @@ import static gregtech.api.enums.Mods.GregTech;
import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.enums.Mods.RemoteIO;
+import java.util.List;
+
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
@@ -17,6 +19,7 @@ import net.minecraftforge.oredict.OreDictionary;
import com.github.technus.tectech.recipe.TT_recipeAdder;
import com.github.technus.tectech.thing.CustomItemList;
+import com.google.common.collect.ImmutableList;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
@@ -1686,68 +1689,28 @@ public class RECIPES_Machines {
}
if (CORE.ConfigSwitches.enableMachine_SimpleWasher) {
- ItemStack plateWrought = ItemUtils.getItemStackOfAmountFromOreDict("plateWroughtIron", 1);
- ItemStack washerPipe;
-
- if (CORE.ConfigSwitches.enableCustom_Pipes) {
- washerPipe = ItemUtils.getItemStackOfAmountFromOreDict("pipeLargeClay", 1);
- RecipeUtils.addShapedGregtechRecipe(
- plateWrought,
- CI.electricPump_LV,
- plateWrought,
- plateWrought,
- washerPipe,
- plateWrought,
- plateWrought,
- CI.machineCasing_ULV,
- plateWrought,
- GregtechItemList.SimpleDustWasher_ULV.get(1));
- }
- // Add Recipe
- washerPipe = ItemUtils.getItemStackOfAmountFromOreDict("pipeLargeCopper", 1);
- RecipeUtils.addShapedGregtechRecipe(
- plateWrought,
- CI.electricPump_LV,
- plateWrought,
- plateWrought,
- washerPipe,
- plateWrought,
- plateWrought,
- CI.machineCasing_ULV,
- plateWrought,
- GregtechItemList.SimpleDustWasher_ULV.get(1));
-
- int aSimpleWasherTier = 2;
- int aSlot = 0;
- ItemStack[][] aInputsForSimpleWashers = new ItemStack[4][6];
-
- aInputsForSimpleWashers[0] = new ItemStack[] { CI.getTieredMachineHull(2),
- CI.getTieredComponent(OrePrefixes.screw, 2, 8), CI.getTieredComponent(OrePrefixes.plate, 1, 4),
- CI.getTieredComponent(OrePrefixes.rod, 2, 2), CI.getTieredComponent(OrePrefixes.circuit, 2, 1), };
- aInputsForSimpleWashers[1] = new ItemStack[] { CI.getTieredMachineHull(4),
- CI.getTieredComponent(OrePrefixes.screw, 4, 12), CI.getTieredComponent(OrePrefixes.plate, 3, 6),
- CI.getTieredComponent(OrePrefixes.rod, 4, 3), CI.getTieredComponent(OrePrefixes.circuit, 4, 2), };
- aInputsForSimpleWashers[2] = new ItemStack[] { CI.getTieredMachineHull(6),
- CI.getTieredComponent(OrePrefixes.screw, 6, 24), CI.getTieredComponent(OrePrefixes.plate, 5, 8),
- CI.getTieredComponent(OrePrefixes.rod, 6, 4), CI.getTieredComponent(OrePrefixes.circuit, 6, 3), };
- aInputsForSimpleWashers[3] = new ItemStack[] { CI.getTieredMachineHull(8),
- CI.getTieredComponent(OrePrefixes.screw, 8, 32), CI.getTieredComponent(OrePrefixes.plate, 7, 16),
- CI.getTieredComponent(OrePrefixes.rod, 8, 5), CI.getTieredComponent(OrePrefixes.circuit, 8, 4), };
-
- ItemStack[] aSimpleWashers = new ItemStack[] { GregtechItemList.SimpleDustWasher_MV.get(1),
- GregtechItemList.SimpleDustWasher_EV.get(1), GregtechItemList.SimpleDustWasher_LuV.get(1),
- GregtechItemList.SimpleDustWasher_UV.get(1) };
- for (int i = 0; i < 4; i++) {
-
+ final List<ItemStack> washers = ImmutableList.of(
+ GregtechItemList.SimpleDustWasher_LV.get(1),
+ GregtechItemList.SimpleDustWasher_MV.get(1),
+ GregtechItemList.SimpleDustWasher_HV.get(1),
+ GregtechItemList.SimpleDustWasher_EV.get(1),
+ GregtechItemList.SimpleDustWasher_IV.get(1),
+ GregtechItemList.SimpleDustWasher_LuV.get(1),
+ GregtechItemList.SimpleDustWasher_ZPM.get(1),
+ GregtechItemList.SimpleDustWasher_UV.get(1));
+
+ for (int i = 0; i < washers.size(); i++) {
+ final int tier = i + 1;
CORE.RA.addSixSlotAssemblingRecipe(
- aInputsForSimpleWashers[aSlot],
- CI.getTieredFluid(aSimpleWasherTier, 144 * aSimpleWasherTier),
- aSimpleWashers[aSlot],
- 20 * 15 * aSimpleWasherTier,
- (int) GT_Values.V[aSimpleWasherTier]);
-
- aSimpleWasherTier += 2;
- aSlot++;
+ new ItemStack[] { CI.getTieredMachineHull(tier),
+ CI.getTieredComponent(OrePrefixes.screw, tier, tier * 4),
+ CI.getTieredComponent(OrePrefixes.plate, tier - 1, tier * 2),
+ CI.getTieredComponent(OrePrefixes.rod, tier, tier),
+ CI.getTieredComponent(OrePrefixes.circuit, tier, 1) },
+ CI.getTieredFluid(tier, 144 * tier),
+ washers.get(i),
+ 20 * 5 * tier,
+ (int) GT_Values.V[tier]);
}
}
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 9e34416218..480672f9f9 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
@@ -803,6 +803,11 @@ public enum GregtechItemList implements GregtechItemContainer {
Cover_Overflow_Item_IV,
// ----------------------------------------------------------------------------
+ // Additional washers
+ SimpleDustWasher_LV,
+ SimpleDustWasher_HV,
+ SimpleDustWasher_IV,
+ SimpleDustWasher_ZPM,
;
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java
index d366482812..308b721d61 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java
@@ -1,9 +1,12 @@
package gtPlusPlus.xmod.gregtech.registration.gregtech;
+import java.util.List;
+
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
+import com.google.common.collect.ImmutableList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
@@ -12,6 +15,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachin
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects;
import gregtech.api.util.GTPP_Recipe;
import gregtech.api.util.GT_OreDictUnificator;
+import gtPlusPlus.api.objects.data.Quad;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
@@ -23,88 +27,60 @@ public class GregtechSimpleWasher {
generateDirtyDustRecipes();
generateDirtyCrushedRecipes();
// Register the Simple Washer Entity.
- GregtechItemList.SimpleDustWasher_ULV.set(
- new GT_MetaTileEntity_BasicMachine_GT_Recipe(
- 767,
- "simplewasher.01.tier.01",
- "Simple Washer I",
- 0,
- new String[] { "It's like an automatic Cauldron for washing dusts.",
- CORE.GT_Tooltip.get() },
- GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes,
- 1,
- 1,
- true,
- SoundResource.NONE,
- false,
- false,
- SpecialEffects.NONE,
- "SIMPLE_WASHER",
- null).getStackForm(1L));
- // People want them in higher tiers apparently
- GregtechItemList.SimpleDustWasher_MV.set(
- new GT_MetaTileEntity_BasicMachine_GT_Recipe(
+ // The unlocalized names here have inconsistent numbering because there only used to be a simple washer
+ // every other tier, and they were numbered numerically. In order to maintain backwards compatibility,
+ // the tier numbers need to stay as they were.
+ List<Quad<GregtechItemList, Integer, String, String>> washers = ImmutableList.of(
+ new Quad<>(
+ GregtechItemList.SimpleDustWasher_LV,
+ 31790,
+ "simplewasher.01.tier.06",
+ "Simple Washer I"),
+ new Quad<>(
+ GregtechItemList.SimpleDustWasher_MV,
31017,
"simplewasher.01.tier.02",
- "Simple Washer II",
- 2,
- new String[] { "It's like an automatic Cauldron for washing dusts.",
- CORE.GT_Tooltip.get() },
- GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes,
- 1,
- 1,
- true,
- SoundResource.NONE,
- false,
- false,
- SpecialEffects.NONE,
- "SIMPLE_WASHER",
- null).getStackForm(1L));
- GregtechItemList.SimpleDustWasher_EV.set(
- new GT_MetaTileEntity_BasicMachine_GT_Recipe(
+ "Simple Washer II"),
+ new Quad<>(
+ GregtechItemList.SimpleDustWasher_HV,
+ 31791,
+ "simplewasher.01.tier.07",
+ "Simple Washer III"),
+ new Quad<>(
+ GregtechItemList.SimpleDustWasher_EV,
31018,
"simplewasher.01.tier.03",
- "Simple Washer III",
- 4,
- new String[] { "It's like an automatic Cauldron for washing dusts.",
- CORE.GT_Tooltip.get() },
- GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes,
- 1,
- 1,
- true,
- SoundResource.NONE,
- false,
- false,
- SpecialEffects.NONE,
- "SIMPLE_WASHER",
- null).getStackForm(1L));
- GregtechItemList.SimpleDustWasher_LuV.set(
- new GT_MetaTileEntity_BasicMachine_GT_Recipe(
+ "Simple Washer IV"),
+ new Quad<>(
+ GregtechItemList.SimpleDustWasher_IV,
+ 31792,
+ "simplewasher.01.tier.08",
+ "Simple Washer V"),
+ new Quad<>(
+ GregtechItemList.SimpleDustWasher_LuV,
31019,
"simplewasher.01.tier.04",
- "Simple Washer IV",
- 6,
- new String[] { "It's like an automatic Cauldron for washing dusts.",
- CORE.GT_Tooltip.get() },
- GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes,
- 1,
- 1,
- true,
- SoundResource.NONE,
- false,
- false,
- SpecialEffects.NONE,
- "SIMPLE_WASHER",
- null).getStackForm(1L));
- GregtechItemList.SimpleDustWasher_UV.set(
- new GT_MetaTileEntity_BasicMachine_GT_Recipe(
+ "Simple Washer VI"),
+ new Quad<>(
+ GregtechItemList.SimpleDustWasher_ZPM,
+ 31793,
+ "simplewasher.01.tier.09",
+ "Simple Washer VII"),
+ new Quad<>(
+ GregtechItemList.SimpleDustWasher_UV,
31020,
"simplewasher.01.tier.05",
- "Simple Washer V",
- 8,
+ "Simple Washer VIII"));
+
+ GregtechItemList.SimpleDustWasher_ULV.set(
+ new GT_MetaTileEntity_BasicMachine_GT_Recipe(
+ 767,
+ "simplewasher.01.tier.01",
+ "Deprecated ULV Simple Washer",
+ 0,
new String[] { "It's like an automatic Cauldron for washing dusts.",
- CORE.GT_Tooltip.get() },
+ "§cDEPRECATED: No recipe.§r Make a Simple Washer I.", CORE.GT_Tooltip.get() },
GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes,
1,
1,
@@ -115,6 +91,28 @@ public class GregtechSimpleWasher {
SpecialEffects.NONE,
"SIMPLE_WASHER",
null).getStackForm(1L));
+
+ for (int i = 0; i < washers.size(); i++) {
+ Quad<GregtechItemList, Integer, String, String> washer = washers.get(i);
+ washer.getKey().set(
+ new GT_MetaTileEntity_BasicMachine_GT_Recipe(
+ washer.getValue_1(),
+ washer.getValue_2(),
+ washer.getValue_3(),
+ i + 1,
+ new String[] { "It's like an automatic Cauldron for washing dusts.",
+ CORE.GT_Tooltip.get() },
+ GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes,
+ 1,
+ 1,
+ true,
+ SoundResource.NONE,
+ false,
+ false,
+ SpecialEffects.NONE,
+ "SIMPLE_WASHER",
+ null).getStackForm(1L));
+ }
}
}
@@ -123,6 +121,7 @@ public class GregtechSimpleWasher {
// Generate Recipe Map for the Dust Washer.
ItemStack dustClean;
ItemStack dustDirty;
+ ItemStack dustPure;
for (Materials v : Materials.values()) {
if (v == Materials.Platinum || v == Materials.Osmium
|| v == Materials.Iridium
@@ -132,13 +131,17 @@ public class GregtechSimpleWasher {
dustClean = GT_OreDictUnificator.get(OrePrefixes.dust, v, 1L);
dustDirty = GT_OreDictUnificator.get(OrePrefixes.dustImpure, v, 1L);
+ dustPure = GT_OreDictUnificator.get(OrePrefixes.dustPure, v, 1L);
addSimpleWashRecipe(dustDirty, dustClean);
+ addSimpleWashRecipe(dustPure, dustClean);
}
for (Werkstoff v : Werkstoff.werkstoffHashSet) {
dustClean = v.hasItemType(OrePrefixes.dust) ? v.get(OrePrefixes.dust) : null;
dustDirty = v.hasItemType(OrePrefixes.dustImpure) ? v.get(OrePrefixes.dustImpure) : null;
+ dustPure = v.hasItemType(OrePrefixes.dustPure) ? v.get(OrePrefixes.dustPure) : null;
addSimpleWashRecipe(dustDirty, dustClean);
+ addSimpleWashRecipe(dustPure, dustClean);
}
return GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.mRecipeList.size() > mRecipeCount;