Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.camdenorrb.bukkit.plugins;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.UUID;
- 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.command.ConsoleCommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Chat extends JavaPlugin implements Listener, CommandExecutor {
- private final Map<UUID, ChatColor> playerColors = new HashMap<>();
- private final ArrayList<String> words = new ArrayList<>(Arrays.asList("badwords here"));
- private final ArrayList<String> WhiteList = new ArrayList<>(Arrays.asList("bass", "derp"));
- private static Plugin plugin;
- private static Listener plugin2;
- private static boolean bool;
- FileConfiguration config = getConfig();
- public Inventory inv;
- List<String> toggled = new ArrayList<>();
- @Override
- public void onEnable() {
- plugin = this;
- plugin2 = this;
- getServer().getPluginManager().registerEvents(plugin2, plugin);
- intializeConfig();
- for (Player p : Bukkit.getOnlinePlayers()) {
- playerJoin(p.getUniqueId());
- }
- }
- @Override
- public void onDisable() {
- plugin = null;
- plugin2 = null;
- // TODO: Place any custom disable code here.
- }
- private void intializeConfig() {
- config.addDefault("BlockMessageOn?", true);
- config.addDefault("words", words);
- config.addDefault("whitelist", WhiteList);
- config.addDefault("Showmessage", "&cThe use of foul language is prohibited.");
- config.addDefault("message", "&4Please do not use foul language.");
- config.addDefault("InventoryLength", 18);
- config.addDefault("InventoryItems.LRedColor.ItemSlot", 0);
- config.addDefault("InventoryItems.LRedColor.ItemID", 102);
- config.addDefault("InventoryItems.LRedColor.DataValue", 0);
- config.addDefault("InventoryItems.DRedColor.ItemSlot", 1);
- config.addDefault("InventoryItems.DRedColor.ItemID", 102);
- config.addDefault("InventoryItems.DRedColor.DataValue", 0);
- config.addDefault("InventoryItems.OrangeColor.ItemSlot", 2);
- config.addDefault("InventoryItems.OrangeColor.ItemID", 35);
- config.addDefault("InventoryItems.OrangeColor.DataValue", 1);
- config.addDefault("InventoryItems.YellowColor.ItemSlot", 3);
- config.addDefault("InventoryItems.YellowColor.ItemID", 41);
- config.addDefault("InventoryItems.YellowColor.DataValue", 0);
- config.addDefault("InventoryItems.LGreenColor.ItemSlot", 4);
- config.addDefault("InventoryItems.LGreenColor.ItemID", 31);
- config.addDefault("InventoryItems.LGreenColor.DataValue", 0);
- config.addDefault("InventoryItems.DGreenColor.ItemSlot", 5);
- config.addDefault("InventoryItems.DGreenColor.ItemID", 133);
- config.addDefault("InventoryItems.DGreenColor.DataValue", 0);
- config.addDefault("InventoryItems.AquaColor.ItemSlot", 10);
- config.addDefault("InventoryItems.AquaColor.ItemID", 57);
- config.addDefault("InventoryItems.AquaColor.DataValue", 0);
- config.addDefault("InventoryItems.CyanColor.ItemSlot", 6);
- config.addDefault("InventoryItems.CyanColor.ItemID", 35);
- config.addDefault("InventoryItems.CyanColor.DataValue", 9);
- config.addDefault("InventoryItems.LBlueColor.ItemSlot", 7);
- config.addDefault("InventoryItems.LBlueColor.ItemID", 102);
- config.addDefault("InventoryItems.LBlueColor.DataValue", 0);
- config.addDefault("InventoryItems.DBlueColor.ItemSlot", 8);
- config.addDefault("InventoryItems.DBlueColor.ItemID", 22);
- config.addDefault("InventoryItems.DBlueColor.DataValue", 0);
- config.addDefault("InventoryItems.PurpleColor.ItemSlot", 9);
- config.addDefault("InventoryItems.PurpleColor.ItemID", 35);
- config.addDefault("InventoryItems.PurpleColor.DataValue", 10);
- config.addDefault("InventoryItems.PinkColor.ItemSlot", 10);
- config.addDefault("InventoryItems.PinkColor.ItemID", 35);
- config.addDefault("InventoryItems.PinkColor.DataValue", 6);
- config.options().copyDefaults(true);
- saveConfig();
- }
- public void openGUI(Player p) {
- inv = Bukkit.createInventory(null, config.getInt("InventoryLength"), ChatColor.RED + "Colors!"); //format: null, size of inventory (must be divisible by 9), "GUI name"
- final ItemStack lightred = new ItemStack(config.getInt("InventoryItems.LRedColor.ItemID"), config.getInt("InventoryItems.LRedColor.DataValue"));
- final ItemStack darkred = new ItemStack(config.getInt("InventoryItems.DRedColor.ItemID"), config.getInt("InventoryItems.DRedColor.DataValue"));
- final ItemStack orange = new ItemStack(config.getInt("InventoryItems.OrangeColor.ItemID"), config.getInt("InventoryItems.OrangeColor.DataValue"));
- final ItemStack yellow = new ItemStack(config.getInt("InventoryItems.YellowColor.ItemID"), config.getInt("InventoryItems.YellowColor.DataValue"));
- final ItemStack lightgreen = new ItemStack(config.getInt("InventoryItems.LGreenColor.ItemID"), config.getInt("InventoryItems.LGreenColor.DataValue"));
- final ItemStack darkgreen = new ItemStack(config.getInt("InventoryItems.DGreenColor.ItemID"), config.getInt("InventoryItems.DGreenColor.DataValue"));
- final ItemStack aqua = new ItemStack(config.getInt("InventoryItems.AquaColor.ItemID"), config.getInt("InventoryItems.AquaColor.DataValue"));
- final ItemStack cyan = new ItemStack(config.getInt("InventoryItems.CyanColor.ItemID"), config.getInt("InventoryItems.CyanColor.DataValue"));
- final ItemStack lightblue = new ItemStack(config.getInt("InventoryItems.LBlueColor.ItemID"), config.getInt("InventoryItems.LBlueColor.DataValue"));
- final ItemStack darkblue = new ItemStack(config.getInt("InventoryItems.DBlueColor.ItemID"), config.getInt("InventoryItems.DBlueColor.DataValue"));
- final ItemStack purple = new ItemStack(config.getInt("InventoryItems.PurpleColor.ItemID"), config.getInt("InventoryItems.PurpleColor.DataValue"));
- final ItemStack pink = new ItemStack(config.getInt("InventoryItems.PinkColor.ItemID"), config.getInt("InventoryItems.PinkColor.DataValue"));
- final ItemMeta lightredid = lightred.getItemMeta();
- final ItemMeta darkredid = darkred.getItemMeta();
- final ItemMeta orangeid = orange.getItemMeta();
- final ItemMeta yellowid = yellow.getItemMeta();
- final ItemMeta lightgreenid = lightgreen.getItemMeta();
- final ItemMeta darkgreenid = darkgreen.getItemMeta();
- final ItemMeta aquaid = aqua.getItemMeta();
- final ItemMeta cyanid = cyan.getItemMeta();
- final ItemMeta lightblueid = lightblue.getItemMeta();
- final ItemMeta darkblueid = lightred.getItemMeta();
- final ItemMeta purpleid = lightred.getItemMeta();
- final ItemMeta pinkid = pink.getItemMeta();
- darkredid.setDisplayName(ChatColor.DARK_RED + "Dark Red");
- darkred.setItemMeta(darkredid);
- orangeid.setDisplayName(ChatColor.GOLD + "Orange");
- orange.setItemMeta(orangeid);
- yellowid.setDisplayName(ChatColor.YELLOW + "Yellow");
- yellow.setItemMeta(yellowid);
- lightgreenid.setDisplayName(ChatColor.GREEN + "Light Green");
- lightgreen.setItemMeta(lightgreenid);
- darkgreenid.setDisplayName(ChatColor.DARK_GREEN + "Dark Green");
- darkgreen.setItemMeta(darkgreenid);
- aquaid.setDisplayName(ChatColor.AQUA + "AQUA");
- aqua.setItemMeta(aquaid);
- cyanid.setDisplayName(ChatColor.DARK_AQUA + "Cyan");
- cyan.setItemMeta(cyanid);
- lightblueid.setDisplayName(ChatColor.BLUE + "Light Blue");
- lightblue.setItemMeta(lightblueid);
- darkblueid.setDisplayName(ChatColor.DARK_BLUE + "Dark Blue");
- darkblue.setItemMeta(darkblueid);
- purpleid.setDisplayName(ChatColor.DARK_PURPLE + "Purple");
- purple.setItemMeta(purpleid);
- pinkid.setDisplayName(ChatColor.RED + "Pink");
- pink.setItemMeta(pinkid);
- lightredid.setDisplayName(ChatColor.RED + "Light Red");
- lightred.setItemMeta(lightredid);
- inv.setItem(config.getInt("InventoryItems.DRedColor.ItemSlot"), new ItemStack(darkred));
- inv.setItem(config.getInt("InventoryItems.OrangeColor.ItemSlot"), new ItemStack(orange));
- inv.setItem(config.getInt("InventoryItems.YellowColor.ItemSlot"), new ItemStack(yellow));
- inv.setItem(config.getInt("InventoryItems.LGreenColor.ItemSlot"), new ItemStack(lightgreen));
- inv.setItem(config.getInt("InventoryItems.DGreenColor.ItemSlot"), new ItemStack(darkgreen));
- inv.setItem(config.getInt("InventoryItems.AquaColor.ItemSlot"), new ItemStack(aqua));
- inv.setItem(config.getInt("InventoryItems.CyanColor.ItemSlot"), new ItemStack(cyan));
- inv.setItem(config.getInt("InventoryItems.LBlueColor.ItemSlot"), new ItemStack(lightblue));
- inv.setItem(config.getInt("InventoryItems.DBlueColor.ItemSlot"), new ItemStack(darkblue));
- inv.setItem(config.getInt("InventoryItems.PurpleColor.ItemSlot"), new ItemStack(purple));
- inv.setItem(config.getInt("InventoryItems.PinkColor.ItemSlot"), new ItemStack(pink));
- inv.setItem(config.getInt("InventoryItems.LRedColor.ItemSlot"), new ItemStack(lightred));
- p.openInventory(inv);
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (cmd.getLabel().equalsIgnoreCase("color") && args.length == 1) {
- if (sender instanceof ConsoleCommandSender) {
- sender.sendMessage("This command can only be run by a player.");
- return false;
- } else {
- Player player = (Player) sender;
- if (args[0].equalsIgnoreCase("toggle")) {
- if (sender instanceof ConsoleCommandSender) {
- sender.sendMessage("This command can only be run by a player.");
- return false;
- } else {
- if (toggled.contains(player.getName())) {
- sender.sendMessage(ChatColor.GREEN + "Turn On Color With /color");
- toggled.add(player.getName());
- return true;
- } else {
- playerColors.put(player.getUniqueId(), ChatColor.RESET);
- sender.sendMessage(ChatColor.GREEN + "You DeActivated Your Chat Color!@!");
- toggled.remove(player.getName());
- return true;
- }
- }
- } else if (args[0].equalsIgnoreCase("reset")) {
- if (player.hasPermission("color.clear")) {
- for (int i = 0; i < 100; i++) {
- for (Player p : Bukkit.getOnlinePlayers()) {
- p.sendMessage("");
- }
- }
- Bukkit.broadcastMessage(ChatColor.AQUA + "Chat has been cleared");
- return true;
- } else {
- player.sendMessage(ChatColor.GREEN + "You Do Not Have Permissions Required To " + ChatColor.RED + "Clear");
- return true;
- }
- }
- }
- } else if (cmd.getLabel().equalsIgnoreCase("color") && args.length == 0) {
- if (sender instanceof ConsoleCommandSender) {
- sender.sendMessage("This command can only be run by a player.");
- return false;
- } else {
- Player player = (Player) sender;
- openGUI(player);
- return true;
- }
- }
- return false;
- }
- @EventHandler
- public void playerChat(AsyncPlayerChatEvent e) {
- String message = getConfig().getString("message").replaceAll("(&([a-f0-9]))", "\u00A7$2").replaceAll("($([a-f0-9]))", "\u00A7$2").replaceAll("(%([a-f0-9]))", "\u00A7$2");
- String Showmessage = getConfig().getString("Showmessage").replaceAll("(&([a-f0-9]))", "\u00A7$2").replaceAll("($([a-f0-9]))", "\u00A7$2").replaceAll("(%([a-f0-9]))", "\u00A7$2");
- if (config.getStringList("whitelist").contains(e.getMessage().toLowerCase())) {
- bool = false;
- if (e.getPlayer().getWorld().getName().equalsIgnoreCase("island-0")) {
- e.setCancelled(true);
- Bukkit.broadcastMessage(e.getMessage());
- }
- } else {
- bool = true;
- if (bool == true) {
- for (String word : getConfig().getStringList("words")) {
- String sent = e.getMessage().toLowerCase().replaceAll("\\.", "").replaceAll("&", "");
- if (sent.contains(word)) {
- bool = true;
- if (config.getBoolean("BlockMessageOn?") == true && bool == true) {
- e.setMessage(Showmessage.replaceAll("'", "").replaceAll("’", "").replaceAll("‘", ""));
- e.getPlayer().sendMessage(message.replaceAll("'", "").replaceAll("’", "").replaceAll("‘", ""));
- } else {
- bool = false;
- }
- }
- }
- }
- }
- ChatColor test = playerColors.get(e.getPlayer().getUniqueId());
- e.setMessage(test + e.getMessage());
- }
- @EventHandler
- public void onJoinEvent(PlayerJoinEvent e) {
- if (playerColors.get(e.getPlayer().getUniqueId()) != null) {
- } else {
- playerJoin(e.getPlayer().getUniqueId());
- }
- }
- public void playerJoin(UUID u) {
- String b = getConfig().getString("DefaultColor");
- playerColors.put(u, ChatColor.WHITE);
- }
- @EventHandler //MAKE SURE YOU HAVE THIS
- public void InventoryClick(InventoryClickEvent e) {
- Player p = (Player) e.getWhoClicked();
- if (e.getInventory().getTitle().contains(ChatColor.RED + "Colors!")) {
- e.setCancelled(true); //Cancel the event so they can't take items out of the GUI
- if (e.getCurrentItem().getItemMeta() == null) {
- } else {
- if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.LRedColor.ItemSlot")).getItemMeta())) {
- //gets called when the current item's type (The item the player clicked) is a diamond
- playerColors.put(p.getUniqueId(), ChatColor.RED);
- p.closeInventory(); //call if you want to close the inventory when they click it
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.DRedColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.DARK_RED);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.OrangeColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.GOLD);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.YellowColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.YELLOW);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.LGreenColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.GREEN);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.DGreenColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.DARK_GREEN);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.AquaColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.AQUA);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.LBlueColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.BLUE);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.DBlueColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.DARK_BLUE);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.DBlueColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.DARK_BLUE);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.PurpleColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.DARK_PURPLE);
- p.closeInventory();
- } else if (e.getCurrentItem().getItemMeta().equals(inv.getItem(config.getInt("InventoryItems.PinkColor.ItemSlot")).getItemMeta())) {
- playerColors.put(p.getUniqueId(), ChatColor.LIGHT_PURPLE);
- p.closeInventory();
- } else {
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment