Repository navigation
Group AI, formation and lifecycle repairs, distance-dependent melee accuracy, half-heart protection that keeps the hit, and configuration loading that survives a broken file.
Install EasyScripting-0.2.5.jar in plugins/ and replace the previous EasyScripting JAR. Do not install the sources JAR. Existing configuration files are kept; combat.reach-accuracy is added automatically and combat.shield-ground-radius is no longer read.
Combat
- NPC melee no longer lands every blow from exactly its maximum reach. Accuracy falls off with distance:
combat.accuracyapplies in full from half ofgroups.melee-reachand closer, tapering linearly to the newcombat.reach-accuracy(0.25) at the limit itself. The roll now also covers the fallback melee path that previously struck without one, so no NPC swing connects unconditionally. - NPCs no longer raise their shields against a mace carried at their own level, which left them turtling through an ordinary ground fight. Only a mace overhead — the falling smash a shield is worth raising against — triggers the reaction, and
combat.shield-ground-radiushas been removed. A leftover key in an existingactor-ai.ymlis ignored. - Shields answer a mace carried anywhere in a player's inventory, not only one in their hand;
combat.shield-inventory-maceturns the backpack check off. - Defensive potion bursts no longer re-dose effects the NPC already has, and a retreating NPC turns and runs instead of moonwalking with its enemy in view.
Following
- Members no longer walk to a fixed numbered place. Each takes the place nearest to where it already stands, preferring the one it already held, so a group that turns or reforms does not send members around the leader and through their neighbours to reach a square on the far side.
- Settled followers no longer shuffle on the spot. A navigator that has stopped inside the resume distance counts as settled, and one repath interval covers a completed path as well as a running one.
- Damage that throws nobody anywhere — fire, fall damage, drowning, cactus — no longer pauses navigation, so an NPC walks out of it instead of standing in it. A real blow still pauses for its knockback.
- Falling NPCs are left to gravity beyond the new
groups.fall-pause-distancerather than being steered mid-air. - Added
/es group lineup <group> [front|behind] [columns]and a Line up on me button, which teleports every present, free member onto its own whole block in cardinal-aligned rows and columns.
Players and configuration
/es player halfheartkeeps the lethal hit instead of cancelling it. Cancelling swallowed the whole attack — no knockback, no hurt animation, no mace smash, no hit sound. The blow now lands with its damage taken away, leaving the player on half a heart.- Configuration loading isolates failures to the file that caused them. A file whose YAML cannot be parsed, or whose contents fail validation, is logged to console in full and answered from the copy bundled in the JAR; every other file still loads, and the broken file on disk is never overwritten or replaced. Operators are told
<file>.yml file is broken, please read console.when they join,/es reloadnames the affected files, and any command that would save one of them is refused. Previously a single bad file disabled the whole plugin. - Added Release every dead username to
/deadusersand/es deadusers clear, releasing every retired name at once. Operator-only, confirmed, and it ignores any active search filter. - Added Delete all NPCs in this group /
/es group purge, an operator-only Delete every NPC //actor deleteall, and NPC death drops controlled byactors.death-drops. - A refused command now prints its reason as one sentence; syntax help appears only when the command itself was malformed.
The complete list is in CHANGELOG.md, and the engineering record for this release is IMPLEMENTATION-0.2.5.md.
Artifacts
| File | SHA-256 |
|---|---|
EasyScripting-0.2.5.jar |
0A8CCE08578402A694F793CD6CF95FE91FC71FA37C1345A86A38FA5AE383B4CC |
EasyScripting-0.2.5-sources.jar |
33876F313703EA1BE66126E7B50CB224B131DC7DD5405F4DD3DEE6E42AAE0E4B |
Built with JDK 25 against Paper 1.21.8, producing Java 21 bytecode, with a compatibility compile against Paper 1.21.11. Validation: 183 unit tests, production, test and smoke compilation. No Minecraft server or client was started for this release; the live acceptance cases are in TESTING.md.