mirror of
https://github.com/TotalFreedomMC/TFGuilds.git
synced 2024-12-23 00:15:03 +00:00
add guild mods, delete unused config
This commit is contained in:
parent
bc7ca70e72
commit
c8975e8576
11 changed files with 219 additions and 21 deletions
2
pom.xml
2
pom.xml
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
<groupId>me.totalfreedom</groupId>
|
<groupId>me.totalfreedom</groupId>
|
||||||
<artifactId>TFGuilds</artifactId>
|
<artifactId>TFGuilds</artifactId>
|
||||||
<version>0.1.5</version>
|
<version>0.1.6</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>TFGuilds</name>
|
<name>TFGuilds</name>
|
||||||
|
|
|
@ -12,7 +12,6 @@ public final class TFGuilds extends JavaPlugin
|
||||||
{
|
{
|
||||||
public static TFGuilds plugin;
|
public static TFGuilds plugin;
|
||||||
public TFMBridge tfmb;
|
public TFMBridge tfmb;
|
||||||
public Config config;
|
|
||||||
public Config guilds;
|
public Config guilds;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -21,7 +20,6 @@ public final class TFGuilds extends JavaPlugin
|
||||||
plugin = this;
|
plugin = this;
|
||||||
enableCommands();
|
enableCommands();
|
||||||
enableListeners();
|
enableListeners();
|
||||||
config = new Config(plugin, "config.yml");
|
|
||||||
guilds = new Config(plugin, "guilds.yml");
|
guilds = new Config(plugin, "guilds.yml");
|
||||||
tfmb = new TFMBridge();
|
tfmb = new TFMBridge();
|
||||||
GLog.info("Enabled");
|
GLog.info("Enabled");
|
||||||
|
@ -30,7 +28,6 @@ public final class TFGuilds extends JavaPlugin
|
||||||
@Override
|
@Override
|
||||||
public void onDisable()
|
public void onDisable()
|
||||||
{
|
{
|
||||||
config.save();
|
|
||||||
guilds.save();
|
guilds.save();
|
||||||
GLog.info("Disabled");
|
GLog.info("Disabled");
|
||||||
}
|
}
|
||||||
|
@ -48,6 +45,8 @@ public final class TFGuilds extends JavaPlugin
|
||||||
this.getCommand("guildkick").setExecutor(new GuildKickCommand());
|
this.getCommand("guildkick").setExecutor(new GuildKickCommand());
|
||||||
this.getCommand("guildinfo").setExecutor(new GuildInfoCommand());
|
this.getCommand("guildinfo").setExecutor(new GuildInfoCommand());
|
||||||
this.getCommand("guildadmin").setExecutor(new GuildAdminCommand());
|
this.getCommand("guildadmin").setExecutor(new GuildAdminCommand());
|
||||||
|
this.getCommand("guildsetmoderator").setExecutor(new GuildSetModeratorCommand());
|
||||||
|
this.getCommand("guildremovemoderator").setExecutor(new GuildRemoveModeratorCommand());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void enableListeners()
|
private void enableListeners()
|
||||||
|
|
|
@ -17,7 +17,7 @@ public class GuildInfoCommand extends GBase implements CommandExecutor
|
||||||
{
|
{
|
||||||
if (args.length == 0)
|
if (args.length == 0)
|
||||||
{
|
{
|
||||||
if (GUtil.isConsole(sender))
|
if (GUtil.isConsole(sender) || GUtil.getGuild((Player) sender) == null)
|
||||||
{
|
{
|
||||||
sender.sendMessage(GUtil.color("&cProvide a guild name."));
|
sender.sendMessage(GUtil.color("&cProvide a guild name."));
|
||||||
return true;
|
return true;
|
||||||
|
@ -25,14 +25,8 @@ public class GuildInfoCommand extends GBase implements CommandExecutor
|
||||||
|
|
||||||
Player player = (Player) sender;
|
Player player = (Player) sender;
|
||||||
String guild = GUtil.getGuild(player);
|
String guild = GUtil.getGuild(player);
|
||||||
|
|
||||||
if (guild == null)
|
|
||||||
{
|
|
||||||
player.sendMessage(GMessage.NOT_IN_GUILD);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
String owner = GUtil.getOwner(guild);
|
String owner = GUtil.getOwner(guild);
|
||||||
|
List<String> moderators = GUtil.getModerators(guild);
|
||||||
String tag = GUtil.getTag(guild);
|
String tag = GUtil.getTag(guild);
|
||||||
String creation = GUtil.getTimeCreated(guild);
|
String creation = GUtil.getTimeCreated(guild);
|
||||||
List<String> members = GUtil.getMember(guild);
|
List<String> members = GUtil.getMember(guild);
|
||||||
|
@ -40,6 +34,7 @@ public class GuildInfoCommand extends GBase implements CommandExecutor
|
||||||
player.sendMessage(GUtil.color("&2-=-=-=- &aGuild Information &2-=-=-=-"));
|
player.sendMessage(GUtil.color("&2-=-=-=- &aGuild Information &2-=-=-=-"));
|
||||||
player.sendMessage(GUtil.color("&2Guild Name: &a" + guild));
|
player.sendMessage(GUtil.color("&2Guild Name: &a" + guild));
|
||||||
player.sendMessage(GUtil.color("&2Guild Owner: &a" + owner));
|
player.sendMessage(GUtil.color("&2Guild Owner: &a" + owner));
|
||||||
|
player.sendMessage(GUtil.color("&2Guild Moderators: &a" + moderators));
|
||||||
player.sendMessage(GUtil.color("&2Guild Tag: &a" + tag));
|
player.sendMessage(GUtil.color("&2Guild Tag: &a" + tag));
|
||||||
player.sendMessage(GUtil.color("&2Guild Creation Date: &a" + creation));
|
player.sendMessage(GUtil.color("&2Guild Creation Date: &a" + creation));
|
||||||
player.sendMessage(GUtil.color("&2Member Count: &a" + members.size()));
|
player.sendMessage(GUtil.color("&2Member Count: &a" + members.size()));
|
||||||
|
@ -56,6 +51,7 @@ public class GuildInfoCommand extends GBase implements CommandExecutor
|
||||||
}
|
}
|
||||||
|
|
||||||
String owner = GUtil.getOwner(guild);
|
String owner = GUtil.getOwner(guild);
|
||||||
|
List<String> moderators = GUtil.getModerators(guild);
|
||||||
String tag = GUtil.getTag(guild);
|
String tag = GUtil.getTag(guild);
|
||||||
String creation = GUtil.getTimeCreated(guild);
|
String creation = GUtil.getTimeCreated(guild);
|
||||||
List<String> members = GUtil.getMember(guild);
|
List<String> members = GUtil.getMember(guild);
|
||||||
|
@ -63,6 +59,7 @@ public class GuildInfoCommand extends GBase implements CommandExecutor
|
||||||
sender.sendMessage(GUtil.color("&2-=-=-=- &aGuild Information &2-=-=-=-"));
|
sender.sendMessage(GUtil.color("&2-=-=-=- &aGuild Information &2-=-=-=-"));
|
||||||
sender.sendMessage(GUtil.color("&2Guild Name: &a" + guild));
|
sender.sendMessage(GUtil.color("&2Guild Name: &a" + guild));
|
||||||
sender.sendMessage(GUtil.color("&2Guild Owner: &a" + owner));
|
sender.sendMessage(GUtil.color("&2Guild Owner: &a" + owner));
|
||||||
|
sender.sendMessage(GUtil.color("&2Guild Moderators: &a" + moderators));
|
||||||
sender.sendMessage(GUtil.color("&2Guild Tag: &a" + tag));
|
sender.sendMessage(GUtil.color("&2Guild Tag: &a" + tag));
|
||||||
sender.sendMessage(GUtil.color("&2Guild Creation Date: &a" + creation));
|
sender.sendMessage(GUtil.color("&2Guild Creation Date: &a" + creation));
|
||||||
sender.sendMessage(GUtil.color("&2Member Count: &a" + members.size()));
|
sender.sendMessage(GUtil.color("&2Member Count: &a" + members.size()));
|
||||||
|
|
|
@ -37,10 +37,9 @@ public class GuildKickCommand extends GBase implements CommandExecutor
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
String owner = GUtil.getOwner(guild);
|
if (!GUtil.isGuildModerator(player, guild))
|
||||||
if (!owner.equalsIgnoreCase(player.getName()))
|
|
||||||
{
|
{
|
||||||
player.sendMessage(GMessage.NOT_OWNER);
|
player.sendMessage(ChatColor.RED + "You must be a guild moderator in order to kick members.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,6 +56,12 @@ public class GuildKickCommand extends GBase implements CommandExecutor
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GUtil.isGuildModerator(target, guild))
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "This player is a moderator and therefore cannot be kicked.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (target == player)
|
if (target == player)
|
||||||
{
|
{
|
||||||
player.sendMessage(ChatColor.RED + "You may not kick yourself.");
|
player.sendMessage(ChatColor.RED + "You may not kick yourself.");
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
package me.totalfreedom.tfguilds.command;
|
||||||
|
|
||||||
|
import me.totalfreedom.tfguilds.util.GBase;
|
||||||
|
import me.totalfreedom.tfguilds.util.GMessage;
|
||||||
|
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 GuildRemoveModeratorCommand extends GBase implements CommandExecutor
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
|
||||||
|
{
|
||||||
|
if (args.length == 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GUtil.isConsole(sender))
|
||||||
|
{
|
||||||
|
sender.sendMessage(GMessage.PLAYER_ONLY);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player = (Player) sender;
|
||||||
|
String guild = GUtil.getGuild(player);
|
||||||
|
|
||||||
|
if (guild == null)
|
||||||
|
{
|
||||||
|
player.sendMessage(GMessage.NOT_IN_GUILD);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
String owner = GUtil.getOwner(guild);
|
||||||
|
if (!owner.equalsIgnoreCase(player.getName()))
|
||||||
|
{
|
||||||
|
player.sendMessage(GMessage.NOT_OWNER);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player target = Bukkit.getPlayer(args[0]);
|
||||||
|
if (target == null)
|
||||||
|
{
|
||||||
|
player.sendMessage(GMessage.PLAYER_NOT_FOUND);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!GUtil.isGuildMember(target, GUtil.getGuild(player)))
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "That player isn't in your guild.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!GUtil.isGuildModerator(target, guild))
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "This player isn't a guild moderator.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target == player)
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "You may not demote yourself.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> moderators = plugin.guilds.getStringList("guilds." + guild + ".moderators");
|
||||||
|
moderators.remove(target.getName());
|
||||||
|
plugin.guilds.set("guilds." + guild + ".moderators", moderators);
|
||||||
|
|
||||||
|
for (Player p : Bukkit.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
if (GUtil.isGuildMember(p, guild))
|
||||||
|
{
|
||||||
|
p.sendMessage(ChatColor.RED + target.getName() + " has been demoted to guild member");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
player.sendMessage(ChatColor.GREEN + "Successfully demoted " + target.getName() + " to guild member");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,86 @@
|
||||||
|
package me.totalfreedom.tfguilds.command;
|
||||||
|
|
||||||
|
import me.totalfreedom.tfguilds.util.GBase;
|
||||||
|
import me.totalfreedom.tfguilds.util.GMessage;
|
||||||
|
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 GuildSetModeratorCommand extends GBase implements CommandExecutor
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
|
||||||
|
{
|
||||||
|
if (args.length == 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GUtil.isConsole(sender))
|
||||||
|
{
|
||||||
|
sender.sendMessage(GMessage.PLAYER_ONLY);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player = (Player) sender;
|
||||||
|
String guild = GUtil.getGuild(player);
|
||||||
|
|
||||||
|
if (guild == null)
|
||||||
|
{
|
||||||
|
player.sendMessage(GMessage.NOT_IN_GUILD);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
String owner = GUtil.getOwner(guild);
|
||||||
|
if (!owner.equalsIgnoreCase(player.getName()))
|
||||||
|
{
|
||||||
|
player.sendMessage(GMessage.NOT_OWNER);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player target = Bukkit.getPlayer(args[0]);
|
||||||
|
if (target == null)
|
||||||
|
{
|
||||||
|
player.sendMessage(GMessage.PLAYER_NOT_FOUND);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!GUtil.isGuildMember(target, guild))
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "That player isn't in your guild.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GUtil.isGuildModerator(target, guild))
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "This player is already a guild moderator.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target == player)
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "You are already a moderator.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> moderators = plugin.guilds.getStringList("guilds." + guild + ".moderators");
|
||||||
|
moderators.add(target.getName());
|
||||||
|
plugin.guilds.set("guilds." + guild + ".moderators", moderators);
|
||||||
|
|
||||||
|
for (Player p : Bukkit.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
if (GUtil.isGuildMember(p, guild))
|
||||||
|
{
|
||||||
|
p.sendMessage(ChatColor.GREEN + target.getName() + " has been promoted to guild moderator");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
player.sendMessage(ChatColor.GREEN + "Successfully promoted " + target.getName() + " to guild moderator");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -33,6 +33,12 @@ public class InviteGuildCommand extends GBase implements CommandExecutor
|
||||||
|
|
||||||
if (target != null)
|
if (target != null)
|
||||||
{
|
{
|
||||||
|
if (!GUtil.isGuildModerator(player, GUtil.getGuild(player)))
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "You must be a guild moderator in order to invite players.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (GUtil.isGuildMember(target, GUtil.getGuild(player)))
|
if (GUtil.isGuildMember(target, GUtil.getGuild(player)))
|
||||||
{
|
{
|
||||||
player.sendMessage(ChatColor.RED + "That player is already in a guild.");
|
player.sendMessage(ChatColor.RED + "That player is already in a guild.");
|
||||||
|
|
|
@ -32,10 +32,8 @@ public class TfGuildsCommand extends GBase implements CommandExecutor
|
||||||
sender.sendMessage(GMessage.NO_PERMISSION);
|
sender.sendMessage(GMessage.NO_PERMISSION);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
plugin.config.load();
|
|
||||||
plugin.guilds.load();
|
plugin.guilds.load();
|
||||||
GLog.info("All configs reloaded successfully");
|
GLog.info("All configs reloaded successfully");
|
||||||
sender.sendMessage(GUtil.color("&aAll configuration files have been reloaded successfully."));
|
sender.sendMessage(GUtil.color("&aAll configuration files have been reloaded successfully."));
|
||||||
|
|
|
@ -31,6 +31,10 @@ public class GUtil
|
||||||
plugin.guilds.set("guilds." + guildName, guildName);
|
plugin.guilds.set("guilds." + guildName, guildName);
|
||||||
plugin.guilds.set("guilds." + guildName + ".owner", owner.getName());
|
plugin.guilds.set("guilds." + guildName + ".owner", owner.getName());
|
||||||
|
|
||||||
|
List<String> moderators = plugin.guilds.getStringList("guilds." + guildName + ".moderators");
|
||||||
|
moderators.add(owner.getName());
|
||||||
|
plugin.guilds.set("guilds." + guildName + ".moderators", moderators);
|
||||||
|
|
||||||
List<String> players = plugin.guilds.getStringList("guilds." + guildName + ".members");
|
List<String> players = plugin.guilds.getStringList("guilds." + guildName + ".members");
|
||||||
players.add(owner.getName());
|
players.add(owner.getName());
|
||||||
plugin.guilds.set("guilds." + guildName + ".members", players);
|
plugin.guilds.set("guilds." + guildName + ".members", players);
|
||||||
|
@ -159,6 +163,11 @@ public class GUtil
|
||||||
return plugin.guilds.getString("guilds." + guildName + ".owner");
|
return plugin.guilds.getString("guilds." + guildName + ".owner");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<String> getModerators(String guildName)
|
||||||
|
{
|
||||||
|
return plugin.guilds.getStringList("guilds." + guildName + ".moderators");
|
||||||
|
}
|
||||||
|
|
||||||
public static List<String> getMember(String guildName)
|
public static List<String> getMember(String guildName)
|
||||||
{
|
{
|
||||||
return plugin.guilds.getStringList("guilds." + guildName + ".members");
|
return plugin.guilds.getStringList("guilds." + guildName + ".members");
|
||||||
|
@ -166,7 +175,12 @@ public class GUtil
|
||||||
|
|
||||||
public static boolean isGuildMember(Player player, String guildName)
|
public static boolean isGuildMember(Player player, String guildName)
|
||||||
{
|
{
|
||||||
return getMember(guildName).contains(player.getName().toLowerCase());
|
return getMember(guildName).contains(player.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isGuildModerator(Player player, String guildName)
|
||||||
|
{
|
||||||
|
return getModerators(guildName).contains(player.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void guildChat(CommandSender sender, String message, String guildName)
|
public static void guildChat(CommandSender sender, String message, String guildName)
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
# TFGuilds Configuration File
|
|
|
@ -12,7 +12,7 @@ commands:
|
||||||
aliases: [guilds, tfguildsinfo, tfginfo, guildsinfo]
|
aliases: [guilds, tfguildsinfo, tfginfo, guildsinfo]
|
||||||
createguild:
|
createguild:
|
||||||
description: Creates a guild
|
description: Creates a guild
|
||||||
usage: /<command> <name>
|
usage: /<command> <guild>
|
||||||
aliases: [guildcreate]
|
aliases: [guildcreate]
|
||||||
guildtag:
|
guildtag:
|
||||||
description: Modify your guild's tag
|
description: Modify your guild's tag
|
||||||
|
@ -47,3 +47,11 @@ commands:
|
||||||
guildadmin:
|
guildadmin:
|
||||||
description: Guild commands only for admins
|
description: Guild commands only for admins
|
||||||
usage: /<command> <cleartag | disbandguild | join> <guild>
|
usage: /<command> <cleartag | disbandguild | join> <guild>
|
||||||
|
guildsetmoderator:
|
||||||
|
description: Promotes a player to guild mod
|
||||||
|
usage: /<command> <player>
|
||||||
|
aliases: [gsetmod, setguildmod, setguildmoderator, guildsetmod, guildpromote, gpromote]
|
||||||
|
guildremovemoderator:
|
||||||
|
description: /<command> <player>
|
||||||
|
usage: /<command> <player>
|
||||||
|
aliases: [gremovemod, removeguildmod, removeguildmoderator, guildremovemod, guilddemote, gdemote]
|
Loading…
Reference in a new issue