From 5d0f2f321ec8278f65ca3115f97c470151da4f68 Mon Sep 17 00:00:00 2001 From: LazyFleshWasTaken <40587985+LazyFleshWasTaken@users.noreply.github.com> Date: Sat, 14 Feb 2026 00:02:52 -0800 Subject: [PATCH 1/8] Replace with EIR where needed, remove the listener that returns items, update deps --- dependencies.gradle | 14 ++- .../randomboubles/RandomBoubles.java | 11 --- .../randomboubles/handler/EventHandler.java | 41 -------- .../items/IPrimordialGemCrafting.java | 9 -- .../items/rings/ItemAerRing.java | 11 +-- .../items/rings/ItemAquaRing.java | 11 +-- .../items/rings/ItemCombinationRings.java | 30 +----- .../items/rings/ItemIgnisRing.java | 11 +-- .../items/rings/ItemOrdoRing.java | 11 +-- .../items/rings/ItemPerditioRing.java | 11 +-- .../items/rings/ItemTerraRing.java | 11 +-- .../recipes/rings/InfusionRecipes.java | 98 ++++++++++++++----- 12 files changed, 88 insertions(+), 181 deletions(-) delete mode 100644 src/main/java/com/gtnewhorizon/randomboubles/handler/EventHandler.java delete mode 100644 src/main/java/com/gtnewhorizon/randomboubles/items/IPrimordialGemCrafting.java diff --git a/dependencies.gradle b/dependencies.gradle index aaa7ce0..7098a35 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,18 +3,20 @@ dependencies { api("com.github.GTNewHorizons:Baubles-Expanded:2.2.2-GTNH:dev") implementation("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") + implementation("com.github.GTNewHorizons:GTNHLib:0.9.20:dev") compileOnly('com.github.GTNewHorizons:ThaumicBases:1.9.5:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:Thaumic_Exploration:1.5.5-GTNH:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:NewHorizonsCoreMod:2.8.51:dev') - compileOnly('com.github.GTNewHorizons:WitchingGadgets:1.8.8-GTNH:dev') + compileOnly('com.github.GTNewHorizons:WitchingGadgets:1.8.33-GTNH:dev') + runtimeOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.8.37-GTNH:dev") //For Testing: runtimeOnlyNonPublishable("com.github.GTNewHorizons:ThaumicBases:1.9.5:dev") runtimeOnlyNonPublishable("com.github.GTNewHorizons:Thaumic_Exploration:1.5.5-GTNH:dev") - runtimeOnlyNonPublishable("com.github.GTNewHorizons:WitchingGadgets:1.8.8-GTNH:dev") + runtimeOnlyNonPublishable("com.github.GTNewHorizons:WitchingGadgets:1.8.33-GTNH:dev") runtimeOnlyNonPublishable("com.github.GTNewHorizons:thaumicinsurgence:0.4.0:dev") runtimeOnlyNonPublishable("com.github.GTNewHorizons:WarpTheory:1.5.0-GTNH:dev") @@ -29,9 +31,11 @@ dependencies { runtimeOnlyNonPublishable("com.github.GTNewHorizons:WailaHarvestability:1.3.4-GTNH:dev") runtimeOnlyNonPublishable("com.github.GTNewHorizons:Galacticraft:3.4.7-GTNH:dev") runtimeOnlyNonPublishable("com.github.GTNewHorizons:Electro-Magic-Tools:1.7.6:dev") - runtimeOnlyNonPublishable("com.github.GTNewHorizons:MagicBees:2.10.2-GTNH:dev") - runtimeOnlyNonPublishable("com.github.GTNewHorizons:Ztones-Unofficial:2.3.2-GTNH:dev") - runtimeOnlyNonPublishable("ganymedes01.etfuturum:Et-Futurum-Requiem:2.6.2.28-GTNH:dev") { transitive = false } + runtimeOnlyNonPublishable("com.github.GTNewHorizons:Chisel:2.17.14-GTNH") + //runtimeOnlyNonPublishable("com.github.GTNewHorizons:MagicBees:2.10.2-GTNH:dev") + //runtimeOnlyNonPublishable("com.github.GTNewHorizons:Ztones-Unofficial:2.3.2-GTNH:dev") + //runtimeOnlyNonPublishable("ganymedes01.etfuturum:Et-Futurum-Requiem:2.6.2.28-GTNH:dev") { transitive = false } + runtimeOnlyNonPublishable("curse.maven:thaumcraft-nei-plugin-225095:2241913") { transitive = false } // deps may transitively add Baubles, so we replace it diff --git a/src/main/java/com/gtnewhorizon/randomboubles/RandomBoubles.java b/src/main/java/com/gtnewhorizon/randomboubles/RandomBoubles.java index 2fd3d79..cf37ab4 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/RandomBoubles.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/RandomBoubles.java @@ -1,17 +1,13 @@ package com.gtnewhorizon.randomboubles; -import net.minecraftforge.common.MinecraftForge; - import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import com.gtnewhorizon.randomboubles.handler.EventHandler; import com.gtnewhorizon.randomboubles.recipes.rings.ArcaneRecipes; import com.gtnewhorizon.randomboubles.recipes.rings.InfusionRecipes; import com.gtnewhorizon.randomboubles.research.RingResearch; import com.gtnewhorizon.randomboubles.util.Constants; -import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.event.FMLMissingMappingsEvent; @@ -30,16 +26,9 @@ public class RandomBoubles { public static final String MODID = "randomboubles"; public static final Logger LOGGER = LogManager.getLogger(MODID); - public EventHandler eventHandler; - @Mod.EventHandler public void preInit(FMLPreInitializationEvent event) { BaubleItems.init(); - eventHandler = new EventHandler(); - MinecraftForge.EVENT_BUS.register(eventHandler); - FMLCommonHandler.instance() - .bus() - .register(eventHandler); } @Mod.EventHandler diff --git a/src/main/java/com/gtnewhorizon/randomboubles/handler/EventHandler.java b/src/main/java/com/gtnewhorizon/randomboubles/handler/EventHandler.java deleted file mode 100644 index 90f7874..0000000 --- a/src/main/java/com/gtnewhorizon/randomboubles/handler/EventHandler.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.gtnewhorizon.randomboubles.handler; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; - -import com.gtnewhorizon.randomboubles.items.IPrimordialGemCrafting; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; -import thaumcraft.common.entities.EntitySpecialItem; -import thaumcraft.common.tiles.TileInfusionMatrix; - -public class EventHandler { - - @SubscribeEvent - public void onCrafted(ItemCraftedEvent event) { - ItemStack output = event.crafting; - if (output.getItem() instanceof IPrimordialGemCrafting && !event.player.worldObj.isRemote) { - ItemStack returnedItem = ((IPrimordialGemCrafting) output.getItem()).getReturnItem(output); - if (returnedItem != null) { - double iX = event.player.posX; - double iY = event.player.posY + 1; - double iZ = event.player.posZ; - outer: for (int yy = -16; yy <= 16; yy++) for (int zz = -16; zz <= 16; zz++) - for (int xx = -16; xx <= 16; xx++) if (event.player.worldObj.getTileEntity( - MathHelper.floor_double(event.player.posX + xx), - MathHelper.floor_double(event.player.posY + yy), - MathHelper.floor_double(event.player.posZ + zz)) instanceof TileInfusionMatrix matrix) { - iX = matrix.xCoord + 0.5; - iY = matrix.yCoord - 0.75; - iZ = matrix.zCoord + 0.5; - break outer; - } - EntitySpecialItem entityitem = new EntitySpecialItem(event.player.worldObj, iX, iY, iZ, returnedItem); - entityitem.lifespan = 72000; - entityitem.motionX = entityitem.motionY = entityitem.motionZ = 0; - event.player.worldObj.spawnEntityInWorld(entityitem); - } - } - } -} diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/IPrimordialGemCrafting.java b/src/main/java/com/gtnewhorizon/randomboubles/items/IPrimordialGemCrafting.java deleted file mode 100644 index 80c12b8..0000000 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/IPrimordialGemCrafting.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.gtnewhorizon.randomboubles.items; - -import net.minecraft.item.ItemStack; - -public interface IPrimordialGemCrafting { - - // Return null for empty. - ItemStack getReturnItem(ItemStack stack); -} diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemAerRing.java b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemAerRing.java index 0437b13..af4c856 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemAerRing.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemAerRing.java @@ -14,15 +14,13 @@ import net.minecraft.util.StatCollector; import com.gtnewhorizon.randomboubles.RandomBoubles; -import com.gtnewhorizon.randomboubles.items.IPrimordialGemCrafting; import com.gtnewhorizon.randomboubles.util.Constants; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.config.ConfigItems; -public class ItemAerRing extends ItemBaubleRingBase implements IPrimordialGemCrafting { +public class ItemAerRing extends ItemBaubleRingBase { static final int RING_COUNT = 3; private IIcon[] icons; @@ -112,11 +110,4 @@ public int getRunicCharge(ItemStack stack) { return 0; } - @Override - public ItemStack getReturnItem(ItemStack stack) { - if (stack.getItemDamage() == 2) { - return new ItemStack(ConfigItems.itemEldritchObject, 1, 3); - } - return null; - } } diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemAquaRing.java b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemAquaRing.java index 56acc63..7a58c7a 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemAquaRing.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemAquaRing.java @@ -14,15 +14,13 @@ import net.minecraft.util.StatCollector; import com.gtnewhorizon.randomboubles.RandomBoubles; -import com.gtnewhorizon.randomboubles.items.IPrimordialGemCrafting; import com.gtnewhorizon.randomboubles.util.Constants; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.config.ConfigItems; -public class ItemAquaRing extends ItemBaubleRingBase implements IPrimordialGemCrafting { +public class ItemAquaRing extends ItemBaubleRingBase { static final int RING_COUNT = 3; private IIcon[] icons; @@ -112,11 +110,4 @@ public int getRunicCharge(ItemStack stack) { return 0; } - @Override - public ItemStack getReturnItem(ItemStack stack) { - if (stack.getItemDamage() == 2) { - return new ItemStack(ConfigItems.itemEldritchObject, 1, 3); - } - return null; - } } diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemCombinationRings.java b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemCombinationRings.java index e7b4f48..7c551ce 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemCombinationRings.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemCombinationRings.java @@ -16,19 +16,14 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; -import com.dreammaster.gthandler.CustomItemList; import com.gtnewhorizon.randomboubles.RandomBoubles; -import com.gtnewhorizon.randomboubles.items.IPrimordialGemCrafting; -import com.gtnewhorizon.randomboubles.util.Constants; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import thaumcraft.api.aspects.Aspect; import thaumcraft.common.Thaumcraft; -import thaumcraft.common.config.ConfigItems; -import witchinggadgets.common.WGContent; -public class ItemCombinationRings extends ItemBaubleRingBase implements IPrimordialGemCrafting { +public class ItemCombinationRings extends ItemBaubleRingBase { Random _mRnd = new Random(); @@ -214,27 +209,4 @@ public int getRunicCharge(ItemStack itemstack) { default -> 0; }; } - - @Override - public ItemStack getReturnItem(ItemStack stack) { - switch (stack.getItemDamage()) { - case 0, 1, 3, 4 -> { - if (Constants.WitchingGadgets) { - return new ItemStack(WGContent.ItemMaterial, 1, 12); - } else { - return new ItemStack(ConfigItems.itemEldritchObject, 1, 3); - } - } - case 2, 5, 6 -> { - if (Constants.GTNH) { - return CustomItemList.PrimordialPearlFragment.get(1L); - } else { - return new ItemStack(ConfigItems.itemEldritchObject, 1, 3); - } - } - default -> { - return null; - } - } - } } diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemIgnisRing.java b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemIgnisRing.java index 4c199c4..76d1365 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemIgnisRing.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemIgnisRing.java @@ -14,15 +14,13 @@ import net.minecraft.util.StatCollector; import com.gtnewhorizon.randomboubles.RandomBoubles; -import com.gtnewhorizon.randomboubles.items.IPrimordialGemCrafting; import com.gtnewhorizon.randomboubles.util.Constants; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.config.ConfigItems; -public class ItemIgnisRing extends ItemBaubleRingBase implements IPrimordialGemCrafting { +public class ItemIgnisRing extends ItemBaubleRingBase { static final int RING_COUNT = 3; private IIcon[] icons; @@ -112,11 +110,4 @@ public int getRunicCharge(ItemStack stack) { return 0; } - @Override - public ItemStack getReturnItem(ItemStack stack) { - if (stack.getItemDamage() == 2) { - return new ItemStack(ConfigItems.itemEldritchObject, 1, 3); - } - return null; - } } diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemOrdoRing.java b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemOrdoRing.java index 2712837..e28d331 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemOrdoRing.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemOrdoRing.java @@ -14,15 +14,13 @@ import net.minecraft.util.StatCollector; import com.gtnewhorizon.randomboubles.RandomBoubles; -import com.gtnewhorizon.randomboubles.items.IPrimordialGemCrafting; import com.gtnewhorizon.randomboubles.util.Constants; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.config.ConfigItems; -public class ItemOrdoRing extends ItemBaubleRingBase implements IPrimordialGemCrafting { +public class ItemOrdoRing extends ItemBaubleRingBase { static final int RING_COUNT = 3; private IIcon[] icons; @@ -112,11 +110,4 @@ public int getRunicCharge(ItemStack stack) { return 0; } - @Override - public ItemStack getReturnItem(ItemStack stack) { - if (stack.getItemDamage() == 2) { - return new ItemStack(ConfigItems.itemEldritchObject, 1, 3); - } - return null; - } } diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemPerditioRing.java b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemPerditioRing.java index 4807c2c..9658fae 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemPerditioRing.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemPerditioRing.java @@ -14,15 +14,13 @@ import net.minecraft.util.StatCollector; import com.gtnewhorizon.randomboubles.RandomBoubles; -import com.gtnewhorizon.randomboubles.items.IPrimordialGemCrafting; import com.gtnewhorizon.randomboubles.util.Constants; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.config.ConfigItems; -public class ItemPerditioRing extends ItemBaubleRingBase implements IPrimordialGemCrafting { +public class ItemPerditioRing extends ItemBaubleRingBase { static final int RING_COUNT = 3; private IIcon[] icons; @@ -112,11 +110,4 @@ public int getRunicCharge(ItemStack stack) { return 0; } - @Override - public ItemStack getReturnItem(ItemStack stack) { - if (stack.getItemDamage() == 2) { - return new ItemStack(ConfigItems.itemEldritchObject, 1, 3); - } - return null; - } } diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemTerraRing.java b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemTerraRing.java index 7bb38e8..b2d7d13 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemTerraRing.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemTerraRing.java @@ -14,15 +14,13 @@ import net.minecraft.util.StatCollector; import com.gtnewhorizon.randomboubles.RandomBoubles; -import com.gtnewhorizon.randomboubles.items.IPrimordialGemCrafting; import com.gtnewhorizon.randomboubles.util.Constants; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import thaumcraft.api.aspects.Aspect; -import thaumcraft.common.config.ConfigItems; -public class ItemTerraRing extends ItemBaubleRingBase implements IPrimordialGemCrafting { +public class ItemTerraRing extends ItemBaubleRingBase { static final int RING_COUNT = 3; private IIcon[] icons; @@ -112,11 +110,4 @@ public int getRunicCharge(ItemStack stack) { return 0; } - @Override - public ItemStack getReturnItem(ItemStack stack) { - if (stack.getItemDamage() == 2) { - return new ItemStack(ConfigItems.itemEldritchObject, 1, 3); - } - return null; - } } diff --git a/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java b/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java index 9e975ed..2a2b01a 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java @@ -1,7 +1,12 @@ package com.gtnewhorizon.randomboubles.recipes.rings; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.item.ItemStack; +import com.dreammaster.gthandler.CustomItemList; +import com.gtnewhorizon.gtnhlib.api.thaumcraft.EnhancedInfusionRecipe; import com.gtnewhorizon.randomboubles.BaubleItems; import com.gtnewhorizon.randomboubles.research.RingResearch; import com.gtnewhorizon.randomboubles.util.Constants; @@ -14,10 +19,38 @@ import thaumcraft.api.aspects.AspectList; import thaumcraft.common.config.ConfigBlocks; import thaumcraft.common.config.ConfigItems; +import witchinggadgets.common.WGContent; public class InfusionRecipes { + private static List returnPearl; + private static List returnPowerlessPearl; + private static List returnInertPearlFragment; + public static void registerArcaneRingsInfusions() { + InfusionRecipes.returnPearl = new ArrayList<>(); + returnPearl.add( + new EnhancedInfusionRecipe.Replacement( + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + true)); + + InfusionRecipes.returnPowerlessPearl = new ArrayList<>(); // WG powerless pearl + returnPowerlessPearl.add( + new EnhancedInfusionRecipe.Replacement( + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + (Constants.WitchingGadgets ? // if WG is loaded, otherwise return normal pearl + new ItemStack(WGContent.ItemMaterial, 1, 12) : new ItemStack(ConfigItems.itemEldritchObject, 1, 3)), + true)); + + InfusionRecipes.returnInertPearlFragment = new ArrayList<>(); // gtnh core mod inert pearl fragment + returnInertPearlFragment.add( + new EnhancedInfusionRecipe.Replacement( + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + (Constants.GTNH ? // if GTNH is loaded, otherwise, normal pearl + CustomItemList.PrimordialPearlFragment.get(1L) + : new ItemStack(ConfigItems.itemEldritchObject, 1, 3)), + true)); ItemStack salisMundus = new ItemStack(ConfigItems.itemResource, 1, 14); @@ -146,7 +179,7 @@ public static void registerArcaneRingsInfusions() { RingResearch.recipeList.put( "RBMastersRingOfAer", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBMASTERSRINGOFAER", new ItemStack(BaubleItems.aerRing, 1, 2), 5, @@ -160,10 +193,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 0), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 0), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 0) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 0) }, + returnPearl)); RingResearch.recipeList.put( "RBMastersRingOfTerra", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBMASTERSRINGOFTERRA", new ItemStack(BaubleItems.terraRing, 1, 2), 5, @@ -177,10 +211,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 3), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 3) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 3) }, + returnPearl)); RingResearch.recipeList.put( "RBMastersRingOfIgnis", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBMASTERSRINGOFIGNIS", new ItemStack(BaubleItems.ignisRing, 1, 2), 5, @@ -194,10 +229,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 1), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 1), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 1) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 1) }, + returnPearl)); RingResearch.recipeList.put( "RBMastersRingOfAqua", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBMASTERSRINGOFAQUA", new ItemStack(BaubleItems.aquaRing, 1, 2), 5, @@ -211,10 +247,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 2), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 2), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 2) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 2) }, + returnPearl)); RingResearch.recipeList.put( "RBMastersRingOfOrdo", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBMASTERSRINGOFORDO", new ItemStack(BaubleItems.ordoRing, 1, 2), 5, @@ -228,10 +265,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 4) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 4) }, + returnPearl)); RingResearch.recipeList.put( "RBMastersRingOfPerditio", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBMASTERSRINGOFPERDITIO", new ItemStack(BaubleItems.perditioRing, 1, 2), 5, @@ -245,12 +283,13 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 5), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 5) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 5) }, + returnPearl)); // Combination Rings RingResearch.recipeList.put( "RBSpellcastersRingOfTheSky", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBSPELLCASTERSRINGOFTHESKY", new ItemStack(BaubleItems.combinationRing, 1, 0), 5, @@ -268,10 +307,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(BaubleItems.ignisRing, 1, 2), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 0) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 0) }, + returnPowerlessPearl)); RingResearch.recipeList.put( "RBSpellslingersRingoftheEarth", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBSPELLSLINGERSRINGOFTHEEARTH", new ItemStack(BaubleItems.combinationRing, 1, 3), 5, @@ -289,10 +329,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 2), new ItemStack(BaubleItems.aquaRing, 1, 2), new ItemStack(ConfigBlocks.blockCrystal, 1, 5), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 3) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 3) }, + returnPowerlessPearl)); RingResearch.recipeList.put( "RBExoticRingOfTheSky", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBEXOTICRINGOFTHESKY", new ItemStack(BaubleItems.combinationRing, 1, 1), 5, @@ -309,10 +350,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(BaubleItems.combinationRing, 1, 0), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 0) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 0) }, + returnPowerlessPearl)); RingResearch.recipeList.put( "RBExoticRingoftheEarth", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBEXOTICRINGOFTHEEARTH", new ItemStack(BaubleItems.combinationRing, 1, 4), 5, @@ -329,10 +371,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 2), new ItemStack(BaubleItems.combinationRing, 1, 3), new ItemStack(ConfigBlocks.blockCrystal, 1, 5), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 3) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 3) }, + returnPowerlessPearl)); RingResearch.recipeList.put( "RBRuneforgedRingOfTheSky", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBRUNEFORGEDRINGOFTHESKY", new ItemStack(BaubleItems.combinationRing, 1, 2), 5, @@ -349,10 +392,11 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 2), new ItemStack(BaubleItems.combinationRing, 1, 1), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 0) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 0) }, + returnInertPearlFragment)); RingResearch.recipeList.put( "RBRuneforgedRingoftheEarth", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBRUNEFORGEDRINGOFTHEEARTH", new ItemStack(BaubleItems.combinationRing, 1, 5), 5, @@ -369,11 +413,12 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(BaubleItems.combinationRing, 1, 4), new ItemStack(ConfigBlocks.blockCrystal, 1, 5), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 3) })); + new ItemStack(ConfigBlocks.blockCrystal, 1, 3) }, + returnInertPearlFragment)); RingResearch.recipeList.put( "RBThaumaturgesRing", - ThaumcraftApi.addInfusionCraftingRecipe( + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBTHAUMATURGESRING", new ItemStack(BaubleItems.combinationRing, 1, 6), 5, @@ -392,7 +437,8 @@ public static void registerArcaneRingsInfusions() { new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(ConfigBlocks.blockCrystal, 1, 2), salisMundus, new ItemStack(BaubleItems.combinationRing, 1, 5), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 3), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), - salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5) })); + salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5) }, + returnInertPearlFragment)); RingResearch.recipeList.put( "RBExoticThaumaturgesRing", ThaumcraftApi.addInfusionCraftingRecipe( From db1bf15a46a98fc10e71065c4511689150a8775e Mon Sep 17 00:00:00 2001 From: LazyFleshWasTaken <40587985+LazyFleshWasTaken@users.noreply.github.com> Date: Sat, 14 Feb 2026 00:38:08 -0800 Subject: [PATCH 2/8] update deps... again... --- dependencies.gradle | 4 ++-- .../randomboubles/recipes/rings/InfusionRecipes.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 7098a35..2b57208 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -7,7 +7,7 @@ dependencies { compileOnly('com.github.GTNewHorizons:ThaumicBases:1.9.5:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:Thaumic_Exploration:1.5.5-GTNH:dev') {transitive=false} - compileOnly('com.github.GTNewHorizons:NewHorizonsCoreMod:2.8.51:dev') + compileOnly('com.github.GTNewHorizons:NewHorizonsCoreMod:2.8.142:dev') compileOnly('com.github.GTNewHorizons:WitchingGadgets:1.8.33-GTNH:dev') @@ -21,7 +21,7 @@ dependencies { runtimeOnlyNonPublishable("com.github.GTNewHorizons:WarpTheory:1.5.0-GTNH:dev") //GTNH - runtimeOnlyNonPublishable("com.github.GTNewHorizons:NewHorizonsCoreMod:2.8.51:dev") + runtimeOnlyNonPublishable("com.github.GTNewHorizons:NewHorizonsCoreMod:2.8.142:dev") //Update Hodgepodge to make Twilight Forest not crash the world on startup runtimeOnlyNonPublishable("com.github.GTNewHorizons:Hodgepodge:2.7.16:dev") runtimeOnlyNonPublishable("com.github.GTNewHorizons:ThaumicEnergistics:1.7.14-GTNH:dev") diff --git a/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java b/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java index 2a2b01a..3ad6e66 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java @@ -5,7 +5,7 @@ import net.minecraft.item.ItemStack; -import com.dreammaster.gthandler.CustomItemList; +import com.dreammaster.item.NHItemList; import com.gtnewhorizon.gtnhlib.api.thaumcraft.EnhancedInfusionRecipe; import com.gtnewhorizon.randomboubles.BaubleItems; import com.gtnewhorizon.randomboubles.research.RingResearch; @@ -48,8 +48,7 @@ public static void registerArcaneRingsInfusions() { new EnhancedInfusionRecipe.Replacement( new ItemStack(ConfigItems.itemEldritchObject, 1, 3), (Constants.GTNH ? // if GTNH is loaded, otherwise, normal pearl - CustomItemList.PrimordialPearlFragment.get(1L) - : new ItemStack(ConfigItems.itemEldritchObject, 1, 3)), + NHItemList.PrimordialPearlFragment.get(1) : new ItemStack(ConfigItems.itemEldritchObject, 1, 3)), true)); ItemStack salisMundus = new ItemStack(ConfigItems.itemResource, 1, 14); From 15c4d192bb4ce4d5b81080551052c382ceedf978 Mon Sep 17 00:00:00 2001 From: LazyFleshWasTaken <40587985+LazyFleshWasTaken@users.noreply.github.com> Date: Sat, 14 Feb 2026 01:07:15 -0800 Subject: [PATCH 3/8] found the thing causing a crash. guess it doesnt work by transitive, gotta have it defined --- dependencies.gradle | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 2b57208..90c76cc 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -35,8 +35,7 @@ dependencies { //runtimeOnlyNonPublishable("com.github.GTNewHorizons:MagicBees:2.10.2-GTNH:dev") //runtimeOnlyNonPublishable("com.github.GTNewHorizons:Ztones-Unofficial:2.3.2-GTNH:dev") //runtimeOnlyNonPublishable("ganymedes01.etfuturum:Et-Futurum-Requiem:2.6.2.28-GTNH:dev") { transitive = false } - runtimeOnlyNonPublishable("curse.maven:thaumcraft-nei-plugin-225095:2241913") { transitive = false } - + runtimeOnlyNonPublishable(rfg.deobf("curse.maven:thaumcraft-nei-plugin-225095:2241913")) { transitive = false } // deps may transitively add Baubles, so we replace it project.getConfigurations() From 94f35f6a052940b2428eadba4cd309256dd2b75d Mon Sep 17 00:00:00 2001 From: LazyFleshWasTaken <40587985+LazyFleshWasTaken@users.noreply.github.com> Date: Sat, 14 Feb 2026 11:12:14 -0800 Subject: [PATCH 4/8] Update recipes so the primordial pearl is on the outside, where required --- .../recipes/rings/InfusionRecipes.java | 51 ++++++++++++++----- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java b/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java index 3ad6e66..58a3cc9 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java @@ -298,12 +298,12 @@ public static void registerArcaneRingsInfusions() { .add(Aspect.MAGIC, 64) .add(Aspect.AURA, 48) .add(Aspect.ENERGY, 32), - new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + new ItemStack(ConfigBlocks.blockCrystal, 1, 6), new ItemStack[] { new ItemStack(BaubleItems.aerRing, 1, 2), new ItemStack(ConfigBlocks.blockCrystal, 1, 0), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 4), new ItemStack(BaubleItems.ordoRing, 1, 2), new ItemStack(ConfigBlocks.blockCrystal, 1, 1), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(BaubleItems.ignisRing, 1, 2), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 0) }, @@ -320,12 +320,12 @@ public static void registerArcaneRingsInfusions() { .add(Aspect.MAGIC, 64) .add(Aspect.AURA, 48) .add(Aspect.ENERGY, 32), - new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + new ItemStack(ConfigBlocks.blockCrystal, 1, 6), new ItemStack[] { new ItemStack(BaubleItems.terraRing, 1, 2), new ItemStack(ConfigBlocks.blockCrystal, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5), new ItemStack(BaubleItems.perditioRing, 1, 2), new ItemStack(ConfigBlocks.blockCrystal, 1, 2), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 2), new ItemStack(BaubleItems.aquaRing, 1, 2), new ItemStack(ConfigBlocks.blockCrystal, 1, 5), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 3) }, @@ -342,11 +342,11 @@ public static void registerArcaneRingsInfusions() { .add(Aspect.MAGIC, 128) .add(Aspect.AURA, 96) .add(Aspect.ENERGY, 64), - new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + new ItemStack(ConfigBlocks.blockCrystal, 1, 6), new ItemStack[] { new ItemStack(ConfigBlocks.blockCrystal, 1, 0), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 4), new ItemStack(BaubleItems.combinationRing, 1, 0), new ItemStack(ConfigBlocks.blockCrystal, 1, 1), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(BaubleItems.combinationRing, 1, 0), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 0) }, @@ -363,11 +363,11 @@ public static void registerArcaneRingsInfusions() { .add(Aspect.MAGIC, 128) .add(Aspect.AURA, 96) .add(Aspect.ENERGY, 64), - new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + new ItemStack(ConfigBlocks.blockCrystal, 1, 6), new ItemStack[] { new ItemStack(ConfigBlocks.blockCrystal, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5), new ItemStack(BaubleItems.combinationRing, 1, 3), new ItemStack(ConfigBlocks.blockCrystal, 1, 2), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 2), new ItemStack(BaubleItems.combinationRing, 1, 3), new ItemStack(ConfigBlocks.blockCrystal, 1, 5), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 3) }, @@ -384,11 +384,11 @@ public static void registerArcaneRingsInfusions() { .add(Aspect.MAGIC, 256) .add(Aspect.AURA, 192) .add(Aspect.ENERGY, 64), - new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + new ItemStack(ConfigBlocks.blockCrystal, 1, 6), new ItemStack[] { new ItemStack(ConfigBlocks.blockCrystal, 1, 0), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 4), new ItemStack(BaubleItems.combinationRing, 1, 1), new ItemStack(ConfigBlocks.blockCrystal, 1, 2), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 2), new ItemStack(BaubleItems.combinationRing, 1, 1), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 0) }, @@ -405,11 +405,11 @@ public static void registerArcaneRingsInfusions() { .add(Aspect.MAGIC, 256) .add(Aspect.AURA, 192) .add(Aspect.ENERGY, 64), - new ItemStack(ConfigItems.itemEldritchObject, 1, 3), + new ItemStack(ConfigBlocks.blockCrystal, 1, 6), new ItemStack[] { new ItemStack(ConfigBlocks.blockCrystal, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5), new ItemStack(BaubleItems.combinationRing, 1, 4), new ItemStack(ConfigBlocks.blockCrystal, 1, 1), salisMundus, - new ItemStack(ConfigBlocks.blockCrystal, 1, 6), salisMundus, + new ItemStack(ConfigItems.itemEldritchObject, 1, 3), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(BaubleItems.combinationRing, 1, 4), new ItemStack(ConfigBlocks.blockCrystal, 1, 5), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 3) }, @@ -430,14 +430,37 @@ public static void registerArcaneRingsInfusions() { .add(Aspect.MAGIC, 512) .add(Aspect.AURA, 384) .add(Aspect.ENERGY, 128), - new ItemStack(ConfigItems.itemEldritchObject, 1, 3), - new ItemStack[] { new ItemStack(BaubleItems.combinationRing, 1, 2), + new ItemStack(BaubleItems.combinationRing, 1, 2), + new ItemStack[] { new ItemStack(ConfigItems.itemEldritchObject, 1, 3), new ItemStack(ConfigBlocks.blockCrystal, 1, 0), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(ConfigBlocks.blockCrystal, 1, 2), salisMundus, new ItemStack(BaubleItems.combinationRing, 1, 5), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 3), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5) }, returnInertPearlFragment)); + RingResearch.recipeList.put( + "RBThaumaturgesRing", + EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( + "RBTHAUMATURGESRING", + new ItemStack(BaubleItems.combinationRing, 1, 6), + 5, + (new AspectList()).add(Aspect.AIR, 512) + .add(Aspect.ORDER, 512) + .add(Aspect.FIRE, 512) + .add(Aspect.EARTH, 512) + .add(Aspect.ENTROPY, 512) + .add(Aspect.WATER, 512) + .add(Aspect.MAGIC, 512) + .add(Aspect.AURA, 384) + .add(Aspect.ENERGY, 128), + new ItemStack(BaubleItems.combinationRing, 1, 5), + new ItemStack[] { new ItemStack(BaubleItems.combinationRing, 1, 2), + new ItemStack(ConfigBlocks.blockCrystal, 1, 0), salisMundus, + new ItemStack(ConfigBlocks.blockCrystal, 1, 1), new ItemStack(ConfigBlocks.blockCrystal, 1, 2), + salisMundus, new ItemStack(ConfigItems.itemEldritchObject, 1, 3), salisMundus, + new ItemStack(ConfigBlocks.blockCrystal, 1, 3), new ItemStack(ConfigBlocks.blockCrystal, 1, 4), + salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5) }, + returnInertPearlFragment)); RingResearch.recipeList.put( "RBExoticThaumaturgesRing", ThaumcraftApi.addInfusionCraftingRecipe( From dc5383d7b263ab781e9f7c6effdd8ad4ac2e4fc5 Mon Sep 17 00:00:00 2001 From: LazyFleshWasTaken <40587985+LazyFleshWasTaken@users.noreply.github.com> Date: Sat, 14 Feb 2026 11:28:54 -0800 Subject: [PATCH 5/8] add the second recipe to the thaumonomicon --- .../randomboubles/recipes/rings/InfusionRecipes.java | 2 +- .../com/gtnewhorizon/randomboubles/research/RingResearch.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java b/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java index 58a3cc9..b6cc9de 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/recipes/rings/InfusionRecipes.java @@ -439,7 +439,7 @@ salisMundus, new ItemStack(BaubleItems.combinationRing, 1, 5), salisMundus, salisMundus, new ItemStack(ConfigBlocks.blockCrystal, 1, 5) }, returnInertPearlFragment)); RingResearch.recipeList.put( - "RBThaumaturgesRing", + "RBThaumaturgesRing2", EnhancedInfusionRecipe.addEnhancedInfusionCraftingRecipe( "RBTHAUMATURGESRING", new ItemStack(BaubleItems.combinationRing, 1, 6), diff --git a/src/main/java/com/gtnewhorizon/randomboubles/research/RingResearch.java b/src/main/java/com/gtnewhorizon/randomboubles/research/RingResearch.java index 27e567d..9b1020e 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/research/RingResearch.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/research/RingResearch.java @@ -656,7 +656,8 @@ public static void registerResearch() { // Thaumaturge's Ring pages = new ResearchPage[] { new ResearchPage("randomboubles_research_page.RBTHAUMATURGESRING." + (Constants.GTNH ? "GTNH.1" : "1")), - new ResearchPage((InfusionRecipe) recipeList.get("RBThaumaturgesRing")) }; + new ResearchPage((InfusionRecipe) recipeList.get("RBThaumaturgesRing")), + new ResearchPage((InfusionRecipe) recipeList.get("RBThaumaturgesRing2"))}; researchAspects = new AspectList().add(Aspect.EARTH, 16) .add(Aspect.AIR, 16) .add(Aspect.FIRE, 16) From cb220f5d4dda93432c1cebc8ca25d8a38a7c1606 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 11:33:46 -0800 Subject: [PATCH 6/8] Spotless apply for branch swap-to-replacing for #6 (#7) Co-authored-by: GitHub GTNH Actions <> --- .../com/gtnewhorizon/randomboubles/research/RingResearch.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/gtnewhorizon/randomboubles/research/RingResearch.java b/src/main/java/com/gtnewhorizon/randomboubles/research/RingResearch.java index 9b1020e..f841d2e 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/research/RingResearch.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/research/RingResearch.java @@ -657,7 +657,7 @@ public static void registerResearch() { pages = new ResearchPage[] { new ResearchPage("randomboubles_research_page.RBTHAUMATURGESRING." + (Constants.GTNH ? "GTNH.1" : "1")), new ResearchPage((InfusionRecipe) recipeList.get("RBThaumaturgesRing")), - new ResearchPage((InfusionRecipe) recipeList.get("RBThaumaturgesRing2"))}; + new ResearchPage((InfusionRecipe) recipeList.get("RBThaumaturgesRing2")) }; researchAspects = new AspectList().add(Aspect.EARTH, 16) .add(Aspect.AIR, 16) .add(Aspect.FIRE, 16) From 258613bd09ef82b8e01f859c55606980fe76b7f6 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Sat, 14 Feb 2026 23:19:49 +0100 Subject: [PATCH 7/8] update+fix --- dependencies.gradle | 6 +++--- .../randomboubles/items/rings/ItemCombinationRings.java | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 5f4e386..8c6774e 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -28,10 +28,10 @@ dependencies { runtimeOnlyNonPublishable rfg.deobf("curse.maven:witchery-69673:2234410") runtimeOnlyNonPublishable("com.github.GTNewHorizons:WitcheryExtras:1.4.7:dev") { transitive = false } runtimeOnlyNonPublishable("com.github.GTNewHorizons:WailaHarvestability:1.3.4-GTNH:dev") - runtimeOnlyNonPublishable("com.github.GTNewHorizons:Galacticraft:3.4.7-GTNH:dev") - runtimeOnlyNonPublishable("com.github.GTNewHorizons:Electro-Magic-Tools:1.7.6:dev") + runtimeOnlyNonPublishable("com.github.GTNewHorizons:Galacticraft:3.4.17-GTNH:dev") + runtimeOnlyNonPublishable("com.github.GTNewHorizons:Electro-Magic-Tools:1.7.17:dev") runtimeOnlyNonPublishable("com.github.GTNewHorizons:Chisel:2.17.14-GTNH") - //runtimeOnlyNonPublishable("com.github.GTNewHorizons:MagicBees:2.10.2-GTNH:dev") + //runtimeOnlyNonPublishable("com.github.GTNewHorizons:MagicBees:2.10.4-GTNH:dev") //runtimeOnlyNonPublishable rfg.deobf("curse.maven:ztones-224369:2223720") //runtimeOnlyNonPublishable("ganymedes01.etfuturum:Et-Futurum-Requiem:2.6.2.28-GTNH:dev") { transitive = false } runtimeOnlyNonPublishable(rfg.deobf("curse.maven:thaumcraft-nei-plugin-225095:2241913")) { transitive = false } diff --git a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemCombinationRings.java b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemCombinationRings.java index 3f27ba8..7c551ce 100644 --- a/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemCombinationRings.java +++ b/src/main/java/com/gtnewhorizon/randomboubles/items/rings/ItemCombinationRings.java @@ -16,7 +16,6 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; -import com.dreammaster.item.NHItemList; import com.gtnewhorizon.randomboubles.RandomBoubles; import cpw.mods.fml.relauncher.Side; From b84e7661a0a781d00dd1593ab82ebc36df74c3c3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 23:23:47 +0100 Subject: [PATCH 8/8] Spotless apply for branch swap-to-replacing for #6 (#8) Co-authored-by: GitHub GTNH Actions <>