feat(wc-mcsg): /sgsetup map authoring; explicit-only pedestals + chest fixes #9
Loading…
Reference in a new issue
No description provided.
Delete branch "sg-map-authoring"
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?
Summary
Replaces fragile runtime pedestal detection with an explicit, in-game authoring command, and fixes two chest bugs found in review.
fix(wc-mcsg)— chest correctnessrefillAllreuses each chest's original fill tier, so an unlooted tier-3 supply drop is no longer downgraded to tier-1 loot at a mid-game refill.setGameWorldclears fill/tier/marker state per match (no stale state across replays).tier2Block/tier3Blocknow require a chest-family material (CHEST/TRAPPED_CHEST/ENDER_CHEST); anything else is warned and disabled instead of silently never matching (markers are found via chunk tile entities).feat(wc-mcsg)—/sgsetupmap authoringPedestalResolver(marker-block detection + generated ring) and thepedestalBlock/pedestalCount/pedestalRadiusmap.yml keys.cornucopiaSpawnsis now the sole pedestal source;GameManagerwarns and falls back to the world spawn when a map has none./sgsetup(permissionwc.command.sgsetup), using the injectedWorldLoader:load <map>— loads the world on demand (all game worlds are already in/data/<map>at boot), teleports you there, starts a session. No match/vote needed.center,add [yaw](yaw auto-faces the centre),dm,drop(player facing),undo(last point of any kind),status,ring <n> [r](heuristic proposal),finish.finishemits a completemap.yml(captured deathmatch/supply override; otherwise the existing sections are preserved), writes a draft toplugins/wc-mcsg/drafts/<map>-map.yml, and prints thekubectl cpretrieval command.plugin.yml,WcMcsgPlugin, andPermissionBridge(wildcard list).docsimages/maps/maps/README.md;/sgsetupadded to the README staff command table; chart README pointer; corrected marker/refill docs in the chart configmap and spec.Verification
./gradlew test spotlessCheck(all plugin modules) — 431+ tests, format clean.python3 scripts/test-chart.py— chart regression passed;helm lint+helm templaterender 42 resources.go vet ./...,go build,go test ./... -short(controller) — all pass.Not covered
/sgsetup loadpath touches BukkitWorldCreatorstatics, so it is only fake-covered in unit tests. Needs one manual smoke on a real pod (deploy a map with nomap.yml→/sgsetup load <map>→center→add×N →finish→kubectl cp→ commit).