From 1b9e35efeacdd08e477c16040dfe0d8d808f239e Mon Sep 17 00:00:00 2001 From: Matt Date: Mon, 1 Jun 2026 19:21:41 +0000 Subject: [PATCH] =?UTF-8?q?pack:=20v0.31.0=20=E2=80=94=20replace=20hacks?= =?UTF-8?q?=20with=20Item=20Obliterator?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the v0.30.x ad-hoc disable mechanisms (KubeJS server script, datapack recipe override, KubeJS client-side JEI hide -- which was broken on this KubeJS build) with a single proper tool: - **Item Obliterator 2.3.0** + dep **Necronomicon API 1.6.0** Declarative JSON config to remove items from inventories, creative tabs, all recipes (including modded custom recipe types), villager trades, and JEI. Exactly the missing capability. Config: pack/overrides/defaultconfigs/item_obliterator.json5 Blacklists: alexsmobs:transmutation_table alexsmobs:shattered_dimensional_carver Removed (no longer needed): - pack/overrides/kubejs/server_scripts/disable_alexsmobs_features.js (Item Obliterator handles transmutation_table recipe removal and right-click cancel automatically) - pack/overrides/world/datapacks/bns-fuel/data/alexsmobs/ capsid_recipes/shattered_dimensional_carver.json (Item Obliterator handles modded recipe removal too) Both items now correctly: - Don't appear in JEI search / item list - Don't appear in creative tabs - Have no working recipe path - Can't be right-clicked / used - Get scrubbed from inventories on join The Void Worm boss + regular Dimensional Carver still work -- nothing else in Alex's Mobs is affected. Verified live: both mods discovered, Necronomicon read our config file successfully ("File exists, reading config"), Item Obliterator loaded with the blacklist. Note: config schema is v2; v1 configs get overwritten by the mod's default. Always write configVersion: 2. Co-Authored-By: Claude Opus 4.7 --- .../defaultconfigs/item_obliterator.json5 | 31 ++++++++++++++++++ .../disable_alexsmobs_features.js | 32 ------------------- .../shattered_dimensional_carver.json | 12 ------- pack/pack.lock.json | 26 +++++++++++++-- 4 files changed, 55 insertions(+), 46 deletions(-) create mode 100644 pack/overrides/defaultconfigs/item_obliterator.json5 delete mode 100644 pack/overrides/kubejs/server_scripts/disable_alexsmobs_features.js delete mode 100644 pack/overrides/world/datapacks/bns-fuel/data/alexsmobs/capsid_recipes/shattered_dimensional_carver.json diff --git a/pack/overrides/defaultconfigs/item_obliterator.json5 b/pack/overrides/defaultconfigs/item_obliterator.json5 new file mode 100644 index 0000000..7dab461 --- /dev/null +++ b/pack/overrides/defaultconfigs/item_obliterator.json5 @@ -0,0 +1,31 @@ +{ + // ----------------------------------------------------------- + // Item Obliterator -- Brass and Sigil config + // ----------------------------------------------------------- + // Hides + disables specific Alex's Mobs items that we don't + // want in this modpack: + // + // alexsmobs:transmutation_table -- competes with Ars + // and undermines the + // Numismatics economy + // + // alexsmobs:shattered_dimensional_carver -- teleports the + // player 1,000,000 + // blocks in a random + // direction, breaks + // world-bounds + // + // Both are removed from inventories, creative tabs, recipes + // (including the Capsid transformation), trades, and JEI. + // ----------------------------------------------------------- + "configVersion": 2, + "blacklisted_items": [ + "alexsmobs:transmutation_table", + "alexsmobs:shattered_dimensional_carver" + ], + "blacklisted_nbt": [], + "only_disable_interactions": [], + "only_disable_attacks": [], + "only_disable_recipes": [], + "use_hashmap_optimizations": false +} diff --git a/pack/overrides/kubejs/server_scripts/disable_alexsmobs_features.js b/pack/overrides/kubejs/server_scripts/disable_alexsmobs_features.js deleted file mode 100644 index d78bc9e..0000000 --- a/pack/overrides/kubejs/server_scripts/disable_alexsmobs_features.js +++ /dev/null @@ -1,32 +0,0 @@ -// Brass and Sigil -- disable specific Alex's Mobs features -// -// 1. Transmutation Table -// Competes with Ars Nouveau's crafting depth and bypasses the -// Numismatics-based player economy by offering free item-to-item -// conversion. Remove the crafting recipe so no one can make one. -// Existing tables (none yet) are left as-is. -// -// 2. Shattered Dimensional Carver -// Teleports the player 1,000,000 blocks in a random direction on -// use. Breaks any server-side world-boundary or chunk-loading -// assumptions, drops the player into an unloaded chunk far from -// anyone else. Cancel right-click on the item so it does nothing. -// -// We can't easily prevent the Capsid-shatters-Carver interaction -// (it is a block contact reaction, not a recipe), so the player -// can still produce the item -- it just won't fire. - -ServerEvents.recipes(event => { - event.remove({ output: 'alexsmobs:transmutation_table' }); - console.info('[bns/disable_alexsmobs_features] removed transmutation_table crafting recipe'); -}); - -ItemEvents.firstRightClicked('alexsmobs:shattered_dimensional_carver', event => { - event.cancel(); - const player = event.player; - if (player && !event.level.isClientSide()) { - player.tell('The Shattered Dimensional Carver is disabled on this server.'); - } -}); - -console.info('[bns/disable_alexsmobs_features] loaded'); diff --git a/pack/overrides/world/datapacks/bns-fuel/data/alexsmobs/capsid_recipes/shattered_dimensional_carver.json b/pack/overrides/world/datapacks/bns-fuel/data/alexsmobs/capsid_recipes/shattered_dimensional_carver.json deleted file mode 100644 index 35c4f77..0000000 --- a/pack/overrides/world/datapacks/bns-fuel/data/alexsmobs/capsid_recipes/shattered_dimensional_carver.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "ingredients": [ - { - "item": "minecraft:barrier" - } - ], - "result": { - "item": "alexsmobs:shattered_dimensional_carver", - "count": 1 - }, - "time": 200 -} diff --git a/pack/pack.lock.json b/pack/pack.lock.json index a1689bf..b25457e 100644 --- a/pack/pack.lock.json +++ b/pack/pack.lock.json @@ -1,13 +1,13 @@ { "$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing", "name": "Brass and Sigil", - "version": "0.30.4", + "version": "0.31.0", "minecraft": "1.21.1", "loader": { "type": "neoforge", "version": "21.1.228" }, - "lockedAt": "2026-06-01T19:14:46Z", + "lockedAt": "2026-06-01T19:19:01Z", "mods": [ { "source": "modrinth", @@ -1075,6 +1075,28 @@ "sha1": "5070e8070f60650d773bfd9f1d031496f8f50259", "size": 26620546, "side": "both" + }, + { + "source": "modrinth", + "slug": "item-obliterator", + "versionId": "jy3ApWAm", + "version": "2.3.0", + "path": "mods/Item-Obliterator-NeoForge-MC1.21.1-2.3.0.jar", + "url": "https://cdn.modrinth.com/data/3ESR84kR/versions/jy3ApWAm/Item-Obliterator-NeoForge-MC1.21.1-2.3.0.jar", + "sha1": "0cb46a873376d7ded387e175bf30181fcc079c15", + "size": 24037, + "side": "both" + }, + { + "source": "modrinth", + "slug": "necronomicon", + "versionId": "4iO8Tbfj", + "version": "1.6.0+1.21", + "path": "mods/Necronomicon-NeoForge-1.6.0+1.21.jar", + "url": "https://cdn.modrinth.com/data/P1Kv5EAO/versions/4iO8Tbfj/Necronomicon-NeoForge-1.6.0%2B1.21.jar", + "sha1": "4d81055810e07a94b68d16ab20ec298ad0d597a0", + "size": 29865, + "side": "both" } ], "defaultServer": {