aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-08-11 20:25:06 +0900
committerGitHub <noreply@github.com>2023-08-11 13:25:06 +0200
commit9c545453e99ea85eab20dde6db42d335080776fd (patch)
treec30f81ea6ed7698d7b7ad3b12b4edc538b82ba98 /src/main
parent362a9471ac3f97cda8cdbce26384edb0589fac48 (diff)
downloadGT5-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.java9
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_RecyclerBlacklistLoader.java68
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));
}
}
}