Add feature starterkit per dimension
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
# Lobby Systems v1.5.7 — Fabric 26.2
|
||||
# Lobby Systems v1.6.0 — Fabric 26.2
|
||||
|
||||
Server-side lobby routing untuk Minecraft 26.2/Fabric. v1.5.7 mempertahankan initial Lobby placement sebelum world awal dikirim ke client dan menjadikan Lobby Systems sebagai pengelola gamemode per-dimension yang selalu aktif.
|
||||
Server-side lobby routing dan dimension policy untuk Minecraft 26.2/Fabric. v1.6.0 menambahkan Starter Kit per-dimension dengan active assignment dan recipient history, sambil mempertahankan initial Lobby placement pre-login, gamemode authoritative, gamerule per-dimension, portal, dan position persistence.
|
||||
|
||||
**v1.5.6 login placement fix (dipertahankan):** player data tetap dibaca untuk menyimpan posisi gameplay terakhir, tetapi sebelum `PlayerList` mengirim initial world state, Lobby Systems mengganti initial level, posisi, dan yaw/pitch ke konfigurasi Lobby. Gamemode disinkronkan segera setelah JOIN dan dikoreksi singkat pada +1, +5, dan +20 tick.
|
||||
|
||||
**v1.5.7 behavior update:** Lobby Systems sekarang selalu menjadi source of truth untuk gamemode per-dimension. Opsi `manageDimensionGamemode` dihapus; config lama akan dimigrasikan otomatis dengan membuang field tersebut. Command `list`, `set`, dan `remove` selalu tersedia. Compatibility warning Dimensional Inventories tetap aktif.
|
||||
|
||||
**v1.6.0 Starter Kit:** operator dapat menyimpan snapshot inventory/equipment sebagai kit, mengaktifkan satu kit per dimension, memuat kit untuk diedit, memberi kit secara manual, dan mengelola recipient history. Automatic starter kit diberikan satu kali per player per dimension setelah transisi inventory destination stabil. Mengganti active kit tidak memberi ulang kepada player yang sudah pernah menerima starter kit di dimension tersebut.
|
||||
|
||||
### Reload feedback
|
||||
|
||||
`/ls reload` menulis banner `RELOAD START` dan `RELOAD COMPLETE` hanya ke console server. Ringkasan reload satu baris dikirim langsung hanya ke player admin/operator yang menjalankan command; ringkasan tersebut tidak dibroadcast ke player lain dan tidak dikirim melalui command feedback ke console.
|
||||
@@ -99,7 +101,9 @@ config/
|
||||
├── player-positions.json
|
||||
├── portals.json
|
||||
├── dimension-gamemodes.json
|
||||
└── dimension-gamerules.json
|
||||
├── dimension-gamerules.json
|
||||
├── starterkits.json
|
||||
└── starterkit-recipients.json
|
||||
```
|
||||
|
||||
### `config/lobby/config.json`
|
||||
@@ -235,6 +239,17 @@ Jika file tujuan baru sudah ada, migrator tidak menimpanya.
|
||||
/ls gamemode set <dimension> <survival|creative|adventure|spectator>
|
||||
/ls gamemode remove <dimension>
|
||||
|
||||
/ls starterkit set <name> <dimension>
|
||||
/ls starterkit load <name>
|
||||
/ls starterkit activate <name>
|
||||
/ls starterkit deactivate <name>
|
||||
/ls starterkit give <name> <player>
|
||||
/ls starterkit list
|
||||
/ls starterkit info <name>
|
||||
/ls starterkit status <dimension> <player>
|
||||
/ls starterkit reset <dimension> <player>
|
||||
/ls starterkit delete <name>
|
||||
|
||||
/ls portal create <name> <target_dimension>
|
||||
/ls portal delete <name>
|
||||
/ls portal list
|
||||
@@ -288,6 +303,14 @@ Gunakan mapping gamemode agar player otomatis mendapat gamemode yang sesuai saat
|
||||
|
||||
Command gamemode selalu tersedia: `/ls gamemode list`, `/ls gamemode set <dimension> <mode>`, dan `/ls gamemode remove <dimension>`. Mapping disimpan di `config/lobby/dimension-gamemodes.json`, diterapkan langsung ke player pada dimension terkait, dan ikut direload oleh `/ls reload`.
|
||||
|
||||
### Starter Kit per-dimension
|
||||
|
||||
Starter kit dibuat dari snapshot inventory operator dengan `/ls starterkit set <name> <dimension>`. Kit baru selalu INACTIVE sampai `/ls starterkit activate <name>` dijalankan. Satu dimension hanya dapat memiliki satu active starter kit; mengaktifkan kit lain otomatis mengganti pointer active tanpa menghapus definisi kit lama.
|
||||
|
||||
Automatic delivery hanya terjadi satu kali per **player + dimension**. Recipient history disimpan di `config/lobby/starterkit-recipients.json`, sedangkan definisi kit dan `activeByDimension` disimpan di `config/lobby/starterkits.json`. Mengganti active kit tidak membuat player lama menerima kit baru. `/ls starterkit give` adalah forced administrative delivery dan tidak mengubah recipient history. `/ls starterkit reset <dimension> <player>` membuat player eligible lagi pada entry berikutnya.
|
||||
|
||||
Snapshot menyimpan slot inventory player termasuk hotbar, main inventory, armor/equipment, dan offhand menggunakan codec ItemStack vanilla agar components/data item modded ikut tersimpan. Automatic delivery ditunda singkat setelah dimension entry untuk memberi kesempatan mod inventory per-dimension seperti Dimensional Inventories menyelesaikan pergantian inventory destination. Jika slot snapshot sudah terisi, Lobby Systems mencoba inventory kosong lain dan menjatuhkan sisa stack dengan aman bila inventory penuh; item existing player tidak dihapus.
|
||||
|
||||
### `/ls reload`
|
||||
|
||||
Reload live:
|
||||
@@ -295,6 +318,8 @@ Reload live:
|
||||
- `config/lobby/config.json`
|
||||
- `config/lobby/portals.json`
|
||||
- `config/lobby/dimension-gamemodes.json`
|
||||
- `config/lobby/starterkits.json`
|
||||
- `config/lobby/starterkit-recipients.json`
|
||||
- `config/lobby/dimension-gamerules.json`
|
||||
- lobby exclusion pada player-position store
|
||||
|
||||
|
||||
Reference in New Issue
Block a user