From d5ad82b59873a167266ea4a70f484c9077570ca4 Mon Sep 17 00:00:00 2001 From: SpikeHD Date: Tue, 19 Apr 2022 02:44:33 -0700 Subject: [PATCH] set world level command --- .../grasscutter/commands/PlayerCommands.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/java/emu/grasscutter/commands/PlayerCommands.java b/src/main/java/emu/grasscutter/commands/PlayerCommands.java index ae80c5d25..714d9acfb 100644 --- a/src/main/java/emu/grasscutter/commands/PlayerCommands.java +++ b/src/main/java/emu/grasscutter/commands/PlayerCommands.java @@ -15,6 +15,7 @@ import emu.grasscutter.game.inventory.Inventory; import emu.grasscutter.game.inventory.ItemType; import emu.grasscutter.game.props.ActionReason; import emu.grasscutter.game.props.FightProperty; +import emu.grasscutter.game.props.PlayerProperty; import emu.grasscutter.server.packet.send.PacketEntityFightPropUpdateNotify; import emu.grasscutter.server.packet.send.PacketItemAddHintNotify; import emu.grasscutter.utils.Position; @@ -302,6 +303,29 @@ public final class PlayerCommands { } } } + + @Command(label = "setworldlevel", aliases = {"setworldlvl"}, + usage = "Usage: setworldlevel ", execution = Command.Execution.PLAYER) + public static class SetWorldLevelCommand implements CommandHandler { + @Override + public void execute(GenshinPlayer player, List args) { + if(args.size() < 1) { + CommandHandler.sendMessage(null, "Usage: setworldlevel "); return; + } + + try { + int level = Integer.parseInt(args.get(0)); + + // Set in both world and player props + player.getWorld().setWorldLevel(level); + player.setProperty(PlayerProperty.PROP_PLAYER_WORLD_LEVEL, level); + + player.dropMessage("World level set to " + level + "."); + } catch (NumberFormatException ignored) { + CommandHandler.sendMessage(null, "Invalid world level."); + } + } + } @Command(label = "clearartifacts", aliases = {"clearart"}, usage = "Usage: clearartifacts", execution = Command.Execution.PLAYER)