diff --git a/src/main/java/emu/lunarcore/command/commands/RefillSPCommand.java b/src/main/java/emu/lunarcore/command/commands/RefillSPCommand.java new file mode 100644 index 0000000..1b89659 --- /dev/null +++ b/src/main/java/emu/lunarcore/command/commands/RefillSPCommand.java @@ -0,0 +1,32 @@ +package emu.lunarcore.command.commands; + +import java.util.ArrayList; +import java.util.List; + +import emu.lunarcore.command.Command; +import emu.lunarcore.game.avatar.GameAvatar; +import emu.lunarcore.game.player.lineup.PlayerLineup; +import emu.lunarcore.command.CommandArgs; +import emu.lunarcore.command.CommandHandler; +import emu.lunarcore.game.player.Player; + +@Command(label = "energy", permission = "player.energy", desc = "/energy. Refills all characters energy in current lineup.") +public class RefillSPCommand implements CommandHandler { + + @Override + public void execute(Player sender, CommandArgs args) { + + PlayerLineup lineup = sender.getCurrentLineup(); + for (int i = 0; i < lineup.getAvatars().size(); i++) { + GameAvatar avatar = sender.getAvatarById(lineup.getAvatars().get(i)); + if (avatar == null) continue; + avatar.setCurrentSp(lineup, 10000); + avatar.save(); + } + lineup.save(); + + lineup.refreshLineup(); + this.sendMessage(sender, "Refilled SP"); + } + +} diff --git a/src/main/java/emu/lunarcore/game/player/lineup/PlayerLineup.java b/src/main/java/emu/lunarcore/game/player/lineup/PlayerLineup.java index 6f81f42..caef178 100644 --- a/src/main/java/emu/lunarcore/game/player/lineup/PlayerLineup.java +++ b/src/main/java/emu/lunarcore/game/player/lineup/PlayerLineup.java @@ -113,6 +113,10 @@ public class PlayerLineup { getOwner().sendPacket(new PacketSyncLineupNotify(this)); } } + + public void refreshLineup() { + this.getOwner().sendPacket(new PacketSyncLineupNotify(this)); + } public void forEachAvatar(Consumer consumer) { for (int avatarId : this.getAvatars()) {