From 3eac0e391fdfd919b1016dc75d5e35db875e8fd3 Mon Sep 17 00:00:00 2001 From: zxq5 Date: Mon, 10 Feb 2025 18:49:00 +0000 Subject: [PATCH] did some more work on commands --- .../dev/zxq5/fantasysmp/chatutils/Chat.java | 13 +++ .../dev/zxq5/fantasysmp/groups/Commands.java | 84 +++++++++++++++++-- .../java/dev/zxq5/fantasysmp/groups/Team.java | 43 +++++++++- .../dev/zxq5/fantasysmp/warps/Warper.java | 42 ++++------ 4 files changed, 145 insertions(+), 37 deletions(-) diff --git a/src/main/java/dev/zxq5/fantasysmp/chatutils/Chat.java b/src/main/java/dev/zxq5/fantasysmp/chatutils/Chat.java index 11abdd0..686be77 100644 --- a/src/main/java/dev/zxq5/fantasysmp/chatutils/Chat.java +++ b/src/main/java/dev/zxq5/fantasysmp/chatutils/Chat.java @@ -1,7 +1,20 @@ package dev.zxq5.fantasysmp.chatutils; import org.bukkit.ChatColor; +import org.bukkit.entity.Player; public class Chat { public static String EVENTPREFIX = ChatColor.WHITE + "<" + ChatColor.AQUA + "Server" + ChatColor.WHITE + "> " + ChatColor.RESET; + + public static void success(Player player, String message) { + player.sendMessage(EVENTPREFIX + ChatColor.GREEN + message); + } + + public static void error(Player player, String message) { + player.sendMessage(EVENTPREFIX + ChatColor.RED + message); + } + + public static void info(Player player, String message) { + player.sendMessage(EVENTPREFIX + message); + } } diff --git a/src/main/java/dev/zxq5/fantasysmp/groups/Commands.java b/src/main/java/dev/zxq5/fantasysmp/groups/Commands.java index 93bed17..248fdbf 100644 --- a/src/main/java/dev/zxq5/fantasysmp/groups/Commands.java +++ b/src/main/java/dev/zxq5/fantasysmp/groups/Commands.java @@ -1,5 +1,6 @@ package dev.zxq5.fantasysmp.groups; +import dev.zxq5.fantasysmp.chatutils.Chat; import org.bukkit.command.CommandExecutor; import org.bukkit.entity.Player; @@ -10,14 +11,15 @@ import org.bukkit.entity.Player; * * team list => TODO * team create => TODO - * team rename => TODO - * team transfer => TODO + * team rename => TODO + * team transfer => TODO * team join => TODO - * team invite => TODO - * team leave => TODO - * team disband => TODO - * team setwarp => TODO + * team invite => TODO + * team leave => TODO + * team disband => TODO + * team setwarp => TODO * team delwarp => TODO + * team warp => TODO * team kick => TODO * team log => TODO * @@ -41,9 +43,75 @@ public class Commands implements CommandExecutor { return true; } - public void handleTeamCommands(Player player, String[] args) {} + public void handleTeamCommands(Player player, String[] args) { + switch (args[0]) { + case "list" -> this.handleList(player, args); + case "create" -> this.handleCreate(player, args); + case "rename" -> this.handleRename(player, args); + case "transfer" -> this.handleTransfer(player, args); + case "join" -> this.handleJoin(player, args); + case "invite" -> this.handleInvite(player, args); + case "leave" -> this.handleLeave(player, args); + case "disband" -> this.handleDisband(player, args); + case "setwarp" -> this.handleSetWarp(player, args); + case "delwarp" -> this.handleDelWarp(player, args); + case "warp" -> this.handleWarp(player, args); + case "kick" -> this.handleKick(player, args); + case "log" -> this.handleLog(player, args); + } + } - public void handleRankCommands(Player player, String[] args) {} + public void handleRankCommands(Player player, String[] args) { + // check perms + if (!(player.hasPermission("fantasysmp.ranks"))) { + Chat.error(player, "You do not have permission to use this command."); + return; + } + + switch (args[0]) { + case "create" -> this.handleCreateRank(player, args); + case "rename" -> this.handleRenameRank(player, args); + case "delete" -> this.handleDeleteRank(player, args); + case "add" -> this.handleAddRank(player, args); + case "remove" -> this.handleRemoveRank(player, args); + } + } + + public void handleList(Player player, String[] args) {} + + public void handleCreate(Player player, String[] args) {} + + public void handleRename(Player player, String[] args) {} + + public void handleTransfer(Player player, String[] args) {} + + public void handleJoin(Player player, String[] args) {} + + public void handleInvite(Player player, String[] args) {} + + public void handleLeave(Player player, String[] args) {} + + public void handleDisband(Player player, String[] args) {} + + public void handleSetWarp(Player player, String[] args) {} + + public void handleDelWarp(Player player, String[] args) {} + + public void handleWarp(Player player, String[] args) {} + + public void handleKick(Player player, String[] args) {} + + public void handleLog(Player player, String[] args) {} + + public void handleCreateRank(Player player, String[] args) {} + + public void handleRenameRank(Player player, String[] args) {} + + public void handleDeleteRank(Player player, String[] args) {} + + public void handleAddRank(Player player, String[] args) {} + + public void handleRemoveRank(Player player, String[] args) {} public Commands() {} } diff --git a/src/main/java/dev/zxq5/fantasysmp/groups/Team.java b/src/main/java/dev/zxq5/fantasysmp/groups/Team.java index 3a2ae0d..17984cf 100644 --- a/src/main/java/dev/zxq5/fantasysmp/groups/Team.java +++ b/src/main/java/dev/zxq5/fantasysmp/groups/Team.java @@ -1,7 +1,11 @@ package dev.zxq5.fantasysmp.groups; import com.google.gson.Gson; +import org.bukkit.entity.Player; + import java.io.*; +import java.util.ArrayList; + import static org.bukkit.Bukkit.getServer; public class Team { @@ -9,8 +13,43 @@ public class Team { private String name; private String ownerUUID; - private String[] members; - private String[] tag; + private ArrayList members; + private String tag; + + public Team(Player creator, String name, String tag) { + this.name = name; + this.tag = tag; + this.ownerUUID = creator.getUniqueId().toString(); + this.members = new ArrayList<>(); + members.add(creator.getUniqueId().toString()); + } + + public Team createTeam(Player creator, String name) { + Team team = new Team(creator, name, name); + + + + return team; + } + + + + + + + + + + + + + + + + + + + public static void loadTeams() throws Exception { File dataFolder = getServer().getPluginManager().getPlugin("Fantasysmp").getDataFolder(); diff --git a/src/main/java/dev/zxq5/fantasysmp/warps/Warper.java b/src/main/java/dev/zxq5/fantasysmp/warps/Warper.java index 81264bf..61ec411 100644 --- a/src/main/java/dev/zxq5/fantasysmp/warps/Warper.java +++ b/src/main/java/dev/zxq5/fantasysmp/warps/Warper.java @@ -1,5 +1,6 @@ package dev.zxq5.fantasysmp.warps; +import dev.zxq5.fantasysmp.chatutils.Chat; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -45,60 +46,60 @@ public class Warper implements CommandExecutor { public void handleHome(Player player, String[] args) { if (args.length != 0) { - this.error(player,"Usage: /home"); + Chat.error(player,"Usage: /home"); return; } Warp warp = Warp.getHome(player.getUniqueId()); if (warp == null) { - this.error(player,"No home set! use /sethome to set one."); + Chat.error(player,"No home set! use /sethome to set one."); return; } warp.execute(player); - this.success(player,"Warped Home!"); + Chat.success(player,"Warped Home!"); } public void handleSetHome(Player player, String[] args) { if (args.length != 0) { - this.error(player,"Usage: /sethome"); + Chat.error(player,"Usage: /sethome"); return; } Warp.setHome(player); - this.success(player,"Home set Successfully!"); + Chat.success(player,"Home set Successfully!"); } public void handleWarp(Player player, String[] args) { if (args.length != 1) { - this.error(player, "Usage: /warp "); + Chat.error(player, "Usage: /warp "); return; } Warp warp = Warp.getWarp(args[0]); if (warp == null) { - this.error(player, "Location [" + args[0] + "] does not exist or is not accessible to you!"); + Chat.error(player, "Location [" + args[0] + "] does not exist or is not accessible to you!"); return; }; warp.execute(player); - this.success(player, "Warped!"); + Chat.success(player, "Warped!"); } public void handleSetWarp(Player player, String[] args) { if (!(player.hasPermission("fantasysmp.manage_warps"))) { - this.error(player, "You do not have permission to use this command."); + Chat.error(player, "You do not have permission to use this command."); return; } if (args.length != 1) { - this.error(player, "Usage: /setwarp "); + Chat.error(player, "Usage: /setwarp "); return; } Warp.setWarp(args[0], player, WarpType.PUBLIC); - this.success(player, "Warp [" + args[0] + "] set Successfully!"); + Chat.success(player, "Warp [" + args[0] + "] set Successfully!"); } public void handleDelWarp(Player player, String[] args) { @@ -109,28 +110,15 @@ public class Warper implements CommandExecutor { try { Warp.loadWarps(); } catch (Exception e) { - this.error(player, "Failed to reload warps. please contact zxq5."); + Chat.error(player, "Failed to reload warps. please contact zxq5."); e.printStackTrace(); } - this.success(player, "Successfully reloaded warps from warps.json"); + Chat.success(player, "Successfully reloaded warps from warps.json"); } public void handleWarpsOther(Player player, String[] args) { if (args.length == 0) { - this.info(player, Warp.listWarps(player.getUniqueId())); + Chat.info(player, Warp.listWarps(player.getUniqueId())); } } - - - public void error(Player player, String message) { - player.sendMessage(EVENTPREFIX + ChatColor.RED + message); - } - - public void success(Player player, String message) { - player.sendMessage(EVENTPREFIX + ChatColor.GREEN + message); - } - - public void info(Player player, String message) { - player.sendMessage(EVENTPREFIX + message); - } }