diff --git a/src/main/java/emu/lunarcore/commands/PlayerCommands.java b/src/main/java/emu/lunarcore/commands/PlayerCommands.java index 825260a..fbf7164 100644 --- a/src/main/java/emu/lunarcore/commands/PlayerCommands.java +++ b/src/main/java/emu/lunarcore/commands/PlayerCommands.java @@ -131,6 +131,26 @@ public class PlayerCommands { player.dropMessage("Giving you " + count + " of " + itemId); } } + + @Command(aliases = {"wl", "el"}, desc = "/worldlevel [world level]") + public static class WorldLevel extends PlayerCommand { + @Override + public void execute(Player player, String raw) { + int level = 0; + + try { + level = Integer.parseInt(raw); + } catch (Exception e) { + level = 0; + } + + level = Math.min(Math.max(level, 0), 6); + + // Set world level + player.setWorldLevel(level); + player.dropMessage("Set world level to " + level); + } + } /* Temporarily disabled as spawned monsters need @Command(desc = "/spawn [monster id] [count] - Creates {count} amount of {item id}") diff --git a/src/main/java/emu/lunarcore/game/player/Player.java b/src/main/java/emu/lunarcore/game/player/Player.java index 73a2e29..b388b60 100644 --- a/src/main/java/emu/lunarcore/game/player/Player.java +++ b/src/main/java/emu/lunarcore/game/player/Player.java @@ -150,6 +150,12 @@ public class Player { return 0; } + + public void setWorldLevel(int level) { + this.worldLevel = level; + this.save(); + this.sendPacket(new PacketPlayerSyncScNotify(this)); + } public boolean hasLoggedIn() { return this.getSession() != null && this.getSession().getState() != SessionState.WAITING_FOR_TOKEN;