From 17d0cb4c5ffee3cfa71f1861b2a04cb240980534 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Sat, 10 Feb 2024 22:56:58 +0100 Subject: [PATCH] Remove IslandSethome.java --- .../commands/island/IslandCommand.java | 1 - .../commands/island/IslandSethome.java | 33 ------------------- .../configuration/MessageConfiguration.java | 22 +++++++++---- .../cometskyblock/island/gui/SettingsGUI.java | 27 +++++++++++++++ 4 files changed, 43 insertions(+), 40 deletions(-) delete mode 100644 plugin/src/main/java/com/alttd/cometskyblock/commands/island/IslandSethome.java diff --git a/plugin/src/main/java/com/alttd/cometskyblock/commands/island/IslandCommand.java b/plugin/src/main/java/com/alttd/cometskyblock/commands/island/IslandCommand.java index e05cd6e..6689e33 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/commands/island/IslandCommand.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/commands/island/IslandCommand.java @@ -16,7 +16,6 @@ public class IslandCommand extends PlayerSubCommand { this.plugin = plugin; registerSubCommand(new IslandGo(plugin)); // TODO -- Add some more output - registerSubCommand(new IslandSethome(plugin)); // Todo -- Add some more output registerSubCommand(new IslandRestart(plugin)); // TODO -- Add IslandRestartCommand registerSubCommand(new IslandAccept(plugin)); registerSubCommand(new IslandDeny(plugin)); diff --git a/plugin/src/main/java/com/alttd/cometskyblock/commands/island/IslandSethome.java b/plugin/src/main/java/com/alttd/cometskyblock/commands/island/IslandSethome.java deleted file mode 100644 index b2c035c..0000000 --- a/plugin/src/main/java/com/alttd/cometskyblock/commands/island/IslandSethome.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.alttd.cometskyblock.commands.island; - -import com.alttd.cometskyblock.CometSkyBlockPlugin; -import com.alttd.cometskyblock.commands.PlayerSubCommand; -import com.alttd.cometskyblock.configuration.MessageConfiguration; -import com.alttd.cometskyblock.island.IslandPlayer; -import org.bukkit.entity.Player; - -public class IslandSethome extends PlayerSubCommand { - - public IslandSethome(CometSkyBlockPlugin plugin) { - super(plugin, "sethome"); - } - // TODO -- Finish sethome command - @Override - public boolean execute(Player player, IslandPlayer islandPlayer, String[] args) { - MessageConfiguration.Commands.Island.SetHome setHome = plugin.messagesConfiguration().get().commands().island().setHome(); - if (!islandPlayer.islandOwner()) { - // You must be island owner to do this command. - return true; - } - if (!player.getWorld().getUID().equals(islandPlayer.islandUUID())) { - // You must be on your island to use this command. - return true; - } - if (player.getFallDistance() > 0 || player.isFlying()) { - // You can't use this command when falling - return true; - } - player.getWorld().setSpawnLocation(player.getLocation()); - return true; - } -} diff --git a/plugin/src/main/java/com/alttd/cometskyblock/configuration/MessageConfiguration.java b/plugin/src/main/java/com/alttd/cometskyblock/configuration/MessageConfiguration.java index f100fb6..8a71a18 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/configuration/MessageConfiguration.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/configuration/MessageConfiguration.java @@ -8,6 +8,22 @@ import org.spongepowered.configurate.objectmapping.ConfigSerializable; @SuppressWarnings({"CanBeFinal", "FieldMayBeFinal"}) public class MessageConfiguration implements Configuration { + + private Island island = new Island(); + @ConfigSerializable @Getter + public static class Island { + + String notIslandOwner = "You must be the island owner to do this!"; + String notOnIsland = "You must be on your island to do this!"; + String notFallingOrFlying = "You can not do this while falling!"; + + SetHome setHome = new SetHome(); + @ConfigSerializable @Getter + public static class SetHome { + + } + } + private Commands commands = new Commands(); @ConfigSerializable @Getter public static class Commands { @@ -41,12 +57,6 @@ public class MessageConfiguration implements Configuration { String challenges = "Opens the challenges menu."; } - SetHome setHome = new SetHome(); - @ConfigSerializable @Getter - public static class SetHome { - - } - Restart restart = new Restart(); @ConfigSerializable @Getter public static class Restart { diff --git a/plugin/src/main/java/com/alttd/cometskyblock/island/gui/SettingsGUI.java b/plugin/src/main/java/com/alttd/cometskyblock/island/gui/SettingsGUI.java index b8e1af4..d5025fa 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/island/gui/SettingsGUI.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/island/gui/SettingsGUI.java @@ -1,12 +1,19 @@ package com.alttd.cometskyblock.island.gui; +import com.alttd.cometskyblock.CometSkyBlockPlugin; +import com.alttd.cometskyblock.configuration.MessageConfiguration; import com.alttd.cometskyblock.gui.GUIInventory; import com.alttd.cometskyblock.island.Island; +import com.alttd.cometskyblock.island.IslandPlayer; import net.kyori.adventure.text.minimessage.MiniMessage; import org.bukkit.Bukkit; +import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; +import java.util.ArrayList; +import java.util.List; + public class SettingsGUI extends GUIInventory { public SettingsGUI(Island island) { @@ -21,6 +28,26 @@ public class SettingsGUI extends GUIInventory { @Override public void decorate(Player player) { makeMenuBar(); + // setHome + addButton(10, createMenuButton(Material.GRASS_BLOCK, "Set your IslandSpawn location!", List.of( + "This sets your island spawn location to your current location." + ),event -> { + MessageConfiguration.Island islandMessages = CometSkyBlockPlugin.instance().messagesConfiguration().get().island(); + IslandPlayer islandPlayer = IslandPlayer.getIslandPlayer(player.getUniqueId()); + if (!islandPlayer.islandOwner()) { + player.sendRichMessage(islandMessages.notIslandOwner()); + return; + } + if (!player.getWorld().getUID().equals(islandPlayer.islandUUID())) { + player.sendRichMessage(islandMessages.notOnIsland()); + return; + } + if (player.getFallDistance() > 0 || player.isFlying()) { + player.sendRichMessage(islandMessages.notFallingOrFlying()); + return; + } + player.getWorld().setSpawnLocation(player.getLocation()); + })); super.decorate(player); } }