ThaumicTinkerer
29 merged pull requests.
New Features
- #106 Introduced NEIInfusedSeedRecipeHandler with visual recipe display, improved AspectCropLootManager to fix drop rate calculations and NPEs, and added recipe GUI texture. - @Spaghetti-OberNub
- Added: NEI recipe page for Infused Seeds with drop chance tooltips, NEIInfusedSeedRecipeHandler class
- Fixed: Infused Seed drop rate bugs, Rare NPEs in crop loot system
- #99 Updated TileSummon.java wither skeleton summoning logic and EnumMobAspect to properly handle wither skeleton aspects; updated NEINecromancyHandler and ItemBloodSword. - @koolkrafter5
- Fixed: Wither skeleton naming in item tooltips
- #93 Created NEINecromancyHandler class with Aspect Recipe Index integration; updated EnumMobAspect and ItemMobDisplay to support the new handler. Requires Aspect Recipe Index mod. - @koolkrafter5
- Added: NEI Necromancy Handler, mob soul aspect display in NEI
- #80 Added support for Frugal and Potency upgrades to ItemFocusXPDrain; improved fill order to prioritize lowest aspect first and prevent overfilling waste. - @koolkrafter5
- Added: Frugal upgrade support for Experience Drain, Potency upgrade support for Experience Drain
- #78 Added bonemeal compatibility check for Electric Hoe in BonemealEventHandler; enabled generic injection; updated Gradle build configuration and wrapper. - @ah-OOG-ah
- Added: Bonemeal support for Electric Hoe of Growth, Generic injection support
- Removed: Legacy build.gradle
New Content
- #85 Added en_GB.lang file with British English strings and updated en_US.lang with alternative armor spelling entries. - @koolkrafter5
- Added: en_GB localization file
- Fixed: Soul Mold spelling
Changes
- #108 NEIInfusedSeedRecipeHandler uses generic_54.png with new slot UVs and draws whole rows of slots. The handler ID and overlay identifier are now the class name and a thaumictinkerer.infusedseeds constant, and the HandlerInfo in TTCommonProxy is built from the class. Four seed item textures were edited. - @Ranzuu
- Fixed: Infused Seeds NEI page slot texture breaking with resource packs
- #102 Modified TileRepairer to set suction to 0 when no repairable item is present; consolidated all isModLoaded checks into LoadedMods class; updated tile entity and compatibility classes to use centralized mod detection. - @vladislemon
- Added: LoadedMods centralized mod detection class
- Removed: Dynamic isModLoaded checks scattered throughout codebase
- Fixed: Thaumic Restorer tubes clogging when empty
- #97 ItemIchorPickAdv.onBlockStartBreak gates the bedrock portal and bedrock-to-air logic on player.isSneaking(). ToolHandler.materialsPick now includes materialsShovel, and removeBlocksInIteration no longer skips the center block. - @jude123412
- Fixed: center block not breaking when mining bedrock in line or square mode, accidental bedrock portal creation, bedrock breakable outside the bedrock dimension with area mining
- Closes GTNH#19668
- #75 ItemCleansingTalisman overrides getIsRepairable to return true when the material is the Dark Quartz item from the registry, otherwise defers to super. - @koolkrafter5
- Added: Dark Quartz repair for the Cleansing Talisman
Balance
- #107 Updated AspectCropLootManager drop tables to include additional items and improve thematic consistency across aspects. - @LazyFlesh
- Added: Void seed to VOID aspect drops, Wildcard seed to CROP aspect drops
- Removed: Netherrack from SOUL aspect, Blizz rod from COLD aspect
- #83 Updated ModEnchantmentHandler Final Strike probability calculation from logarithmic curve to linear scaling. - @thehoblit
Bug Fixes
- #104 RenderMobDisplay now keeps its own per-world EnumMap entity cache, cleared on WorldEvent.Unload, and returns early when theWorld is null. glPushAttrib is reduced to the needed bits. EnumMobAspect caches its lang key and gets getDisplayName, which replaces the proxy getMobDisplayName methods. - @mitchej123
- Fixed: NullPointerException when rendering mob display items with a null world
- #103 Updated TileAnimationTablet and LoadedMods GT loader detection to properly handle version-agnostic checks. - @felixfour
- Fixed: GT loader check compatibility with GT6
- #100 EMTCompat gains validElectricHoe (canUse 250) and useEnergy (ElectricItem.manager.use 250). BonemealEventHandler.isMagicHoe now checks the charge, and a new damageHoe helper drains energy for the electric hoe. - @koolkrafter5
- Fixed: Electric hoe of growth breaking instead of using power
- #98 ContainerIchorPouch overrides initPlayerInv and adds the held hotbar slot as a Slot whose canTakeStack returns false. - @Algent
- Fixed: Bottomless Pouch duplication by dropping it with the GUI open
- Closes Dupes-Exploits-GTNH#275
- #96 In ItemGemLegs.getRecipeItem, the infusion ingredient changed from Items.golden_chestplate to Items.golden_leggings. - @koolkrafter5
- Fixed: ichor leggings default recipe using a golden chestplate
- #91 Split PotionEffectHandler into client and server variants (PotionEffectHandlerClient, PotionEffectHandlerServer) and removed static entity map; integrated side-specific handlers into proxy classes. - @Alexdoru
- Added: PotionEffectHandlerClient, PotionEffectHandlerServer
- Removed: PotionEffectHandler static entity map
- Fixed: Memory leak in potion effect tracking
- #90 In AspectCropLootManager.getLootForAspect the selection check changed from randInt <= 0 to randInt < pair.getValue(). addAspectLoot(Aspect, String) no longer loops over ore names to add duplicate entries, and Aspect.HEAL uses Items.cake instead of Blocks.cake. - @Tahkeh
- Fixed: infused crops dropping nothing, wrong drop weights in infused crop loot tables, duplicate ore dictionary loot entries, Sano crop dropping nothing instead of cake
- #88 In ItemKamiResource.getRecipeItem, two ItemStacks (meta 6 and 7) in the infusion recipe changed from stack size 8 to 1. - @koolkrafter5
- Fixed: wrong ingredient stack sizes for the ichor recipe in NEI
- #86 In ItemSpellCloth.getRecipeItem, the catalyst ItemStack for the crucible recipe changed from stack size 0 to 1. - @koolkrafter5
- Fixed: spellbinding cloth recipe catalyst with stack size 0
- #84 Replaced the ichorCap.png item texture. No code changes. - @koolkrafter5
- Fixed: misaligned ichor cap texture
- #82 Removed the cached TileInfusedGrain field from BlockInfusedGrain. It now overrides removedByPlayer and harvestBlock so the block is removed in harvestBlock, and getDrops reads the tile entity from the world. - @Tahkeh
- Fixed: infused seeds inheriting NBT tags from a previously broken crop
- Closes GTNH#23570
- #81 BonemealEventHandler.onPlayerInteract returns early unless the crop can still grow, and only then damages the hoe by 25 and sparkles. It plays the thaumcraft:wand sound on success. - @koolkrafter5
- Added: Growth sound for magic hoes on Infused Crops
- Fixed: Magic hoes wasting durability on fully grown Infused Crops
- #79 Corrected spelling in en_US (eraser, favor, wielder and others) and in the fr_Fr, de_DE, ko_KR, ru_RU and zh_CN lang files. Renamed ttmisc.shareTomb.offlineshare to ttmisc.shareTome.offlineshare. - @Yoshy2002
- Fixed: typos in lang files, misspelled Offline share lang key
- #76 ItemGemBoots.getSpeedModifier and getJumpModifier now check stackTagCompound.hasKey for speed and jump before reading, and otherwise return 1.0. - @koolkrafter5
- Fixed: Boots losing speed when enchanted without Thaumic Boots
Internal / Refactor
- #89 Wrapped tcProxy.sparkle and similar particle calls in worldObj.isRemote checks across tiles (Relay, Forcefield, Magnet, Repairer, WarpGate), ItemXPTalisman, several foci and PotionEffectHandler. TileRepairer now syncs tookLastTick for client-side sparkles instead of dmgLastTick. - @DarkShadow44
- #64 Replaced the ArrayList class registry with arrays and removed redundant lookups; the visible diff drops the unused getSpecialParameters overrides and ArrayList imports across block and item classes. - @sisyphussy
Chores
- #95 Removed registerVersionChecker and its call from TTCommonProxy.preInit, which sent an addCurseCheck IMC message, plus the unused imports. - @koolkrafter5
- Removed: CurseForge version checker
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@koolkrafter5 (18), @Dream-Master (9), @UltraProdigy (6), @Nikolay-Sitnikov (5), @Ranzuu (3), @Alexdoru (2), @boubou19 (2), @Caedis (2), @DarkShadow44 (2), @Ethryan (2), @LazyFlesh (2), @Spaghetti-OberNub (2), @Tahkeh (2), @ah-OOG-ah (1), @Algent (1), @danyadev (1), @EnderProyects (1), @felixfour (1), @jude123412 (1), @Luca-Guettinger (1), @MalTeeez (1), @mitchej123 (1), @sisyphussy (1), @thehoblit (1), @vladislemon (1), @Yoshy2002 (1)