Skip to content

Item Spawn in the editor: place it, pick its model, export and check it (#235) - #135

Merged
GhzGarage merged 1 commit into
mainfrom
feature/235-itemspawn-editor
Nov 4, 2026
Merged

GhzGarage merged 1 commit into
mainfrom
feature/235-itemspawn-editor

Conversation

@GhzGarage

Copy link
Copy Markdown
Contributor

The editor side of world items (mantle #235, runtime copies in #134):

  • Tools > Mantle > Add Item Spawn places an AMantleItemSpawnPoint.
  • Details panel: a Static Mesh picker replaces the Model Id text box. The mesh uploads with the place (or is named by its library id) and lands in assets[].
  • Export: each Item Spawn becomes an ItemSpawn entity that writes only the values that differ from the defaults. Problems from ReadProps are reported at the property they concern.
  • Validator: checks the item id, count, respawn time and the model mesh.
  • Place settings: a new Save World Items setting (off by default) writes settings.worldItems.persistence = "server", only when it's on.
  • Coverage survey: counts ItemSpawn.

Tests: 5 new Mantle.ItemSpawn.Editor tests. Locally, Mantle.ItemSpawn, Mantle.Editor and Mantle.Runtime.Place all passed (558/558) against mantle main 6bd4703a4.

🤖 Generated with Claude Code

…heck it

Tools > Mantle > Add Item Spawn puts a Mantle Item Spawn in the level. It exports as an ItemSpawn entity
(item always; count, respawnSeconds, model and enabled only when not at their defaults). Its Details
panel swaps Model Id for a Static Mesh picker; the exporter turns the picked mesh into its asset id and
uploads it with the place. Check holds the spawn to the runtime actor's own rules (ReadProps) and refuses a
model that is not a project Static Mesh. Place Settings gets Save World Items, written to
settings.worldItems.persistence only when on. Automation tests cover export, the picker, Check and the
setting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@GhzGarage
GhzGarage merged commit 32ed871 into main Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant