Skip to main content

Implementation status

A running scorecard of what exists, what has actually been confirmed in a live game, and what still needs a play session before anyone should rely on it. Condensed from the project's internal testing log β€” the log itself is a line-by-line debug diary and is not kept in the wiki, but every status below traces back to it or to a code-level review.

Read the status, not just the checkmark. βœ… means someone watched it happen in-game. πŸ”§ means the code is believed correct (often because a specific root cause was found and fixed) but nobody has confirmed it since. πŸ› marks a known, currently-open issue. ⬜ means the feature has no behavior behind it yet β€” the item/asset may exist, the logic does not.

βœ…Confirmed working in a live game
πŸ”§Implemented, believed correct, not yet confirmed in-game
πŸ›Known issue, still open
⬜Not implemented

Foundations​

AreaStatusNotes
Atomic mod deployβœ…Fixed the ZipException: invalid LOC header crash from the game hot-reloading a half-written jar.
Persistence across restartsβœ…NPCs keep name, needs, home and relationships.
Furniture scan on world joinβœ…Beds and chests already in a house register themselves without being replaced.
Population growthβœ…No background auto-spawner; growth is a deliberate player action via ImmigrationContract.

Houses, beds & doors​

AreaStatusNotes
House validity check, bed/chest registrationβœ…/simtale housecheck, debugbeds, debugchests all confirmed.
Bed assignment & shared beds for a second NPCβœ…No NPC has stolen another's bed in observed play.
Doors: open only when actually passing throughβœ…
Doors: one registry entry per door, not per blockβœ…
Doors: multi-door wall doesn't open every door at onceβœ…
Doors: pathfinding actually routes through themβœ…
Doors: open/close race when two NPCs use the same doorπŸ›Noticeably better after switching to a geometric "which side is the NPC headed to" check, but the close-while-opening conflict still reproduces.
House identified by its bedπŸ›Moving the bed may create a second house record. Not urgent, not yet fixed.

Sleep​

AreaStatusNotes
Sleep on a day/night schedule (not just tiredness)βœ…Two real regressions found and fixed this pass β€” see the dev log if you need the detail.
Sleeps through the whole nightβœ…
Guard works nights, sleeps days⬜Not implemented β€” Guards currently share the normal day schedule.
Base sleep behavior (walk to bed, animation, Frozen, waking up)βœ…

Hunger & feeding​

AreaStatusNotes
World/loot chests ignored, only house chests usedβœ…
Farmer deposits into house chests under the same ruleβœ…
Favorite/hated food affects moodβœ…
Being handed food while hungry (eats immediately vs. banks it as a gift)βœ…
Tier-based food choice (prepared food beats raw meat even if the raw is a favorite)πŸ”§Implemented, never confirmed in-game.
Tie-break by taste when tiers matchπŸ”§Implemented, never confirmed.
Interrupts a task when hunger drops critically lowπŸ”§Implemented, never confirmed.
Gives up on an unreachable chest instead of loopingπŸ”§Implemented, never confirmed β€” this exact shape of bug once produced thousands of searches/second over an unreachable bed.
Eating heals HP by food tierπŸ”§Implemented, never confirmed.

Jobs​

AreaStatusNotes
Farmer (plant, harvest, deposit, auto-replant, seed restock)βœ…Long debugging session, fully resolved and confirmed in-game.
Hunter / Miner expedition (NPC leaves, returns with a resource)βœ…Redesigned away from following a real animal/ore node, for safety.
Fisherman / Lumberjackβœ…Reviewed against the farmer's already-validated design; no structural bug found.
Guard: detects hostiles, patrols the village perimeter when idleβœ…
Guard: weapon category (melee vs. ranged) changes engagement distance & animationπŸ”§Implemented this session, compiles and builds clean; not yet confirmed in-game. See Guard combat below.
Profession assignment false positives (maple wood β†’ Explorer, rainbow trout β†’ Hunter, hammerhead shark β†’ Builder)βœ…Fixed by using more specific keywords instead of loose substrings. Verified by cross-referencing the game's real item list.

Guard combat​

The Guard's "combat" is still fundamentally decorative: it walks into range, plays a stand-in animation, waits a fixed 3 seconds, and deletes the hostile β€” regardless of what weapon it holds. Weapon category (this session's addition) changes distance and animation correctly, but the outcome is still the same timer. Turning that into real damage pulled from the weapon and, for ranged Guards, an actual projectile instead of a timer is tracked as its own follow-up piece of work, not yet started.

Socializing, wandering & hobbies​

AreaStatusNotes
Spontaneous NPC-to-NPC conversationπŸ›Never observed in play. The trigger (low social + proximity) needs investigating β€” it may simply not be firing.
NPC↔NPC friendship persists across restartπŸ”§Implemented, never confirmed.
Mood contagion between NPCs in conversationπŸ”§Implemented, never confirmed.
Arguments (aggressive trait / enemies) hurt mood and friendshipπŸ”§Implemented, never confirmed.
Sleep pre-empts a conversation without stranding the other NPCπŸ”§Implemented, never confirmed.
Anchored wandering (never drifts away from home indefinitely)βœ…
Hobby trip (fishing/mining/gardening/reading) and its fun payoffπŸ”§User describes it as "seems to work" β€” not confirmed rigorously enough to close out.
Hobby fallback when the scenario doesn't exist nearby (e.g. fishing hobby in a desert)πŸ”§Implemented, never confirmed.
Shared hobby boosts friendship gain in conversationβœ…Verified in code (NPCSocialHelper.bondNpcs), real call site confirmed.
Gift matching a hobby (e.g. fishing rod β†’ NPC who fishes)βœ…

Relationships, marriage & family​

AreaStatusNotes
Social interaction panel, marriage, pregnancy, birthβœ…Birth had a real bug (baby persisted but never synced to the mother's inventory until a restart) β€” fixed and confirmed.
Wedding ring as a gift/proposalβœ…Id matching had to be normalized (four different casings/prefixes existed for the same file); fixed.
Passing a baby between parentsβœ…
Player pregnancy path (PlayerPregnancyTickSystem)❓Separate code path from NPC pregnancy, not exercised at all yet.

Growth​

AreaStatusNotes
/simtale setstage (force a growth stage)βœ…
Parent/child recognize each other at birth (FamilyBonds)βœ…
Child cosmetic modelsβœ…34 broken model paths fixed (missing path prefix).
Placing a held baby on the groundβœ…Root cause was two stacked bugs: an item interaction override swallowing the click, and one event listener registered with the wrong method (.register instead of .registerGlobal) β€” the only one in the project using the wrong call. /simtale forceplacebaby exists as a guaranteed fallback either way.
Automatic stage transitions over time (GrowthTickSystem actually ticking)❓Never watched through a full cycle.
Full baby β†’ adult cycle observed once, start to finish❓Not done yet.

Death & the Grim Reaper​

AreaStatusNotes
Starvation never kills (by design β€” aging/illness are the intended causes of death, not implemented yet)βœ…
Death broadcast doesn't repeat foreverβœ…
Grim Reaper spawns automatically near a body and completes the ritualβœ…Redesigned this pass: used to require a manual admin spawn and could get permanently stuck if none was available at the exact tick.
Pleading for your life with the right item cancels the reapingπŸ”§Brand new, never tested in-game.
Graveyard record (dead NPC archived instead of deleted)πŸ”§The record exists and is written; nothing yet reads it back except the revival panel below, which is itself untested end-to-end.
House/bed freed after death❓Not tested.
What happens to a surviving spouse/children❓Probably nothing yet β€” tracked as a future improvement, not a bug.

Graveyard & resurrection​

Entirely new this pass and not yet exercised at all in a live game β€” every single item below is open:

listing the graveyard panel, reviving (including the UUID remap this needs, since the engine won't let a new entity reuse an old UUID), marriage/children/friendships surviving the remap, reviving someone whose spouse is currently unloaded, recovering the old bed/house/chest ownership, and guarding against reviving the same record twice.

Construction​

AreaStatusNotes
Placing a blueprint item (hologram preview, rotate, /build start/clear)πŸ”§Redesigned twice during investigation (a prefab packaging bug, then an event-registration bug identical to the baby-placing one). Needs a full retest.
Structure spawns facing the right wayβœ…
Native engine hologram ghost (vs. placeholder blocks)❓Not confirmed.
NPC actually walking to a site and building❓Not confirmed.
Cancelling mid-build leaves nothing orphaned❓Not confirmed.

Mood, chat & appearance​

AreaStatusNotes
Plumbob reflects mood, isMiserableβœ…
Facial expression re-fires periodically instead of freezing after one changeπŸ”§Was broken for a while by an unrelated tuning change; fixed, needs a fresh confirmation pass.
Mood decay/boredom tuningβœ…
AI chat (player ↔ NPC), personality/mood/job-awareβœ…
Missing chat context (location, HP, nearby players, time, relationships)⬜Tracked as a roadmap item, not a bug.
Graceful fallback when the AI backend is unreachable❓Not confirmed.
Interaction panel visuals (needs bars, job/hobby icons, full like/dislike lists)βœ…
Female NPC mouth model, cosmetic varietyβœ…

Villages​

AreaStatusNotes
Village forms by chaining nearby housesβœ…
/simtale village matches what's actually builtβœ…
Homeless NPC still leaves the village to work/eat (leash isn't too tight)βœ…
Village dissolves when its houses are destroyed❓Not confirmed β€” nothing currently deletes a house record at all except the duplicate-cleanup scan, which is a separate gap.
Guard patrols the perimeter / stays put with no villageβœ…Confirmed as part of this session's Guard work.

Items, recipes & models​

Several craftable items exist as objects (model, texture, recipe, translated name) with no behavior wired to their use at all:

ItemStatus
Wedding ring, Baby, Pregnancy test, Immigration contractβœ… has behavior
House blueprint, Innkeeper's ledger, Inspector's journalπŸ”§ implemented later, needs retest
Quartermaster's glass, Town bell, Birthday cake⬜ no behavior yet

Held-item hand appearance for the newer items (fixed by matching the game's own root-node naming convention) is βœ… visually confirmed; the behavior behind most of them is separate and tracked above.

Known open issues​

  • Fighting with your child, carrying a child, restricting child labor to safe jobs, the wood UI theme, and the persisted chest registry (surviving a restart even for chests far from spawn) are all implemented but have zero in-game confirmation β€” every item in each of those areas is still open.
  • An NPC with no water within 15 blocks and dropping hygiene has a documented backoff fix that has not been re-confirmed.
  • A once-seen "NPC frozen on the bed at midday, recovered on its own" report is consistent with a scheduled sleep window ending normally, not a bug β€” flagged for anyone who sees it again to check /simtale npcstate before assuming regression.

Source: this page is a condensed, external view of the project's own line-by-line testing log. When code and this page disagree, trust the code β€” and then come fix this page.