Add dimension gamemode and read gamerule list
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# Lobby Systems v1.2.2 — Fabric 26.2
|
||||
# Lobby Systems v1.3.0 — Fabric 26.2
|
||||
|
||||
Server-side lobby routing untuk Minecraft 26.2/Fabric. Versi 1.2.2 menambahkan portal antar-dimensi berbasis WorldEdit selection, last-position per player/per dimension, minimum playtime sebelum kembali ke lobby, dan konfigurasi terpusat di `config/lobby/`.
|
||||
Server-side lobby routing untuk Minecraft 26.2/Fabric. Versi 1.3.0 menambahkan viewer gamerule per-dimension dengan pagination dan pengelolaan gamemode player berdasarkan dimension, sambil mempertahankan portal antar-dimensi, last-position, minimum playtime, dan konfigurasi terpusat di `config/lobby/`.
|
||||
|
||||
### Reload feedback v1.2.2
|
||||
### 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.
|
||||
|
||||
@@ -38,7 +38,7 @@ chmod +x compile.sh release.sh
|
||||
```text
|
||||
============================================
|
||||
Lobby Systems - Fabric 26.2 Build
|
||||
Version: 1.2.2
|
||||
Version: 1.3.0
|
||||
Namespace: id.dartokloning.lobbysystems
|
||||
Mod ID: dartokloning
|
||||
============================================
|
||||
@@ -47,7 +47,7 @@ chmod +x compile.sh release.sh
|
||||
Output utama:
|
||||
|
||||
```text
|
||||
build/libs/lobby-systems-1.2.2.jar
|
||||
build/libs/lobby-systems-1.3.0.jar
|
||||
```
|
||||
|
||||
`*-sources.jar` hanya source archive dan tidak perlu dipasang ke server.
|
||||
@@ -78,21 +78,22 @@ State penting Lobby Systems memakai separator agar mudah terlihat di server cons
|
||||
```text
|
||||
============================================
|
||||
Lobby Systems - READY
|
||||
Version: 1.2.2
|
||||
Version: 1.3.0
|
||||
Minecraft: 26.2
|
||||
Config directory: config/lobby
|
||||
WorldEdit: available
|
||||
============================================
|
||||
```
|
||||
|
||||
## Struktur konfigurasi v1.2.2
|
||||
## Struktur konfigurasi v1.3.0
|
||||
|
||||
```text
|
||||
config/
|
||||
└── lobby/
|
||||
├── config.json
|
||||
├── player-positions.json
|
||||
└── portals.json
|
||||
├── portals.json
|
||||
└── dimension-gamemodes.json
|
||||
```
|
||||
|
||||
### `config/lobby/config.json`
|
||||
@@ -151,9 +152,26 @@ Portal dibuat lewat command dan tersimpan otomatis. Contoh:
|
||||
|
||||
Portal adalah region/cuboid, bukan harus Nether Portal asli. Anda bebas membuat bentuk doorway, arch, lantai, gateway, dan sebagainya di dalam region tersebut.
|
||||
|
||||
|
||||
### `config/lobby/dimension-gamemodes.json`
|
||||
|
||||
Minecraft menyimpan gamemode pada player, bukan pada dimension. Lobby Systems v1.3.0 menambahkan mapping dimension → gamemode dan menerapkannya ketika player masuk ke dimension tersebut. File ini dibuat otomatis dan dapat dikelola lewat command admin.
|
||||
|
||||
Contoh:
|
||||
|
||||
```json
|
||||
{
|
||||
"minecraft:lobby": "adventure",
|
||||
"minecraft:worldcreative": "creative",
|
||||
"minecraft:overworld": "survival"
|
||||
}
|
||||
```
|
||||
|
||||
Gamemode yang didukung: `survival`, `creative`, `adventure`, dan `spectator`.
|
||||
|
||||
## Migrasi dari v1.1.x
|
||||
|
||||
Pada startup pertama v1.2.2:
|
||||
Pada startup pertama v1.3.0:
|
||||
|
||||
```text
|
||||
config/lobby-systems.json
|
||||
@@ -177,7 +195,7 @@ akan dimigrasikan ke:
|
||||
config/lobby/player-positions.json
|
||||
```
|
||||
|
||||
Nama file lama hanya digunakan oleh `LegacyConfigMigrator` untuk proses migrasi. Runtime v1.2.2 membaca dan menulis file baru di `config/lobby/`.
|
||||
Nama file lama hanya digunakan oleh `LegacyConfigMigrator` untuk proses migrasi. Runtime v1.3.0 membaca dan menulis file baru di `config/lobby/`.
|
||||
|
||||
Jika file tujuan baru sudah ada, migrator tidak menimpanya.
|
||||
|
||||
@@ -198,6 +216,14 @@ Jika file tujuan baru sudah ada, migrator tidak menimpanya.
|
||||
/ls reload
|
||||
/ls tp <dimension>
|
||||
|
||||
/ls gamerule <dimension>
|
||||
/ls gamerule <dimension> --page <page>
|
||||
|
||||
/ls gamemode <dimension>
|
||||
/ls gamemode list
|
||||
/ls gamemode set <dimension> <survival|creative|adventure|spectator>
|
||||
/ls gamemode remove <dimension>
|
||||
|
||||
/ls portal create <name> <target_dimension>
|
||||
/ls portal delete <name>
|
||||
/ls portal list
|
||||
@@ -207,12 +233,39 @@ Jika file tujuan baru sudah ada, migrator tidak menimpanya.
|
||||
|
||||
`/ls tp` tetap command maintenance/admin. Player biasa tidak memerlukannya karena flow normal menggunakan portal.
|
||||
|
||||
|
||||
### Gamerule viewer per dimension
|
||||
|
||||
`/ls gamerule <dimension>` menampilkan gamerule aktual dari dimension yang sedang ter-load. Viewer ini bersifat read-only dan cocok dipakai bersama WorldGameRules. Hasil ditampilkan 10 rule per halaman.
|
||||
|
||||
Contoh:
|
||||
|
||||
```text
|
||||
/ls gamerule minecraft:lobby
|
||||
/ls gamerule minecraft:lobby --page 2
|
||||
```
|
||||
|
||||
Header chat menampilkan `halaman/total halaman`, nama dimension, dan jumlah gamerule. Jika masih ada halaman berikutnya, command untuk membuka halaman selanjutnya ikut ditampilkan.
|
||||
|
||||
### Gamemode per dimension
|
||||
|
||||
Gunakan mapping gamemode agar player otomatis mendapat gamemode yang sesuai saat memasuki dimension. Contoh:
|
||||
|
||||
```text
|
||||
/ls gamemode set minecraft:lobby adventure
|
||||
/ls gamemode set minecraft:worldcreative creative
|
||||
/ls gamemode set minecraft:overworld survival
|
||||
```
|
||||
|
||||
`/ls gamemode <dimension>` melihat mapping satu dimension, `/ls gamemode list` melihat semua mapping, dan `/ls gamemode remove <dimension>` menghapus mapping. Mapping disimpan ke `config/lobby/dimension-gamemodes.json` dan ikut direload oleh `/ls reload`.
|
||||
|
||||
### `/ls reload`
|
||||
|
||||
Reload live:
|
||||
|
||||
- `config/lobby/config.json`
|
||||
- `config/lobby/portals.json`
|
||||
- `config/lobby/dimension-gamemodes.json`
|
||||
- lobby exclusion pada player-position store
|
||||
|
||||
Tidak perlu restart untuk perubahan JSON tersebut.
|
||||
|
||||
Reference in New Issue
Block a user