diff --git a/src/main/java/emu/lunarcore/command/commands/GenderCommand.java b/src/main/java/emu/lunarcore/command/commands/GenderCommand.java new file mode 100644 index 0000000..e9b734a --- /dev/null +++ b/src/main/java/emu/lunarcore/command/commands/GenderCommand.java @@ -0,0 +1,40 @@ +package emu.lunarcore.command.commands; + +import emu.lunarcore.command.Command; +import emu.lunarcore.command.CommandArgs; +import emu.lunarcore.command.CommandHandler; +import emu.lunarcore.game.player.Player; +import emu.lunarcore.game.player.PlayerGender; +import emu.lunarcore.server.packet.send.PacketGetHeroBasicTypeInfoScRsp; + +@Command(label = "gender") +public class GenderCommand implements CommandHandler { + + @Override + public void execute(Player sender, CommandArgs args) { + // Check target + if (args.getTarget() == null) { + this.sendMessage(sender, "Error: Targeted player not found or offline"); + return; + } + + // Set world level + String gender = args.get(0).toLowerCase(); + + switch (gender) { + case "m", "male", "boy", "man" -> { + args.getTarget().setGender(PlayerGender.GENDER_MAN); + } + case "f", "female", "girl", "woman" -> { + args.getTarget().setGender(PlayerGender.GENDER_WOMAN); + } + } + + // Send packet + args.getTarget().sendPacket(new PacketGetHeroBasicTypeInfoScRsp(args.getTarget())); + + // Done + this.sendMessage(sender, "Gender set successfully"); + } + +} diff --git a/src/main/java/emu/lunarcore/game/player/Player.java b/src/main/java/emu/lunarcore/game/player/Player.java index 7d44287..86f523a 100644 --- a/src/main/java/emu/lunarcore/game/player/Player.java +++ b/src/main/java/emu/lunarcore/game/player/Player.java @@ -55,8 +55,8 @@ public class Player { private String signature; private int headIcon; private int birthday; - private PlayerGender gender; private int curBasicType; + @Setter private PlayerGender gender; private int level; private int exp;