Skip to content

EasyScripting 0.2.5

Latest

Choose a tag to compare

@itarqos5 itarqos5 released this 22 Sep 19:40
· 5 commits to main since this release

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.accuracy applies in full from half of groups.melee-reach and closer, tapering linearly to the new combat.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-radius has been removed. A leftover key in an existing actor-ai.yml is ignored.
  • Shields answer a mace carried anywhere in a player's inventory, not only one in their hand; combat.shield-inventory-mace turns 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-distance rather 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 halfheart keeps 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 reload names 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 /deadusers and /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 by actors.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.