From 5e8a8a54be2f2fabb6827384a554738a7b961bcf Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Mon, 9 Oct 2023 06:11:18 -0700 Subject: [PATCH] Add !gender command --- .../command/commands/GenderCommand.java | 40 +++++++++++++++++++ .../emu/lunarcore/game/player/Player.java | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/main/java/emu/lunarcore/command/commands/GenderCommand.java 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;