Skip to content

Commit

Permalink
Added messages to HelperService
Browse files Browse the repository at this point in the history
Messages now have hover recommendations and click auto-complete on
Update
Select
List
Create
  • Loading branch information
monsterwhat committed Nov 6, 2023
1 parent 48b5842 commit 427183c
Show file tree
Hide file tree
Showing 5 changed files with 116 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ 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()));

//re-Load zones from DB
ZoneManager.getInstance().loadZones();
}else {
Expand Down
23 changes: 12 additions & 11 deletions src/main/java/com/playdeca/portalzones/commands/listCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

import com.playdeca.portalzones.objects.PortalZone;
import com.playdeca.portalzones.objects.ZoneManager;
import com.playdeca.portalzones.services.HelperService;
import org.bukkit.Bukkit;
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;
import java.util.ArrayList;
import java.util.Arrays;

public class listCommand implements CommandExecutor {
public class listCommand extends HelperService {

@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
Expand All @@ -33,15 +33,13 @@ private void handleListCommandDB(Player player) {
}
player.sendMessage("Portal Zones: ");
for (PortalZone zone : zones) {
player.sendMessage("--------------------");
player.sendMessage("Zone name: " + zone.getName());
player.sendMessage("Region 1: " + zone.getRegion1());
player.sendMessage("Region 2: " + zone.getRegion2());
player.sendMessage("Soft Count: " + zone.getSoftCount());
player.sendMessage("Hard Count: " + zone.getHardCount());
player.sendMessage("Destination 1: World: " + zone.getWorld1() + ", " + zone.getXyz1().getX() + ", " + zone.getXyz1().getY() + ", " + zone.getXyz1().getZ());
player.sendMessage("Destination 2: World: " + zone.getWorld2() + ", " + zone.getXyz2().getX() + ", " + zone.getXyz2().getY() + ", " + zone.getXyz2().getZ());
player.sendMessage("--------------------");
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()));
}

}catch (Exception e){
Expand All @@ -50,4 +48,7 @@ private void handleListCommandDB(Player player) {
Bukkit.getLogger().warning("Error: " + Arrays.toString(e.getStackTrace()));
}
}



}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,14 @@ private void handleSelectCommandDB(Player player, String[] args){
return;
}
ZoneManager.getInstance().setSelectedZone(zone);
player.sendMessage("Portal Zone selected: " + zoneName);

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()));

}catch (Exception e){
Bukkit.getLogger().warning("Error selecting portal zone: " + e.getMessage());
Expand Down
18 changes: 10 additions & 8 deletions src/main/java/com/playdeca/portalzones/commands/updateCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
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;
Expand Down Expand Up @@ -81,14 +82,14 @@ private void handleUpdateCommand(Player player, String[] args){
}
updateHardCountDB(Integer.parseInt(args[2]), player);
break;
case "Destination1":
case "destination1":
if (args.length != 2) {
player.sendMessage("Usage: /pz update <Destination1>");
break;
}
updateXYZ1DB(player);
break;
case "Destination2":
case "destination2":
if (args.length != 2) {
player.sendMessage("Usage: /pz update <Destination2>");
break;
Expand All @@ -109,7 +110,7 @@ private void updateRegion1DB(String regionName, Player player){
}
ZoneManager.getInstance().getSelectedZone().setRegion1(regionName);
portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone());
player.sendMessage("Portal Zone Region1 updated: " + ZoneManager.getInstance().getSelectedZone().getName());
player.sendMessage("Region1 ->" + ZoneManager.getInstance().getSelectedZone().getRegion1());
}

private void updateRegion2DB(String regionName, Player player){
Expand All @@ -119,19 +120,19 @@ private void updateRegion2DB(String regionName, Player player){
}
ZoneManager.getInstance().getSelectedZone().setRegion2(regionName);
portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone());
player.sendMessage("Portal Zone Region2 updated: " + ZoneManager.getInstance().getSelectedZone().getName());
player.sendMessage("Region2 ->" + ZoneManager.getInstance().getSelectedZone().getRegion2());
}

private void updateSoftCountDB(int softCount, Player player){
ZoneManager.getInstance().getSelectedZone().setSoftCount(softCount);
portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone());
player.sendMessage("Portal Zone softCount updated: " + ZoneManager.getInstance().getSelectedZone().getName());
player.sendMessage("SoftCountTime ->" + ZoneManager.getInstance().getSelectedZone().getSoftCount());
}

private void updateHardCountDB(int hardCount, Player player){
ZoneManager.getInstance().getSelectedZone().setHardCount(hardCount);
portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone());
player.sendMessage("Portal Zone hardCount updated: " + ZoneManager.getInstance().getSelectedZone().getName());
player.sendMessage("HardCountTime ->" + ZoneManager.getInstance().getSelectedZone().getHardCount());
}

private void updateXYZ1DB(Player player){
Expand All @@ -144,7 +145,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("Portal Zone Destination1 updated: " + ZoneManager.getInstance().getSelectedZone().getName());
player.sendMessage("Destination1 ->" + ZoneManager.getInstance().getSelectedZone().getRegion1());
}else {
player.sendMessage("Please select the destination (Left Click) block using the WorldEdit wand tool before using this command.");
}
Expand All @@ -164,7 +165,7 @@ private void updateXYZ2DB(Player player) {
Location newLocation = new Location(BukkitAdapter.adapt(selection.getWorld()), newSelection.getX(), newSelection.getY() + 1, newSelection.getZ());
ZoneManager.getInstance().getSelectedZone().setXyz2(newLocation);
portalZoneDAO.updatePortalZone(ZoneManager.getInstance().getSelectedZone());
player.sendMessage("Portal Zone Destination2 updated: " + ZoneManager.getInstance().getSelectedZone().getName());
player.sendMessage("Destination2 ->" + ZoneManager.getInstance().getSelectedZone().getRegion2() + " updated.");
} else {
player.sendMessage("Please select the destination (Left Click) block using the WorldEdit wand tool before using this command.");
}
Expand All @@ -173,4 +174,5 @@ private void updateXYZ2DB(Player player) {
Bukkit.getLogger().warning("Error updating XYZ2: " + Arrays.toString(e.getStackTrace()));
}
}

}
78 changes: 78 additions & 0 deletions src/main/java/com/playdeca/portalzones/services/HelperService.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
import com.playdeca.portalzones.objects.PortalZoneDAO;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.session.SessionManager;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.TextColor;
import org.bukkit.command.CommandExecutor;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
Expand All @@ -29,4 +34,77 @@ 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 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)));
TextComponent hoverMessage = Component.text("Click me to select the zone!").color(purple);
title.append(message);
HoverEvent<Component> hoverEvent = HoverEvent.showText(hoverMessage);
ClickEvent clickEvent = ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/pz select " + ZoneName);
return title.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)));
TextComponent hoverMessage = Component.text("Click me to update the region 1!").color(purple);
HoverEvent<Component> 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)));
TextComponent hoverMessage = Component.text("Click me to update the region 2!").color(purple);
HoverEvent<Component> 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)));
TextComponent hoverMessage = Component.text("Click me to update the soft count!").color(purple);
HoverEvent<Component> 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);
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)));
TextComponent hoverMessage = Component.text("Click me to update the hard count!").color(purple);
HoverEvent<Component> 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);
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)));
TextComponent hoverMessage = Component.text("Click me to update the destination 1!").color(purple);
HoverEvent<Component> 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)));
TextComponent hoverMessage = Component.text("Click me to update the destination 2!");
HoverEvent<Component> 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);
}

}

0 comments on commit 427183c

Please sign in to comment.