Fix join gamemode enforcement in Lobby Systems v1.5.2
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# Lobby Systems v1.5.1 — Fabric 26.2
|
||||
# Lobby Systems v1.5.2 — Fabric 26.2
|
||||
|
||||
Server-side lobby routing untuk Minecraft 26.2/Fabric. v1.5.1 memperbaiki compatibility compile Minecraft 26.2 pada Portal Visual System yang diperkenalkan di v1.5.0. server-only berbasis visual vanilla `minecraft:nether_portal`, lengkap dengan orientasi X/Z otomatis dari WorldEdit selection. Native per-dimension gamerules, dimension gamemode management, dan WorldEdit 7.4.x bridge tetap dipertahankan.
|
||||
Server-side lobby routing untuk Minecraft 26.2/Fabric. v1.5.2 memastikan dimension gamemode dipaksa segera setelah teleport, termasuk join/reconnect ke Lobby, dan menambahkan mode Git-only pada script compile bila JAR versi yang sama sudah pernah dibuild.
|
||||
|
||||
**v1.5.1 bugfix:** memperbaiki penggunaan API `ServerPlayer` saat membuat/membersihkan visual portal. Fitur Portal Visual System tetap sama seperti v1.5.0.
|
||||
**v1.5.2 bugfix/workflow:** gamemode Lobby kini langsung diterapkan setelah join teleport sehingga gamemode lama dari player data tidak tertinggal. `compile.bat` / `compile.sh` juga mendeteksi JAR versi yang sama dan menawarkan Compile ulang atau Git-only tanpa build ulang.
|
||||
|
||||
**v1.5.0 feature release:** Portal Visual System menambahkan permukaan swirl ungu memakai block state vanilla `minecraft:nether_portal`, dengan axis X/Z yang ditentukan otomatis dari WorldEdit selection. Frame boleh memakai block apa saja. `manageDimensionGamemode` tetap default `true`, compatibility warning Dimensional Inventories tetap aktif, dan bridge WorldEdit 7.4.x tetap dipakai.
|
||||
|
||||
@@ -43,7 +43,7 @@ chmod +x compile.sh release.sh
|
||||
```text
|
||||
============================================
|
||||
Lobby Systems - Fabric 26.2 Build
|
||||
Version: 1.5.1
|
||||
Version: 1.5.2
|
||||
Namespace: id.dartokloning.lobbysystems
|
||||
Mod ID: dartokloning
|
||||
============================================
|
||||
@@ -52,7 +52,7 @@ chmod +x compile.sh release.sh
|
||||
Output utama:
|
||||
|
||||
```text
|
||||
build/libs/lobby-systems-1.5.1.jar
|
||||
build/libs/lobby-systems-1.5.2.jar
|
||||
```
|
||||
|
||||
`*-sources.jar` hanya source archive dan tidak perlu dipasang ke server.
|
||||
@@ -83,14 +83,14 @@ State penting Lobby Systems memakai separator agar mudah terlihat di server cons
|
||||
```text
|
||||
============================================
|
||||
Lobby Systems - READY
|
||||
Version: 1.5.1
|
||||
Version: 1.5.2
|
||||
Minecraft: 26.2
|
||||
Config directory: config/lobby
|
||||
WorldEdit: available
|
||||
============================================
|
||||
```
|
||||
|
||||
## Struktur konfigurasi v1.5.0
|
||||
## Struktur konfigurasi v1.5.2
|
||||
|
||||
```text
|
||||
config/
|
||||
|
||||
+27
-9
@@ -16,6 +16,7 @@ set "LOCAL_GRADLE_DIR=%CD%\.gradle-local"
|
||||
set "GRADLE_VERSION=9.5.1"
|
||||
set "GRADLE_HOME=%LOCAL_GRADLE_DIR%\gradle-%GRADLE_VERSION%"
|
||||
set "GRADLE_BIN=%GRADLE_HOME%\bin\gradle.bat"
|
||||
set "GIT_ONLY=0"
|
||||
|
||||
set "MOD_VERSION="
|
||||
set "MINECRAFT_VERSION="
|
||||
@@ -36,6 +37,8 @@ if not defined MOD_VERSION set "MOD_VERSION=unknown"
|
||||
if not defined MINECRAFT_VERSION set "MINECRAFT_VERSION=26.2"
|
||||
if not defined MAVEN_GROUP set "MAVEN_GROUP=id.dartokloning"
|
||||
|
||||
set "JAR_PATH=%CD%\build\libs\lobby-systems-%MOD_VERSION%.jar"
|
||||
|
||||
echo ============================================
|
||||
echo Lobby Systems - Fabric %MINECRAFT_VERSION% Build
|
||||
echo Version: %MOD_VERSION%
|
||||
@@ -43,6 +46,19 @@ echo Namespace: id.dartokloning.lobbysystems
|
||||
echo Mod ID: dartokloning
|
||||
echo ============================================
|
||||
|
||||
REM release.bat selalu melakukan build ulang melalui --build-only.
|
||||
if "%BUILD_ONLY%"=="0" if exist "%JAR_PATH%" (
|
||||
echo.
|
||||
echo [INFO] JAR untuk v%MOD_VERSION% sudah pernah dibuild:
|
||||
echo %JAR_PATH%
|
||||
echo.
|
||||
choice /C CG /N /M "[C] Compile ulang / [G] Git saja: "
|
||||
if errorlevel 2 (
|
||||
set "GIT_ONLY=1"
|
||||
goto :git_integration
|
||||
)
|
||||
)
|
||||
|
||||
where java.exe >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo [ERROR] Java tidak ditemukan di PATH.
|
||||
@@ -127,7 +143,6 @@ echo ============================================
|
||||
echo BUILD SUCCESS
|
||||
echo ============================================
|
||||
|
||||
set "JAR_PATH=%CD%\build\libs\lobby-systems-%MOD_VERSION%.jar"
|
||||
if exist "%JAR_PATH%" (
|
||||
echo JAR:
|
||||
echo %JAR_PATH%
|
||||
@@ -136,7 +151,6 @@ if exist "%JAR_PATH%" (
|
||||
echo %JAR_PATH%
|
||||
)
|
||||
|
||||
REM release.bat memakai mode ini supaya prompt Git tidak muncul dua kali.
|
||||
if "%BUILD_ONLY%"=="1" exit /b 0
|
||||
|
||||
echo.
|
||||
@@ -149,12 +163,12 @@ echo.
|
||||
echo ============================================
|
||||
echo Git Integration
|
||||
echo ============================================
|
||||
if "%GIT_ONLY%"=="1" echo [INFO] Mode Git-only: build dilewati karena JAR v%MOD_VERSION% sudah tersedia.
|
||||
|
||||
where git.exe >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo [ERROR] Git tidak ditemukan di PATH.
|
||||
echo Build tetap berhasil, tetapi Git tidak dapat dijalankan.
|
||||
goto :success
|
||||
goto :git_failed
|
||||
)
|
||||
|
||||
git rev-parse --is-inside-work-tree >nul 2>&1
|
||||
@@ -166,7 +180,7 @@ if errorlevel 1 (
|
||||
echo git branch -M main
|
||||
echo git remote add origin ^<URL-GITEA^>
|
||||
echo.
|
||||
goto :success
|
||||
goto :git_failed
|
||||
)
|
||||
|
||||
echo [INFO] Memeriksa perubahan...
|
||||
@@ -202,7 +216,7 @@ if defined HAS_CHANGES (
|
||||
)
|
||||
) else (
|
||||
echo [INFO] Tidak ada perubahan source yang perlu di-commit.
|
||||
echo [INFO] Akan mencoba push commit yang sudah ada.
|
||||
echo [INFO] Akan mencoba push commit lokal yang belum terkirim, jika ada.
|
||||
)
|
||||
|
||||
set "CURRENT_BRANCH="
|
||||
@@ -238,7 +252,7 @@ for /f "delims=" %%F in ('git status --porcelain') do (
|
||||
echo !LINE! | findstr /I /C:"compile.bat" /C:"compile.sh" /C:"release.bat" /C:"release.sh" >nul && set "HAS_SCRIPT_CHANGE=1"
|
||||
echo !LINE! | findstr /I /C:"README.md" /C:"LICENSE" >nul && set "HAS_DOC_CHANGE=1"
|
||||
)
|
||||
if defined HAS_SRC_CHANGE set "SUGGESTED_COMMIT=Update Lobby Systems v%MOD_VERSION%"
|
||||
if defined HAS_SRC_CHANGE set "SUGGESTED_COMMIT=Fix join gamemode enforcement in Lobby Systems v%MOD_VERSION%"
|
||||
if not defined HAS_SRC_CHANGE if defined HAS_SCRIPT_CHANGE set "SUGGESTED_COMMIT=Improve build and Git workflow"
|
||||
if not defined HAS_SRC_CHANGE if not defined HAS_SCRIPT_CHANGE if defined HAS_DOC_CHANGE set "SUGGESTED_COMMIT=Update Lobby Systems documentation"
|
||||
exit /b 0
|
||||
@@ -304,9 +318,13 @@ echo ============================================
|
||||
echo GIT FAILED
|
||||
echo ============================================
|
||||
echo.
|
||||
echo [INFO] Build Lobby Systems tetap berhasil.
|
||||
if "%GIT_ONLY%"=="1" (
|
||||
echo [INFO] Build tidak dijalankan; JAR v%MOD_VERSION% yang sudah ada tetap aman.
|
||||
) else (
|
||||
echo [INFO] Build Lobby Systems tetap berhasil.
|
||||
)
|
||||
echo [INFO] Commit lokal tetap tersimpan.
|
||||
echo [INFO] Anda bisa menjalankan compile.bat lagi dan memilih Y; jika tidak ada perubahan, script langsung mencoba push commit yang tertunda.
|
||||
echo [INFO] Jalankan compile.bat lagi; jika JAR versi sama terdeteksi, pilih G untuk Git-only.
|
||||
echo.
|
||||
pause
|
||||
exit /b 2
|
||||
|
||||
+116
-82
@@ -18,6 +18,7 @@ LOCAL_GRADLE_DIR="$SCRIPT_DIR/.gradle-local"
|
||||
GRADLE_VERSION="9.5.1"
|
||||
GRADLE_HOME="$LOCAL_GRADLE_DIR/gradle-$GRADLE_VERSION"
|
||||
GRADLE_BIN="$GRADLE_HOME/bin/gradle"
|
||||
GIT_ONLY=0
|
||||
|
||||
info() { echo "[INFO] $1"; }
|
||||
ok() { echo "[OK] $1"; }
|
||||
@@ -36,7 +37,7 @@ suggest_commit_message() {
|
||||
SUGGESTED_COMMIT="Update Lobby Systems v$MOD_VERSION"
|
||||
|
||||
if grep -qiE '(^|[[:space:]])src/' <<<"$status"; then
|
||||
SUGGESTED_COMMIT="Update Lobby Systems v$MOD_VERSION"
|
||||
SUGGESTED_COMMIT="Fix join gamemode enforcement in Lobby Systems v$MOD_VERSION"
|
||||
elif grep -qiE 'compile\.(bat|sh)|release\.(bat|sh)' <<<"$status"; then
|
||||
SUGGESTED_COMMIT="Improve build and Git workflow"
|
||||
elif grep -qiE 'README\.md|LICENSE' <<<"$status"; then
|
||||
@@ -78,6 +79,88 @@ push_branch_with_retry() {
|
||||
done
|
||||
}
|
||||
|
||||
run_git_integration() {
|
||||
echo
|
||||
separator
|
||||
echo " Git Integration"
|
||||
separator
|
||||
if [[ $GIT_ONLY -eq 1 ]]; then
|
||||
info "Mode Git-only: build dilewati karena JAR v$MOD_VERSION sudah tersedia."
|
||||
fi
|
||||
|
||||
if ! command -v git >/dev/null 2>&1; then
|
||||
error "Git tidak ditemukan di PATH."
|
||||
return 2
|
||||
fi
|
||||
|
||||
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
|
||||
error "Folder ini belum menjadi Git repository."
|
||||
echo
|
||||
echo "Jalankan terlebih dahulu:"
|
||||
echo " git init"
|
||||
echo " git branch -M main"
|
||||
echo " git remote add origin <URL-GITEA>"
|
||||
return 2
|
||||
fi
|
||||
|
||||
info "Memeriksa perubahan Git..."
|
||||
CHANGES="$(git status --porcelain)"
|
||||
|
||||
if [[ -n "$CHANGES" ]]; then
|
||||
echo
|
||||
echo "Perubahan ditemukan:"
|
||||
echo
|
||||
git status --short
|
||||
echo
|
||||
|
||||
suggest_commit_message
|
||||
echo "[SUGGEST] Commit message: $SUGGESTED_COMMIT"
|
||||
info "Tekan Enter untuk memakai saran tersebut, atau ketik pesan sendiri."
|
||||
read -r -p "Commit message [$SUGGESTED_COMMIT]: " COMMIT_MESSAGE
|
||||
[[ -z "$COMMIT_MESSAGE" ]] && COMMIT_MESSAGE="$SUGGESTED_COMMIT"
|
||||
|
||||
info "Menambahkan perubahan ke staging..."
|
||||
if ! git add -A; then
|
||||
error "git add gagal."
|
||||
return 2
|
||||
fi
|
||||
|
||||
info "Membuat commit..."
|
||||
if ! git commit -m "$COMMIT_MESSAGE"; then
|
||||
error "git commit gagal."
|
||||
return 2
|
||||
fi
|
||||
else
|
||||
info "Tidak ada perubahan source yang perlu di-commit."
|
||||
info "Akan mencoba push commit lokal yang belum terkirim, jika ada."
|
||||
fi
|
||||
|
||||
CURRENT_BRANCH="$(git branch --show-current)"
|
||||
if [[ -z "$CURRENT_BRANCH" ]]; then
|
||||
error "Tidak dapat menentukan branch Git aktif."
|
||||
return 2
|
||||
fi
|
||||
|
||||
info "Branch aktif: $CURRENT_BRANCH"
|
||||
|
||||
if ! git remote get-url origin >/dev/null 2>&1; then
|
||||
error "Remote Git 'origin' belum dikonfigurasi."
|
||||
info "Commit lokal tetap tersimpan."
|
||||
return 2
|
||||
fi
|
||||
|
||||
REMOTE_URL="$(git remote get-url origin)"
|
||||
info "Remote origin: $REMOTE_URL"
|
||||
|
||||
if ! push_branch_with_retry; then
|
||||
return 2
|
||||
fi
|
||||
|
||||
echo
|
||||
ok "Push ke Git/Gitea berhasil."
|
||||
return 0
|
||||
}
|
||||
|
||||
if [[ ! -f "$GRADLE_PROPERTIES" ]]; then
|
||||
error "gradle.properties tidak ditemukan."
|
||||
exit 1
|
||||
@@ -91,6 +174,8 @@ MAVEN_GROUP="$(read_property "maven_group")"
|
||||
[[ -z "$MINECRAFT_VERSION" ]] && MINECRAFT_VERSION="26.2"
|
||||
[[ -z "$MAVEN_GROUP" ]] && MAVEN_GROUP="id.dartokloning"
|
||||
|
||||
JAR_PATH="$SCRIPT_DIR/build/libs/lobby-systems-$MOD_VERSION.jar"
|
||||
|
||||
separator
|
||||
echo " Lobby Systems - Fabric $MINECRAFT_VERSION Build"
|
||||
echo " Version: $MOD_VERSION"
|
||||
@@ -98,6 +183,34 @@ echo " Namespace: id.dartokloning.lobbysystems"
|
||||
echo " Mod ID: dartokloning"
|
||||
separator
|
||||
|
||||
if [[ $BUILD_ONLY -eq 0 && -f "$JAR_PATH" ]]; then
|
||||
echo
|
||||
info "JAR untuk v$MOD_VERSION sudah pernah dibuild:"
|
||||
echo " $JAR_PATH"
|
||||
echo
|
||||
read -r -p "[C] Compile ulang / [G] Git saja: " EXISTING_ACTION
|
||||
case "$EXISTING_ACTION" in
|
||||
g|G|git|GIT|Git)
|
||||
GIT_ONLY=1
|
||||
if run_git_integration; then
|
||||
echo
|
||||
separator
|
||||
echo " Lobby Systems v$MOD_VERSION selesai."
|
||||
separator
|
||||
exit 0
|
||||
fi
|
||||
echo
|
||||
separator
|
||||
echo " GIT FAILED"
|
||||
separator
|
||||
info "Build tidak dijalankan; JAR v$MOD_VERSION yang sudah ada tetap aman."
|
||||
info "Commit lokal tetap tersimpan."
|
||||
exit 2
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if ! command -v java >/dev/null 2>&1; then
|
||||
error "Java tidak ditemukan di PATH."
|
||||
echo "Install JDK 25 lalu jalankan script lagi."
|
||||
@@ -192,8 +305,6 @@ separator
|
||||
echo " BUILD SUCCESS"
|
||||
separator
|
||||
|
||||
JAR_PATH="$SCRIPT_DIR/build/libs/lobby-systems-$MOD_VERSION.jar"
|
||||
|
||||
if [[ -f "$JAR_PATH" ]]; then
|
||||
echo "JAR:"
|
||||
echo "$JAR_PATH"
|
||||
@@ -221,94 +332,17 @@ case "$GIT_CONFIRM" in
|
||||
;;
|
||||
esac
|
||||
|
||||
echo
|
||||
separator
|
||||
echo " Git Integration"
|
||||
separator
|
||||
|
||||
if ! command -v git >/dev/null 2>&1; then
|
||||
error "Git tidak ditemukan di PATH."
|
||||
info "Build tetap berhasil."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
|
||||
error "Folder ini belum menjadi Git repository."
|
||||
echo
|
||||
echo "Jalankan terlebih dahulu:"
|
||||
echo " git init"
|
||||
echo " git branch -M main"
|
||||
echo " git remote add origin <URL-GITEA>"
|
||||
echo
|
||||
exit 0
|
||||
fi
|
||||
|
||||
info "Memeriksa perubahan Git..."
|
||||
CHANGES="$(git status --porcelain)"
|
||||
|
||||
if [[ -n "$CHANGES" ]]; then
|
||||
echo
|
||||
echo "Perubahan ditemukan:"
|
||||
echo
|
||||
git status --short
|
||||
echo
|
||||
|
||||
suggest_commit_message
|
||||
echo "[SUGGEST] Commit message: $SUGGESTED_COMMIT"
|
||||
info "Tekan Enter untuk memakai saran tersebut, atau ketik pesan sendiri."
|
||||
read -r -p "Commit message [$SUGGESTED_COMMIT]: " COMMIT_MESSAGE
|
||||
[[ -z "$COMMIT_MESSAGE" ]] && COMMIT_MESSAGE="$SUGGESTED_COMMIT"
|
||||
|
||||
info "Menambahkan perubahan ke staging..."
|
||||
if ! git add -A; then
|
||||
error "git add gagal."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
info "Membuat commit..."
|
||||
if ! git commit -m "$COMMIT_MESSAGE"; then
|
||||
error "git commit gagal."
|
||||
exit 2
|
||||
fi
|
||||
else
|
||||
info "Tidak ada perubahan source yang perlu di-commit."
|
||||
info "Akan mencoba push commit yang sudah ada."
|
||||
fi
|
||||
|
||||
CURRENT_BRANCH="$(git branch --show-current)"
|
||||
if [[ -z "$CURRENT_BRANCH" ]]; then
|
||||
error "Tidak dapat menentukan branch Git aktif."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
info "Branch aktif: $CURRENT_BRANCH"
|
||||
|
||||
if ! git remote get-url origin >/dev/null 2>&1; then
|
||||
error "Remote Git 'origin' belum dikonfigurasi."
|
||||
echo
|
||||
echo "Tambahkan remote Gitea dengan:"
|
||||
echo " git remote add origin <URL-GITEA>"
|
||||
echo
|
||||
info "Commit lokal tetap tersimpan."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
REMOTE_URL="$(git remote get-url origin)"
|
||||
info "Remote origin: $REMOTE_URL"
|
||||
|
||||
if ! push_branch_with_retry; then
|
||||
if ! run_git_integration; then
|
||||
echo
|
||||
separator
|
||||
echo " GIT FAILED"
|
||||
separator
|
||||
info "Build Lobby Systems tetap berhasil."
|
||||
info "Commit lokal tetap tersimpan."
|
||||
info "Jalankan compile.sh lagi dan pilih Y; bila tidak ada perubahan, script langsung mencoba push commit yang tertunda."
|
||||
info "Jalankan compile.sh lagi; jika JAR versi sama terdeteksi, pilih G untuk Git-only."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo
|
||||
ok "Push ke Git/Gitea berhasil."
|
||||
echo
|
||||
separator
|
||||
echo " Lobby Systems v$MOD_VERSION selesai."
|
||||
|
||||
+1
-1
@@ -5,6 +5,6 @@ minecraft_version=26.2
|
||||
loader_version=0.19.3
|
||||
loom_version=1.17-SNAPSHOT
|
||||
fabric_api_version=0.156.0+26.2
|
||||
mod_version=1.5.1
|
||||
mod_version=1.5.2
|
||||
maven_group=id.dartokloning
|
||||
archives_base_name=lobby-systems
|
||||
|
||||
@@ -80,11 +80,23 @@ public final class DimensionGameModeManager {
|
||||
String dimension = player.level().dimension().identifier().toString();
|
||||
String previous = lastDimension.put(player.getUUID(), dimension);
|
||||
if (!dimension.equals(previous)) {
|
||||
applyForPlayer(player, dimension, true);
|
||||
applyConfiguredMode(player, dimension, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Memaksa gamemode yang dikonfigurasi untuk dimension player saat ini.
|
||||
* Dipakai setelah teleport agar join/reconnect tidak bergantung hanya pada
|
||||
* deteksi perubahan dimension di tick berikutnya.
|
||||
*/
|
||||
public boolean applyForPlayer(ServerPlayer player, boolean log) {
|
||||
String dimension = player.level().dimension().identifier().toString();
|
||||
boolean changed = applyConfiguredMode(player, dimension, log);
|
||||
lastDimension.put(player.getUUID(), dimension);
|
||||
return changed;
|
||||
}
|
||||
|
||||
public void onDisconnect(UUID uuid) {
|
||||
lastDimension.remove(uuid);
|
||||
}
|
||||
@@ -117,14 +129,14 @@ public final class DimensionGameModeManager {
|
||||
String normalized = normalizeDimension(dimension);
|
||||
for (ServerPlayer player : server.getPlayerList().getPlayers()) {
|
||||
if (player.level().dimension().identifier().toString().equals(normalized)) {
|
||||
if (applyForPlayer(player, normalized, false)) changed++;
|
||||
if (applyConfiguredMode(player, normalized, false)) changed++;
|
||||
lastDimension.put(player.getUUID(), normalized);
|
||||
}
|
||||
}
|
||||
return changed;
|
||||
}
|
||||
|
||||
private boolean applyForPlayer(ServerPlayer player, String dimension, boolean log) {
|
||||
private boolean applyConfiguredMode(ServerPlayer player, String dimension, boolean log) {
|
||||
String configuredMode = configured.get(normalizeDimension(dimension));
|
||||
if (configuredMode == null) return false;
|
||||
|
||||
|
||||
@@ -921,6 +921,10 @@ public final class LobbySystemsMod implements ModInitializer {
|
||||
boolean ok = TELEPORTS.teleport(player, target, x, y, z, yaw, pitch);
|
||||
if (!ok) return 0;
|
||||
|
||||
if (CONFIG.get().manageDimensionGamemode) {
|
||||
DIMENSION_GAMEMODES.applyForPlayer(player, true);
|
||||
}
|
||||
|
||||
if (sendMessage) {
|
||||
player.sendSystemMessage(Component.literal(returning
|
||||
? "§aTeleport ke §f" + dimensionId + "§a pada posisi terakhirmu."
|
||||
@@ -967,6 +971,9 @@ public final class LobbySystemsMod implements ModInitializer {
|
||||
|
||||
LobbyConfig c = CONFIG.get();
|
||||
boolean ok = TELEPORTS.teleport(player, target, c.lobbyX, c.lobbyY, c.lobbyZ, c.lobbyYaw, c.lobbyPitch);
|
||||
if (ok && CONFIG.get().manageDimensionGamemode) {
|
||||
DIMENSION_GAMEMODES.applyForPlayer(player, true);
|
||||
}
|
||||
if (ok && sendMessage) player.sendSystemMessage(Component.literal(c.returnedMessage));
|
||||
return ok;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user