Add config to keep non-consumable NEI ingredients in ME patterns (#64)

This commit is contained in:
Eldrinn-Elantey authored and GitHub committed 2026-04-14 10:45:07 +02:00
1 parent 3e785ca0db
commit a6b64fdea9
5 files changed
+46 -15

No files matched your search

+9 -9
View File
@@ -1,26 +1,26 @@
dependencies {
api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-861-GTNH:dev")
api("com.github.GTNewHorizons:NotEnoughItems:2.8.75-GTNH:dev")
api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-892-GTNH:dev")
api("com.github.GTNewHorizons:NotEnoughItems:2.8.89-GTNH:dev")
api('com.github.GTNewHorizons:CodeChickenCore:1.4.12:dev')
implementation("com.github.GTNewHorizons:Baubles-Expanded:2.2.11-GTNH:dev")
implementation("com.github.GTNewHorizons:WirelessCraftingTerminal:1.12.13:dev")
implementation("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.5.66-gtnh:dev")
implementation("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.5.72-gtnh:dev")
compileOnly("com.github.GTNewHorizons:GT5-Unofficial:5.09.52.347:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:Avaritia:1.92:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:GT5-Unofficial:5.09.52.415:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:Avaritia:1.93:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:Avaritiaddons:1.9.4-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:BuildCraftCompat:7.1.20:dev") { transitive = false }
compileOnly('com.github.GTNewHorizons:EnderIO:2.10.21:dev') {transitive=false}
compileOnly("com.github.GTNewHorizons:ForestryMC:4.11.8:dev") { transitive = false }
compileOnly('com.github.GTNewHorizons:EnderIO:2.10.23:dev') {transitive=false}
compileOnly("com.github.GTNewHorizons:ForestryMC:4.11.12:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:GTplusplus:1.12.11:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:ThaumicEnergistics:1.7.34-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:ThaumicEnergistics:1.7.41-GTNH:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:Botania:1.13.16-GTNH:dev") { transitive = false }
compileOnly("com.gregoriust.gregtech:gregtech_1.7.10:6.14.23:dev") { transitive = false }
compileOnly("curse.maven:thaumcraft-nei-plugin-225095:2241913") { transitive = false }
compileOnly("curse.maven:thermal-expansion-69163:2388759") { transitive = false }
compileOnly("com.github.GTNewHorizons:AspectRecipeIndex:1.0.4:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:AspectRecipeIndex:1.0.11:dev") { transitive = false }
runtimeOnly("curse.maven:cofh-core-69162:2388751")
}
+4 -4
View File
@@ -1,12 +1,12 @@
#This file is generated by updateDaemonJvm
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/1630f7ebef05444cb27a2709ea0249b3/redirect
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/cd495626d2ee49a75447e3fdc6afb287/redirect
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c5ee947fbfb70bc347d8d531e3a578c4/redirect
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/1630f7ebef05444cb27a2709ea0249b3/redirect
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/cd495626d2ee49a75447e3fdc6afb287/redirect
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/d4fd992c9557644e637ebe98263e0ae7/redirect
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/59a9771cad43219260d9aac9a8ec4d6a/redirect
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c5ee947fbfb70bc347d8d531e3a578c4/redirect
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/faa12903720d410b387cc69ccafb1a74/redirect
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/1630f7ebef05444cb27a2709ea0249b3/redirect
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/cd495626d2ee49a75447e3fdc6afb287/redirect
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/3689d0bcdd77ac01674ba3c9dbbe94d0/redirect
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/a4c09dd2e2d7079373d30e524bbc2829/redirect
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/8e1d9ee5d0f13e442218f6884a306da1/redirect
toolchainVersion=25
@@ -34,6 +34,7 @@ public class NEEConfig {
public static boolean enableNEIDragDrop = true;
public static boolean useStackSizeFromNEI = true;
public static boolean keepGhostitems = true;
public static boolean includeNonConsumableIngredients = false;
public static int draggedStackDefaultSize = 1;
@@ -85,6 +86,13 @@ public class NEEConfig {
"itemCombinationWhitelist",
itemCombinationWhitelist,
"Whitelist for item combination").getStringList();
includeNonConsumableIngredients = config.get(
CATEGORY_PATTERN_TRANSFER,
"includeNonConsumableIngredients",
false,
"If true, include non-consumable ingredients (NEI stackSize = 0) when transferring NEI recipes to ME patterns.")
.getBoolean();
}
{
@@ -186,6 +194,13 @@ public class NEEConfig {
"itemCombinationWhitelist",
itemCombinationWhitelist,
"Whitelist for item combination").getStringList();
includeNonConsumableIngredients = config.get(
CATEGORY_PATTERN_TRANSFER,
"includeNonConsumableIngredients",
false,
"If true, include non-consumable ingredients (NEI stackSize = 0) when transferring NEI recipes to ME patterns.")
.getBoolean();
}
{
@@ -14,6 +14,8 @@ import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import com.github.vfyjxf.nee.config.NEEConfig;
import codechicken.nei.PositionedStack;
import codechicken.nei.recipe.IRecipeHandler;
import gregtech.api.enums.ItemList;
@@ -100,7 +102,14 @@ public class GregTech5RecipeProcessor implements IRecipeProcessor {
List<PositionedStack> recipeInputs = new ArrayList<>();
if (canProcessRecipe(recipe)) {
recipeInputs.addAll(recipe.getIngredientStacks(recipeIndex));
recipeInputs.removeIf(positionedStack -> positionedStack.item.stackSize == 0);
for (PositionedStack positionedStack : recipeInputs) {
if (NEEConfig.includeNonConsumableIngredients && positionedStack.item.stackSize == 0) {
positionedStack.item.stackSize = 1;
}
}
recipeInputs.removeIf(
positionedStack -> positionedStack.item.stackSize == 0
&& !NEEConfig.includeNonConsumableIngredients);
}
return recipeInputs;
@@ -10,6 +10,8 @@ import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
import com.github.vfyjxf.nee.config.NEEConfig;
import codechicken.nei.PositionedStack;
import codechicken.nei.recipe.IRecipeHandler;
import cpw.mods.fml.relauncher.ReflectionHelper;
@@ -47,10 +49,15 @@ public class GregTech6RecipeProcessor implements IRecipeProcessor {
List<PositionedStack> recipeInputs = new ArrayList<>();
if (this.getAllOverlayIdentifier().contains(identifier)) {
recipeInputs.addAll(recipe.getIngredientStacks(recipeIndex));
for (PositionedStack positionedStack : recipeInputs) {
if (NEEConfig.includeNonConsumableIngredients && positionedStack.item.stackSize == 0) {
positionedStack.item.stackSize = 1;
}
}
// remove fluid
recipeInputs.removeIf(
positionedStack -> FL.getFluid(positionedStack.item, true) != null
|| positionedStack.item.stackSize == 0);
|| (positionedStack.item.stackSize == 0 && !NEEConfig.includeNonConsumableIngredients));
// try to remove machine
if (recipe instanceof NEI_RecipeMap) {
Field mRecipeMapField = ReflectionHelper.findField(NEI_RecipeMap.class, "mRecipeMap");