diff options
author | miozune <miozune@gmail.com> | 2023-08-11 20:25:06 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-11 13:25:06 +0200 |
commit | 9c545453e99ea85eab20dde6db42d335080776fd (patch) | |
tree | c30f81ea6ed7698d7b7ad3b12b4edc538b82ba98 /src/main | |
parent | 362a9471ac3f97cda8cdbce26384edb0589fac48 (diff) | |
download | GT5-Unofficial-9c545453e99ea85eab20dde6db42d335080776fd.tar.gz GT5-Unofficial-9c545453e99ea85eab20dde6db42d335080776fd.tar.bz2 GT5-Unofficial-9c545453e99ea85eab20dde6db42d335080776fd.zip |
Blacklist AE2FC drop and packet, and Chisel stones from Recycler (#2222)
* Fix recycler blacklist being sensitive to NBT
* Blacklist AE2FC drop and packet, and Chisel stones
* fix class loader issue
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_ModHandler.java | 9 | ||||
-rw-r--r-- | src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java | 68 |
2 files changed, 46 insertions, 31 deletions
diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java index f0801cb0fb..68f1bd9b97 100644 --- a/src/main/java/gregtech/api/util/GT_ModHandler.java +++ b/src/main/java/gregtech/api/util/GT_ModHandler.java @@ -2059,24 +2059,23 @@ public class GT_ModHandler { recyclerWhitelist = new HashSet<>(); for (IRecipeInput input : ic2.api.recipe.Recipes.recyclerWhitelist) { for (ItemStack stack : input.getInputs()) { - recyclerWhitelist.add(GT_Utility.ItemId.create(stack)); + recyclerWhitelist.add(GT_Utility.ItemId.create(stack.getItem(), stack.getItemDamage(), null)); } } recyclerBlacklist = new HashSet<>(); for (IRecipeInput input : ic2.api.recipe.Recipes.recyclerBlacklist) { for (ItemStack stack : input.getInputs()) { - recyclerBlacklist.add(GT_Utility.ItemId.create(stack)); + recyclerBlacklist.add(GT_Utility.ItemId.create(stack.getItem(), stack.getItemDamage(), null)); } } } private static boolean searchRecyclerCache(ItemStack stack, Set<GT_Utility.ItemId> set) { - if (set.contains(GT_Utility.ItemId.createNoCopy(stack))) { + if (set.contains(GT_Utility.ItemId.createNoCopy(stack.getItem(), stack.getItemDamage(), null))) { return true; } // ic2.api.recipe.RecipeInputItemStack#matches expects item with wildcard meta to accept arbitrary meta - return set.contains( - GT_Utility.ItemId.createNoCopy(stack.getItem(), OreDictionary.WILDCARD_VALUE, stack.getTagCompound())); + return set.contains(GT_Utility.ItemId.createNoCopy(stack.getItem(), OreDictionary.WILDCARD_VALUE, null)); } /** diff --git a/src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java b/src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java index 45635b9902..0d54398d79 100644 --- a/src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java @@ -1,12 +1,17 @@ package gregtech.loaders.postload; +import static gregtech.api.util.GT_ModHandler.addToRecyclerBlackList; + import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import com.glodblock.github.loader.ItemAndBlockHolder; + import gregtech.api.GregTech_API; import gregtech.api.enums.ConfigCategories; import gregtech.api.enums.ItemList; +import gregtech.api.enums.Mods; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_ModHandler; @@ -16,71 +21,70 @@ public class GT_RecyclerBlacklistLoader implements Runnable { public void run() { GT_Log.out.println("GT_Mod: Adding Stuff to the Recycler Blacklist."); if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "easymobgrinderrecycling", true)) { - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Items.arrow, 1, 0)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Items.bone, 1, 0)); - GT_ModHandler.addToRecyclerBlackList(ItemList.Dye_Bonemeal.get(1L)); + addToRecyclerBlackList(new ItemStack(Items.arrow, 1, 0)); + addToRecyclerBlackList(new ItemStack(Items.bone, 1, 0)); + addToRecyclerBlackList(ItemList.Dye_Bonemeal.get(1L)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Items.rotten_flesh, 1, 0)); + addToRecyclerBlackList(new ItemStack(Items.rotten_flesh, 1, 0)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Items.string, 1, 0)); + addToRecyclerBlackList(new ItemStack(Items.string, 1, 0)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Items.egg, 1, 0)); + addToRecyclerBlackList(new ItemStack(Items.egg, 1, 0)); } if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "easystonerecycling", true)) { ItemStack tStack = new ItemStack(Blocks.cobblestone, 1, 0); while (tStack != null) { - GT_ModHandler.addToRecyclerBlackList(tStack); + addToRecyclerBlackList(tStack); tStack = GT_ModHandler .getRecipeOutput(tStack, tStack, tStack, tStack, tStack, tStack, tStack, tStack, tStack); } - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.gravel, 1, 32767)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Items.flint, 1, 32767)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.cobblestone_wall, 1, 32767)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.sandstone_stairs, 1, 32767)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.stone_stairs, 1, 32767)); - GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.stone_brick_stairs, 1, 32767)); - GT_ModHandler.addToRecyclerBlackList( - GT_ModHandler.getSmeltingOutput(new ItemStack(Blocks.stone, 1, 0), false, null)); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList(new ItemStack(Blocks.gravel, 1, 32767)); + addToRecyclerBlackList(new ItemStack(Items.flint, 1, 32767)); + addToRecyclerBlackList(new ItemStack(Blocks.cobblestone_wall, 1, 32767)); + addToRecyclerBlackList(new ItemStack(Blocks.sandstone_stairs, 1, 32767)); + addToRecyclerBlackList(new ItemStack(Blocks.stone_stairs, 1, 32767)); + addToRecyclerBlackList(new ItemStack(Blocks.stone_brick_stairs, 1, 32767)); + addToRecyclerBlackList(GT_ModHandler.getSmeltingOutput(new ItemStack(Blocks.stone, 1, 0), false, null)); + addToRecyclerBlackList( GT_ModHandler .getRecipeOutput(new ItemStack(Blocks.glass, 1, 0), null, null, new ItemStack(Blocks.glass, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList( GT_ModHandler .getRecipeOutput(new ItemStack(Blocks.stone, 1, 0), null, null, new ItemStack(Blocks.stone, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList( GT_ModHandler.getRecipeOutput( new ItemStack(Blocks.cobblestone, 1, 0), null, null, new ItemStack(Blocks.cobblestone, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList( GT_ModHandler.getRecipeOutput( new ItemStack(Blocks.stone, 1, 0), null, new ItemStack(Blocks.stone, 1, 0), null, new ItemStack(Blocks.stone, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList( GT_ModHandler.getRecipeOutput( new ItemStack(Blocks.stone, 1, 0), new ItemStack(Blocks.glass, 1, 0), new ItemStack(Blocks.stone, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList( GT_ModHandler.getRecipeOutput( new ItemStack(Blocks.cobblestone, 1, 0), new ItemStack(Blocks.glass, 1, 0), new ItemStack(Blocks.cobblestone, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList( GT_ModHandler.getRecipeOutput( new ItemStack(Blocks.sandstone, 1, 0), new ItemStack(Blocks.glass, 1, 0), new ItemStack(Blocks.sandstone, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList( GT_ModHandler.getRecipeOutput( new ItemStack(Blocks.sand, 1, 0), new ItemStack(Blocks.glass, 1, 0), new ItemStack(Blocks.sand, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList( GT_ModHandler.getRecipeOutput( new ItemStack(Blocks.sandstone, 1, 0), new ItemStack(Blocks.sandstone, 1, 0), @@ -88,9 +92,21 @@ public class GT_RecyclerBlacklistLoader implements Runnable { new ItemStack(Blocks.sandstone, 1, 0), new ItemStack(Blocks.sandstone, 1, 0), new ItemStack(Blocks.sandstone, 1, 0))); - GT_ModHandler.addToRecyclerBlackList(GT_ModHandler.getRecipeOutput(new ItemStack(Blocks.glass, 1, 0))); - GT_ModHandler.addToRecyclerBlackList( + addToRecyclerBlackList(GT_ModHandler.getRecipeOutput(new ItemStack(Blocks.glass, 1, 0))); + addToRecyclerBlackList( GT_ModHandler.getRecipeOutput(new ItemStack(Blocks.glass, 1, 0), new ItemStack(Blocks.glass, 1, 0))); + if (Mods.Chisel.isModLoaded()) { + for (int i = 1; i <= 15; i++) { + addToRecyclerBlackList(GT_ModHandler.getModItem("chisel", "cobblestone", 1, i)); + } + for (int i = 0; i <= 15; i++) { + addToRecyclerBlackList(GT_ModHandler.getModItem("chisel", "stonebricksmooth", 1, i)); + } + } + } + if (Mods.AE2FluidCraft.isModLoaded()) { + addToRecyclerBlackList(new ItemStack(ItemAndBlockHolder.DROP)); + addToRecyclerBlackList(new ItemStack(ItemAndBlockHolder.PACKET)); } } } |