promotional bannermobile promotional banner

Tactical RPG: Turn-based Tactics Game

Turn Minecraft encounters into block-based, turn-driven tactical battles
Back to Files

tactical-neoforge-1.21.1-0.26.0.jar

File nametactical-neoforge-1.21.1-0.26.0.jar
Uploader
DxEVILDxEVIL
Uploaded
Nov 3, 2026
Downloads
4
Size
1.6 MB
Mod Loaders
NeoForge
File ID
9415177
Type
B
Beta
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:tactical-rpg-minecraft-turn-based-tactics-mod-1766445:9415177"

Learn more about Curse Maven

What's new

0.26.0 — Wolves that take orders (companion control)

Build: 0.26.0, Minecraft 1.21.1 / NeoForge 21.1.216; artifact tactical-neoforge-1.21.1-0.26.0.jar. Main protocol 11 -> 12 (the battle snapshot carries a bounded companion command projection); Skill 4 and BattleLog 2 are unchanged and keep their own numbers. Update client and server together; do not mix with 0.25.x.

  • A companion is commanded by hand, not by the mob AI. A tamed, standing wolf of a member is brought in by the encounter's own start, join and reinforcement check; on its turn only its controller may order it. It has its own turn, its own AP pool and the same repeated-action ramp; the older automatic friendly recruitment and every automatic hostile keep their behaviour exactly.
  • Five orders, no more. Move, attack, skill, defend, end turn. The command panel is the same panel with five rows, a "Companion" identity chip, the companion's own HP/AP and weapon line ("Natural · melee" when the main hand is empty), a first-footer line naming what is being commanded, and no character/item/block/flee rows at all - they are absent rather than disabled, because the companion has no such order.
  • Movement keeps the turn open. The companion walks the existing ground path with the existing per-cell animation, pays its own move price for the real number of cells, and stops when the path ends: it never adds an automatic bite and never hands the turn over by itself. The player-only detour/leap shortcut is not offered.
  • Melee hits what was clicked. The controller picks a legal hostile participant; the companion attacks that one with its own native doHurtTarget, its own attributes and its own equipment path. Range, line of sight, cost and the busy gate are re-checked, and a refused order charges nothing.
  • Defence is real. The shared no-shield guard (25 AP, one of four facings, multiplier 0.5) now applies to a controlled companion through the same damage path players already use, is per defender, and clears at that actor's own next turn. Enemies may choose a recruited companion as a target, which is what makes the guard useful.
  • One way to hand a companion over. A controller that dies, disconnects, leaves or changes dimension takes its companions with it; a dead, removed or unloaded companion is released once and the turn advances instead of waiting forever. A normal exit gives back only what control took over (AI lock, persistence, sitting pose) and keeps real damage, equipment and the final legal cell; a companion that left this way is not recruited again by the same encounter.
  • Generic contract. api/companion/CompanionAdapter plus registry/companion/CompanionRegistry.doRegister; the wolf is just the first adapter, and a test-only cow adapter proves the skeleton is not wolf-specific. Integration notes and a worked example are in docs/companions.md.
  • Bilingual wording for the companion surface (chip, actor row, empty skill page, commanding footer, natural weapon) in zh_cn and en_us.

Verified in this stage: :common:test 82 and :neoforge-1.21.1:test 710 Java tests, zero failures/errors/skips, after the final source edit; offline release-script tests and tools/check_release.py on the 0.26.0 artifact; and the dedicated-server fixtures, run one at a time to completion - battle_state_wire (24 checks, now including the companion projection round-trip), teams, multi_battle, and the new companion fixture (adapter-driven recruitment of only the standing tamed wolf of a member, two owners with exclusive companions, the non-wolf adapter on the same skeleton, foreign/stale/wrong-session orders refused without a charge, real movement and explicit-target melee that neither auto-attacks nor ends the turn, the shared guard halving real damage and clearing at the next own turn, idempotent release on owner exit, death and encounter end). The teams fixture needed one repair: since 0.24.0 the snapshot is published as bounded parts, so its connection-level observer had been seeing parts instead of the logical payload; it now reads the server's own publication capture, which is what the fixture always meant to assert.

Review round R1 (after the first central review) fixed six gaps without adding scope: a normal release no longer rolls the position back (only a failed admission does) and gives back only the AI lock, persistence and the two separate sitting flags; orders are refused for a dead/removed/dimension-changed companion before any cleanup tick, and a control record whose live controller changed, left or became ineligible is released once per tick so the queue never waits on a unit nobody may order; the attack-range preview and overlay resolve the commanded actor (origin, reach, legality, AP, cache identity including session/turn/actor) instead of the owner body; the facing page refuses to open without a resolvable companion, never falls back to the player, restores on the still-bound actor before dropping the binding, and commits without rolling the committed facing back, while every command page is invalidated by a session/turn/actor binding; recruitment requires the candidate to already stand inside the zone and captures the pose before the admission transaction; and raw vanilla right clicks (feeding, collar, equipment, sitting) on a controlled companion are refused for participants and bystanders alike, with the paid entity-use scope still open and wolves outside an encounter untouched.

Runtime acceptance: the dedicated server and two real client connections (including literal runClient with Dungeons Perspective loaded) exercised companion rotation, movement, explicit-target melee, empty skills, facing cancel/confirm, guard damage and owner isolation through Minecraft input callbacks. Foreign-owner and stale-turn rejection used labelled network intents. Chinese/English layouts were measured at 640x360 and 427x240 GUI pixels at 80/100/115%; the smallest window at 115% shows four rows and requires scrolling to reach End turn. Sol reviewed the key original screenshots; QLN confirmed the five-row menu and empty skill page. Attack-icon fallback and duplicate attack logging were fixed and retested. A final melee-only companion preview correction was verified by the dedicated-server fixture, including a bow-holding skeleton adapter and a failing pre-fix negative control; it did not change the wolf UI or attack settlement. Runtime captures retain their original build hashes; the final JAR was rebuilt and passed the automated/server gates, not rerun through the full client matrix.

Not claimed: the companion skill page is intentionally empty; there is no companion growth, inventory, feeding, equipment UI, cross-dimension recall, automatic/manual switch, or third-party companion-mod compatibility. Public release and deployment are separate from source acceptance; neither is implied by these checks.

This mod has no additional files