feat(tamer): capture and relocate mobs
Release / release (push) Successful in 2m24s
CI / build (push) Successful in 1m16s

This commit is contained in:
dmg
2026-08-14 23:18:26 -04:00
parent cd38e87487
commit 777cbc6b4b
11 changed files with 471 additions and 11 deletions
@@ -2,7 +2,7 @@
type: User Story
title: "US-007: Capture and place mobs as a Tamer"
description: Let the Tamer move supported mobs without losing or duplicating them.
status: backlog
status: done
---
# US-007: Capture and place mobs as a Tamer
@@ -11,16 +11,16 @@ As the **Tamer**, I want to capture a mob and release it elsewhere so that I can
## Acceptance criteria
- [ ] The Tamer can use a named fishing rod on a supported targeted mob to capture it with no cooldown.
- [ ] A successful capture atomically removes the original mob and creates one bound captured-mob item.
- [ ] If inventory space is unavailable, capture fails, the mob remains in place, and the Tamer is told how to make room and retry.
- [ ] Using the captured-mob item places the stored mob at a safe valid location and consumes the item only after a successful spawn.
- [ ] Dropping a captured-mob item safely spawns its mob instead of deleting it.
- [ ] Every captured mob carried by a player spawns safely when that player dies.
- [ ] Ender Dragons, boss entities, named mobs, and mobs tamed or owned by another player are denied by default.
- [ ] Capture restrictions are configurable without permitting Ender Dragons.
- [ ] Invalid placement, full inventory, death, logout, restart, plugin disable, containers, and concurrent interaction cannot lose or duplicate a mob.
- [ ] Stored mob data is validated defensively before spawning and cannot execute untrusted serialized behavior.
- [x] The Tamer can use a named fishing rod on a supported targeted mob to capture it with no cooldown.
- [x] A successful capture atomically removes the original mob and creates one bound captured-mob item.
- [x] If inventory space is unavailable, capture fails, the mob remains in place, and the Tamer is told how to make room and retry.
- [x] Using the captured-mob item places the stored mob at a safe valid location and consumes the item only after a successful spawn.
- [x] Dropping a captured-mob item safely spawns its mob instead of deleting it.
- [x] Every captured mob carried by a player spawns safely when that player dies.
- [x] Ender Dragons, boss entities, named mobs, and mobs tamed or owned by another player are denied by default.
- [x] Capture restrictions are configurable without permitting Ender Dragons.
- [x] Invalid placement, full inventory, death, logout, restart, plugin disable, containers, and concurrent interaction cannot lose or duplicate a mob.
- [x] Stored mob data is validated defensively before spawning and cannot execute untrusted serialized behavior.
## Related