promotional bannermobile promotional banner

Pact & Summon

Bind any mob into a loyal minion — including mobs from other mods.
Back to Files

pactminions-1.6.0.jar

File namepactminions-1.6.0.jar
Uploader
lingyaolingyao
Uploaded
Oct 26, 2026
Downloads
10
Size
398.2 KB
Mod Loaders
Forge
File ID
9332878
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:pact-summon-1746069:9332878")

Learn more about Curse Maven

What's new

  1. New Features 1.1 Deeper L2Hostility integration With L2Hostility installed, a mob's level and its trait count both push the taming success rate down:

Higher mob level → harder to tame More traits on the mob → harder to tame The two stack, but along gentle curves — it never becomes "level 100 means hopeless" The HP threshold drops in step: higher-level mobs must be beaten down further before a pact can be formed.

Key design point: the floor is never zero. No matter the level or trait count, the final success rate never drops below 0.5%, and the HP threshold never below 5%. Both are configurable.

Without L2Hostility installed this feature is completely inert — none of its classes are loaded.

1.2 Right-click to install upgrade templates Holding a Modular Golems upgrade template and right-clicking your own minion installs it into the first free upgrade slot — no need to open the equipment panel. Matches the feel of the trait-adding wand.

Templates that do nothing for minions are blocked with a message Only one copy of each template may be installed A full message appears if no slot is free 1.3 Cooldown for the Pact Stone The Pact Stone (eye of ender icon) now has a 5 second cooldown, using vanilla item cooldown rendering (the sweep overlay in the hotbar).

It only triggers when something is actually consumed — failed pre-checks (no crystal, not beaten down enough) don't lock you out.

Cooldown length is configurable (contract_cooldown_ticks, 0 = disabled).

1.4 Blacklist for damage-immune mobs Mobs that are permanently immune to most damage are blacklisted from taming by default. First entry: Mowzie's Mobs' Ferrous Wroughtnaut (mowziesmobs:ferrous_wroughtnaut).

The criterion is can't be hurt — not has a lot of HP. Each candidate was verified by disassembling its damage-handling method, not by guessing from the name.

1.5 Logarithmic slider for the success floor The "success floor" slider in the config screen now uses a logarithmic scale, with 1% sitting exactly in the middle of the track.

This gives fine control in the low range while keeping the ability to raise it up to 100%. The value is also displayed as a percentage now (previously it showed a bare 0.005, which most players couldn't read as 0.5%).

1.6 Confirmation before dissolving a pact Dissolving a pact is irreversible — level, XP and all allocated points are reset, and equipment drops on the ground. Both entry points now require confirmation:

Sneak + right-click: the first click only warns; right-click the same minion again within 5 seconds to actually do it /pactminions dismiss: preview only; add confirm true to execute 2. Bug Fixes Critical: infinite duplication when installing upgrade templates Symptom: Right-clicking a minion with an upgrade template installed it, but the stack in your inventory never decreased — you could duplicate templates indefinitely.

Cause: The code operated on the copy returned by PlayerInteractEvent.getItemStack(). Decrementing the count on that copy is like taking the count off a photocopy.

Fix: Read the real held item straight from the player's inventory, and reorder to "write into the container first, then decrement the hand".

Critical: contained minions vanish after the owner dies Symptom: After dying and respawning, minions stored in the pouch appear for a split second and then disappear.

Cause: Forge does not carry capabilities over on death-respawn. PlayerList.respawn calls invalidateCaps at instruction 19, but only fires PlayerEvent.Clone at instruction 141 — 122 instructions of dead zone in between. Reading the old player's data inside Clone always returns null.

Fix: Move the snapshot earlier — to the moment of death (LivingDeathEvent, the first instruction of die()) — and write it back into the new entity on respawn.

One finding from that investigation is worth repeating: "don't kill the process" is not the trigger condition, it's the masking condition. A normal quit writes the empty pouch to disk; force-killing leaves the old data on disk.

Multiple click sounds in the config screen Symptom: Clicking one button made every button in the list area play a click, stacking into a much louder sound; clicking empty space also produced a click.

Cause: ScrollableList forwarded mouse-release to all child widgets without breaking. Vanilla's AbstractSliderButton.onRelease() plays a click sound internally — so one click "released" every slider in the list.

Fix: Track which child was actually pressed and notify only that one on release. Also fixed container widgets playing a sound when clicked directly (overrode clicked() to always return false).

Crash when toggling config from the main menu Symptom: Opening the config screen from the main menu (before entering a world) and clicking a toggle crashed the game.

Cause: The config is SERVER type; before entering a world that spec isn't loaded, so writing throws NullPointerException: Cannot set config value without assigned Config object present.

Fix: Catch it and show "enter a world first"; controls are also greyed out up front.

Raw translation keys shown in the config screen Several new config entries displayed as pactminions.config.tame_chance_floor — the language files were missing those keys. Both zh_cn and en_us now have them.

Equipment was unrecoverable after dissolving a pact Symptom: After dissolving a pact, the minion still wore your equipment and upgrade templates, but it was no longer yours — the gear was lost.

Fix: Equipment now drops on the ground when the pact is dissolved.

Leftover attribute bonuses after dissolving a pact Symptom: Equipment dropped, but the armour, toughness and attack bonuses stayed on the mob — a "wild" mob ended up stronger than its peers.

Cause: The five-attribute and equipment systems use different modifier identifiers; dissolving only cleared the five-attribute set.

Fix: Both dissolve paths now clear the equipment bonuses, and also clear the main-hand slot (otherwise the mob stands there holding a sword that already dropped).

3.Known Limitations Core verification for this version was done via bytecode data-flow analysis, pure-JVM structural probes, and in-game A/B comparison. Some features (notably the exact feel of the L2Hostility penalties) have not been extensively tuned in real gameplay — the numbers may need adjustment based on actual play. The config screen is read-only when not inside a world (intentional — this is a server-side config). /pactminions dismiss only affects minions within 64 blocks.

This mod has no additional files