Troubleshooting
My edits do not run
Section titled “My edits do not run”Check the result of /plot compile. Failed validation/save retains the last successful program. Confirm the correct plot and mode, then trigger the event again. Autocompile attempts can fail too; they do not guarantee activation of an incomplete draft.
An operation is missing
Section titled “An operation is missing”Choose the correct block family and Target Object. No Object exposes static/plot/world calls. Player actions need a Player-compatible receiver. Value transformations live under Set Variable. Search respects applicability; it does not reveal unavailable operations.
A value is unassigned
Section titled “A value is unassigned”Create the declaration and assign it before reading. A Private Variable in one method is not another method’s local. For a legitimate absent initial value, use compatible ?? fallback or Is Assigned; an undeclared expression name still needs a declaration.
Types seem similar but fail
Section titled “Types seem similar but fail”Check exact target/class declarations, nullable flags, collection element/key types, and method signatures. List and Dictionary types are invariant. A String that displays digits is not automatically a Number. Class and field identities are not recreated merely by reusing an old name.
An event action fails after Wait
Section titled “An event action fails after Wait”The original event mutation window is synchronous. Perform cancellation/damage/drop changes before Wait. Captured values can be read afterward, but the event itself cannot be changed once its lease expires.
My editor closes or refuses changes
Section titled “My editor closes or refuses changes”Another developer may hold the block lock. Permissions, block identity, and plot/mode context are rechecked before saving. Reopen an intact block after resolving the conflict; do not assume stale dialog contents were applied.
Entities disappear
Section titled “Entities disappear”Transient entities are removed when nobody remains in Play. This happens even while builders/developers are present. Saved target UUIDs do not prevent runtime cleanup. Frames, paintings, and cushions follow their permanent-decoration rules.
Collaborator can still build
Section titled “Collaborator can still build”Dev includes Build. Revoking only an explicit Build grant does not remove Build inherited from Dev. Owners manage access using /plot permissions.
A task keeps running
Section titled “A task keeps running”Inspect /plot diagnostics, profile the relevant behavior, and check for repeated event triggers or detached task creation. Cancel the displayed task ID or stop the program when intended. Bound loops and recheck state after suspension.
I lost a displaced inventory item
Section titled “I lost a displaced inventory item”Make space, then Objects → Recover Items. Objects is a replenishing source, not a storage chest: depositing ordinary items there discards them on close.
Expressions fail
Section titled “Expressions fail”See expression troubleshooting. Check syntax, declaration, scope, nullable inputs, and whether a Number argument contains exactly one complete expression.