diff options
author | Mary <33456283+FourIsTheNumber@users.noreply.github.com> | 2024-09-04 20:24:20 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-05 00:24:20 +0000 |
commit | d143e39d90e22b8a0fac78ce5c4617b9f554ca6e (patch) | |
tree | edf5e0ba135b0d1e0272b1faf563a94be4d16088 /src/main/java/gregtech/loaders | |
parent | eb25cb901172dfa4d68f44de8f61d52958f53cfa (diff) | |
download | GT5-Unofficial-d143e39d90e22b8a0fac78ce5c4617b9f554ca6e.tar.gz GT5-Unofficial-d143e39d90e22b8a0fac78ce5c4617b9f554ca6e.tar.bz2 GT5-Unofficial-d143e39d90e22b8a0fac78ce5c4617b9f554ca6e.zip |
Add superdense plates (#3050)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Co-authored-by: boubou19 <miisterunknown@gmail.com>
Diffstat (limited to 'src/main/java/gregtech/loaders')
-rw-r--r-- | src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java | 24 | ||||
-rw-r--r-- | src/main/java/gregtech/loaders/preload/GTPreLoad.java | 4 |
2 files changed, 26 insertions, 2 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java index 574af24531..9c1c4904db 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java @@ -7,6 +7,7 @@ import static gregtech.api.enums.GTValues.W; import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.benderRecipes; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; import static gregtech.api.recipe.RecipeMaps.cutterRecipes; import static gregtech.api.recipe.RecipeMaps.extruderRecipes; import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; @@ -17,6 +18,7 @@ import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeBuilder.TICKS; import static gregtech.api.util.GTRecipeBuilder.WILDCARD; +import static gregtech.api.util.GTRecipeConstants.COMPRESSION_TIER; import static gregtech.api.util.GTRecipeConstants.FUEL_TYPE; import static gregtech.api.util.GTRecipeConstants.FUEL_VALUE; import static gregtech.api.util.GTUtility.calculateRecipeEU; @@ -37,6 +39,7 @@ import gregtech.api.enums.TextureSet; import gregtech.api.enums.TierEU; import gregtech.api.enums.ToolDictNames; import gregtech.api.recipe.RecipeCategories; +import gregtech.api.recipe.metadata.CompressionTierKey; import gregtech.api.render.TextureFactory; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; @@ -53,6 +56,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist OrePrefixes.plateQuadruple.add(this); OrePrefixes.plateQuintuple.add(this); OrePrefixes.plateDense.add(this); + OrePrefixes.plateSuperdense.add(this); OrePrefixes.plateAlloy.add(this); OrePrefixes.itemCasing.add(this); } @@ -82,6 +86,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist case plateQuadruple -> registerPlateQuadruple(aMaterial, aStack, aNoSmashing, aMaterialMass, aNoWorking); case plateQuintuple -> registerPlateQuintuple(aMaterial, aStack, aNoSmashing, aMaterialMass); case plateDense -> registerPlateDense(aMaterial, aStack, aNoSmashing, aMaterialMass); + case plateSuperdense -> registerPlateSuperdense(aMaterial, aStack, aNoSmashing, aMaterialMass); case itemCasing -> registerItemCasing(aPrefix, aMaterial, aStack, aNoSmashing); case plateAlloy -> registerPlateAlloy(aOreDictName, aStack); default -> {} @@ -429,6 +434,25 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist } } + final CompressionTierKey COMPRESSION_TIER = CompressionTierKey.INSTANCE; + + private void registerPlateSuperdense(final Materials aMaterial, final ItemStack aStack, final boolean aNoSmashing, + final long aMaterialMass) { + GTModHandler.removeRecipeByOutputDelayed(aStack); + + if (!aNoSmashing || aMaterial.contains(SubTag.STRETCHY)) { + int compression_tier = (aMaterial.processingMaterialTierEU >= TierEU.RECIPE_UIV + || aMaterial.contains(SubTag.BLACK_HOLE)) ? 2 : 1; + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.plate, aMaterial, 64)) + .itemOutputs(GTUtility.copyAmount(1, aStack)) + .duration(Math.max(aMaterialMass * 64L, 1L)) + .eut(calculateRecipeEU(aMaterial, 96)) + .metadata(COMPRESSION_TIER, compression_tier) + .addTo(compressorRecipes); + } + } + private void registerItemCasing(final OrePrefixes aPrefix, final Materials aMaterial, final ItemStack aStack, final boolean aNoSmashing) { diff --git a/src/main/java/gregtech/loaders/preload/GTPreLoad.java b/src/main/java/gregtech/loaders/preload/GTPreLoad.java index f0eb4c6d8c..a0f5e368c1 100644 --- a/src/main/java/gregtech/loaders/preload/GTPreLoad.java +++ b/src/main/java/gregtech/loaders/preload/GTPreLoad.java @@ -262,7 +262,7 @@ public class GTPreLoad { null, "ingot", "ingotHot", "ingotDouble", "ingotTriple", "ingotQuadruple", "ingotQuintuple", "plate", "plateDouble", "plateTriple", "plateQuadruple", "plateQuintuple", "plateDense", "stick", "lens", "round", "bolt", "screw", "ring", - "foil", "cell", "cellPlasma", "cellMolten", "rawOre" }; + "foil", "cell", "cellPlasma", "cellMolten", "rawOre", "plateSuperdense" }; if (mIt == 2) tags = new String[] { "toolHeadSword", "toolHeadPickaxe", "toolHeadShovel", "toolHeadAxe", "toolHeadHoe", "toolHeadHammer", "toolHeadFile", "toolHeadSaw", "toolHeadDrill", "toolHeadChainsaw", "toolHeadWrench", @@ -294,7 +294,7 @@ public class GTPreLoad { "toolHeadUniversalSpade", "toolHeadSense", "toolHeadPlow", "toolHeadArrow", "toolHeadBuzzSaw", "turbineBlade", "wireFine", "gearGtSmall", "rotor", "stickLong", "springSmall", "spring", "arrowGtWood", "arrowGtPlastic", "gemChipped", "gemFlawed", "gemFlawless", "gemExquisite", "gearGt", "nanite", - "cellMolten", "rawOre" }; + "cellMolten", "rawOre", "plateSuperdense" }; List<String> mMTTags = new ArrayList<>(); oreTags.stream() |