From 74d448303d21ac095f43d4d7d0cdd680dfd598b5 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 10 Mar 2020 09:44:51 +0000 Subject: [PATCH] Make location settable. Start editor GUI work. --- .../commands/RPGRegionsCommand.java | 18 +++++++++++++++++ .../islandearth/rpgregions/gui/EditorGUI.java | 16 +++++++++++++++ .../data/region/ConfiguredRegion.java | 20 +++++++++++++++---- 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 rpgregions/src/main/java/net/islandearth/rpgregions/gui/EditorGUI.java diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/commands/RPGRegionsCommand.java b/rpgregions/src/main/java/net/islandearth/rpgregions/commands/RPGRegionsCommand.java index 0af19ec..44f6ac2 100644 --- a/rpgregions/src/main/java/net/islandearth/rpgregions/commands/RPGRegionsCommand.java +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/commands/RPGRegionsCommand.java @@ -12,6 +12,7 @@ import net.islandearth.rpgregions.rewards.ItemReward; import net.islandearth.rpgregions.utils.StringUtils; import org.bukkit.Bukkit; import org.bukkit.ChatColor; +import org.bukkit.Location; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -244,4 +245,21 @@ public class RPGRegionsCommand extends BaseCommand { sender.sendMessage(ChatColor.RED + "Usage: /rpgregions delete "); } } + + @Subcommand("setlocation") + @CommandPermission("rpgregions.setlocation") + public void onSetLocation(Player player, String[] args) { + if (args.length > 0) { + ConfiguredRegion configuredRegion = plugin.getManagers().getRegionsCache().getConfiguredRegion(args[0]); + if (configuredRegion != null) { + Location location = player.getLocation(); + configuredRegion.setX(location.getBlockX()); + configuredRegion.setY(location.getBlockY()); + configuredRegion.setZ(location.getBlockZ()); + player.sendMessage(ChatColor.GREEN + "Location has been updated."); + } else { + player.sendMessage(StringUtils.colour("&cA region by that name is not yet configured.")); + } + } + } } diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/gui/EditorGUI.java b/rpgregions/src/main/java/net/islandearth/rpgregions/gui/EditorGUI.java new file mode 100644 index 0000000..89e9af8 --- /dev/null +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/gui/EditorGUI.java @@ -0,0 +1,16 @@ +package net.islandearth.rpgregions.gui; + +import net.islandearth.rpgregions.RPGRegions; +import org.bukkit.entity.Player; + +public class EditorGUI extends RPGRegionsGUI { + + public EditorGUI(RPGRegions plugin, Player player) { + super(plugin, player); + } + + @Override + public void open() { + + } +} diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/managers/data/region/ConfiguredRegion.java b/rpgregions/src/main/java/net/islandearth/rpgregions/managers/data/region/ConfiguredRegion.java index 77f1e7c..b3ff31d 100644 --- a/rpgregions/src/main/java/net/islandearth/rpgregions/managers/data/region/ConfiguredRegion.java +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/managers/data/region/ConfiguredRegion.java @@ -29,9 +29,9 @@ public class ConfiguredRegion { private final XMaterial icon; private final XMaterial undiscoveredIcon; private final boolean showCoords; - private final int x; - private final int y; - private final int z; + private int x; + private int y; + private int z; private final String hint; private final boolean showHint; private final boolean teleportable; @@ -119,7 +119,19 @@ public class ConfiguredRegion { public int getZ() { return z; } - + + public void setX(int x) { + this.x = x; + } + + public void setY(int y) { + this.y = y; + } + + public void setZ(int z) { + this.z = z; + } + public boolean isShowCoords() { return showCoords; }