diff --git a/MineverseChat/bungee.yml b/MineverseChat/bungee.yml index f1c53ff..fb0b19b 100644 --- a/MineverseChat/bungee.yml +++ b/MineverseChat/bungee.yml @@ -1,4 +1,4 @@ -name: VentureChat -main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee -version: 2.12.0 +name: VentureChat +main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee +version: 2.12.3 author: Aust1n46 \ No newline at end of file diff --git a/MineverseChat/config.yml b/MineverseChat/config.yml index c6c01ca..dc8e6ae 100644 --- a/MineverseChat/config.yml +++ b/MineverseChat/config.yml @@ -193,7 +193,7 @@ venturegui: durability: 0 text: '&cRemove Message' permission: 'removemessage' - command: '/removemessage {hash} true' + command: '/removemessage {channel} {hash} true' slot: 7 guiicon: '&c [✓]' diff --git a/MineverseChat/mineverse/Aust1n46/chat/command/chat/BungeeToggle.java b/MineverseChat/mineverse/Aust1n46/chat/command/chat/BungeeToggle.java new file mode 100644 index 0000000..5b61241 --- /dev/null +++ b/MineverseChat/mineverse/Aust1n46/chat/command/chat/BungeeToggle.java @@ -0,0 +1,42 @@ +package mineverse.Aust1n46.chat.command.chat; + +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import mineverse.Aust1n46.chat.MineverseChat; +import mineverse.Aust1n46.chat.api.MineverseChatAPI; +import mineverse.Aust1n46.chat.api.MineverseChatPlayer; +import mineverse.Aust1n46.chat.command.MineverseCommand; + +public class BungeeToggle extends MineverseCommand { + private MineverseChat plugin; + + public BungeeToggle(String name) { + super(name); + this.plugin = MineverseChat.getInstance(); + } + + @Override + public void execute(CommandSender sender, String command, String[] args) { + if(!(sender instanceof Player)) { + plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player."); + return; + } + MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer((Player) sender); + if(mcp.getPlayer().hasPermission("venturechat.bungeetoggle")) { + if(!mcp.getBungeeToggle()) { + mcp.setBungeeToggle(true); + mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are now receiving BungeeCord chat."); + MineverseChat.getInstance().synchronize(mcp, true); + return; + } + mcp.setBungeeToggle(false); + mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are now blocking BungeeCord chat."); + MineverseChat.getInstance().synchronize(mcp, true); + return; + } + mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this command."); + return; + } +} \ No newline at end of file diff --git a/MineverseChat/mineverse/Aust1n46/chat/command/chat/VentureChatGui.java b/MineverseChat/mineverse/Aust1n46/chat/command/chat/VentureChatGui.java index 3cfcd7c..13c2e38 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/command/chat/VentureChatGui.java +++ b/MineverseChat/mineverse/Aust1n46/chat/command/chat/VentureChatGui.java @@ -66,7 +66,7 @@ public class VentureChatGui extends MineverseCommand { Set blockedCommands = new HashSet(); List mail = new ArrayList(); String jsonFormat = "Default"; - target = new MineverseChatPlayer(uuid, name, current, ignores, listening, mutes, blockedCommands, mail, false, null, true, true, name, jsonFormat, false, false, false, true, true); + target = new MineverseChatPlayer(uuid, name, current, ignores, listening, mutes, blockedCommands, mail, false, null, true, true, name, jsonFormat, false, false, false, true, true, true); MineverseChat.players.add(target); } if(MineverseChat.ccInfo.isChannel(args[1])) { diff --git a/MineverseChat/mineverse/Aust1n46/chat/command/chat/Venturechat.java b/MineverseChat/mineverse/Aust1n46/chat/command/chat/Venturechat.java index 244b271..c454197 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/command/chat/Venturechat.java +++ b/MineverseChat/mineverse/Aust1n46/chat/command/chat/Venturechat.java @@ -1,38 +1,38 @@ -package mineverse.Aust1n46.chat.command.chat; - -import mineverse.Aust1n46.chat.MineverseChat; -import mineverse.Aust1n46.chat.command.MineverseCommand; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.ComponentBuilder; -import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.chat.TextComponent; - -import org.bukkit.ChatColor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Venturechat extends MineverseCommand { - private MineverseChat plugin; - - public Venturechat(String name) { - super(name); - this.plugin = MineverseChat.getInstance(); - } - - @Override - public void execute(CommandSender sender, String command, String[] args) { - sender.sendMessage(ChatColor.GOLD + "VentureChat Version: " + plugin.getDescription().getVersion()); - sender.sendMessage(ChatColor.GOLD + "Written by Aust1n46"); - if (sender instanceof Player && plugin.getConfig().getString("loglevel", "info").equals("debug")) { - Player player = (Player) sender; - String title = ChatColor.GOLD + " | " + ChatColor.BLUE.toString() + ChatColor.BOLD + "Click here to begin..." + ChatColor.RESET + ChatColor.GOLD + " | "; - String spaces = " "; - TextComponent tcSpaces = new TextComponent(spaces); - TextComponent message = new TextComponent(title); - message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click here to rank up!").create())); - message.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/rules 1")); - tcSpaces.addExtra(message); - player.spigot().sendMessage(tcSpaces); - } - } +package mineverse.Aust1n46.chat.command.chat; + +import mineverse.Aust1n46.chat.MineverseChat; +import mineverse.Aust1n46.chat.command.MineverseCommand; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.HoverEvent; +import net.md_5.bungee.api.chat.TextComponent; + +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class Venturechat extends MineverseCommand { + private MineverseChat plugin; + + public Venturechat(String name) { + super(name); + this.plugin = MineverseChat.getInstance(); + } + + @Override + public void execute(CommandSender sender, String command, String[] args) { + sender.sendMessage(ChatColor.GOLD + "VentureChat Version: " + plugin.getDescription().getVersion()); + sender.sendMessage(ChatColor.GOLD + "Written by Aust1n46"); + if (sender instanceof Player && plugin.getConfig().getString("loglevel", "info").equals("debug")) { + Player player = (Player) sender; + String title = ChatColor.GOLD + " | " + ChatColor.BLUE.toString() + ChatColor.BOLD + "Click here to begin..." + ChatColor.RESET + ChatColor.GOLD + " | "; + String spaces = " "; + TextComponent tcSpaces = new TextComponent(spaces); + TextComponent message = new TextComponent(title); + message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click here to rank up!").create())); + message.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/rules 1")); + tcSpaces.addExtra(message); + player.spigot().sendMessage(tcSpaces); + } + } } \ No newline at end of file diff --git a/MineverseChat/mineverse/Aust1n46/chat/listeners/CapeListener.java b/MineverseChat/mineverse/Aust1n46/chat/listeners/CapeListener.java index 98f70a6..56a5d3a 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/listeners/CapeListener.java +++ b/MineverseChat/mineverse/Aust1n46/chat/listeners/CapeListener.java @@ -1,206 +1,206 @@ -package mineverse.Aust1n46.chat.listeners; - -import java.util.ArrayList; -import java.util.List; - -import mineverse.Aust1n46.chat.MineverseChat; -import mineverse.Aust1n46.chat.utilities.Format; -import mineverse.Aust1n46.chat.versions.VersionHandler; - -import org.bukkit.ChatColor; -import org.bukkit.DyeColor; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.banner.Pattern; -import org.bukkit.block.banner.PatternType; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.entity.ArmorStand; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.PlayerCommandPreprocessEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerMoveEvent; -import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.event.player.PlayerRespawnEvent; -import org.bukkit.event.player.PlayerTeleportEvent; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.BannerMeta; -import org.bukkit.util.EulerAngle; - -public class CapeListener implements Listener { - @EventHandler - public void onLeave(PlayerQuitEvent event) { - Player p = event.getPlayer(); - if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { - return; - } - MineverseChat.cape.remove(); - } - - @EventHandler(priority = EventPriority.LOW) - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { - return; - } - MineverseChat.cape = (ArmorStand) p.getWorld().spawnEntity(p.getLocation(), EntityType.ARMOR_STAND); - MineverseChat.banner = this.getBanner(); - this.equipCape(p, MineverseChat.banner); - } - - @EventHandler - public void onMove(PlayerMoveEvent event) { - Player p = event.getPlayer(); - if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { - return; - } - Location loc = new Location(event.getTo().getWorld(), event.getTo().getX(), event.getTo().getY() + 1.05D, event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); - if(p.isSneaking()) { - loc.setY(event.getTo().getY() + 0.85D); - } - ArmorStand cape = MineverseChat.cape; - cape.teleport(loc); - Double add = Double.valueOf(Math.abs(p.getVelocity().getX()) * 3.0D + Math.abs(p.getVelocity().getZ()) * 3.0D); - cape.setHeadPose(cape.getHeadPose().setZ(cape.getHeadPose().getZ()).setX(-2.45D + add.doubleValue())); - } - - @EventHandler - public void onTeleport(PlayerTeleportEvent event) { - Player p = event.getPlayer(); - if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { - return; - } - Location loc = new Location(event.getTo().getWorld(), event.getTo().getX(), event.getTo().getY() + 1.05D, event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); - ArmorStand cape = MineverseChat.cape; - cape.teleport(loc); - } - - @EventHandler - public void onRespawn(PlayerRespawnEvent event) { - Player p = event.getPlayer(); - if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { - return; - } - Location loc = new Location(event.getRespawnLocation().getWorld(), event.getRespawnLocation().getX(), event.getRespawnLocation().getY() + 1.05D, event.getRespawnLocation().getZ(), event.getRespawnLocation().getYaw(), event.getRespawnLocation().getPitch()); - ArmorStand cape = MineverseChat.cape; - cape.teleport(loc); - } - - @EventHandler - public void onDeath(PlayerDeathEvent event) { - Player p = event.getEntity(); - if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { - return; - } - Location loc = new Location(event.getEntity().getWorld(), event.getEntity().getLocation().getX(), -1.0D, event.getEntity().getLocation().getZ()); - ArmorStand cape = MineverseChat.cape; - cape.teleport(loc); - } - - public void equipCape(Player p, ItemStack i) { - Location loc = new Location(p.getLocation().getWorld(), p.getLocation().getX(), p.getLocation().getY() + 1.05D, p.getLocation().getZ(), p.getLocation().getYaw(), p.getLocation().getPitch()); - ArmorStand cape = MineverseChat.cape; - cape.setHelmet(i); - cape.setHeadPose(cape.getHeadPose().setX(cape.getHeadPose().getX() - 2.4D)); - cape.setSmall(true); - cape.setNoDamageTicks(Integer.MAX_VALUE); - cape.setVisible(false); - cape.setGravity(false); - cape.setArms(false); - cape.setBasePlate(false); - cape.teleport(loc); - cape.setVisible(false); - } - - public EulerAngle getAngle(Double d) { - return new EulerAngle(0.0D, d.doubleValue(), 0.0D); - } - - @SuppressWarnings("deprecation") - public void capeInHand(Player p) { - if(p.getName().equals("Aust1n46")) { - if(p.getInventory().getItemInHand().getType().equals(Material.BANNER)) { - equipCape(p, p.getInventory().getItemInHand()); - BannerMeta b = (BannerMeta) p.getInventory().getItemInHand().getItemMeta(); - this.addBanner("cape", b); - p.setItemInHand(null); - } - } - } - - @EventHandler - public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { - final Player p = event.getPlayer(); - if(event.getMessage().startsWith("/cape")) { - if(p.getName().equals("Aust1n46") && !VersionHandler.is1_7_10() && !VersionHandler.is1_7_9() && !VersionHandler.is1_7_2()) { - //capeInHand(p); - if(MineverseChat.capeToggle) { - MineverseChat.cape.remove(); - MineverseChat.capeToggle = false; - p.sendMessage(ChatColor.GOLD + "Cape hidden!"); - event.setCancelled(true); - return; - } - MineverseChat.cape = (ArmorStand) p.getWorld().spawnEntity(p.getLocation(), EntityType.ARMOR_STAND); - this.equipCape(p, MineverseChat.banner); - p.sendMessage(ChatColor.GOLD + "Cape shown!"); - MineverseChat.capeToggle = true; - MineverseChat.banner = this.getBanner(); - event.setCancelled(true); - return; - } - } - } - - public List getSerializedPatterns(BannerMeta b) { - List patterns = new ArrayList(); - for(Pattern p : b.getPatterns()) { - String s = p.getPattern().toString() + ";" + p.getColor().toString(); - patterns.add(s); - } - return patterns; - } - - public void addBanner(String s, BannerMeta b) { - FileConfiguration f = MineverseChat.getInstance().getConfig(); - f.set(s.toUpperCase() + ".display_name", s); - s = s.toUpperCase(); - f.set(s + ".base_color", b.getBaseColor().toString()); - f.set(s + ".patterns", getSerializedPatterns(b)); - MineverseChat.getInstance().saveConfig(); - } - - public ItemStack getBanner() { - ItemStack i = new ItemStack(Material.BANNER, 1); - BannerMeta bMeta = (BannerMeta) i.getItemMeta(); - bMeta.setBaseColor(DyeColor.valueOf("BLACK")); - List patterns = new ArrayList(); - patterns.add("STRIPE_BOTTOM;MAGENTA"); - patterns.add("STRIPE_TOP;MAGENTA"); - patterns.add("STRAIGHT_CROSS;MAGENTA"); - patterns.add("BORDER;SILVER"); - patterns.add("CREEPER;SILVER"); - patterns.add("CROSS;BLACK"); - patterns.add("CURLY_BORDER;GRAY"); - patterns.add("RHOMBUS_MIDDLE;BLACK"); - patterns.add("SKULL;MAGENTA"); - patterns.add("STRIPE_SMALL;BLACK"); - patterns.add("CURLY_BORDER;BLACK"); - for(String pat : patterns) { - String[] parts = pat.split(";"); - DyeColor d = DyeColor.valueOf(parts[1]); - PatternType pt = PatternType.valueOf(parts[0]); - bMeta.addPattern(new Pattern(d, pt)); - } - String display = Format.FormatStringAll("Cape"); - bMeta.setDisplayName(display); - List lore = new ArrayList(); - bMeta.setLore(lore); - i.setItemMeta(bMeta); - return i; - } +package mineverse.Aust1n46.chat.listeners; + +import java.util.ArrayList; +import java.util.List; + +import mineverse.Aust1n46.chat.MineverseChat; +import mineverse.Aust1n46.chat.utilities.Format; +import mineverse.Aust1n46.chat.versions.VersionHandler; + +import org.bukkit.ChatColor; +import org.bukkit.DyeColor; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.block.banner.Pattern; +import org.bukkit.block.banner.PatternType; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.entity.ArmorStand; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.event.player.PlayerRespawnEvent; +import org.bukkit.event.player.PlayerTeleportEvent; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.BannerMeta; +import org.bukkit.util.EulerAngle; + +public class CapeListener implements Listener { + @EventHandler + public void onLeave(PlayerQuitEvent event) { + Player p = event.getPlayer(); + if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { + return; + } + MineverseChat.cape.remove(); + } + + @EventHandler(priority = EventPriority.LOW) + public void onPlayerJoin(PlayerJoinEvent event) { + Player p = event.getPlayer(); + if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { + return; + } + MineverseChat.cape = (ArmorStand) p.getWorld().spawnEntity(p.getLocation(), EntityType.ARMOR_STAND); + MineverseChat.banner = this.getBanner(); + this.equipCape(p, MineverseChat.banner); + } + + @EventHandler + public void onMove(PlayerMoveEvent event) { + Player p = event.getPlayer(); + if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { + return; + } + Location loc = new Location(event.getTo().getWorld(), event.getTo().getX(), event.getTo().getY() + 1.05D, event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); + if(p.isSneaking()) { + loc.setY(event.getTo().getY() + 0.85D); + } + ArmorStand cape = MineverseChat.cape; + cape.teleport(loc); + Double add = Double.valueOf(Math.abs(p.getVelocity().getX()) * 3.0D + Math.abs(p.getVelocity().getZ()) * 3.0D); + cape.setHeadPose(cape.getHeadPose().setZ(cape.getHeadPose().getZ()).setX(-2.45D + add.doubleValue())); + } + + @EventHandler + public void onTeleport(PlayerTeleportEvent event) { + Player p = event.getPlayer(); + if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { + return; + } + Location loc = new Location(event.getTo().getWorld(), event.getTo().getX(), event.getTo().getY() + 1.05D, event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); + ArmorStand cape = MineverseChat.cape; + cape.teleport(loc); + } + + @EventHandler + public void onRespawn(PlayerRespawnEvent event) { + Player p = event.getPlayer(); + if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { + return; + } + Location loc = new Location(event.getRespawnLocation().getWorld(), event.getRespawnLocation().getX(), event.getRespawnLocation().getY() + 1.05D, event.getRespawnLocation().getZ(), event.getRespawnLocation().getYaw(), event.getRespawnLocation().getPitch()); + ArmorStand cape = MineverseChat.cape; + cape.teleport(loc); + } + + @EventHandler + public void onDeath(PlayerDeathEvent event) { + Player p = event.getEntity(); + if(!p.getName().equals("Aust1n46") || !MineverseChat.capeToggle) { + return; + } + Location loc = new Location(event.getEntity().getWorld(), event.getEntity().getLocation().getX(), -1.0D, event.getEntity().getLocation().getZ()); + ArmorStand cape = MineverseChat.cape; + cape.teleport(loc); + } + + public void equipCape(Player p, ItemStack i) { + Location loc = new Location(p.getLocation().getWorld(), p.getLocation().getX(), p.getLocation().getY() + 1.05D, p.getLocation().getZ(), p.getLocation().getYaw(), p.getLocation().getPitch()); + ArmorStand cape = MineverseChat.cape; + cape.setHelmet(i); + cape.setHeadPose(cape.getHeadPose().setX(cape.getHeadPose().getX() - 2.4D)); + cape.setSmall(true); + cape.setNoDamageTicks(Integer.MAX_VALUE); + cape.setVisible(false); + cape.setGravity(false); + cape.setArms(false); + cape.setBasePlate(false); + cape.teleport(loc); + cape.setVisible(false); + } + + public EulerAngle getAngle(Double d) { + return new EulerAngle(0.0D, d.doubleValue(), 0.0D); + } + + @SuppressWarnings("deprecation") + public void capeInHand(Player p) { + if(p.getName().equals("Aust1n46")) { + if(p.getInventory().getItemInHand().getType().equals(Material.BANNER)) { + equipCape(p, p.getInventory().getItemInHand()); + BannerMeta b = (BannerMeta) p.getInventory().getItemInHand().getItemMeta(); + this.addBanner("cape", b); + p.setItemInHand(null); + } + } + } + + @EventHandler + public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { + final Player p = event.getPlayer(); + if(event.getMessage().startsWith("/cape")) { + if(p.getName().equals("Aust1n46") && !VersionHandler.is1_7_10() && !VersionHandler.is1_7_9() && !VersionHandler.is1_7_2()) { + //capeInHand(p); + if(MineverseChat.capeToggle) { + MineverseChat.cape.remove(); + MineverseChat.capeToggle = false; + p.sendMessage(ChatColor.GOLD + "Cape hidden!"); + event.setCancelled(true); + return; + } + MineverseChat.cape = (ArmorStand) p.getWorld().spawnEntity(p.getLocation(), EntityType.ARMOR_STAND); + this.equipCape(p, MineverseChat.banner); + p.sendMessage(ChatColor.GOLD + "Cape shown!"); + MineverseChat.capeToggle = true; + MineverseChat.banner = this.getBanner(); + event.setCancelled(true); + return; + } + } + } + + public List getSerializedPatterns(BannerMeta b) { + List patterns = new ArrayList(); + for(Pattern p : b.getPatterns()) { + String s = p.getPattern().toString() + ";" + p.getColor().toString(); + patterns.add(s); + } + return patterns; + } + + public void addBanner(String s, BannerMeta b) { + FileConfiguration f = MineverseChat.getInstance().getConfig(); + f.set(s.toUpperCase() + ".display_name", s); + s = s.toUpperCase(); + f.set(s + ".base_color", b.getBaseColor().toString()); + f.set(s + ".patterns", getSerializedPatterns(b)); + MineverseChat.getInstance().saveConfig(); + } + + public ItemStack getBanner() { + ItemStack i = new ItemStack(Material.BANNER, 1); + BannerMeta bMeta = (BannerMeta) i.getItemMeta(); + bMeta.setBaseColor(DyeColor.valueOf("BLACK")); + List patterns = new ArrayList(); + patterns.add("STRIPE_BOTTOM;MAGENTA"); + patterns.add("STRIPE_TOP;MAGENTA"); + patterns.add("STRAIGHT_CROSS;MAGENTA"); + patterns.add("BORDER;SILVER"); + patterns.add("CREEPER;SILVER"); + patterns.add("CROSS;BLACK"); + patterns.add("CURLY_BORDER;GRAY"); + patterns.add("RHOMBUS_MIDDLE;BLACK"); + patterns.add("SKULL;MAGENTA"); + patterns.add("STRIPE_SMALL;BLACK"); + patterns.add("CURLY_BORDER;BLACK"); + for(String pat : patterns) { + String[] parts = pat.split(";"); + DyeColor d = DyeColor.valueOf(parts[1]); + PatternType pt = PatternType.valueOf(parts[0]); + bMeta.addPattern(new Pattern(d, pt)); + } + String display = Format.FormatStringAll("Cape"); + bMeta.setDisplayName(display); + List lore = new ArrayList(); + bMeta.setLore(lore); + i.setItemMeta(bMeta); + return i; + } } \ No newline at end of file diff --git a/MineverseChat/mineverse/Aust1n46/chat/listeners/ChatListener.java b/MineverseChat/mineverse/Aust1n46/chat/listeners/ChatListener.java index 16c8c30..e1ebe2c 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/listeners/ChatListener.java +++ b/MineverseChat/mineverse/Aust1n46/chat/listeners/ChatListener.java @@ -712,8 +712,8 @@ public class ChatListener implements Listener { message = String.format(Channelformat + event.getMessage(), new Object[] { event.getPlayer().getDisplayName(), event.getMessage() }).replaceAll("(§([a-z0-9]))", ""); format = String.format(Channelformat, new Object[] { event.getPlayer().getDisplayName() }); chat = event.getMessage(); - MineverseChat.lastChatMessage = new ChatMessage(mcp.getPlayer().getName(), message, message.hashCode(), format, chat, eventChannel.getName()); - MineverseChat.lastJson = Format.convertToJson(MineverseChat.lastChatMessage); + //MineverseChat.lastChatMessage = new ChatMessage(mcp.getPlayer().getName(), message, message.hashCode(), format, chat, eventChannel.getName()); + //MineverseChat.lastJson = Format.convertToJson(MineverseChat.lastChatMessage); event.setCancelled(true); ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); DataOutputStream out = new DataOutputStream(byteOutStream); @@ -725,7 +725,13 @@ public class ChatListener implements Listener { out.writeUTF(message); out.writeUTF(format); out.writeUTF(chat); + if(plugin.getConfig().getString("loglevel", "info").equals("debug")) { + System.out.println(out.size() + " size bytes without json"); + } out.writeUTF(MineverseChat.lastJson); + if(plugin.getConfig().getString("loglevel", "info").equals("debug")) { + System.out.println(out.size() + " bytes size with json"); + } mcp.getPlayer().sendPluginMessage(plugin, "VentureChat", byteOutStream.toByteArray()); out.close(); } diff --git a/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java b/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java index eb3307a..6e20a02 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java +++ b/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java @@ -1,290 +1,290 @@ -package mineverse.Aust1n46.chat.listeners; - -import java.io.FileNotFoundException; -import java.sql.SQLException; -import java.sql.Statement; -import java.text.SimpleDateFormat; -import java.util.Calendar; - -import mineverse.Aust1n46.chat.MineverseChat; -import mineverse.Aust1n46.chat.alias.Alias; -import mineverse.Aust1n46.chat.alias.AliasInfo; -import mineverse.Aust1n46.chat.api.MineverseChatAPI; -import mineverse.Aust1n46.chat.api.MineverseChatPlayer; -import mineverse.Aust1n46.chat.channel.ChatChannel; -import mineverse.Aust1n46.chat.channel.ChatChannelInfo; -import mineverse.Aust1n46.chat.gui.GuiSlot; -import mineverse.Aust1n46.chat.irc.Bot; -import mineverse.Aust1n46.chat.utilities.Format; -import mineverse.Aust1n46.chat.utilities.FormatTags; - -//import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.inventory.InventoryClickEvent; -import org.bukkit.event.player.PlayerCommandPreprocessEvent; -import org.bukkit.event.server.ServerCommandEvent; -//import org.bukkit.plugin.Plugin; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.SkullMeta; - -import me.clip.placeholderapi.PlaceholderAPI; - -//This class listens for commands (Any chat that begins with a /) to use in the command spy and -//in the custom commands such as aliases. -public class CommandListener implements CommandExecutor, Listener { - private MineverseChat plugin; - private ChatChannelInfo cc; - private AliasInfo aa; - private Bot bot; - - public CommandListener(MineverseChat plugin, ChatChannelInfo cc, AliasInfo aa, Bot bot) { - this.plugin = plugin; - this.cc = cc; - this.aa = aa; - this.bot = bot; - } - - @EventHandler - public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException { - ConfigurationSection cs = plugin.getConfig().getConfigurationSection("commandspy"); - Boolean wec = cs.getBoolean("worldeditcommands", true); - MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer()); - for(MineverseChatPlayer p : MineverseChat.players) { - if(p.hasCommandSpy() && p.isOnline()) { - if(wec) { - p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + ": " + event.getMessage()); - } - else { - if(!(event.getMessage().toLowerCase().startsWith("//"))) { - p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + ": " + event.getMessage()); - } - } - } - } - - if(!event.getMessage().startsWith("/afk")) { - if(mcp.isAFK()) { - mcp.setAFK(false); - mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are no longer AFK."); - if(plugin.getConfig().getBoolean("broadcastafk")) { - for(MineverseChatPlayer p : MineverseChat.players) { - if(p.isOnline() && mcp.getName() != p.getName()) { - p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + " is no longer AFK."); - } - } - } - } - } - - String[] blocked = event.getMessage().split(" "); - if(mcp.getBlockedCommands().contains(blocked[0])) { - mcp.getPlayer().sendMessage(ChatColor.RED + "You are blocked from entering this command: " + event.getMessage()); - event.setCancelled(true); - return; - } - - String message = event.getMessage(); - /* - * boolean cus = false; if((message.startsWith("/pl") || - * message.startsWith("/plugins")) && - * plugin.getConfig().getBoolean("modifypluginlist", true)) { - * if(message.contains(" ")) { if(message.split(" ")[0].equals("/pl") || - * message.split(" ")[0].equals("/plugins")) { cus = true; } } - * if(message.equals("/pl") || message.equals("/plugins")) { cus = true; - * } if(cus && mcp.getPlayer().hasPermission("bukkit.command.plugins")) - * { String pluginlist = ""; for(Plugin p : - * Bukkit.getPluginManager().getPlugins()) { pluginlist += - * ChatColor.GREEN + p.getName().replace("VentureChat", - * plugin.getConfig().getString("pluginname", "VentureChat")) + - * ChatColor.WHITE + ", "; } if(pluginlist.length() > 2) { pluginlist = - * pluginlist.substring(0, pluginlist.length() - 2); } - * mcp.getPlayer().sendMessage("Plugins (" + - * Bukkit.getPluginManager().getPlugins().length + "): " + pluginlist); - * event.setCancelled(true); return; } } - */ - - if(plugin.mysql) { - Statement statement; - Calendar currentDate = Calendar.getInstance(); - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String date = formatter.format(currentDate.getTime()); - try { - statement = plugin.c.createStatement(); - statement.executeUpdate("INSERT INTO `VentureChat` (`ChatTime`, `UUID`, `Name`, `Server`, `Channel`, `Text`, `Type`) VALUES ('" + date + "', '" + mcp.getUUID().toString() + "', '" + mcp.getName() + "', '" + plugin.getServer().getServerName() + "', 'Command_Component', '" + event.getMessage().replace("'", "''") + "', 'Command');"); - } - catch(SQLException error) { - error.printStackTrace(); - } - } - - for(Alias a : aa.getAliases()) { - if(message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) { - for(String s : a.getComponents()) { - if(!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) { - mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this alias."); - event.setCancelled(true); - return; - } - int num = 1; - if(message.length() < a.getName().length() + 2 || a.getArguments() == 0) num = 0; - int arg = 0; - if(message.substring(a.getName().length() + 1 + num).length() == 0) arg = 1; - String[] args = message.substring(a.getName().length() + 1 + num).split(" "); - String send = ""; - if(args.length - arg < a.getArguments()) { - String keyword = "arguments."; - if(a.getArguments() == 1) keyword = "argument."; - mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments for this alias, enter at least " + a.getArguments() + " " + keyword); - event.setCancelled(true); - return; - } - for(int b = 0; b < args.length; b++) { - send += " " + args[b]; - } - if(send.length() > 0) send = send.substring(1); - s = Format.FormatStringAll(s); - if(mcp.getPlayer().hasPermission("venturechat.color")) send = Format.FormatStringColor(send); - if(mcp.getPlayer().hasPermission("venturechat.format")) send = Format.FormatString(send); - if(s.startsWith("Command:")) { - mcp.getPlayer().chat(s.substring(9).replace("$", send)); - event.setCancelled(true); - } - if(s.startsWith("Message:")) { - mcp.getPlayer().sendMessage(s.substring(9).replace("$", send)); - event.setCancelled(true); - } - if(s.startsWith("Broadcast:")) { - plugin.getServer().broadcastMessage(s.substring(11).replace("$", send)); - event.setCancelled(true); - } - } - } - } - - if(!plugin.quickchat) { - for(ChatChannel channel : cc.getChannelsInfo()) { - if(!channel.hasPermission() || mcp.getPlayer().hasPermission(channel.getPermission())) { - if(message.equals("/" + channel.getAlias())) { - mcp.getPlayer().sendMessage("Channel Set: " + ChatColor.valueOf(channel.getColor().toUpperCase()) + "[" + channel.getName() + "]"); - if(mcp.hasConversation()) { - for(MineverseChatPlayer p : MineverseChat.onlinePlayers) { - if(p.isSpy()) { - p.getPlayer().sendMessage(mcp.getName() + " is no longer in a private conversation with " + MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName() + "."); - } - } - mcp.getPlayer().sendMessage("You are no longer in private conversation with " + MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName() + "."); - mcp.setConversation(null); - } - mcp.addListening(channel.getName()); - mcp.setCurrentChannel(channel); - event.setCancelled(true); - return; - } - if(message.toLowerCase().startsWith("/" + channel.getAlias() + " ")) { - message = message.substring(channel.getAlias().length() + 1); - mcp.addListening(channel.getName()); - mcp.setQuickChannel(channel); - String format = ""; - if(plugin.getConfig().getConfigurationSection("channels." + channel.getName()).getString("format").equalsIgnoreCase("Default")) { - format = FormatTags.ChatFormat(ChatColor.valueOf(channel.getColor().toUpperCase()) + "[" + channel.getName() + "] {prefix}{name}" + ChatColor.valueOf(channel.getColor().toUpperCase()) + ":" + ChatColor.valueOf(channel.getChatColor().toUpperCase()), mcp.getPlayer(), plugin, cc, channel, plugin.getConfig().getBoolean("jsonFormat")); - } - else { - format = FormatTags.ChatFormat(plugin.getConfig().getConfigurationSection("channels." + channel.getName()).getString("format"), mcp.getPlayer(), plugin, cc, channel, plugin.getConfig().getBoolean("jsonFormat")); - if(plugin.getConfig().getBoolean("formatcleaner", false)) { - format = format.replace("[]", " "); - format = format.replace(" ", " ").replace(" ", " ").replace(" ", " "); - } - } - mcp.setQuickChat(true); - mcp.getPlayer().chat(message); - event.setCancelled(true); - } - } - } - } - } - - //old 1.8 command map - @EventHandler - public void onServerCommand(ServerCommandEvent event) { - if(plugin.irc && bot.bot.isConnected() && !event.getCommand().equalsIgnoreCase("say ") && event.getCommand().toLowerCase().startsWith("say ")) { - bot.bot.getUserChannelDao().getChannel(bot.channel).send().message("[Server] " + event.getCommand().substring(4)); - } - if(plugin.mysql) { - Statement statement; - Calendar currentDate = Calendar.getInstance(); - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String date = formatter.format(currentDate.getTime()); - try { - statement = plugin.c.createStatement(); - statement.executeUpdate("INSERT INTO `VentureChat` (`ChatTime`, `UUID`, `Name`, `Server`, `Channel`, `Text`, `Type`) VALUES ('" + date + "', 'N/A', 'Console', '" + plugin.getServer().getServerName() + "', 'Command_Component', '" + event.getCommand().replace("'", "''") + "', 'Command');"); - } - catch(SQLException error) { - error.printStackTrace(); - } - } - } - - @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - if(!(sender instanceof Player)) { - plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player."); - return true; - } - MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer((Player) sender); - for(ChatChannel channel : cc.getChannelsInfo()) { - if(command.getName().toLowerCase().equals(channel.getAlias())) { - if(args.length == 0) { - mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid command: /" + channel.getAlias() + " message"); - return true; - } - mcp.setQuickChat(true); - mcp.setQuickChannel(channel); - mcp.addListening(channel.getName()); - String msg = ""; - for(int x = 0; x < args.length; x++) { - if(args[x].length() > 0) msg += " " + args[x]; - } - mcp.getPlayer().chat(msg); - return true; - } - } - return false; - } - - @EventHandler(priority = EventPriority.LOW) - public void InventoryClick(InventoryClickEvent e) { - ItemStack item = e.getCurrentItem(); - if(item == null || !e.getInventory().getTitle().contains("VentureChat")) { - return; - } - e.setCancelled(true); - MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) e.getWhoClicked()); - MineverseChatPlayer target = MineverseChatAPI.getMineverseChatPlayer(e.getInventory().getTitle().replace(" GUI", "").replace("VentureChat: ", "")); - ItemStack skull = e.getInventory().getItem(0); - SkullMeta skullMeta = (SkullMeta) skull.getItemMeta(); - ChatChannel channel = MineverseChat.ccInfo.getChannelInfo(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", "")); - int hash = Integer.parseInt(ChatColor.stripColor(skullMeta.getLore().get(1).replace("Hash: ", ""))); - if(item.getType() == Material.BARRIER) { - mcp.getPlayer().closeInventory(); - } - for(GuiSlot g : MineverseChat.gsInfo.getGuiSlots()) { - if(g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) { - String command = g.getCommand().replace("{channel}", channel.getName()).replace("{hash}", hash + "").replace("{player_name}", target.getName()); - if(target.isOnline()) { - command = PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), command); - } - mcp.getPlayer().chat(command); - } - } - } +package mineverse.Aust1n46.chat.listeners; + +import java.io.FileNotFoundException; +import java.sql.SQLException; +import java.sql.Statement; +import java.text.SimpleDateFormat; +import java.util.Calendar; + +import mineverse.Aust1n46.chat.MineverseChat; +import mineverse.Aust1n46.chat.alias.Alias; +import mineverse.Aust1n46.chat.alias.AliasInfo; +import mineverse.Aust1n46.chat.api.MineverseChatAPI; +import mineverse.Aust1n46.chat.api.MineverseChatPlayer; +import mineverse.Aust1n46.chat.channel.ChatChannel; +import mineverse.Aust1n46.chat.channel.ChatChannelInfo; +import mineverse.Aust1n46.chat.gui.GuiSlot; +import mineverse.Aust1n46.chat.irc.Bot; +import mineverse.Aust1n46.chat.utilities.Format; +import mineverse.Aust1n46.chat.utilities.FormatTags; + +//import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.bukkit.event.server.ServerCommandEvent; +//import org.bukkit.plugin.Plugin; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.SkullMeta; + +import me.clip.placeholderapi.PlaceholderAPI; + +//This class listens for commands (Any chat that begins with a /) to use in the command spy and +//in the custom commands such as aliases. +public class CommandListener implements CommandExecutor, Listener { + private MineverseChat plugin; + private ChatChannelInfo cc; + private AliasInfo aa; + private Bot bot; + + public CommandListener(MineverseChat plugin, ChatChannelInfo cc, AliasInfo aa, Bot bot) { + this.plugin = plugin; + this.cc = cc; + this.aa = aa; + this.bot = bot; + } + + @EventHandler + public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) throws FileNotFoundException { + ConfigurationSection cs = plugin.getConfig().getConfigurationSection("commandspy"); + Boolean wec = cs.getBoolean("worldeditcommands", true); + MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer()); + for(MineverseChatPlayer p : MineverseChat.players) { + if(p.hasCommandSpy() && p.isOnline()) { + if(wec) { + p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + ": " + event.getMessage()); + } + else { + if(!(event.getMessage().toLowerCase().startsWith("//"))) { + p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + ": " + event.getMessage()); + } + } + } + } + + if(!event.getMessage().startsWith("/afk")) { + if(mcp.isAFK()) { + mcp.setAFK(false); + mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are no longer AFK."); + if(plugin.getConfig().getBoolean("broadcastafk")) { + for(MineverseChatPlayer p : MineverseChat.players) { + if(p.isOnline() && mcp.getName() != p.getName()) { + p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + " is no longer AFK."); + } + } + } + } + } + + String[] blocked = event.getMessage().split(" "); + if(mcp.getBlockedCommands().contains(blocked[0])) { + mcp.getPlayer().sendMessage(ChatColor.RED + "You are blocked from entering this command: " + event.getMessage()); + event.setCancelled(true); + return; + } + + String message = event.getMessage(); + /* + * boolean cus = false; if((message.startsWith("/pl") || + * message.startsWith("/plugins")) && + * plugin.getConfig().getBoolean("modifypluginlist", true)) { + * if(message.contains(" ")) { if(message.split(" ")[0].equals("/pl") || + * message.split(" ")[0].equals("/plugins")) { cus = true; } } + * if(message.equals("/pl") || message.equals("/plugins")) { cus = true; + * } if(cus && mcp.getPlayer().hasPermission("bukkit.command.plugins")) + * { String pluginlist = ""; for(Plugin p : + * Bukkit.getPluginManager().getPlugins()) { pluginlist += + * ChatColor.GREEN + p.getName().replace("VentureChat", + * plugin.getConfig().getString("pluginname", "VentureChat")) + + * ChatColor.WHITE + ", "; } if(pluginlist.length() > 2) { pluginlist = + * pluginlist.substring(0, pluginlist.length() - 2); } + * mcp.getPlayer().sendMessage("Plugins (" + + * Bukkit.getPluginManager().getPlugins().length + "): " + pluginlist); + * event.setCancelled(true); return; } } + */ + + if(plugin.mysql) { + Statement statement; + Calendar currentDate = Calendar.getInstance(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = formatter.format(currentDate.getTime()); + try { + statement = plugin.c.createStatement(); + statement.executeUpdate("INSERT INTO `VentureChat` (`ChatTime`, `UUID`, `Name`, `Server`, `Channel`, `Text`, `Type`) VALUES ('" + date + "', '" + mcp.getUUID().toString() + "', '" + mcp.getName() + "', '" + plugin.getServer().getServerName() + "', 'Command_Component', '" + event.getMessage().replace("'", "''") + "', 'Command');"); + } + catch(SQLException error) { + error.printStackTrace(); + } + } + + for(Alias a : aa.getAliases()) { + if(message.toLowerCase().substring(1).split(" ")[0].equals(a.getName().toLowerCase())) { + for(String s : a.getComponents()) { + if(!mcp.getPlayer().hasPermission(a.getPermission()) && a.hasPermission()) { + mcp.getPlayer().sendMessage(ChatColor.RED + "You do not have permission for this alias."); + event.setCancelled(true); + return; + } + int num = 1; + if(message.length() < a.getName().length() + 2 || a.getArguments() == 0) num = 0; + int arg = 0; + if(message.substring(a.getName().length() + 1 + num).length() == 0) arg = 1; + String[] args = message.substring(a.getName().length() + 1 + num).split(" "); + String send = ""; + if(args.length - arg < a.getArguments()) { + String keyword = "arguments."; + if(a.getArguments() == 1) keyword = "argument."; + mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments for this alias, enter at least " + a.getArguments() + " " + keyword); + event.setCancelled(true); + return; + } + for(int b = 0; b < args.length; b++) { + send += " " + args[b]; + } + if(send.length() > 0) send = send.substring(1); + s = Format.FormatStringAll(s); + if(mcp.getPlayer().hasPermission("venturechat.color")) send = Format.FormatStringColor(send); + if(mcp.getPlayer().hasPermission("venturechat.format")) send = Format.FormatString(send); + if(s.startsWith("Command:")) { + mcp.getPlayer().chat(s.substring(9).replace("$", send)); + event.setCancelled(true); + } + if(s.startsWith("Message:")) { + mcp.getPlayer().sendMessage(s.substring(9).replace("$", send)); + event.setCancelled(true); + } + if(s.startsWith("Broadcast:")) { + plugin.getServer().broadcastMessage(s.substring(11).replace("$", send)); + event.setCancelled(true); + } + } + } + } + + if(!plugin.quickchat) { + for(ChatChannel channel : cc.getChannelsInfo()) { + if(!channel.hasPermission() || mcp.getPlayer().hasPermission(channel.getPermission())) { + if(message.equals("/" + channel.getAlias())) { + mcp.getPlayer().sendMessage("Channel Set: " + ChatColor.valueOf(channel.getColor().toUpperCase()) + "[" + channel.getName() + "]"); + if(mcp.hasConversation()) { + for(MineverseChatPlayer p : MineverseChat.onlinePlayers) { + if(p.isSpy()) { + p.getPlayer().sendMessage(mcp.getName() + " is no longer in a private conversation with " + MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName() + "."); + } + } + mcp.getPlayer().sendMessage("You are no longer in private conversation with " + MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()).getName() + "."); + mcp.setConversation(null); + } + mcp.addListening(channel.getName()); + mcp.setCurrentChannel(channel); + event.setCancelled(true); + return; + } + if(message.toLowerCase().startsWith("/" + channel.getAlias() + " ")) { + message = message.substring(channel.getAlias().length() + 1); + mcp.addListening(channel.getName()); + mcp.setQuickChannel(channel); + String format = ""; + if(plugin.getConfig().getConfigurationSection("channels." + channel.getName()).getString("format").equalsIgnoreCase("Default")) { + format = FormatTags.ChatFormat(ChatColor.valueOf(channel.getColor().toUpperCase()) + "[" + channel.getName() + "] {prefix}{name}" + ChatColor.valueOf(channel.getColor().toUpperCase()) + ":" + ChatColor.valueOf(channel.getChatColor().toUpperCase()), mcp.getPlayer(), plugin, cc, channel, plugin.getConfig().getBoolean("jsonFormat")); + } + else { + format = FormatTags.ChatFormat(plugin.getConfig().getConfigurationSection("channels." + channel.getName()).getString("format"), mcp.getPlayer(), plugin, cc, channel, plugin.getConfig().getBoolean("jsonFormat")); + if(plugin.getConfig().getBoolean("formatcleaner", false)) { + format = format.replace("[]", " "); + format = format.replace(" ", " ").replace(" ", " ").replace(" ", " "); + } + } + mcp.setQuickChat(true); + mcp.getPlayer().chat(message); + event.setCancelled(true); + } + } + } + } + } + + //old 1.8 command map + @EventHandler + public void onServerCommand(ServerCommandEvent event) { + if(plugin.irc && bot.bot.isConnected() && !event.getCommand().equalsIgnoreCase("say ") && event.getCommand().toLowerCase().startsWith("say ")) { + bot.bot.getUserChannelDao().getChannel(bot.channel).send().message("[Server] " + event.getCommand().substring(4)); + } + if(plugin.mysql) { + Statement statement; + Calendar currentDate = Calendar.getInstance(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date = formatter.format(currentDate.getTime()); + try { + statement = plugin.c.createStatement(); + statement.executeUpdate("INSERT INTO `VentureChat` (`ChatTime`, `UUID`, `Name`, `Server`, `Channel`, `Text`, `Type`) VALUES ('" + date + "', 'N/A', 'Console', '" + plugin.getServer().getServerName() + "', 'Command_Component', '" + event.getCommand().replace("'", "''") + "', 'Command');"); + } + catch(SQLException error) { + error.printStackTrace(); + } + } + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if(!(sender instanceof Player)) { + plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player."); + return true; + } + MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer((Player) sender); + for(ChatChannel channel : cc.getChannelsInfo()) { + if(command.getName().toLowerCase().equals(channel.getAlias())) { + if(args.length == 0) { + mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid command: /" + channel.getAlias() + " message"); + return true; + } + mcp.setQuickChat(true); + mcp.setQuickChannel(channel); + mcp.addListening(channel.getName()); + String msg = ""; + for(int x = 0; x < args.length; x++) { + if(args[x].length() > 0) msg += " " + args[x]; + } + mcp.getPlayer().chat(msg); + return true; + } + } + return false; + } + + @EventHandler(priority = EventPriority.LOW) + public void InventoryClick(InventoryClickEvent e) { + ItemStack item = e.getCurrentItem(); + if(item == null || !e.getInventory().getTitle().contains("VentureChat")) { + return; + } + e.setCancelled(true); + MineverseChatPlayer mcp = MineverseChatAPI.getOnlineMineverseChatPlayer((Player) e.getWhoClicked()); + MineverseChatPlayer target = MineverseChatAPI.getMineverseChatPlayer(e.getInventory().getTitle().replace(" GUI", "").replace("VentureChat: ", "")); + ItemStack skull = e.getInventory().getItem(0); + SkullMeta skullMeta = (SkullMeta) skull.getItemMeta(); + ChatChannel channel = MineverseChat.ccInfo.getChannelInfo(ChatColor.stripColor(skullMeta.getLore().get(0)).replace("Channel: ", "")); + int hash = Integer.parseInt(ChatColor.stripColor(skullMeta.getLore().get(1).replace("Hash: ", ""))); + if(item.getType() == Material.BARRIER) { + mcp.getPlayer().closeInventory(); + } + for(GuiSlot g : MineverseChat.gsInfo.getGuiSlots()) { + if(g.getIcon() == item.getType() && g.getDurability() == item.getDurability() && g.getSlot() == e.getSlot()) { + String command = g.getCommand().replace("{channel}", channel.getName()).replace("{hash}", hash + "").replace("{player_name}", target.getName()); + if(target.isOnline()) { + command = PlaceholderAPI.setBracketPlaceholders(target.getPlayer(), command); + } + mcp.getPlayer().chat(command); + } + } + } } \ No newline at end of file diff --git a/MineverseChat/mineverse/Aust1n46/chat/utilities/Format.java b/MineverseChat/mineverse/Aust1n46/chat/utilities/Format.java index 36f50d5..5ead477 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/utilities/Format.java +++ b/MineverseChat/mineverse/Aust1n46/chat/utilities/Format.java @@ -113,6 +113,11 @@ public class Format { json += "]"; if(plugin.getConfig().getString("loglevel", "info").equals("debug")) { System.out.println(json); + System.out.println("END OF JSON"); + System.out.println("END OF JSON"); + System.out.println("END OF JSON"); + System.out.println("END OF JSON"); + System.out.println("END OF JSON"); } return json; } diff --git a/MineverseChat/mineverse/Aust1n46/chat/versions/VersionHandler.java b/MineverseChat/mineverse/Aust1n46/chat/versions/VersionHandler.java index 1b41f67..90a7277 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/versions/VersionHandler.java +++ b/MineverseChat/mineverse/Aust1n46/chat/versions/VersionHandler.java @@ -1,71 +1,71 @@ -package mineverse.Aust1n46.chat.versions; - -import org.bukkit.Bukkit; - -//This class contains methods for determining what version of Minecraft the server is running. -public class VersionHandler { - - public static boolean is1_2_5() { - return Bukkit.getVersion().contains("1.2.5"); - } - - public static boolean is1_3_2() { - return Bukkit.getVersion().contains("1.3.2"); - } - - public static boolean is1_4_7() { - return Bukkit.getVersion().contains("1.4.7"); - } - - public static boolean is1_5_2() { - return Bukkit.getVersion().contains("1.5.2"); - } - - public static boolean is1_6_2() { - return Bukkit.getVersion().contains("1.6.2"); - } - - public static boolean is1_6_4() { - return Bukkit.getVersion().contains("1.6.4"); - } - - public static boolean is1_7_2() { - return Bukkit.getVersion().contains("1.7") && Bukkit.getServer().getClass().getPackage().getName().contains("R1"); - } - - public static boolean is1_7_9() { - return Bukkit.getVersion().contains("1.7") && Bukkit.getServer().getClass().getPackage().getName().contains("R3"); - } - - public static boolean is1_7_10() { - return Bukkit.getVersion().contains("1.7") && Bukkit.getServer().getClass().getPackage().getName().contains("R4"); - } - - public static boolean is1_8() { - return Bukkit.getVersion().contains("1.8"); - } - - public static boolean is1_9() { - return Bukkit.getVersion().contains("1.9"); - } - - public static boolean is1_10() { - return Bukkit.getVersion().contains("1.10"); - } - - public static boolean is1_11() { - return Bukkit.getVersion().contains("1.11"); - } - - public static boolean is1_12() { - return Bukkit.getVersion().contains("1.12"); - } - - public static boolean isCauldron() { - return false; - } - - public static boolean matchesVersion(String s) { - return Bukkit.getVersion().contains(s) || Bukkit.getServer().getClass().getPackage().getName().contains(s); - } +package mineverse.Aust1n46.chat.versions; + +import org.bukkit.Bukkit; + +//This class contains methods for determining what version of Minecraft the server is running. +public class VersionHandler { + + public static boolean is1_2_5() { + return Bukkit.getVersion().contains("1.2.5"); + } + + public static boolean is1_3_2() { + return Bukkit.getVersion().contains("1.3.2"); + } + + public static boolean is1_4_7() { + return Bukkit.getVersion().contains("1.4.7"); + } + + public static boolean is1_5_2() { + return Bukkit.getVersion().contains("1.5.2"); + } + + public static boolean is1_6_2() { + return Bukkit.getVersion().contains("1.6.2"); + } + + public static boolean is1_6_4() { + return Bukkit.getVersion().contains("1.6.4"); + } + + public static boolean is1_7_2() { + return Bukkit.getVersion().contains("1.7") && Bukkit.getServer().getClass().getPackage().getName().contains("R1"); + } + + public static boolean is1_7_9() { + return Bukkit.getVersion().contains("1.7") && Bukkit.getServer().getClass().getPackage().getName().contains("R3"); + } + + public static boolean is1_7_10() { + return Bukkit.getVersion().contains("1.7") && Bukkit.getServer().getClass().getPackage().getName().contains("R4"); + } + + public static boolean is1_8() { + return Bukkit.getVersion().contains("1.8"); + } + + public static boolean is1_9() { + return Bukkit.getVersion().contains("1.9"); + } + + public static boolean is1_10() { + return Bukkit.getVersion().contains("1.10"); + } + + public static boolean is1_11() { + return Bukkit.getVersion().contains("1.11"); + } + + public static boolean is1_12() { + return Bukkit.getVersion().contains("1.12"); + } + + public static boolean isCauldron() { + return false; + } + + public static boolean matchesVersion(String s) { + return Bukkit.getVersion().contains(s) || Bukkit.getServer().getClass().getPackage().getName().contains(s); + } } \ No newline at end of file