Commit 2d2013df authored by Melledy's avatar Melledy Committed by GitHub
Browse files

Merge pull request #22 from SpikeHD/level_setting_commands

Set world level command
parents 0a864789 c5cebf27
...@@ -56,6 +56,8 @@ There is a dummy user named "Server" in every player's friends list that you can ...@@ -56,6 +56,8 @@ There is a dummy user named "Server" in every player's friends list that you can
`!killall` `!killall`
`!setworldlevel [level]` - Relog to see effects properly
`!godmode` - Prevents you from taking damage `!godmode` - Prevents you from taking damage
`!resetconst` - Resets the constellation level on your current active character, will need to relog after using the command to see any changes. `!resetconst` - Resets the constellation level on your current active character, will need to relog after using the command to see any changes.
......
...@@ -17,6 +17,7 @@ import emu.grasscutter.game.inventory.Inventory; ...@@ -17,6 +17,7 @@ import emu.grasscutter.game.inventory.Inventory;
import emu.grasscutter.game.inventory.ItemType; import emu.grasscutter.game.inventory.ItemType;
import emu.grasscutter.game.props.ActionReason; import emu.grasscutter.game.props.ActionReason;
import emu.grasscutter.game.props.FightProperty; 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.PacketEntityFightPropUpdateNotify;
import emu.grasscutter.server.packet.send.PacketItemAddHintNotify; import emu.grasscutter.server.packet.send.PacketItemAddHintNotify;
import emu.grasscutter.utils.Position; import emu.grasscutter.utils.Position;
...@@ -431,6 +432,29 @@ public final class PlayerCommands { ...@@ -431,6 +432,29 @@ public final class PlayerCommands {
} }
} }
} }
@Command(label = "setworldlevel", aliases = {"setworldlvl"},
usage = "Usage: setworldlevel <level>", execution = Command.Execution.PLAYER)
public static class SetWorldLevelCommand implements CommandHandler {
@Override
public void execute(GenshinPlayer player, List<String> args) {
if(args.size() < 1) {
CommandHandler.sendMessage(null, "Usage: setworldlevel <level>"); 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"}, @Command(label = "clearartifacts", aliases = {"clearart"},
usage = "Usage: clearartifacts", execution = Command.Execution.PLAYER) usage = "Usage: clearartifacts", execution = Command.Execution.PLAYER)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment