mirror of
https://github.com/TotalFreedomMC/TFGuilds.git
synced 2024-12-22 16:05:00 +00:00
fix guildtag, add guildchat
This commit is contained in:
parent
521b4da919
commit
b1df1c2ab2
7 changed files with 125 additions and 12 deletions
|
@ -1,10 +1,14 @@
|
||||||
package totalfreedom.tfguilds;
|
package totalfreedom.tfguilds;
|
||||||
|
|
||||||
|
import org.bukkit.plugin.PluginManager;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import totalfreedom.tfguilds.bridge.TFMBridge;
|
import totalfreedom.tfguilds.bridge.TFMBridge;
|
||||||
import totalfreedom.tfguilds.command.CreateGuildCommand;
|
import totalfreedom.tfguilds.command.CreateGuildCommand;
|
||||||
|
import totalfreedom.tfguilds.command.GuildChatCommand;
|
||||||
|
import totalfreedom.tfguilds.command.GuildTagCommand;
|
||||||
import totalfreedom.tfguilds.command.TfGuildsCommand;
|
import totalfreedom.tfguilds.command.TfGuildsCommand;
|
||||||
import totalfreedom.tfguilds.config.Config;
|
import totalfreedom.tfguilds.config.Config;
|
||||||
|
import totalfreedom.tfguilds.listener.ChatManager;
|
||||||
import totalfreedom.tfguilds.util.GLog;
|
import totalfreedom.tfguilds.util.GLog;
|
||||||
|
|
||||||
public final class TFGuilds extends JavaPlugin
|
public final class TFGuilds extends JavaPlugin
|
||||||
|
@ -19,6 +23,7 @@ public final class TFGuilds extends JavaPlugin
|
||||||
{
|
{
|
||||||
plugin = this;
|
plugin = this;
|
||||||
enableCommands();
|
enableCommands();
|
||||||
|
enableListeners();
|
||||||
config = new Config(plugin, "config.yml");
|
config = new Config(plugin, "config.yml");
|
||||||
guilds = new Config(plugin, "guilds.yml");
|
guilds = new Config(plugin, "guilds.yml");
|
||||||
tfmb = new TFMBridge();
|
tfmb = new TFMBridge();
|
||||||
|
@ -37,5 +42,13 @@ public final class TFGuilds extends JavaPlugin
|
||||||
{
|
{
|
||||||
this.getCommand("tfguilds").setExecutor(new TfGuildsCommand());
|
this.getCommand("tfguilds").setExecutor(new TfGuildsCommand());
|
||||||
this.getCommand("createguild").setExecutor(new CreateGuildCommand());
|
this.getCommand("createguild").setExecutor(new CreateGuildCommand());
|
||||||
|
this.getCommand("guildtag").setExecutor(new GuildTagCommand());
|
||||||
|
this.getCommand("guildchat").setExecutor(new GuildChatCommand());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void enableListeners()
|
||||||
|
{
|
||||||
|
PluginManager manager = this.getServer().getPluginManager();
|
||||||
|
manager.registerEvents(new ChatManager(), this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class CreateGuildCommand extends GBase implements CommandExecutor
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (guild.equals(args[0]))
|
if (guild.equals(args[0].toLowerCase()))
|
||||||
{
|
{
|
||||||
player.sendMessage(ChatColor.RED + "A guild with that name already exists.");
|
player.sendMessage(ChatColor.RED + "A guild with that name already exists.");
|
||||||
return true;
|
return true;
|
||||||
|
@ -54,6 +54,16 @@ public class CreateGuildCommand extends GBase implements CommandExecutor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (String blacklisted : GUtil.BLACKLISTED_NAMES_AND_TAGS)
|
||||||
|
{
|
||||||
|
if (args[0].toLowerCase().contains(blacklisted))
|
||||||
|
{
|
||||||
|
sender.sendMessage(ChatColor.RED + "You may not use that name.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
GUtil.createGuild(sender, args[0]);
|
GUtil.createGuild(sender, args[0]);
|
||||||
sender.sendMessage(ChatColor.GREEN + "Successfully created a guild named " + args[0]);
|
sender.sendMessage(ChatColor.GREEN + "Successfully created a guild named " + args[0]);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
package totalfreedom.tfguilds.command;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
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 totalfreedom.tfguilds.util.GBase;
|
||||||
|
import totalfreedom.tfguilds.util.GUtil;
|
||||||
|
|
||||||
|
public class GuildChatCommand 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
GUtil.guildChat(sender, StringUtils.join(args, " "), guild);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -44,8 +44,14 @@ public class GuildTagCommand extends GBase implements CommandExecutor
|
||||||
{
|
{
|
||||||
if (args[0].equalsIgnoreCase("set"))
|
if (args[0].equalsIgnoreCase("set"))
|
||||||
{
|
{
|
||||||
GUtil.setTag(args[1], guild);
|
if (!args[1].toLowerCase().equals(guild))
|
||||||
sender.sendMessage(ChatColor.GRAY + "Guild tag set to \"" + GUtil.color(args[1]) + ChatColor.GRAY + "\"");
|
{
|
||||||
|
sender.sendMessage(ChatColor.RED + "Your guild tag must contain your guild name.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
GUtil.setTag(GUtil.color(args[1]), guild);
|
||||||
|
sender.sendMessage(ChatColor.GREEN + "Guild tag set to \"" + GUtil.color(args[1]) + ChatColor.GREEN + "\"");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -55,8 +61,8 @@ public class GuildTagCommand extends GBase implements CommandExecutor
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
GUtil.setTag(null, guild);
|
GUtil.setTag(GUtil.color("&8[&7" + guild + "&8]&r"), guild);
|
||||||
sender.sendMessage(ChatColor.GRAY + "Removed your guild's tag.");
|
sender.sendMessage(ChatColor.GRAY + "Removed your guild's tag.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -24,7 +24,10 @@ public class ChatManager implements Listener
|
||||||
if (guild == null)
|
if (guild == null)
|
||||||
return;
|
return;
|
||||||
if (!GUtil.hasTag(guild))
|
if (!GUtil.hasTag(guild))
|
||||||
return;
|
{
|
||||||
|
GUtil.setTag(GUtil.color("&8[&7" + guild + "&8]&r"), guild);
|
||||||
|
}
|
||||||
|
|
||||||
e.setFormat(GUtil.color(GUtil.getTag(guild)) + " " + ChatColor.RESET + e.getFormat());
|
e.setFormat(GUtil.color(GUtil.getTag(guild)) + " " + ChatColor.RESET + e.getFormat());
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
package totalfreedom.tfguilds.util;
|
package totalfreedom.tfguilds.util;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
|
@ -7,6 +8,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import totalfreedom.tfguilds.TFGuilds;
|
import totalfreedom.tfguilds.TFGuilds;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class GUtil
|
public class GUtil
|
||||||
|
@ -53,13 +55,23 @@ public class GUtil
|
||||||
String g = "";
|
String g = "";
|
||||||
boolean a = false;
|
boolean a = false;
|
||||||
ConfigurationSection guildMembers = plugin.guilds.getConfigurationSection("guilds");
|
ConfigurationSection guildMembers = plugin.guilds.getConfigurationSection("guilds");
|
||||||
for (String guild : guildMembers.getKeys(false))
|
if (guildMembers != null)
|
||||||
{
|
{
|
||||||
List<String> members = plugin.guilds.getStringList("guilds." + guild + ".members");
|
try
|
||||||
if (members.contains(player.getName()))
|
|
||||||
{
|
{
|
||||||
a = true;
|
for (String guild : guildMembers.getKeys(false))
|
||||||
g = guild;
|
{
|
||||||
|
List<String> members = plugin.guilds.getStringList("guilds." + guild + ".members");
|
||||||
|
if (members.contains(player.getName()))
|
||||||
|
{
|
||||||
|
a = true;
|
||||||
|
g = guild;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
e.fillInStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!a)
|
if (!a)
|
||||||
|
@ -72,6 +84,31 @@ public class GUtil
|
||||||
return plugin.guilds.getString("guilds." + guildName + ".owner");
|
return plugin.guilds.getString("guilds." + guildName + ".owner");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<String> getMember(String guildName)
|
||||||
|
{
|
||||||
|
return plugin.guilds.getStringList("guilds." + guildName + ".members");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isGuildMember(Player player, String guildName)
|
||||||
|
{
|
||||||
|
return getMember(guildName).contains(player.getName().toLowerCase());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void guildChat(CommandSender sender, String message, String guildName)
|
||||||
|
{
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
if (isGuildMember(player, guildName))
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.BLUE + "GC" + ChatColor.DARK_GRAY + "] " + getTag(guildName) + " " + ChatColor.BLUE + sender
|
||||||
|
.getName() + ChatColor.GRAY + ": " + ChatColor.AQUA + message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<String> BLACKLISTED_NAMES_AND_TAGS = Arrays.asList(
|
||||||
|
"admin", "owner", "moderator", "developer", "console", "dev", "staff", "mod", "sra", "tca", "sta", "sa");
|
||||||
|
|
||||||
public static String color(String s)
|
public static String color(String s)
|
||||||
{
|
{
|
||||||
return ChatColor.translateAlternateColorCodes('&', s);
|
return ChatColor.translateAlternateColorCodes('&', s);
|
||||||
|
|
|
@ -16,4 +16,8 @@ commands:
|
||||||
guildtag:
|
guildtag:
|
||||||
description: Modify your guild's tag
|
description: Modify your guild's tag
|
||||||
usage: /<command> <set <tag> | clear>
|
usage: /<command> <set <tag> | clear>
|
||||||
aliases: [gtag]
|
aliases: [gtag]
|
||||||
|
guildchat:
|
||||||
|
description: Speak to your guild
|
||||||
|
usage: /<command> <message>
|
||||||
|
aliases: [gchat]
|
Loading…
Reference in a new issue