From 23dc339cd8dc85d07502e139e57ed646b0e49601 Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:24:11 -0600 Subject: [PATCH 1/6] Pair --- .../api/util/SemiFluidFuelHandler.java | 5 +-- .../gtPlusPlus/api/objects/data/Pair.java | 35 ------------------- .../api/objects/data/TypeCounter.java | 4 ++- .../api/objects/minecraft/ShapedRecipe.java | 9 ++--- .../gtPlusPlus/core/common/CommonProxy.java | 3 +- .../java/gtPlusPlus/core/lib/GTPPCore.java | 3 +- .../core/util/minecraft/ItemUtils.java | 5 +-- .../common/helpers/ChargingHelper.java | 7 ++-- .../loaders/RecipeGenMaterialProcessing.java | 5 +-- .../xmod/gregtech/loaders/RecipeGenOre.java | 5 +-- .../gregtech/loaders/RecipeGenRecycling.java | 7 ++-- .../objects/ThreadAspectScanner.java | 5 +-- 12 files changed, 35 insertions(+), 58 deletions(-) delete mode 100644 src/main/java/gtPlusPlus/api/objects/data/Pair.java diff --git a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java index 50cad72f9c2..d281f3788df 100644 --- a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java +++ b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java @@ -9,10 +9,11 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; +import org.apache.commons.lang3.tuple.Pair; + import gregtech.api.enums.GTValues; import gregtech.api.recipe.RecipeMaps; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.util.minecraft.FluidUtils; public class SemiFluidFuelHandler { @@ -31,7 +32,7 @@ public static boolean generateFuels() { for (ItemStack i : g.mInputs) { FluidStack f = FluidContainerRegistry.getFluidForFilledItem(i); if (f != null) { - Pair aData = new Pair<>(f, g.mSpecialValue); + Pair aData = Pair.of(f, g.mSpecialValue); aFoundFluidsFromItems.put(aData.hashCode(), aData); } } diff --git a/src/main/java/gtPlusPlus/api/objects/data/Pair.java b/src/main/java/gtPlusPlus/api/objects/data/Pair.java deleted file mode 100644 index 93bf075c8f9..00000000000 --- a/src/main/java/gtPlusPlus/api/objects/data/Pair.java +++ /dev/null @@ -1,35 +0,0 @@ -package gtPlusPlus.api.objects.data; - -import java.io.Serializable; - -import com.google.common.base.Objects; - -public class Pair implements Serializable { - - /** - * SVUID - */ - private static final long serialVersionUID = 1250550491092812443L; - - private final K key; - private final V value; - - public Pair(final K key, final V value) { - this.key = key; - this.value = value; - } - - public final K getKey() { - return this.key; - } - - public final V getValue() { - return this.value; - } - - @Override - public int hashCode() { - Integer aCode = Objects.hashCode(getKey(), getValue()); - return aCode != null ? aCode : super.hashCode(); - } -} diff --git a/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java b/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java index eb4b3cfd59d..df59d644420 100644 --- a/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java +++ b/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java @@ -6,6 +6,8 @@ import java.util.Map; import java.util.Set; +import org.apache.commons.lang3.tuple.Pair; + import gtPlusPlus.api.objects.Logger; public class TypeCounter implements Set { @@ -148,7 +150,7 @@ public Object[] toArray() { for (String k : this.mInternalMap.keySet()) { if (k != null) { InternalTypeCounterObject aVal = this.mInternalMap.get(k); - aArray[aPos++] = new Pair<>(k, aVal); + aArray[aPos++] = Pair.of(k, aVal); } } return aArray; diff --git a/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java b/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java index 4f61996e085..73efe25df29 100644 --- a/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java +++ b/src/main/java/gtPlusPlus/api/objects/minecraft/ShapedRecipe.java @@ -6,9 +6,10 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.ShapedOreRecipe; +import org.apache.commons.lang3.tuple.Pair; + import gregtech.mixin.interfaces.accessors.IRecipeMutableAccess; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.util.minecraft.ItemUtils; public class ShapedRecipe implements IRecipeMutableAccess { @@ -89,7 +90,7 @@ public ShapedRecipe(Object[] aInputs, ItemStack aOutput) { } mInfo = ((ItemStack) stack).getDisplayName(); } - aRecipePairs.add(new Pair<>(CHARS.charAt(aCharSlot), stack)); + aRecipePairs.add(Pair.of(CHARS.charAt(aCharSlot), stack)); Logger.RECIPE( "Storing '" + CHARS.charAt(aCharSlot) + "' with an object of type " @@ -101,7 +102,7 @@ public ShapedRecipe(Object[] aInputs, ItemStack aOutput) { aCharSlot++; aLoggingInfo[aInfoSlot++] = mInfo; } else { - aRecipePairs.add(new Pair<>(' ', null)); + aRecipePairs.add(Pair.of(' ', null)); Logger.RECIPE("Storing ' ' with an object of type null"); aChar[aMemSlot++] = ' '; aLoggingInfo[aInfoSlot++] = "Empty"; @@ -153,7 +154,7 @@ public ShapedRecipe(Object[] aInputs, ItemStack aOutput) { } mInfo = ((ItemStack) stack).getDisplayName(); } - aRecipePairs.add(new Pair<>(CHARS.charAt(aCharSlot), stack)); + aRecipePairs.add(Pair.of(CHARS.charAt(aCharSlot), stack)); Logger.RECIPE( "Registering Pair of '" + CHARS.charAt(aCharSlot) + "' and a " diff --git a/src/main/java/gtPlusPlus/core/common/CommonProxy.java b/src/main/java/gtPlusPlus/core/common/CommonProxy.java index cc36614eed3..66883d3d31c 100644 --- a/src/main/java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/main/java/gtPlusPlus/core/common/CommonProxy.java @@ -8,6 +8,8 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.LivingAttackEvent; +import org.apache.commons.lang3.tuple.Pair; + import baubles.common.container.InventoryBaubles; import baubles.common.lib.PlayerHandler; import cpw.mods.fml.common.FMLCommonHandler; @@ -24,7 +26,6 @@ import galaxyspace.core.entity.mob.EntityEvolvedColdBlaze; import gregtech.api.enums.Mods; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.config.ASMConfiguration; import gtPlusPlus.core.creative.AddToCreativeTab; diff --git a/src/main/java/gtPlusPlus/core/lib/GTPPCore.java b/src/main/java/gtPlusPlus/core/lib/GTPPCore.java index a4aecd59823..4ee9b5f95bf 100644 --- a/src/main/java/gtPlusPlus/core/lib/GTPPCore.java +++ b/src/main/java/gtPlusPlus/core/lib/GTPPCore.java @@ -12,11 +12,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; +import org.apache.commons.lang3.tuple.Pair; + import cpw.mods.fml.common.FMLCommonHandler; import gregtech.GT_Version; import gregtech.api.objects.XSTR; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; import gtPlusPlus.xmod.gregtech.common.tileentities.automation.MTETesseractGenerator; import gtPlusPlus.xmod.gregtech.common.tileentities.automation.MTETesseractTerminal; diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java index 2bbd7e1347c..01e778e2599 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -23,6 +23,8 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; +import org.apache.commons.lang3.tuple.Pair; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry.UniqueIdentifier; import gregtech.api.enums.GTValues; @@ -35,7 +37,6 @@ import gregtech.api.util.GTUtility; import gregtech.common.items.MetaGeneratedTool01; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.config.ASMConfiguration; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.item.base.dusts.BaseItemDustUnique; @@ -655,7 +656,7 @@ public static ItemStack[] getStackOfAllOreDictGroup(String oredictname) { } public static boolean registerFuel(ItemStack aBurnable, int burn) { - return GTPPCore.burnables.add(new Pair<>(burn, aBurnable)); + return GTPPCore.burnables.add(Pair.of(burn, aBurnable)); } public static boolean checkForInvalidItems(ItemStack mInput) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java index e11f4fae02b..f3fc8283ce9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/ChargingHelper.java @@ -15,6 +15,8 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; +import org.apache.commons.lang3.tuple.Pair; + import baubles.api.BaublesApi; import cofh.api.energy.IEnergyContainerItem; import cpw.mods.fml.common.eventhandler.EventPriority; @@ -26,7 +28,6 @@ import gregtech.common.items.MetaGeneratedItem02; import gregtech.common.items.MetaGeneratedItem03; import gregtech.common.items.MetaGeneratedTool01; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.api.objects.minecraft.BlockPos; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.math.MathUtils; @@ -161,7 +162,7 @@ public static boolean addValidPlayer(EntityPlayer mPlayer, MTEWirelessCharger mE if (mValidPlayers.containsKey(mPlayer.getDisplayName())) { return false; } else { - Pair mEntry = new Pair<>(mEntity, (byte) mEntity.getMode()); + Pair mEntry = Pair.of(mEntity, (byte) mEntity.getMode()); return mValidPlayers.put(mPlayer.getDisplayName(), mEntry) == null; } } @@ -171,7 +172,7 @@ public static boolean removeValidPlayer(EntityPlayer mPlayer, MTEWirelessCharger return false; } if (mValidPlayers.containsKey(mPlayer.getDisplayName())) { - Pair mEntry = new Pair<>(mEntity, (byte) mEntity.getMode()); + Pair mEntry = Pair.of(mEntity, (byte) mEntity.getMode()); return mValidPlayers.remove(mPlayer.getDisplayName(), mEntry); } else { return false; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenMaterialProcessing.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenMaterialProcessing.java index 31d097ab718..831b5958182 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenMaterialProcessing.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenMaterialProcessing.java @@ -13,10 +13,11 @@ import net.minecraft.item.ItemStack; +import org.apache.commons.lang3.tuple.Pair; + import gregtech.api.enums.GTValues; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.MaterialStack; @@ -66,7 +67,7 @@ private void generateRecipes(final Material material, final boolean disableOptio int alnsnfds = 0; for (MaterialStack r : material.getComposites()) { if (r != null) { - componentMap.add(new Pair<>(partSizes[alnsnfds], r.getStackMaterial())); + componentMap.add(Pair.of(partSizes[alnsnfds], r.getStackMaterial())); } alnsnfds++; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenOre.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenOre.java index eb3d27e009d..42da9a042d3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenOre.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenOre.java @@ -20,12 +20,13 @@ import net.minecraft.item.ItemStack; +import org.apache.commons.lang3.tuple.Pair; + import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.util.GTModHandler; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.MaterialStack; @@ -167,7 +168,7 @@ private void generateRecipes(final Material material, final boolean disableOptio ArrayList> componentMap = new ArrayList<>(); for (MaterialStack r : material.getComposites()) { if (r != null) { - componentMap.add(new Pair<>(r.getPartsPerOneHundred(), r.getStackMaterial())); + componentMap.add(Pair.of(r.getPartsPerOneHundred(), r.getStackMaterial())); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenRecycling.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenRecycling.java index 6cea2539ec9..7166db0cce1 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenRecycling.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGenRecycling.java @@ -13,13 +13,14 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; +import org.apache.commons.lang3.tuple.Pair; + import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.Utils; @@ -71,7 +72,7 @@ public static void generateRecipes(final Material material) { mValidPrefixesAsString[r].name() + Utils.sanitizeString(material.getLocalizedName()), 1); if (temp != null) { - mValidPairs[mSlotIndex++] = new Pair<>(mValidPrefixesAsString[r], temp.copy()); + mValidPairs[mSlotIndex++] = Pair.of(mValidPrefixesAsString[r], temp.copy()); } } @@ -183,7 +184,7 @@ public static Pair getDustData(final Material aMaterial, if (mPrefix != null && mDust != null) { Logger.WARNING("Built valid dust pair."); - return new Pair<>(mPrefix, mDust); + return Pair.of(mPrefix, mDust); } else { Logger.WARNING("mPrefix: " + (mPrefix != null)); Logger.WARNING("mDust: " + (mDust != null)); diff --git a/src/main/java/gtPlusPlus/xmod/thaumcraft/objects/ThreadAspectScanner.java b/src/main/java/gtPlusPlus/xmod/thaumcraft/objects/ThreadAspectScanner.java index 782eda60c60..ad13e28199e 100644 --- a/src/main/java/gtPlusPlus/xmod/thaumcraft/objects/ThreadAspectScanner.java +++ b/src/main/java/gtPlusPlus/xmod/thaumcraft/objects/ThreadAspectScanner.java @@ -12,8 +12,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import org.apache.commons.lang3.tuple.Pair; + import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.data.FileUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -128,7 +129,7 @@ public void run() { ArrayList> aspectPairs = new ArrayList<>(); for (thaumcraft.api.aspects.Aspect c : a.getAspectsSortedAmount()) { if (c != null) { - aspectPairs.add(new Pair<>(c.getName(), a.getAmount(c))); + aspectPairs.add(Pair.of(c.getName(), a.getAmount(c))); } } try { From bb355c3560308b7f9973529b60dd648a92860908 Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:26:09 -0600 Subject: [PATCH 2/6] Triplet --- .../gtPlusPlus/api/objects/data/Triplet.java | 26 ---------------- .../handler/events/EntityDeathHandler.java | 30 +++++++++---------- .../chemplant/MTEChemicalPlant.java | 28 ++++++++--------- 3 files changed, 29 insertions(+), 55 deletions(-) delete mode 100644 src/main/java/gtPlusPlus/api/objects/data/Triplet.java diff --git a/src/main/java/gtPlusPlus/api/objects/data/Triplet.java b/src/main/java/gtPlusPlus/api/objects/data/Triplet.java deleted file mode 100644 index 625ec630aa7..00000000000 --- a/src/main/java/gtPlusPlus/api/objects/data/Triplet.java +++ /dev/null @@ -1,26 +0,0 @@ -package gtPlusPlus.api.objects.data; - -public class Triplet { - - private final K key; - private final V value; - private final C count; - - public Triplet(final K key, final V value, final C value2) { - this.key = key; - this.value = value; - this.count = value2; - } - - public final K getValue_1() { - return this.key; - } - - public final V getValue_2() { - return this.value; - } - - public final C getValue_3() { - return this.count; - } -} diff --git a/src/main/java/gtPlusPlus/core/handler/events/EntityDeathHandler.java b/src/main/java/gtPlusPlus/core/handler/events/EntityDeathHandler.java index cb59db205e7..ceb7e3f2f73 100644 --- a/src/main/java/gtPlusPlus/core/handler/events/EntityDeathHandler.java +++ b/src/main/java/gtPlusPlus/core/handler/events/EntityDeathHandler.java @@ -8,6 +8,7 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.event.entity.living.LivingDropsEvent; +import org.apache.commons.lang3.tuple.Triple; import org.jetbrains.annotations.NotNull; import com.kuba6000.mobsinfo.api.IMobExtraInfoProvider; @@ -17,7 +18,6 @@ import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.Triplet; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -26,7 +26,7 @@ @Optional.Interface(iface = "com.kuba6000.mobsinfo.api.IMobExtraInfoProvider", modid = "mobsinfo") public class EntityDeathHandler implements IMobExtraInfoProvider { - private static final HashMap, ArrayList>> mMobDropMap = new HashMap<>(); + private static final HashMap, ArrayList>> mMobDropMap = new HashMap<>(); private static final ArrayList> mInternalClassKeyCache = new ArrayList<>(); /** @@ -38,8 +38,8 @@ public class EntityDeathHandler implements IMobExtraInfoProvider { * @param aChance - Chance out of 10000, where 100 is 1%. (1 = 0.01% - this is ok) */ public static void registerDropsForMob(Class aMobClass, ItemStack aStack, int aMaxAmount, int aChance) { - Triplet aData = new Triplet<>(aStack, aMaxAmount, aChance); - ArrayList> aDataMap = mMobDropMap.get(aMobClass); + Triple aData = Triple.of(aStack, aMaxAmount, aChance); + ArrayList> aDataMap = mMobDropMap.get(aMobClass); if (aDataMap == null) { aDataMap = new ArrayList<>(); } @@ -53,10 +53,10 @@ public static void registerDropsForMob(Class aMobClass, ItemStack aStack, int aM mInternalClassKeyCache.add(aMobClass); } - private static ItemStack processItemDropTriplet(Triplet aData) { - ItemStack aLoot = aData.getValue_1(); - int aMaxDrop = aData.getValue_2(); - int aChanceOutOf10000 = aData.getValue_3(); + private static ItemStack processItemDropTriplet(Triple aData) { + ItemStack aLoot = aData.getLeft(); + int aMaxDrop = aData.getMiddle(); + int aChanceOutOf10000 = aData.getRight(); if (MathUtils.randInt(0, 10000) <= aChanceOutOf10000) { aLoot = ItemUtils.getSimpleStack(aLoot, MathUtils.randInt(1, aMaxDrop)); if (ItemUtils.checkForInvalidItems(aLoot)) { @@ -67,12 +67,12 @@ private static ItemStack processItemDropTriplet(Triplet> aMobData = mMobDropMap.get(entityLiving.getClass()); + ArrayList> aMobData = mMobDropMap.get(entityLiving.getClass()); boolean aDidDrop = false; if (aMobData != null) { if (!aMobData.isEmpty()) { ItemStack aPossibleDrop; - for (Triplet g : aMobData) { + for (Triple g : aMobData) { aPossibleDrop = processItemDropTriplet(g); if (aPossibleDrop != null) { if (entityLiving.entityDropItem(aPossibleDrop, MathUtils.randFloat(0, 1)) != null) { @@ -135,13 +135,13 @@ public void onEntityDrop(LivingDropsEvent event) { @Override public void provideExtraDropsInformation(@NotNull String entityString, @NotNull ArrayList drops, @NotNull MobRecipe recipe) { - ArrayList> dropEntry = mMobDropMap.get(recipe.entity.getClass()); + ArrayList> dropEntry = mMobDropMap.get(recipe.entity.getClass()); if (dropEntry != null && !dropEntry.isEmpty()) { - for (Triplet data : dropEntry) { - ItemStack loot = data.getValue_1(); - int maxDrop = data.getValue_2(); - int chance = data.getValue_3(); + for (Triple data : dropEntry) { + ItemStack loot = data.getLeft(); + int maxDrop = data.getMiddle(); + int chance = data.getRight(); if (loot == null) continue; loot = loot.copy(); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java index 31d184b6b45..1fb9f0cfa3d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/MTEChemicalPlant.java @@ -27,6 +27,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +import org.apache.commons.lang3.tuple.Triple; import org.jetbrains.annotations.NotNull; import com.gtnewhorizon.structurelib.StructureLibAPI; @@ -62,7 +63,6 @@ import gregtech.api.util.GTUtility; import gregtech.api.util.MultiblockTooltipBuilder; import gregtech.common.tileentities.machines.IDualInputHatch; -import gtPlusPlus.api.objects.data.Triplet; import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; import gtPlusPlus.core.lib.GTPPCore; @@ -89,7 +89,7 @@ public class MTEChemicalPlant extends GTPPMultiBlockBase imple private final ArrayList mCatalystBuses = new ArrayList<>(); - private static final HashMap> mTieredBlockRegistry = new HashMap<>(); + private static final HashMap> mTieredBlockRegistry = new HashMap<>(); public MTEChemicalPlant(final int aID, final String aName, final String aNameRegional) { super(aID, aName, aNameRegional); @@ -100,7 +100,7 @@ public MTEChemicalPlant(final String aName) { } public static boolean registerMachineCasingForTier(int aTier, Block aBlock, int aMeta, int aCasingTextureID) { - Triplet aCasingData = new Triplet<>(aBlock, aMeta, aCasingTextureID); + Triple aCasingData = Triple.of(aBlock, aMeta, aCasingTextureID); if (mTieredBlockRegistry.containsKey(aTier)) { GTPPCore.crash( "Tried to register a Machine casing for tier " + aTier @@ -115,7 +115,7 @@ private static int getCasingTextureIdForTier(int aTier) { return 10; } return mTieredBlockRegistry.get(aTier) - .getValue_3(); + .getRight(); } @Override @@ -273,9 +273,9 @@ private boolean check(int aIndex, World world, int x, int y, int z) { Block block = world.getBlock(x, y, z); int meta = world.getBlockMetadata(x, y, z); Block target = mTieredBlockRegistry.get(aIndex) - .getValue_1(); + .getLeft(); int targetMeta = mTieredBlockRegistry.get(aIndex) - .getValue_2(); + .getMiddle(); return target.equals(block) && meta == targetMeta; } @@ -292,9 +292,9 @@ public boolean spawnHint(MTEChemicalPlant t, World world, int x, int y, int z, I y, z, mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_1(), + .getLeft(), mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_2()); + .getMiddle()); return true; } @@ -305,9 +305,9 @@ public boolean placeBlock(MTEChemicalPlant t, World world, int x, int y, int z, y, z, mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_1(), + .getLeft(), mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_2(), + .getMiddle(), 3); } @@ -317,9 +317,9 @@ public BlocksToPlace getBlocksToPlace(MTEChemicalPlant gregtechMTE_chemicalPlant int z, ItemStack trigger, AutoPlaceEnvironment env) { return BlocksToPlace.create( mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_1(), + .getLeft(), mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_2()); + .getMiddle()); } @Override @@ -328,9 +328,9 @@ public PlaceResult survivalPlaceBlock(MTEChemicalPlant t, World world, int x, in if (check(getIndex(trigger.stackSize), world, x, y, z)) return PlaceResult.SKIP; return StructureUtility.survivalPlaceBlock( mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_1(), + .getLeft(), mTieredBlockRegistry.get(getIndex(trigger.stackSize)) - .getValue_2(), + .getMiddle(), world, x, y, From 1392d340447efd30d808c6a3ab62cd73673ad73c Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:29:59 -0600 Subject: [PATCH 3/6] Quad --- .../gtPlusPlus/api/objects/data/Quad.java | 44 ------ .../gregtech/GregtechSimpleWasher.java | 135 +++++++++--------- 2 files changed, 66 insertions(+), 113 deletions(-) delete mode 100644 src/main/java/gtPlusPlus/api/objects/data/Quad.java diff --git a/src/main/java/gtPlusPlus/api/objects/data/Quad.java b/src/main/java/gtPlusPlus/api/objects/data/Quad.java deleted file mode 100644 index a2597061e04..00000000000 --- a/src/main/java/gtPlusPlus/api/objects/data/Quad.java +++ /dev/null @@ -1,44 +0,0 @@ -package gtPlusPlus.api.objects.data; - -import java.util.ArrayList; -import java.util.List; - -public class Quad { - - private final K key; - private final V value; - private final C value2; - private final R value3; - - public Quad(final K key, final V value, final C value2, final R value3) { - this.key = key; - this.value = value; - this.value2 = value2; - this.value3 = value3; - } - - public final K getKey() { - return this.key; - } - - public final V getValue_1() { - return this.value; - } - - public final C getValue_2() { - return this.value2; - } - - public final R getValue_3() { - return this.value3; - } - - public final List values() { - List aVals = new ArrayList<>(); - aVals.add(key); - aVals.add(value); - aVals.add(value2); - aVals.add(value3); - return aVals; - } -} 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 5a03fdcd266..baf435169b3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java @@ -12,12 +12,8 @@ import static gregtech.api.util.GTRecipeBuilder.TICKS; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.simpleWasherRecipes; -import java.util.List; - import net.minecraft.item.ItemStack; -import com.google.common.collect.ImmutableList; - import bartworks.system.material.Werkstoff; import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; @@ -27,7 +23,6 @@ import gregtech.api.metatileentity.implementations.MTEBasicMachineWithRecipe; import gregtech.api.metatileentity.implementations.MTEBasicMachineWithRecipe.SpecialEffects; import gregtech.api.util.GTOreDictUnificator; -import gtPlusPlus.api.objects.data.Quad; import gtPlusPlus.core.lib.GTPPCore; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -42,47 +37,54 @@ public static void run() { // 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> washers = ImmutableList.of( - new Quad<>( - GregtechItemList.SimpleDustWasher_LV, - SimpleDustWasher_LV.ID, - "simplewasher.01.tier.06", - "Simple Washer I"), - new Quad<>( - GregtechItemList.SimpleDustWasher_MV, - SimpleDustWasher_MV.ID, - "simplewasher.01.tier.02", - "Simple Washer II"), - new Quad<>( - GregtechItemList.SimpleDustWasher_HV, - SimpleDustWasher_HV.ID, - "simplewasher.01.tier.07", - "Simple Washer III"), - new Quad<>( - GregtechItemList.SimpleDustWasher_EV, - SimpleDustWasher_EV.ID, - "simplewasher.01.tier.03", - "Simple Washer IV"), - new Quad<>( - GregtechItemList.SimpleDustWasher_IV, - SimpleDustWasher_IV.ID, - "simplewasher.01.tier.08", - "Simple Washer V"), - new Quad<>( - GregtechItemList.SimpleDustWasher_LuV, - SimpleDustWasher_LuV.ID, - "simplewasher.01.tier.04", - "Simple Washer VI"), - new Quad<>( - GregtechItemList.SimpleDustWasher_ZPM, - SimpleDustWasher_ZPM.ID, - "simplewasher.01.tier.09", - "Simple Washer VII"), - new Quad<>( - GregtechItemList.SimpleDustWasher_UV, - SimpleDustWasher_UV.ID, - "simplewasher.01.tier.05", - "Simple Washer VIII")); + registerSimpleWasher( + GregtechItemList.SimpleDustWasher_LV, + SimpleDustWasher_LV.ID, + "simplewasher.01.tier.06", + "Simple Washer I", + 1); + registerSimpleWasher( + GregtechItemList.SimpleDustWasher_MV, + SimpleDustWasher_MV.ID, + "simplewasher.01.tier.02", + "Simple Washer II", + 2); + registerSimpleWasher( + GregtechItemList.SimpleDustWasher_HV, + SimpleDustWasher_HV.ID, + "simplewasher.01.tier.07", + "Simple Washer III", + 3); + registerSimpleWasher( + GregtechItemList.SimpleDustWasher_EV, + SimpleDustWasher_EV.ID, + "simplewasher.01.tier.03", + "Simple Washer IV", + 4); + registerSimpleWasher( + GregtechItemList.SimpleDustWasher_IV, + SimpleDustWasher_IV.ID, + "simplewasher.01.tier.08", + "Simple Washer V", + 5); + registerSimpleWasher( + GregtechItemList.SimpleDustWasher_LuV, + SimpleDustWasher_LuV.ID, + "simplewasher.01.tier.04", + "Simple Washer VI", + 6); + registerSimpleWasher( + GregtechItemList.SimpleDustWasher_ZPM, + SimpleDustWasher_ZPM.ID, + "simplewasher.01.tier.09", + "Simple Washer VII", + 7); + registerSimpleWasher( + GregtechItemList.SimpleDustWasher_UV, + SimpleDustWasher_UV.ID, + "simplewasher.01.tier.05", + "Simple Washer VIII", + 8); GregtechItemList.SimpleDustWasher_ULV.set( new MTEBasicMachineWithRecipe( @@ -101,30 +103,25 @@ public static void run() { "SIMPLE_WASHER", null).setRecipeCatalystPriority(-11) .getStackForm(1L)); + } - for (int i = 0; i < washers.size(); i++) { - Quad washer = washers.get(i); - int tier = i + 1; - washer.getKey() - .set( - new MTEBasicMachineWithRecipe( - washer.getValue_1(), - washer.getValue_2(), - washer.getValue_3(), - tier, - new String[] { "It's like an automatic Cauldron for washing dusts.", - GTPPCore.GT_Tooltip.get() }, - simpleWasherRecipes, - 1, - 1, - true, - SoundResource.NONE, - SpecialEffects.NONE, - "SIMPLE_WASHER", - null).setRecipeCatalystPriority(-tier) - .getStackForm(1L)); - } - + private static void registerSimpleWasher(GregtechItemList washer, int id, String unloc, String loc, int tier) { + washer.set( + new MTEBasicMachineWithRecipe( + id, + unloc, + loc, + tier, + new String[] { "It's like an automatic Cauldron for washing dusts.", GTPPCore.GT_Tooltip.get() }, + simpleWasherRecipes, + 1, + 1, + true, + SoundResource.NONE, + SpecialEffects.NONE, + "SIMPLE_WASHER", + null).setRecipeCatalystPriority(-tier) + .getStackForm(1L)); } private static boolean generateDirtyDustRecipes() { From 4f096ceb45ce8891f13c5624842fcedc0e88d5ad Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:48:37 -0600 Subject: [PATCH 4/6] TypeCounter --- .../api/objects/data/TypeCounter.java | 175 ------------------ .../core/util/minecraft/MaterialUtils.java | 14 +- 2 files changed, 10 insertions(+), 179 deletions(-) delete mode 100644 src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java diff --git a/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java b/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java deleted file mode 100644 index df59d644420..00000000000 --- a/src/main/java/gtPlusPlus/api/objects/data/TypeCounter.java +++ /dev/null @@ -1,175 +0,0 @@ -package gtPlusPlus.api.objects.data; - -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Set; - -import org.apache.commons.lang3.tuple.Pair; - -import gtPlusPlus.api.objects.Logger; - -public class TypeCounter implements Set { - - private final Map> mInternalMap = new LinkedHashMap<>(); - private String mHighestValueKey; - private int mHighestValue = 0; - private final Class mClass; - - public TypeCounter(Class o) { - Logger.WARNING("Created new TypeCounter for " + o.getName()); - mClass = o; - } - - public static class InternalTypeCounterObject { - - private final Z mObject; - private int mCounter = 0; - - public InternalTypeCounterObject(Z o) { - mObject = o; - } - - public String hash() { - return String.valueOf(mObject.hashCode()); - } - - public Z get() { - return mObject; - } - - public void add() { - mCounter++; - } - - public int count() { - return mCounter; - } - } - - @Override - public boolean add(V arg0) { - return add(arg0, null); - } - - public boolean add(V arg0, String aKeyName) { - String aKey = aKeyName != null ? aKeyName : arg0.toString(); - InternalTypeCounterObject aValue = mInternalMap.get(aKey); - if (aValue == null) { - aValue = new InternalTypeCounterObject<>(arg0); - Logger.WARNING("Adding new key to map: " + aKey); - } - aValue.add(); - int a = aValue.count(); - if (a > mHighestValue) { - mHighestValue = a; - mHighestValueKey = aKey; - Logger.WARNING("New Highest Count - " + aKey + ":" + a); - } - mInternalMap.put(aKey, aValue); - Logger.WARNING(aKey + ":" + a); - return true; - } - - @Override - public boolean addAll(Collection arg0) { - boolean aReturn = true; - for (Object o : arg0) { - if (mClass.isInstance(o)) { - V j = (V) o; - boolean b = add(j); - if (!b) { - aReturn = false; - } - } - } - return aReturn; - } - - @Override - public void clear() { - mInternalMap.clear(); - } - - @Override - public boolean contains(Object arg0) { - return mInternalMap.containsKey(arg0.toString()); - } - - @Override - public boolean containsAll(Collection arg0) { - // TODO Auto-generated method stub - return false; - } - - @Override - public boolean isEmpty() { - return mInternalMap.isEmpty(); - } - - @Override - public Iterator iterator() { - // TODO Auto-generated method stub - return null; - } - - @Override - public boolean remove(Object arg0) { - InternalTypeCounterObject aValue = mInternalMap.remove(arg0.toString()); - return aValue != null; - } - - @Override - public boolean removeAll(Collection arg0) { - boolean aReturn = true; - for (Object o : arg0) { - boolean a = remove(o); - if (!a) { - aReturn = false; - } - } - return aReturn; - } - - @Override - public boolean retainAll(Collection arg0) { - // TODO Auto-generated method stub - return false; - } - - @Override - public int size() { - return this.mInternalMap.size(); - } - - @Override - public Object[] toArray() { - Object[] aArray = new Object[this.mInternalMap.size()]; - int aPos = 0; - for (String k : this.mInternalMap.keySet()) { - if (k != null) { - InternalTypeCounterObject aVal = this.mInternalMap.get(k); - aArray[aPos++] = Pair.of(k, aVal); - } - } - return aArray; - } - - @Override - public V[] toArray(Object[] a) { - Object[] aArray = new Object[a.length]; - int aPos = 0; - for (Object k : a) { - if (k != null) { - aArray[aPos++] = k; - } - } - return (V[]) aArray; - } - - public V getResults() { - InternalTypeCounterObject x = mInternalMap.get(mHighestValueKey); - return x.get(); - } -} diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java index 33d68711a26..3d2a63e6255 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java @@ -1,6 +1,7 @@ package gtPlusPlus.core.util.minecraft; import java.util.ArrayList; +import java.util.Comparator; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -16,7 +17,6 @@ import gregtech.api.enums.TextureSet; import gregtech.api.util.GTUtility; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.TypeCounter; import gtPlusPlus.core.client.CustomTextureSet.TextureSets; import gtPlusPlus.core.item.base.BaseItemComponent; import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes; @@ -29,6 +29,8 @@ import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.data.StringUtils; import gtPlusPlus.core.util.math.MathUtils; +import it.unimi.dsi.fastutil.objects.Object2IntMap; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; public class MaterialUtils { @@ -247,17 +249,21 @@ public static String getMaterialName(Materials mat) { } public static TextureSet getMostCommonTextureSet(List list) { - TypeCounter aCounter = new TypeCounter<>(TextureSet.class); + Object2IntMap counter = new Object2IntOpenHashMap<>(); for (Material m : list) { TextureSet t = m.getTextureSet(); if (t == null) { t = Materials.Gold.mIconSet; } if (t != null) { - aCounter.add(t, t.mSetName); + counter.put(t, counter.getInt(t) + 1); } } - return aCounter.getResults(); + return counter.object2IntEntrySet() + .stream() + .max(Comparator.comparingInt(Object2IntMap.Entry::getIntValue)) + .map(Map.Entry::getKey) + .orElse(Materials.Gold.mIconSet); } public static Materials getMaterial(String aMaterialName, String aFallbackMaterialName) { From a136ca4de3a26c355bf71b47f793857a3197fb27 Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 13 Feb 2025 15:02:19 -0600 Subject: [PATCH 5/6] ArrayUtils --- .../api/objects/minecraft/BTF_Inventory.java | 8 +++- .../gtPlusPlus/core/util/data/ArrayUtils.java | 46 ------------------- .../core/util/minecraft/RecipeUtils.java | 7 ++- .../production/MTEIndustrialFishingPond.java | 8 +++- 4 files changed, 17 insertions(+), 52 deletions(-) delete mode 100644 src/main/java/gtPlusPlus/core/util/data/ArrayUtils.java diff --git a/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_Inventory.java b/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_Inventory.java index 91f99b157cb..432442b77c5 100644 --- a/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_Inventory.java +++ b/src/main/java/gtPlusPlus/api/objects/minecraft/BTF_Inventory.java @@ -1,6 +1,8 @@ package gtPlusPlus.api.objects.minecraft; import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; @@ -9,7 +11,7 @@ import gregtech.api.util.GTUtility; import gtPlusPlus.core.tileentities.base.TileEntityBase; -import gtPlusPlus.core.util.data.ArrayUtils; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; public class BTF_Inventory implements ISidedInventory { @@ -204,7 +206,9 @@ public boolean addItemStack(ItemStack aInput) { } public final void purgeNulls() { - ItemStack[] aTemp = ArrayUtils.removeNulls(this.mInventory); + List list = new ObjectArrayList<>(this.mInventory); + list.removeAll(Collections.singleton((ItemStack) null)); + ItemStack[] aTemp = list.toArray(new ItemStack[0]); for (int g = 0; g < this.getSizeInventory(); g++) { if (aTemp.length < this.getSizeInventory()) { if (g <= aTemp.length - 1) { diff --git a/src/main/java/gtPlusPlus/core/util/data/ArrayUtils.java b/src/main/java/gtPlusPlus/core/util/data/ArrayUtils.java deleted file mode 100644 index a5365011a6a..00000000000 --- a/src/main/java/gtPlusPlus/core/util/data/ArrayUtils.java +++ /dev/null @@ -1,46 +0,0 @@ -package gtPlusPlus.core.util.data; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import javax.annotation.Nonnull; - -import net.minecraft.item.ItemStack; - -public class ArrayUtils { - - public static V[] insertElementAtIndex(V[] aArray, int aIndex, V aObjectToInsert) { - V[] newArray = Arrays.copyOf(aArray, aArray.length + 1); - if (aIndex >= 0) { - System.arraycopy(aArray, 0, newArray, 0, aIndex); - } - newArray[aIndex] = aObjectToInsert; - if (newArray.length - (aIndex + 1) >= 0) { - System.arraycopy(aArray, aIndex + 1 - 1, newArray, aIndex + 1, newArray.length - (aIndex + 1)); - } - return newArray; - } - - public static Object[] removeNulls(@Nonnull final Object[] v) { - List list = new ArrayList<>(Arrays.asList(v)); - list.removeAll(Collections.singleton(null)); - return list.toArray(new Object[0]); - } - - public static ItemStack[] removeNulls(@Nonnull final ItemStack[] v) { - List list = new ArrayList<>(Arrays.asList(v)); - list.removeAll(Collections.singleton((ItemStack) null)); - return list.toArray(new ItemStack[0]); - } - - public static String toString(Object[] aArray, String string) { - return org.apache.commons.lang3.ArrayUtils.toString(aArray, string); - } - - public static String toString(Object[] aArray) { - return org.apache.commons.lang3.ArrayUtils.toString(aArray); - } - -} diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java index 7f70230070c..1ddc448768a 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/RecipeUtils.java @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -28,7 +29,7 @@ import gtPlusPlus.core.handler.Recipes.RegistrationHandler; import gtPlusPlus.core.lib.GTPPCore; import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.data.ArrayUtils; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; public class RecipeUtils { @@ -400,7 +401,9 @@ private static boolean addShapedRecipe(Object[] Inputs, ItemStack aOutputStack) } Logger.RECIPE("Data Size: " + aDataObject.length); - aDataObject = ArrayUtils.removeNulls(aDataObject); + List list = new ObjectArrayList<>(aDataObject); + list.removeAll(Collections.singleton(null)); + aDataObject = list.toArray(new Object[0]); Logger.RECIPE("Clean Size: " + aDataObject.length); Logger.RECIPE("ArrayData: " + Arrays.toString(aDataObject)); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEIndustrialFishingPond.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEIndustrialFishingPond.java index d61800b139f..7b24e750a1c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEIndustrialFishingPond.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/MTEIndustrialFishingPond.java @@ -10,9 +10,10 @@ import static gregtech.api.enums.HatchElement.Muffler; import static gregtech.api.enums.HatchElement.OutputBus; import static gregtech.api.util.GTStructureUtility.buildHatchAdder; -import static gtPlusPlus.core.util.data.ArrayUtils.removeNulls; import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -56,6 +57,7 @@ import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GTPPMultiBlockBase; import ic2.core.init.BlocksItems; import ic2.core.init.InternalName; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; public class MTEIndustrialFishingPond extends GTPPMultiBlockBase implements ISurvivalConstructable { @@ -236,7 +238,9 @@ protected boolean filtersFluid() { return CheckRecipeResultRegistry.NO_RECIPE; } - mFishOutput = removeNulls(mFishOutput); + List list = new ObjectArrayList<>(mFishOutput); + list.removeAll(Collections.singleton((ItemStack) null)); + mFishOutput = list.toArray(new ItemStack[0]); GTRecipe g = new GTRecipe( true, new ItemStack[] {}, From 0a3475395811e661c4267da4c906f8e955b335a7 Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 13 Feb 2025 15:11:45 -0600 Subject: [PATCH 6/6] remove unnecessary configs --- .../core/common/compat/CompatIC2.java | 58 ------------------- .../core/common/compat/CompatThaumcraft.java | 46 --------------- .../gtPlusPlus/core/config/Configuration.java | 21 ------- .../core/handler/CompatHandler.java | 7 --- .../generators/MTEBoilerBase.java | 8 +-- 5 files changed, 4 insertions(+), 136 deletions(-) delete mode 100644 src/main/java/gtPlusPlus/core/common/compat/CompatIC2.java delete mode 100644 src/main/java/gtPlusPlus/core/common/compat/CompatThaumcraft.java diff --git a/src/main/java/gtPlusPlus/core/common/compat/CompatIC2.java b/src/main/java/gtPlusPlus/core/common/compat/CompatIC2.java deleted file mode 100644 index 905c1a870b1..00000000000 --- a/src/main/java/gtPlusPlus/core/common/compat/CompatIC2.java +++ /dev/null @@ -1,58 +0,0 @@ -package gtPlusPlus.core.common.compat; - -import static gtPlusPlus.core.handler.CompatHandler.RemoveRecipeQueue; - -import net.minecraft.item.ItemStack; - -import gtPlusPlus.core.config.Configuration; -import gtPlusPlus.core.recipe.ShapedRecipeObject; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class CompatIC2 { - - private static final ItemStack itemCropnalyzer = ItemUtils.simpleMetaStack("IC2:itemCropnalyzer", 0, 1); - private static final ItemStack itemSolarHelmet = ItemUtils.simpleMetaStack("IC2:itemSolarHelmet", 0, 1); - - public static ShapedRecipeObject Cropnalyzer = new ShapedRecipeObject( - "ore:cableGt02Copper", - "ore:cableGt02Copper", - null, - "minecraft:redstone", - "ore:blockGlass", - "minecraft:redstone", - "minecraft:redstone", - "ore:circuitBasic", - "minecraft:redstone", - itemCropnalyzer); - public static ShapedRecipeObject SolarHelmet = new ShapedRecipeObject( - "ore:plateIron", - "ore:plateIron", - "ore:plateIron", - "ore:plateIron", - "gregtech:gt.metaitem.01:32750", - "ore:plateIron", - "ore:craftingWireCopper", - "ore:craftingWireCopper", - "ore:craftingWireCopper", - itemSolarHelmet); - - public static void OreDict() { - run(); - } - - private static void run() { - - if (Configuration.machines.disableIC2Recipes) { - - // Remove these. - RemoveRecipeQueue.add("IC2:itemCable"); - RemoveRecipeQueue.add("IC2:itemCable:1"); - RemoveRecipeQueue.add("IC2:itemCable:2"); - RemoveRecipeQueue.add("IC2:itemCable:3"); - RemoveRecipeQueue.add("IC2:itemCable:5"); - RemoveRecipeQueue.add("IC2:itemCable:6"); - RemoveRecipeQueue.add("IC2:itemCable:10"); - RemoveRecipeQueue.add("IC2:itemCable:13"); - } - } -} diff --git a/src/main/java/gtPlusPlus/core/common/compat/CompatThaumcraft.java b/src/main/java/gtPlusPlus/core/common/compat/CompatThaumcraft.java deleted file mode 100644 index b23d02e7899..00000000000 --- a/src/main/java/gtPlusPlus/core/common/compat/CompatThaumcraft.java +++ /dev/null @@ -1,46 +0,0 @@ -package gtPlusPlus.core.common.compat; - -import static gregtech.api.enums.Mods.ForbiddenMagic; - -import gregtech.api.util.GTOreDictUnificator; -import gtPlusPlus.core.config.Configuration; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -public class CompatThaumcraft { - - public static void OreDict() { - - if (Configuration.machines.enableThaumcraftShardUnification) { - run(); - } - } - - private static void run() { - - for (int i = 0; i <= 6; i++) { - ItemUtils.getItemForOreDict("Thaumcraft:ItemShard", "shardAny", "TC Shard " + i, i); - GTOreDictUnificator.registerOre("shardAny", ItemUtils.getItemStackFromFQRN("Thaumcraft:ItemShard:" + i, 1)); - ItemUtils.getItemForOreDict("Thaumcraft:ItemShard", "gemInfusedAnything", "TC Shard " + i, i); - GTOreDictUnificator - .registerOre("gemInfusedAnything", ItemUtils.getItemStackFromFQRN("Thaumcraft:ItemShard:" + i, 1)); - } - - if (ForbiddenMagic.isModLoaded()) { - for (int i = 0; i <= 6; i++) { - ItemUtils.getItemForOreDict("ForbiddenMagic:NetherShard", "shardAny", "FM Shard " + i, i); - GTOreDictUnificator - .registerOre("shardAny", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:NetherShard:" + i, 1)); - ItemUtils.getItemForOreDict("ForbiddenMagic:NetherShard", "gemInfusedAnything", "FM Shard " + i, i); - GTOreDictUnificator.registerOre( - "gemInfusedAnything", - ItemUtils.getItemStackFromFQRN("ForbiddenMagic:NetherShard:" + i, 1)); - } - ItemUtils.getItemForOreDict("ForbiddenMagic:GluttonyShard", "shardAny", "FM Gluttony Shard", 0); - GTOreDictUnificator - .registerOre("shardAny", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:GluttonyShard", 1)); - ItemUtils.getItemForOreDict("ForbiddenMagic:GluttonyShard", "gemInfusedAnything", "FM Gluttony Shard", 0); - GTOreDictUnificator - .registerOre("gemInfusedAnything", ItemUtils.getItemStackFromFQRN("ForbiddenMagic:GluttonyShard", 1)); - } - } -} diff --git a/src/main/java/gtPlusPlus/core/config/Configuration.java b/src/main/java/gtPlusPlus/core/config/Configuration.java index d19d04cbf38..6351f2d5ff1 100644 --- a/src/main/java/gtPlusPlus/core/config/Configuration.java +++ b/src/main/java/gtPlusPlus/core/config/Configuration.java @@ -11,7 +11,6 @@ public class Configuration { public static final Debug debug = new Debug(); - public static final Machines machines = new Machines(); public static final Features features = new Features(); public static final Visual visual = new Visual(); public static final Worldgen worldgen = new Worldgen(); @@ -23,29 +22,9 @@ public static class Debug { @Config.DefaultBoolean(false) public boolean MachineInfo; - @Config.Comment("Makes all items hidden from NEI display.") - @Config.DefaultBoolean(false) - public boolean showHiddenNEIItems; - @Config.Comment("Dumps all GT++ and Toxic Everglade Data to en_US.lang in the config folder. This config option can be used by foreign players to generate blank .lang files, which they can populate with their language of choice.") @Config.DefaultBoolean(false) public boolean dumpItemAndBlockData; - - } - - @Config.Comment("Machines section") - public static class Machines { - - @Config.Comment("Allows the use of TC shards across many recipes by oreDicting them into a common group.") - @Config.DefaultBoolean(false) - public boolean enableThaumcraftShardUnification; - - @Config.Comment("Alkaluscraft Related - Removes IC2 Cables Except glass fibre. Few other Misc Tweaks.") - @Config.DefaultBoolean(false) - public boolean disableIC2Recipes; - @Config.Comment("Sets the steam per second value in LV,MV,HV boilers (respectively 1x,2x,3x this number for the tiers)") - @Config.DefaultInt(750) - public int boilerSteamPerSecond; } @Config.Comment("Features section") diff --git a/src/main/java/gtPlusPlus/core/handler/CompatHandler.java b/src/main/java/gtPlusPlus/core/handler/CompatHandler.java index dc007dac8ea..93b6c0f7d26 100644 --- a/src/main/java/gtPlusPlus/core/handler/CompatHandler.java +++ b/src/main/java/gtPlusPlus/core/handler/CompatHandler.java @@ -2,7 +2,6 @@ import static gregtech.api.enums.Mods.ExtraUtilities; import static gregtech.api.enums.Mods.PamsHarvestCraft; -import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.enums.Mods.Witchery; import java.util.ArrayList; @@ -21,8 +20,6 @@ import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.common.compat.CompatExtraUtils; import gtPlusPlus.core.common.compat.CompatHarvestCraft; -import gtPlusPlus.core.common.compat.CompatIC2; -import gtPlusPlus.core.common.compat.CompatThaumcraft; import gtPlusPlus.core.common.compat.CompatWitchery; import gtPlusPlus.core.handler.Recipes.LateRegistrationHandler; import gtPlusPlus.core.handler.Recipes.RegistrationHandler; @@ -202,16 +199,12 @@ public static void registerGregtechMachines() { // InterMod public static void intermodOreDictionarySupport() { - if (Thaumcraft.isModLoaded()) { - CompatThaumcraft.OreDict(); - } if (ExtraUtilities.isModLoaded()) { CompatExtraUtils.OreDict(); } if (PamsHarvestCraft.isModLoaded()) { CompatHarvestCraft.OreDict(); } - CompatIC2.OreDict(); if (Witchery.isModLoaded()) { CompatWitchery.OreDict(); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/MTEBoilerBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/MTEBoilerBase.java index 03531aaa287..216d564e797 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/MTEBoilerBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/MTEBoilerBase.java @@ -25,12 +25,12 @@ import gregtech.api.util.GTOreDictUnificator; import gregtech.common.pollution.PollutionConfig; import gregtech.common.tileentities.boilers.MTEBoiler; -import gtPlusPlus.core.config.Configuration; import gtPlusPlus.core.lib.GTPPCore; import gtPlusPlus.xmod.gregtech.api.gui.GTPPUITextures; public class MTEBoilerBase extends MTEBoiler { + private static final int STEAM_PER_SECOND = 750; private final int steamPerSecond; private final int tier; @@ -39,14 +39,14 @@ public MTEBoilerBase(int aID, String aNameRegional, int tier) { aID, "electricboiler." + tier + ".tier.single", aNameRegional, - "Produces " + (Configuration.machines.boilerSteamPerSecond * tier) + "L of Steam per second"); - this.steamPerSecond = (Configuration.machines.boilerSteamPerSecond * tier); + "Produces " + (STEAM_PER_SECOND * tier) + "L of Steam per second"); + this.steamPerSecond = STEAM_PER_SECOND * tier; this.tier = tier; } public MTEBoilerBase(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) { super(aName, aTier, aDescription, aTextures); - this.steamPerSecond = (Configuration.machines.boilerSteamPerSecond * aTier); + this.steamPerSecond = STEAM_PER_SECOND * aTier; this.tier = aTier; }