diff --git a/src/main/java/rip/tilly/bedwars/commands/party/AcceptCommand.java b/src/main/java/rip/tilly/bedwars/commands/party/AcceptCommand.java new file mode 100644 index 0000000..a966cd1 --- /dev/null +++ b/src/main/java/rip/tilly/bedwars/commands/party/AcceptCommand.java @@ -0,0 +1,36 @@ +package rip.tilly.bedwars.commands.party; + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import rip.tilly.bedwars.BedWars; +import rip.tilly.bedwars.commands.BaseCommand; + +import java.util.ArrayList; +import java.util.List; + +public class AcceptCommand extends BaseCommand { + + private BedWars main = BedWars.getInstance(); + + @Override + public void executeAs(CommandSender sender, Command cmd, String label, String[] args) { + Player player = (Player) sender; + + Player target = Bukkit.getPlayer(args[1]); + + if (target == null) { + return; + } + + this.main.getPartyManager().joinParty(player.getUniqueId(), target); + } + + @Override + public List getTabCompletions(CommandSender sender, Command cmd, String label, String[] args) { + List tabCompletions = new ArrayList(); + + return tabCompletions; + } +} diff --git a/src/main/java/rip/tilly/bedwars/commands/party/CreateCommand.java b/src/main/java/rip/tilly/bedwars/commands/party/CreateCommand.java new file mode 100644 index 0000000..dfaae0d --- /dev/null +++ b/src/main/java/rip/tilly/bedwars/commands/party/CreateCommand.java @@ -0,0 +1,28 @@ +package rip.tilly.bedwars.commands.party; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import rip.tilly.bedwars.BedWars; +import rip.tilly.bedwars.commands.BaseCommand; +import java.util.ArrayList; +import java.util.List; + +public class CreateCommand extends BaseCommand { + + private BedWars main = BedWars.getInstance(); + + @Override + public void executeAs(CommandSender sender, Command cmd, String label, String[] args) { + Player player = (Player) sender; + + this.main.getPartyManager().createParty(player); + } + + @Override + public List getTabCompletions(CommandSender sender, Command cmd, String label, String[] args) { + List tabCompletions = new ArrayList(); + + return tabCompletions; + } +} diff --git a/src/main/java/rip/tilly/bedwars/commands/party/InfoCommand.java b/src/main/java/rip/tilly/bedwars/commands/party/InfoCommand.java new file mode 100644 index 0000000..60201f7 --- /dev/null +++ b/src/main/java/rip/tilly/bedwars/commands/party/InfoCommand.java @@ -0,0 +1,40 @@ +package rip.tilly.bedwars.commands.party; + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import rip.tilly.bedwars.BedWars; +import rip.tilly.bedwars.commands.BaseCommand; +import rip.tilly.bedwars.utils.CC; + +import java.util.ArrayList; +import java.util.List; + +public class InfoCommand extends BaseCommand { + + private BedWars main = BedWars.getInstance(); + + @Override + public void executeAs(CommandSender sender, Command cmd, String label, String[] args) { + Player player = (Player) sender; + + if (this.main.getPartyManager().getParty(player.getUniqueId()) == null) { + return; + } + + player.sendMessage(CC.translate(CC.chatBar)); + player.sendMessage(CC.translate("&dParty Information")); + player.sendMessage(CC.translate(CC.chatBar)); + player.sendMessage("&7⚫ &9Leader: &e" + Bukkit.getPlayer(this.main.getPartyManager().getParty(player.getUniqueId()).getLeader()).getName()); + player.sendMessage("&7⚫ &9Party members: &e" + this.main.getPartyManager().getParty(player.getUniqueId()).getMembers().size() + "&7/&e" + this.main.getPartyManager().getParty(player.getUniqueId()).getLimit()); + player.sendMessage(CC.translate(CC.chatBar)); + } + + @Override + public List getTabCompletions(CommandSender sender, Command cmd, String label, String[] args) { + List tabCompletions = new ArrayList(); + + return tabCompletions; + } +} diff --git a/src/main/java/rip/tilly/bedwars/commands/party/InviteCommand.java b/src/main/java/rip/tilly/bedwars/commands/party/InviteCommand.java new file mode 100644 index 0000000..8feecb9 --- /dev/null +++ b/src/main/java/rip/tilly/bedwars/commands/party/InviteCommand.java @@ -0,0 +1,36 @@ +package rip.tilly.bedwars.commands.party; + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import rip.tilly.bedwars.BedWars; +import rip.tilly.bedwars.commands.BaseCommand; + +import java.util.ArrayList; +import java.util.List; + +public class InviteCommand extends BaseCommand { + + private BedWars main = BedWars.getInstance(); + + @Override + public void executeAs(CommandSender sender, Command cmd, String label, String[] args) { + Player player = (Player) sender; + + Player target = Bukkit.getPlayer(args[1]); + + if (target == null) { + return; + } + + this.main.getPartyManager().createPartyInvite(player.getUniqueId(), target.getUniqueId()); + } + + @Override + public List getTabCompletions(CommandSender sender, Command cmd, String label, String[] args) { + List tabCompletions = new ArrayList(); + + return tabCompletions; + } +} diff --git a/src/main/java/rip/tilly/bedwars/commands/party/JoinCommand.java b/src/main/java/rip/tilly/bedwars/commands/party/JoinCommand.java new file mode 100644 index 0000000..420bed4 --- /dev/null +++ b/src/main/java/rip/tilly/bedwars/commands/party/JoinCommand.java @@ -0,0 +1,36 @@ +package rip.tilly.bedwars.commands.party; + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import rip.tilly.bedwars.BedWars; +import rip.tilly.bedwars.commands.BaseCommand; + +import java.util.ArrayList; +import java.util.List; + +public class JoinCommand extends BaseCommand { + + private BedWars main = BedWars.getInstance(); + + @Override + public void executeAs(CommandSender sender, Command cmd, String label, String[] args) { + Player player = (Player) sender; + + Player target = Bukkit.getPlayer(args[1]); + + if (target == null) { + return; + } + + this.main.getPartyManager().joinParty(target.getUniqueId(), player); + } + + @Override + public List getTabCompletions(CommandSender sender, Command cmd, String label, String[] args) { + List tabCompletions = new ArrayList(); + + return tabCompletions; + } +} diff --git a/src/main/java/rip/tilly/bedwars/commands/party/LeaveCommand.java b/src/main/java/rip/tilly/bedwars/commands/party/LeaveCommand.java new file mode 100644 index 0000000..5a237fd --- /dev/null +++ b/src/main/java/rip/tilly/bedwars/commands/party/LeaveCommand.java @@ -0,0 +1,29 @@ +package rip.tilly.bedwars.commands.party; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import rip.tilly.bedwars.BedWars; +import rip.tilly.bedwars.commands.BaseCommand; + +import java.util.ArrayList; +import java.util.List; + +public class LeaveCommand extends BaseCommand { + + private BedWars main = BedWars.getInstance(); + + @Override + public void executeAs(CommandSender sender, Command cmd, String label, String[] args) { + Player player = (Player) sender; + + this.main.getPartyManager().leaveParty(player); + } + + @Override + public List getTabCompletions(CommandSender sender, Command cmd, String label, String[] args) { + List tabCompletions = new ArrayList(); + + return tabCompletions; + } +} diff --git a/src/main/java/rip/tilly/bedwars/commands/party/PartyCommand.java b/src/main/java/rip/tilly/bedwars/commands/party/PartyCommand.java new file mode 100644 index 0000000..4bdf009 --- /dev/null +++ b/src/main/java/rip/tilly/bedwars/commands/party/PartyCommand.java @@ -0,0 +1,60 @@ +package rip.tilly.bedwars.commands.party; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import rip.tilly.bedwars.BedWars; +import rip.tilly.bedwars.utils.CC; + +public class PartyCommand implements CommandExecutor { + + private BedWars main = BedWars.getInstance(); + + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + Player player = (Player) sender; + + if (args.length == 0) { + player.sendMessage(CC.translate(CC.chatBar)); + player.sendMessage(CC.translate("&dParty Commands")); + player.sendMessage(CC.translate(CC.chatBar)); + player.sendMessage("&7⚫ &9/party &7- &eParty help information"); + player.sendMessage("&7⚫ &9/party create &7- &eCreate a party"); + player.sendMessage("&7⚫ &9/party leave &7- &eLeave a party"); + player.sendMessage("&7⚫ &9/party join &7- &eJoin a party"); + player.sendMessage("&7⚫ &9/party accept &7- &eAccept a party invitation"); + player.sendMessage("&7⚫ &9/party invite &7- &eInvite a player to a party"); + player.sendMessage("&7⚫ &9/party info &7- &eCheck a party's information"); + player.sendMessage(CC.translate(CC.chatBar)); + } else { + switch (args[0]) { + case "create": + new CreateCommand().executeAs(sender, cmd, label, args); + + break; + case "leave": + new LeaveCommand().executeAs(sender, cmd, label, args); + + break; + case "join": + new JoinCommand().executeAs(sender, cmd, label, args); + + break; + case "accept": + new AcceptCommand().executeAs(sender, cmd, label, args); + + break; + case "invite": + new InviteCommand().executeAs(sender, cmd, label, args); + + break; + case "info": + new InfoCommand().executeAs(sender, cmd, label, args); + + break; + } + } + + return true; + } +} diff --git a/src/main/java/rip/tilly/bedwars/commands/party/RemoveCommand.java b/src/main/java/rip/tilly/bedwars/commands/party/RemoveCommand.java new file mode 100644 index 0000000..a508a86 --- /dev/null +++ b/src/main/java/rip/tilly/bedwars/commands/party/RemoveCommand.java @@ -0,0 +1,4 @@ +package rip.tilly.bedwars.commands.party; + +public class RemoveCommand { +} diff --git a/src/main/java/rip/tilly/bedwars/managers/CommandManager.java b/src/main/java/rip/tilly/bedwars/managers/CommandManager.java index ea327f9..c6313c5 100644 --- a/src/main/java/rip/tilly/bedwars/managers/CommandManager.java +++ b/src/main/java/rip/tilly/bedwars/managers/CommandManager.java @@ -2,6 +2,7 @@ package rip.tilly.bedwars.managers; import rip.tilly.bedwars.BedWars; import rip.tilly.bedwars.commands.level.LevelCommand; +import rip.tilly.bedwars.commands.party.PartyCommand; import rip.tilly.bedwars.commands.setspawn.SetSpawnCommand; import rip.tilly.bedwars.commands.xp.XpCommand; @@ -17,5 +18,6 @@ public class CommandManager { this.main.getCommand("setspawn").setExecutor(new SetSpawnCommand()); this.main.getCommand("level").setExecutor(new LevelCommand()); this.main.getCommand("xp").setExecutor(new XpCommand()); + this.main.getCommand("party").setExecutor(new PartyCommand()); } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index c9b2c73..dc8b52b 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -8,4 +8,5 @@ authors: commands: setspawn: level: - xp: \ No newline at end of file + xp: + party: \ No newline at end of file