From 4d7044015ada584eb69fd646254b5e291f42a60a Mon Sep 17 00:00:00 2001 From: monsterwhat Date: Mon, 6 Nov 2023 22:32:05 -0600 Subject: [PATCH] Updates Finished styling messages. Cleaned up some code. Ready for 1.0 Release --- build.gradle | 2 +- .../portalzones/commands/createCommand.java | 14 +- .../portalzones/commands/helpCommand.java | 22 +-- .../portalzones/commands/listCommand.java | 8 +- .../portalzones/commands/selectCommand.java | 14 +- .../portalzones/commands/updateCommand.java | 11 +- .../portalzones/services/HelperService.java | 146 ++++++++++++++---- 7 files changed, 139 insertions(+), 78 deletions(-) diff --git a/build.gradle b/build.gradle index 7ae5a68..7336790 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { } group = 'com.playdeca' -version = '1.0-SNAPSHOT' +version = '1.0' repositories { mavenCentral() diff --git a/src/main/java/com/playdeca/portalzones/commands/createCommand.java b/src/main/java/com/playdeca/portalzones/commands/createCommand.java index 517840e..b8559f1 100644 --- a/src/main/java/com/playdeca/portalzones/commands/createCommand.java +++ b/src/main/java/com/playdeca/portalzones/commands/createCommand.java @@ -28,13 +28,13 @@ private void handleCreateCommandDB(Player player, String[] args){ portalZoneDAO.createPortalZone(newPortal); ZoneManager.getInstance().setSelectedZone(newPortal); player.sendMessage("Portal Zone created and selected: " + zoneName); - player.sendMessage(displayZoneName(zoneName)); - player.sendMessage(displayRegion1(newPortal.getRegion1())); - player.sendMessage(displayRegion2(newPortal.getRegion2())); - player.sendMessage(displaySoftCount(newPortal.getSoftCount())); - player.sendMessage(displayHardCount(newPortal.getHardCount())); - player.sendMessage(displayDestination1(newPortal.getXyz1().toString())); - player.sendMessage(displayDestination2(newPortal.getXyz2().toString())); + player.sendMessage(displayZoneName(newPortal)); + player.sendMessage(displayRegion1(newPortal)); + player.sendMessage(displayRegion2(newPortal)); + player.sendMessage(displaySoftCount(newPortal)); + player.sendMessage(displayHardCount(newPortal)); + player.sendMessage(displayDestination1(newPortal)); + player.sendMessage(displayDestination2(newPortal)); //re-Load zones from DB ZoneManager.getInstance().loadZones(); diff --git a/src/main/java/com/playdeca/portalzones/commands/helpCommand.java b/src/main/java/com/playdeca/portalzones/commands/helpCommand.java index 9f6a7e0..b3a667e 100644 --- a/src/main/java/com/playdeca/portalzones/commands/helpCommand.java +++ b/src/main/java/com/playdeca/portalzones/commands/helpCommand.java @@ -1,12 +1,12 @@ package com.playdeca.portalzones.commands; +import com.playdeca.portalzones.services.HelperService; import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; -public class helpCommand implements CommandExecutor { +public class helpCommand extends HelperService { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { if (sender instanceof Player player) { @@ -17,22 +17,8 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command } public void handleHelpCommand(Player player){ - player.sendMessage("Portal Zones Help:"); - player.sendMessage("/pz create - Creates a new portal zone with the given name."); - player.sendMessage("/pz select - Selects the portal zone with the given name."); - player.sendMessage("/pz update - Updates the given property of the selected portal zone."); - player.sendMessage("/pz list - Lists all portal zones."); - player.sendMessage("/pz delete - Deletes the portal zone with the given name."); - player.sendMessage("/pz help - Displays this help message."); - player.sendMessage(""); - player.sendMessage("When creating a new portal zone you must set all the data manually."); - player.sendMessage("When updating a portal zone you can use the 'all' property to update all the data at once."); - player.sendMessage("When updating a portal zone you can use the 'xyz1' and 'xyz2' properties to set the destination blocks."); - player.sendMessage("When updating a portal zone you can use the 'region1Name' and 'region2Name' properties to set the region names."); - player.sendMessage("When updating a portal zone you can use the 'softCountTime' and 'hardCountTime' properties to set the count times."); - player.sendMessage("The SoftCountTime is the time in seconds that a player must be in the portal zone before the hardCountTime starts."); - player.sendMessage("The HardCountTime is the time in seconds that a player must be in the portal zone before they are teleported."); - player.sendMessage("The HardCountTime will be displayed and have a sound played when the player is in the portal zone."); + createHelpMessage(player); } + } diff --git a/src/main/java/com/playdeca/portalzones/commands/listCommand.java b/src/main/java/com/playdeca/portalzones/commands/listCommand.java index 16f040e..ef09626 100644 --- a/src/main/java/com/playdeca/portalzones/commands/listCommand.java +++ b/src/main/java/com/playdeca/portalzones/commands/listCommand.java @@ -33,13 +33,7 @@ private void handleListCommandDB(Player player) { } player.sendMessage("Portal Zones: "); for (PortalZone zone : zones) { - player.sendMessage(displayZoneName(zone.getName())); - player.sendMessage(displayRegion1(zone.getRegion1())); - player.sendMessage(displayRegion2(zone.getRegion2())); - player.sendMessage(displaySoftCount(zone.getSoftCount())); - player.sendMessage(displayHardCount(zone.getHardCount())); - player.sendMessage(displayDestination1(zone.getWorld1() + ", " + zone.getXyz1().getX() + ", " + zone.getXyz1().getY() + ", " + zone.getXyz1().getZ())); - player.sendMessage(displayDestination2(zone.getWorld2() + ", " + zone.getXyz2().getX() + ", " + zone.getXyz2().getY() + ", " + zone.getXyz2().getZ())); + player.sendMessage(simpleRegionInfo(zone)); } }catch (Exception e){ diff --git a/src/main/java/com/playdeca/portalzones/commands/selectCommand.java b/src/main/java/com/playdeca/portalzones/commands/selectCommand.java index 389fab5..59e5167 100644 --- a/src/main/java/com/playdeca/portalzones/commands/selectCommand.java +++ b/src/main/java/com/playdeca/portalzones/commands/selectCommand.java @@ -37,13 +37,13 @@ private void handleSelectCommandDB(Player player, String[] args){ } ZoneManager.getInstance().setSelectedZone(zone); - player.sendMessage(displayZoneName(zone.getName())); - player.sendMessage(displayRegion1(zone.getRegion1())); - player.sendMessage(displayRegion2(zone.getRegion2())); - player.sendMessage(displaySoftCount(zone.getSoftCount())); - player.sendMessage(displayHardCount(zone.getHardCount())); - player.sendMessage(displayDestination1(zone.getXyz1().toString())); - player.sendMessage(displayDestination2(zone.getXyz2().toString())); + player.sendMessage(displayZoneName(zone)); + player.sendMessage(displayRegion1(zone)); + player.sendMessage(displayRegion2(zone)); + player.sendMessage(displaySoftCount(zone)); + player.sendMessage(displayHardCount(zone)); + player.sendMessage(displayDestination1(zone)); + player.sendMessage(displayDestination2(zone)); }catch (Exception e){ Bukkit.getLogger().warning("Error selecting portal zone: " + e.getMessage()); diff --git a/src/main/java/com/playdeca/portalzones/commands/updateCommand.java b/src/main/java/com/playdeca/portalzones/commands/updateCommand.java index 1896b0c..80c117c 100644 --- a/src/main/java/com/playdeca/portalzones/commands/updateCommand.java +++ b/src/main/java/com/playdeca/portalzones/commands/updateCommand.java @@ -7,7 +7,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.world.World; -import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.command.Command; @@ -110,7 +109,7 @@ private void updateRegion1DB(String regionName, Player player){ } ZoneManager.getInstance().getSelectedZone().setRegion1(regionName); portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone()); - player.sendMessage("Region1 ->" + ZoneManager.getInstance().getSelectedZone().getRegion1()); + player.sendMessage("Region1 ->" + ZoneManager.getInstance().getSelectedZone().getRegion1() + " updated."); } private void updateRegion2DB(String regionName, Player player){ @@ -120,19 +119,19 @@ private void updateRegion2DB(String regionName, Player player){ } ZoneManager.getInstance().getSelectedZone().setRegion2(regionName); portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone()); - player.sendMessage("Region2 ->" + ZoneManager.getInstance().getSelectedZone().getRegion2()); + player.sendMessage("Region2 ->" + ZoneManager.getInstance().getSelectedZone().getRegion2() + " updated."); } private void updateSoftCountDB(int softCount, Player player){ ZoneManager.getInstance().getSelectedZone().setSoftCount(softCount); portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone()); - player.sendMessage("SoftCountTime ->" + ZoneManager.getInstance().getSelectedZone().getSoftCount()); + player.sendMessage("SoftCountTime ->" + ZoneManager.getInstance().getSelectedZone().getSoftCount() + " updated."); } private void updateHardCountDB(int hardCount, Player player){ ZoneManager.getInstance().getSelectedZone().setHardCount(hardCount); portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone()); - player.sendMessage("HardCountTime ->" + ZoneManager.getInstance().getSelectedZone().getHardCount()); + player.sendMessage("HardCountTime ->" + ZoneManager.getInstance().getSelectedZone().getHardCount() + " updated."); } private void updateXYZ1DB(Player player){ @@ -145,7 +144,7 @@ private void updateXYZ1DB(Player player){ Location newLocation = new Location(BukkitAdapter.adapt(selection.getWorld()), newSelection.getX(), newSelection.getY()+1, newSelection.getZ()); ZoneManager.getInstance().getSelectedZone().setXyz1(newLocation); portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone()); - player.sendMessage("Destination1 ->" + ZoneManager.getInstance().getSelectedZone().getRegion1()); + player.sendMessage("Destination1 ->" + ZoneManager.getInstance().getSelectedZone().getRegion1() + " updated."); }else { player.sendMessage("Please select the destination (Left Click) block using the WorldEdit wand tool before using this command."); } diff --git a/src/main/java/com/playdeca/portalzones/services/HelperService.java b/src/main/java/com/playdeca/portalzones/services/HelperService.java index b3af588..3cb4b6a 100644 --- a/src/main/java/com/playdeca/portalzones/services/HelperService.java +++ b/src/main/java/com/playdeca/portalzones/services/HelperService.java @@ -2,6 +2,7 @@ import com.playdeca.portalzones.PortalZones; import com.playdeca.portalzones.listeners.PortalZoneListener; +import com.playdeca.portalzones.objects.PortalZone; import com.playdeca.portalzones.objects.PortalZoneDAO; import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.session.SessionManager; @@ -13,6 +14,8 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.entity.Player; + import java.io.File; public abstract class HelperService implements CommandExecutor { @@ -34,77 +37,156 @@ public HelperService() { portalZoneDAO = new PortalZoneDAO(portalZonesPlugin); } - TextColor yellow = TextColor.color(255, 255, 0); - TextColor red = TextColor.color(255, 0, 0); - TextColor blue = TextColor.color(0, 34, 255); - TextColor green = TextColor.color(0, 255, 0); - TextColor purple = TextColor.color(255, 0, 255); - TextColor white = TextColor.color(255, 255, 255); - TextColor black = TextColor.color(0, 0, 0); + public TextColor yellow = TextColor.color(255, 255, 85); + public TextColor red = TextColor.color(255, 85, 85); + public TextColor blue = TextColor.color(85, 85, 255); + public TextColor green = TextColor.color(85, 255, 85); + public TextColor purple = TextColor.color(255, 85, 255); + public TextColor grey = TextColor.color(170, 170, 170); + public TextColor black = TextColor.color(0, 0, 0); + public TextColor white = TextColor.color(255, 255, 255); - public Component displayZoneName(String ZoneName){ - TextComponent title = Component.text("---------- ").append(Component.text(ZoneName).color(TextColor.color(white))).append(Component.text(" ----------")); - TextComponent message = Component.text("Zone name: ").color(TextColor.color(yellow)).append(Component.text(ZoneName).color(TextColor.color(green))); + public Component displayZoneName(PortalZone zone){ + String ZoneName = zone.getName(); + var pretitle = Component.text("[").color(grey).append(Component.text("Portal Zones").color(red)).append(Component.text("] ").color(grey)); + var title = Component.text("---------- ").color(yellow).append(Component.text(zone.getName())).append(Component.text(" ----------").color(yellow)).appendNewline(); + var msg = Component.text("Zone Name: ").color(TextColor.color(blue)).append(Component.text(ZoneName).color(TextColor.color(yellow))); TextComponent hoverMessage = Component.text("Click me to select the zone!").color(purple); - title.append(message); HoverEvent hoverEvent = HoverEvent.showText(hoverMessage); ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz select " + ZoneName); - return title.hoverEvent(hoverEvent).clickEvent(clickEvent); + return pretitle.append(title).append(msg).hoverEvent(hoverEvent).clickEvent(clickEvent); } - public Component displayRegion1(String Region1){ - TextComponent message = Component.text("Region 1: ").color(TextColor.color(yellow)).append(Component.text(Region1).color(TextColor.color(green))); + public Component displayRegion1(PortalZone zone){ + String Region1 = zone.getRegion1(); + TextComponent message = Component.text("Region 1: ").color(TextColor.color(blue)).append(Component.text(Region1).color(TextColor.color(yellow))); TextComponent hoverMessage = Component.text("Click me to update the region 1!").color(purple); HoverEvent hoverEvent = HoverEvent.showText(hoverMessage); - message.append(Component.text("Remember to select the region first!").color(TextColor.color(yellow))); ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update region1Name " + Region1); return message.hoverEvent(hoverEvent).clickEvent(clickEvent); } - public Component displayRegion2(String Region2){ - TextComponent message = Component.text("Region 2: ").color(TextColor.color(yellow)).append(Component.text(Region2).color(TextColor.color(green))); + public Component displayRegion2(PortalZone zone){ + String Region2 = zone.getRegion2(); + TextComponent message = Component.text("Region 2: ").color(TextColor.color(blue)).append(Component.text(Region2).color(TextColor.color(yellow))); TextComponent hoverMessage = Component.text("Click me to update the region 2!").color(purple); HoverEvent hoverEvent = HoverEvent.showText(hoverMessage); - message.append(Component.text("Remember to select the region first!").color(TextColor.color(yellow))); ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update region2Name " + Region2); return message.hoverEvent(hoverEvent).clickEvent(clickEvent); } - public Component displaySoftCount(int SoftCount){ - TextComponent message = Component.text("Soft Count: ").color(TextColor.color(yellow)).append(Component.text(SoftCount).color(TextColor.color(green))); + public Component displaySoftCount(PortalZone zone){ + int SoftCount = zone.getSoftCount(); + TextComponent message = Component.text("Soft Count: ").color(TextColor.color(blue)).append(Component.text(SoftCount).color(TextColor.color(yellow))); TextComponent hoverMessage = Component.text("Click me to update the soft count!").color(purple); HoverEvent hoverEvent = HoverEvent.showText(hoverMessage); - message.append(Component.text("Remember to select the region first!").color(TextColor.color(yellow))); - ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update softCount " + SoftCount); + ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update softCountTime " + SoftCount); return message.hoverEvent(hoverEvent).clickEvent(clickEvent); } - public Component displayHardCount(int HardCount){ - TextComponent message = Component.text("Hard Count: ").color(TextColor.color(yellow)).append(Component.text(HardCount).color(TextColor.color(green))); + public Component displayHardCount(PortalZone zone){ + int HardCount = zone.getHardCount(); + TextComponent message = Component.text("Hard Count: ").color(TextColor.color(blue)).append(Component.text(HardCount).color(TextColor.color(yellow))); TextComponent hoverMessage = Component.text("Click me to update the hard count!").color(purple); HoverEvent hoverEvent = HoverEvent.showText(hoverMessage); - message.append(Component.text("Remember to select the region first!").color(TextColor.color(yellow))); - ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update hardCount " + HardCount); + ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update hardCountTime " + HardCount); return message.hoverEvent(hoverEvent).clickEvent(clickEvent); } - public Component displayDestination1(String Destination1){ - TextComponent message = Component.text("Destination 1: ").color(TextColor.color(yellow)).append(Component.text(Destination1).color(TextColor.color(green))); + public Component displayDestination1(PortalZone zone){ + String destination1xyz = zone.getWorld1() + ", " + zone.getXyz1().getX() + ", " + zone.getXyz1().getY() + ", " + zone.getXyz1().getZ(); + TextComponent message = Component.text("Destination 1: ").color(TextColor.color(blue)).append(Component.text(destination1xyz).color(TextColor.color(yellow))); TextComponent hoverMessage = Component.text("Click me to update the destination 1!").color(purple); HoverEvent hoverEvent = HoverEvent.showText(hoverMessage); - message.append(Component.text("Remember to select the region first!").color(TextColor.color(yellow))); ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update destination1"); return message.hoverEvent(hoverEvent).clickEvent(clickEvent); } - public Component displayDestination2(String Destination2){ - TextComponent message = Component.text("Destination 2: ").color(TextColor.color(yellow)).append(Component.text(Destination2).color(TextColor.color(green))); + public Component displayDestination2(PortalZone zone){ + String destination2xyz = zone.getWorld2() + ", " + zone.getXyz2().getX() + ", " + zone.getXyz2().getY() + ", " + zone.getXyz2().getZ(); + var message = Component.text("Destination 2: ").color(TextColor.color(blue)).append(Component.text(destination2xyz).color(TextColor.color(yellow))); TextComponent hoverMessage = Component.text("Click me to update the destination 2!"); HoverEvent hoverEvent = HoverEvent.showText(hoverMessage); - message.append(Component.text("Remember to select the region first!").color(TextColor.color(yellow))); ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update destination2"); return message.hoverEvent(hoverEvent).clickEvent(clickEvent); } + public Component simpleRegionInfo(PortalZone zone){ + var pretitle = Component.text("[").color(grey).append(Component.text("Portal Zones").color(red)).append(Component.text("] ").color(grey)); + var title = Component.text("---------- ").color(yellow).append(Component.text(zone.getName())).append(Component.text(" ----------").color(yellow)).appendNewline(); + var msg1 = Component.text("Region 1: ").color(TextColor.color(blue)).append(Component.text(zone.getRegion1()).color(TextColor.color(yellow))).appendNewline(); + var msg2 = Component.text("Region 2: ").color(TextColor.color(blue)).append(Component.text(zone.getRegion2()).color(TextColor.color(yellow))).appendNewline(); + var msg3 = Component.text("Soft Count: ").color(TextColor.color(blue)).append(Component.text(zone.getSoftCount()).color(TextColor.color(yellow))).appendNewline(); + var msg4 = Component.text("Hard Count: ").color(TextColor.color(blue)).append(Component.text(zone.getHardCount()).color(TextColor.color(yellow))).appendNewline(); + String destination1xyz = zone.getWorld1() + ", " + zone.getXyz1().getX() + ", " + zone.getXyz1().getY() + ", " + zone.getXyz1().getZ(); + String destination2xyz = zone.getWorld2() + ", " + zone.getXyz2().getX() + ", " + zone.getXyz2().getY() + ", " + zone.getXyz2().getZ(); + var msg5 = Component.text("Destination 1: ").color(TextColor.color(blue)).append(Component.text(destination1xyz).color(TextColor.color(yellow))).appendNewline(); + var msg6 = Component.text("Destination 2: ").color(TextColor.color(blue)).append(Component.text(destination2xyz).color(TextColor.color(yellow))).appendNewline(); + TextComponent hoverMessage = Component.text("Click me to select the zone!").color(purple); + HoverEvent hoverEvent = HoverEvent.showText(hoverMessage); + ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz select " + zone.getName()); + + return pretitle.append(title).hoverEvent(hoverEvent).clickEvent(clickEvent).append(msg1).append(msg2).append(msg3).append(msg4).append(msg5).append(msg6); + } + + + public void createHelpMessage(Player player){ + Component pretitle = Component.text("[").color(grey).append(Component.text("Portal Zones").color(red)).append(Component.text("] ").color(grey)); + Component title = Component.text("---------- ").color(yellow).append(Component.text("Portal Zones Help").color(red).append(Component.text(" ----------").color(yellow))).appendNewline(); + Component createmsg = sendHelpCreateMessage(); + Component selectmsg = sendHelpSelectMessage(); + Component updatemsg = sendHelpUpdateMessage(); + Component listmsg = sendHelpListMessage(); + Component deletemsg = sendHelpDeleteMessage(); + + player.sendMessage(pretitle.append(title).append(createmsg).append(selectmsg).append(updatemsg).append(listmsg).append(deletemsg)); + } + + public Component sendHelpCreateMessage(){ + Component msg = Component.text("/pz create - Creates a new portal zone with the given name.").appendNewline(); + Component hovermsg = Component.text("Click me to create a new portal zone!").color(purple); + HoverEvent hoverEvent = HoverEvent.showText(hovermsg); + ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz create "); + + return msg.hoverEvent(hoverEvent).clickEvent(clickEvent); + } + + public Component sendHelpSelectMessage(){ + Component msg = Component.text("/pz select - Selects the portal zone with the given name.").appendNewline(); + Component hovermsg = Component.text("Click me to select a portal zone!").color(purple); + HoverEvent hoverEvent = HoverEvent.showText(hovermsg); + ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz select "); + + return msg.hoverEvent(hoverEvent).clickEvent(clickEvent); + } + + public Component sendHelpUpdateMessage(){ + Component msg = Component.text("/pz update - Updates the given property of the selected portal zone.").appendNewline(); + Component hovermsg = Component.text("Click me to update a portal zone!").color(purple); + HoverEvent hoverEvent = HoverEvent.showText(hovermsg); + ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz update "); + + return msg.hoverEvent(hoverEvent).clickEvent(clickEvent); + } + + public Component sendHelpListMessage(){ + Component msg = Component.text("/pz list - Lists all portal zones.").appendNewline(); + Component hovermsg = Component.text("Click me to list all portal zones!").color(purple); + HoverEvent hoverEvent = HoverEvent.showText(hovermsg); + ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz list"); + + return msg.hoverEvent(hoverEvent).clickEvent(clickEvent); + } + + public Component sendHelpDeleteMessage(){ + Component msg = Component.text("/pz delete - Deletes the portal zone with the given name."); + Component hovermsg = Component.text("Click me to delete a portal zone!").color(purple); + HoverEvent hoverEvent = HoverEvent.showText(hovermsg); + ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz delete "); + + return msg.hoverEvent(hoverEvent).clickEvent(clickEvent); + } + + }