From 6479bbc76b8b9ca147a531f662cdf5def1130506 Mon Sep 17 00:00:00 2001
From: speedxx <43330808+speedxx@users.noreply.github.com>
Date: Sun, 21 Jun 2020 12:00:01 -0400
Subject: [PATCH] guildkick
---
pom.xml | 2 +-
.../me/totalfreedom/tfguilds/TFGuilds.java | 1 +
.../tfguilds/command/GuildKickCommand.java | 66 +++++++++++++++++++
.../tfguilds/command/InviteGuildCommand.java | 2 +-
src/main/resources/plugin.yml | 5 +-
5 files changed, 73 insertions(+), 3 deletions(-)
create mode 100644 src/main/java/me/totalfreedom/tfguilds/command/GuildKickCommand.java
diff --git a/pom.xml b/pom.xml
index 33258ef..ef5fb91 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
me.totalfreedom
TFGuilds
- 0.1.0
+ 0.1.1
jar
TFGuilds
diff --git a/src/main/java/me/totalfreedom/tfguilds/TFGuilds.java b/src/main/java/me/totalfreedom/tfguilds/TFGuilds.java
index c176789..54d14d8 100644
--- a/src/main/java/me/totalfreedom/tfguilds/TFGuilds.java
+++ b/src/main/java/me/totalfreedom/tfguilds/TFGuilds.java
@@ -45,6 +45,7 @@ public final class TFGuilds extends JavaPlugin
this.getCommand("guildteleport").setExecutor(new GuildTeleportCommand());
this.getCommand("inviteguild").setExecutor(new InviteGuildCommand());
this.getCommand("leaveguild").setExecutor(new LeaveGuildCommand());
+ this.getCommand("guildkick").setExecutor(new GuildKickCommand());
}
private void enableListeners()
diff --git a/src/main/java/me/totalfreedom/tfguilds/command/GuildKickCommand.java b/src/main/java/me/totalfreedom/tfguilds/command/GuildKickCommand.java
new file mode 100644
index 0000000..7786136
--- /dev/null
+++ b/src/main/java/me/totalfreedom/tfguilds/command/GuildKickCommand.java
@@ -0,0 +1,66 @@
+package me.totalfreedom.tfguilds.command;
+
+import me.totalfreedom.tfguilds.util.GBase;
+import me.totalfreedom.tfguilds.util.GUtil;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+import java.util.List;
+
+public class GuildKickCommand extends GBase implements CommandExecutor
+{
+ @Override
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
+ {
+ if (args.length == 0)
+ {
+ return false;
+ }
+
+ Player player = (Player) sender;
+ if (GUtil.isConsole(player))
+ {
+ sender.sendMessage(ChatColor.RED + "You are not allowed to run this command.");
+ return true;
+ }
+
+ String guild = GUtil.getGuild(player);
+ if (guild == null)
+ {
+ sender.sendMessage(ChatColor.RED + "You aren't in a guild!");
+ return true;
+ }
+
+ String owner = GUtil.getOwner(guild);
+ if (!owner.equalsIgnoreCase(player.getName()))
+ {
+ sender.sendMessage(ChatColor.RED + "You aren't the owner of your guild!");
+ return true;
+ }
+
+ Player target = Bukkit.getPlayer(args[0]);
+ if (target == null)
+ {
+ sender.sendMessage(ChatColor.RED + "Player not found");
+ return true;
+ }
+
+ List players = plugin.guilds.getStringList("guilds." + guild + ".members");
+ players.remove(target.getName());
+ plugin.guilds.set("guilds." + guild + ".members", players);
+ plugin.guilds.save();
+ for (Player p : Bukkit.getOnlinePlayers())
+ {
+ if (GUtil.isGuildMember(p, guild))
+ {
+ p.sendMessage(ChatColor.RED + target.getName() + " has been kicked from the guild");
+ }
+ }
+ sender.sendMessage(ChatColor.GREEN + "Successfully kicked " + target.getName() + " from the guild");
+ return true;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/me/totalfreedom/tfguilds/command/InviteGuildCommand.java b/src/main/java/me/totalfreedom/tfguilds/command/InviteGuildCommand.java
index b0553cf..10eab55 100644
--- a/src/main/java/me/totalfreedom/tfguilds/command/InviteGuildCommand.java
+++ b/src/main/java/me/totalfreedom/tfguilds/command/InviteGuildCommand.java
@@ -56,7 +56,7 @@ public class InviteGuildCommand extends GBase implements CommandExecutor
player.sendMessage(ChatColor.GREEN + "You have successfully joined " + guild);
for (Player p : Bukkit.getOnlinePlayers())
{
- if (GUtil.isGuildMember(player, guild))
+ if (GUtil.isGuildMember(p, guild))
{
p.sendMessage(ChatColor.GREEN + player.getName() + " has joined the guild");
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index c548032..dabf402 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -37,4 +37,7 @@ commands:
leaveguild:
description: Leave your guild
usage: /
- aliases: [guildleave]
\ No newline at end of file
+ aliases: [guildleave]
+ guildkick:
+ description: Kicks a player from the guild
+ usage: /
\ No newline at end of file