FakePlayerBackend spawn still broken — ActorBackend spawn() lacks ServerLevel parameter #15
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
enhancement
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mc-heroes-mod#15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
FakePlayerBackend spawn still broken
Issue #6 was closed but the root cause was never fixed — the bug is still present in the current code.
Root Cause
ActorBackendinterface declares:FakePlayerBackendhas TWO overloads:spawn(HeroActor, BlockPos)— logs error and returns null (this implements the interface)spawn(HeroActor, BlockPos, ServerLevel)— actual implementation (NOT declared in interface)HeroSpawner.trySpawnOne()(HeroSpawner.java:130) callsbackend.spawn(hero, spawnPos)— the interface method. For FakePlayerBackend this always returns null.Every spawn attempt fails silently with:
Impact
All FakePlayerBackend spawns fail. If the active backend is FakePlayerBackend (fallback mode), no heroes ever spawn.
Suggested Fix
Either:
ActorBackend.spawn()interface signature to includeServerLevel, updating all implementationsHeroSpawnerdetect FakePlayerBackend and call the ServerLevel overloadReferences
ActorBackend.java:18— interface declarationFakePlayerBackend.java:54-58— broken overloadFakePlayerBackend.java:64— real implementationHeroSpawner.java:130— call site in trySpawnOneHeroSpawner.java:86— call site in spawnNamedHeroFixed in commit. Closing.