From 1f5fc1926cf8d5158add2f5109bd0134638a8cb2 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 12 Dec 2025 13:34:32 +0100 Subject: [PATCH] spoingus --- build.gradle | 2 +- .../hbm/handler/nei/AnnihilatorHandler.java | 29 +++++++++++++++++++ .../inventory/recipes/AnnihilatorRecipes.java | 4 +-- .../recipes/AssemblyMachineRecipes.java | 5 ++-- .../machine/TileEntityMachineAnnihilator.java | 2 ++ 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 430634ede..4e7e8f7f4 100644 --- a/build.gradle +++ b/build.gradle @@ -107,7 +107,7 @@ dependencies { implementation "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api" - implementation "com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta.56-GTNH:dev" + compileOnly "com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta.56-GTNH:dev" } processResources { diff --git a/src/main/java/com/hbm/handler/nei/AnnihilatorHandler.java b/src/main/java/com/hbm/handler/nei/AnnihilatorHandler.java index 3a8e6e770..bd7bda01a 100644 --- a/src/main/java/com/hbm/handler/nei/AnnihilatorHandler.java +++ b/src/main/java/com/hbm/handler/nei/AnnihilatorHandler.java @@ -1,7 +1,14 @@ package com.hbm.handler.nei; +import java.util.Map.Entry; + import com.hbm.blocks.ModBlocks; import com.hbm.inventory.recipes.AnnihilatorRecipes; +import com.hbm.items.ModItems; +import com.hbm.util.InventoryUtil; + +import codechicken.nei.NEIServerUtils; +import net.minecraft.item.ItemStack; public class AnnihilatorHandler extends NEIUniversalHandler { @@ -13,4 +20,26 @@ public class AnnihilatorHandler extends NEIUniversalHandler { public String getKey() { return "ntmAnnihilating"; } + + @Override + public void loadCraftingRecipes(ItemStack result) { + + outer: for(Entry recipe : recipes.entrySet()) { + ItemStack[][] ins = InventoryUtil.extractObject(recipe.getKey()); + ItemStack[][] outs = InventoryUtil.extractObject(recipe.getValue()); + + for(ItemStack[] array : ins) for(ItemStack stack : array) if(stack.getItem() == ModItems.item_secret) continue outer; + for(ItemStack[] array : outs) for(ItemStack stack : array) if(stack.getItem() == ModItems.item_secret) continue outer; + + match: + for(ItemStack[] array : outs) { + for(ItemStack stack : array) { + if(NEIServerUtils.areStacksSameTypeCrafting(stack, result) && ItemStack.areItemStackTagsEqual(stack, result)) { + this.arecipes.add(new RecipeSet(ins, outs, recipe.getKey())); + break match; + } + } + } + } + } } diff --git a/src/main/java/com/hbm/inventory/recipes/AnnihilatorRecipes.java b/src/main/java/com/hbm/inventory/recipes/AnnihilatorRecipes.java index 154676b56..d184a28b8 100644 --- a/src/main/java/com/hbm/inventory/recipes/AnnihilatorRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AnnihilatorRecipes.java @@ -102,10 +102,10 @@ public class AnnihilatorRecipes extends SerializableRecipe { if(input instanceof List) { List list = (List) input; for(ItemStack stack : list) ItemStackUtil.addTooltipToStack(stack, EnumChatFormatting.RED + String.format(Locale.US, "%,d", milestone.getKey())); - input = list.toArray(new ItemStack[0]); + input = new ItemStack[][] { list.toArray(new ItemStack[0]) }; } - recipes.put(input, milestone.getValue()); + recipes.put(input, milestone.getValue().copy()); } } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java index 047e10916..34633620f 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java @@ -265,10 +265,11 @@ public class AssemblyMachineRecipes extends GenericRecipes { this.register(new GenericRecipe("ass.fracker").setup(600, 100).outputItems(new ItemStack(ModBlocks.machine_fracking_tower, 1)) .inputItems(new OreDictStack(STEEL.shell(), 24), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModBlocks.concrete_smooth, 64), new ComparableStack(ModItems.drill_titanium), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.plate_desh, 24), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR)) .inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.FERRO_PLATING), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModBlocks.concrete_smooth, 64), new ComparableStack(ModItems.drill_titanium), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.CIRCUIT)) - .setPools528(GenericRecipes.POOL_PREFIX_528 + "rubber")); + .setPools528(GenericRecipes.POOL_PREFIX_528 + "plastic")); this.register(new GenericRecipe("ass.flarestack").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_flare, 1)) .inputItems(new OreDictStack(STEEL.plate(), 12), new OreDictStack(CU.plate(), 4), new OreDictStack(STEEL.shell(), 4), new ComparableStack(ModItems.thermo_element, 3)) - .inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.STEEL_PLATING), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.thermo_element, 3))); + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.STEEL_PLATING), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.thermo_element, 3)) + .setPools528(GenericRecipes.POOL_PREFIX_528 + "plastic")); this.register(new GenericRecipe("ass.refinery").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_refinery, 1)) .inputItems(new OreDictStack(STEEL.plateWelded(), 3), new OreDictStack(CU.plate(), 8), new OreDictStack(STEEL.shell(), 4), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ANALOG)) .inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.STEEL_PLATING), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit, 5, EnumCircuitType.ANALOG))); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAnnihilator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAnnihilator.java index e90183afb..4fbcf5282 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAnnihilator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAnnihilator.java @@ -133,6 +133,8 @@ public class TileEntityMachineAnnihilator extends TileEntityMachineBase implemen if(pool != null) { this.monitorBigInt = pool.items.get(type); if(this.monitorBigInt == null) this.monitorBigInt = BigInteger.ZERO; + } else { + this.monitorBigInt = BigInteger.ZERO; } }