Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.thebmanswan541;
- import java.io.ByteArrayOutputStream;
- import java.io.DataOutputStream;
- import java.util.ArrayList;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Effect;
- import org.bukkit.GameMode;
- import org.bukkit.Material;
- import org.bukkit.Sound;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.Arrow;
- import org.bukkit.entity.EntityType;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.entity.ProjectileHitEvent;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerLoginEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.event.player.PlayerTeleportEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.BookMeta;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.kitteh.tag.AsyncPlayerReceiveNameTagEvent;
- import org.kitteh.tag.TagAPI;
- public class JoinListener implements Listener {
- ServerInfo factionsserver = new ServerInfo("0.0.0.0", 25567);
- ServerInfo prisonserver = new ServerInfo("0.0.0.0", 25568);
- ServerInfo sgserver = new ServerInfo("0.0.0.0", 25569);
- ServerInfo creativeserver = new ServerInfo("0.0.0.0", 25560);
- public void sendToServer(Player p, String targetserver) {
- ByteArrayOutputStream b = new ByteArrayOutputStream();
- DataOutputStream out = new DataOutputStream(b);
- try {
- out.writeUTF("Connect");
- out.writeUTF(targetserver);
- }catch(Exception e) {
- e.printStackTrace();
- }
- p.sendPluginMessage(new MainClass(), "BungeeCord", b.toByteArray());
- }
- ItemStack TMenu = new ItemStack(Material.COMPASS); {
- ItemMeta TMenuMeta = TMenu.getItemMeta();
- TMenuMeta.setDisplayName(ChatColor.DARK_GRAY+"- "+ChatColor.GREEN+"Servers"+ChatColor.DARK_GRAY+" - "+ChatColor.LIGHT_PURPLE+"("+ChatColor.GRAY+"Right-Click"+ChatColor.LIGHT_PURPLE+")");
- ArrayList<String> TMenuLore = new ArrayList<String>();
- TMenuLore.add(ChatColor.GRAY+"Right-Click to view available server teleportation options!");
- TMenuMeta.setLore(TMenuLore);
- TMenu.setItemMeta(TMenuMeta);
- }
- ItemStack IMenu = new ItemStack(Material.WRITTEN_BOOK); {
- BookMeta meta = (BookMeta) IMenu.getItemMeta();
- meta.setTitle(ChatColor.DARK_GRAY+"- "+ChatColor.AQUA+"Server Info"+ChatColor.DARK_GRAY+" - "+ChatColor.LIGHT_PURPLE+"("+ChatColor.GRAY+"Right-Click"+ChatColor.LIGHT_PURPLE+")");
- meta.setAuthor(MainClass.AdminTag+ChatColor.RED+"thebmanswan541");
- meta.addPage(ChatColor.BOLD+"This is the official "+ChatColor.RED+"Hub"+ChatColor.YELLOW+"Plugin"+ChatColor.RESET+ChatColor.BOLD+" server!");
- ArrayList<String> BookLore = new ArrayList<String>();
- BookLore.add(ChatColor.GRAY+"Right-Click to view available server info!");
- meta.setLore(BookLore);
- IMenu.setItemMeta(meta);
- }
- ItemStack BowTeleporter = new ItemStack(Material.BOW); {
- ItemMeta BowTeleporterMeta = BowTeleporter.getItemMeta();
- BowTeleporterMeta.setDisplayName(ChatColor.DARK_GRAY+"- "+ChatColor.GOLD+"Bow Teleporter"+ChatColor.DARK_GRAY+" - "+ChatColor.LIGHT_PURPLE+"("+ChatColor.GRAY+"Shoot"+ChatColor.LIGHT_PURPLE+")");
- ArrayList<String> BowTeleporterLore = new ArrayList<String>();
- BowTeleporterLore.add(ChatColor.GRAY+"Shoot to teleport!");
- BowTeleporterMeta.setLore(BowTeleporterLore);
- BowTeleporter.setItemMeta(BowTeleporterMeta);
- BowTeleporter.addEnchantment(Enchantment.DURABILITY, 3);
- BowTeleporter.addEnchantment(Enchantment.ARROW_INFINITE, 1);
- }
- ItemStack Hub = new ItemStack(Material.GOLD_NUGGET); {
- ItemMeta HubMeta = Hub.getItemMeta();
- HubMeta.setDisplayName(ChatColor.WHITE+">> "+ChatColor.GREEN+"Back to Hub");
- ArrayList<String> HubLore = new ArrayList<String>();
- HubLore.add("");
- HubLore.add(ChatColor.WHITE+" >> "+ChatColor.YELLOW+"Click to teleport back to the hub!");
- HubMeta.setLore(HubLore);
- Hub.setItemMeta(HubMeta);
- }
- public static ItemStack PlayersVisible = new ItemStack(Material.REDSTONE_TORCH_ON); {
- ItemMeta PlayersVisibleMeta = PlayersVisible.getItemMeta();
- PlayersVisibleMeta.setDisplayName(ChatColor.RED+"Players are visible"+ChatColor.DARK_GRAY+"! "+ChatColor.LIGHT_PURPLE+"("+ChatColor.GRAY+"Right-Click"+ChatColor.LIGHT_PURPLE+")");
- ArrayList<String> PlayersVisibleLore = new ArrayList<String>();
- PlayersVisibleLore.add(ChatColor.GRAY+"Right click to toggle player visibility!");
- PlayersVisibleMeta.setLore(PlayersVisibleLore);
- PlayersVisible.setItemMeta(PlayersVisibleMeta);
- }
- public static ItemStack PlayersInvisible = new ItemStack(Material.LEVER); {
- ItemMeta PlayersInvisibleMeta = PlayersVisible.getItemMeta();
- PlayersInvisibleMeta.setDisplayName(ChatColor.DARK_GRAY+"Players are invisible"+ChatColor.RED+"! "+ChatColor.LIGHT_PURPLE+"("+ChatColor.GRAY+"Right-Click"+ChatColor.LIGHT_PURPLE+")");
- ArrayList<String> PlayersInvisibleLore = new ArrayList<String>();
- PlayersInvisibleLore.add(ChatColor.GRAY+"Right click to toggle player visibility!");
- PlayersInvisibleMeta.setLore(PlayersInvisibleLore);
- PlayersInvisible.setItemMeta(PlayersInvisibleMeta);
- }
- ItemStack TeleportationArrow = new ItemStack(Material.ARROW); {
- ItemMeta TeleportationArrowMeta = TeleportationArrow.getItemMeta();
- TeleportationArrowMeta.setDisplayName(ChatColor.DARK_GRAY+"- "+ChatColor.GRAY+"["+ChatColor.AQUA+"Teleportation Arrow"+ChatColor.GRAY+"]"+ChatColor.DARK_GRAY+" -");
- ArrayList<String> TeleportationArrowLore = new ArrayList<String>();
- TeleportationArrowLore.add(ChatColor.GRAY+"Can't shoot the Bow Teleporter without the arrow!");
- TeleportationArrowMeta.setLore(TeleportationArrowLore);
- TeleportationArrow.setItemMeta(TeleportationArrowMeta);
- }
- public static Inventory TPMenuGui = Bukkit.getServer().createInventory(null, 27, ChatColor.AQUA+"Teleport Menu");
- Inventory IMenuGui = Bukkit.getServer().createInventory(null, 9, ChatColor.YELLOW+"Information Menu");
- @EventHandler
- public void onLogin(PlayerLoginEvent e) {
- SettingsManager settings = SettingsManager.getInstance();
- List<String> banned = settings.getBanned().getStringList("Banned");
- if (banned.contains(e.getPlayer().getName())) {
- e.disallow(PlayerLoginEvent.Result.KICK_OTHER, ChatColor.YELLOW+"You may not join this server! Reason:"+ChatColor.RED+" Banned"+ChatColor.YELLOW+".");
- return;
- }
- }
- @EventHandler
- public void onNameTag(AsyncPlayerReceiveNameTagEvent e) {
- Player p = e.getNamedPlayer();
- SettingsManager settings = SettingsManager.getInstance();
- List<String> admins = settings.getAdmins().getStringList("Admins");
- List<String> mods = settings.getMods().getStringList("Mods");
- List<String> helpers = settings.getHelpers().getStringList("Helpers");
- if (admins.contains(p.getName())) {
- e.setTag(ChatColor.RED+p.getName());
- } else if (mods.contains(p.getName())) {
- e.setTag(ChatColor.LIGHT_PURPLE+p.getName());
- } else if (helpers.contains(p.getName())) {
- e.setTag(ChatColor.AQUA+p.getName());
- } else {
- e.setTag(ChatColor.GRAY+p.getName());
- }
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- SettingsManager settings = SettingsManager.getInstance();
- List<String> admins = settings.getAdmins().getStringList("Admins");
- List<String> mods = settings.getMods().getStringList("Mods");
- List<String> helpers = settings.getHelpers().getStringList("Helpers");
- if (admins.contains(p.getName())) {
- MainClass.admin.add(p.getName());
- p.sendMessage(MainClass.PTAG+ChatColor.GRAY+"Right click the redstone torch to toggle player visibility!");
- p.sendMessage(ChatColor.DARK_GRAY+"******************************************************");
- p.sendMessage(ChatColor.BOLD+""+ChatColor.WHITE+" Welcome, "+MainClass.AdminTag+ChatColor.RED+p.getName()+ChatColor.BOLD+""+ChatColor.WHITE+", to the official");
- p.sendMessage(ChatColor.BOLD+""+ChatColor.RED+" Hub"+ChatColor.BOLD+ChatColor.YELLOW+"Plugin "+ChatColor.BOLD+""+ChatColor.WHITE+" server!");
- p.sendMessage("");
- p.sendMessage(ChatColor.YELLOW+"There are currently "+ChatColor.GREEN+p.getServer().getOnlinePlayers().length+ChatColor.GRAY+"/"+ChatColor.GREEN+p.getServer().getMaxPlayers()+ChatColor.YELLOW+" players online!");
- p.sendMessage(ChatColor.DARK_GRAY+"******************************************************");
- e.setJoinMessage(MainClass.AdminTag+ChatColor.RED+p.getName()+ChatColor.WHITE+" has joined the server!");
- } else if (mods.contains(p.getName())) {
- MainClass.mod.add(p.getName());
- p.sendMessage(MainClass.PTAG+ChatColor.GRAY+"Right click the redstone torch to toggle player visibility!");
- p.sendMessage(ChatColor.DARK_GRAY+"******************************************************");
- p.sendMessage(ChatColor.BOLD+""+ChatColor.WHITE+" Welcome, "+MainClass.ModTag+ChatColor.LIGHT_PURPLE+p.getName()+ChatColor.BOLD+""+ChatColor.WHITE+", to the official");
- p.sendMessage(ChatColor.BOLD+""+ChatColor.RED+" Hub"+ChatColor.BOLD+ChatColor.YELLOW+"Plugin "+ChatColor.BOLD+""+ChatColor.WHITE+" server!");
- p.sendMessage("");
- p.sendMessage(ChatColor.YELLOW+"There are currently "+ChatColor.GREEN+p.getServer().getOnlinePlayers().length+ChatColor.GRAY+"/"+ChatColor.GREEN+p.getServer().getMaxPlayers()+ChatColor.YELLOW+" players online!");
- p.sendMessage(ChatColor.DARK_GRAY+"******************************************************");
- e.setJoinMessage(MainClass.ModTag+ChatColor.LIGHT_PURPLE+p.getName()+ChatColor.WHITE+" has joined the server!");
- } else if (helpers.contains(p.getName())) {
- MainClass.helper.add(p.getName());
- p.sendMessage(MainClass.PTAG+ChatColor.GRAY+"Right click the redstone torch to toggle player visibility!");
- p.sendMessage(ChatColor.DARK_GRAY+"******************************************************");
- p.sendMessage(ChatColor.BOLD+""+ChatColor.WHITE+" Welcome, "+MainClass.HelperTag+ChatColor.BLUE+p.getName()+ChatColor.BOLD+""+ChatColor.WHITE+", to the official");
- p.sendMessage(ChatColor.BOLD+""+ChatColor.RED+" Hub"+ChatColor.BOLD+ChatColor.YELLOW+"Plugin "+ChatColor.BOLD+""+ChatColor.WHITE+" server!");
- p.sendMessage("");
- p.sendMessage(ChatColor.YELLOW+"There are currently "+ChatColor.GREEN+p.getServer().getOnlinePlayers().length+ChatColor.GRAY+"/"+ChatColor.GREEN+p.getServer().getMaxPlayers()+ChatColor.YELLOW+" players online!");
- p.sendMessage(ChatColor.DARK_GRAY+"******************************************************");
- e.setJoinMessage(MainClass.HelperTag+ChatColor.BLUE+p.getName()+ChatColor.GRAY+" has joined the server!");
- }else {
- MainClass.user.add(p.getName());
- p.sendMessage(MainClass.PTAG+ChatColor.GRAY+"Right click the redstone torch to toggle player visibility!");
- p.sendMessage(ChatColor.DARK_GRAY+"******************************************************");
- p.sendMessage(ChatColor.BOLD+""+ChatColor.WHITE+" Welcome, "+ChatColor.GRAY+p.getName()+ChatColor.BOLD+""+ChatColor.WHITE+", to the official");
- p.sendMessage(ChatColor.BOLD+""+ChatColor.RED+" Hub"+ChatColor.BOLD+ChatColor.YELLOW+"Plugin "+ChatColor.BOLD+""+ChatColor.WHITE+" server!");
- p.sendMessage("");
- p.sendMessage(ChatColor.YELLOW+"There are currently "+ChatColor.GREEN+p.getServer().getOnlinePlayers().length+ChatColor.GRAY+"/"+ChatColor.GREEN+p.getServer().getMaxPlayers()+ChatColor.YELLOW+" players online!");
- p.sendMessage(ChatColor.DARK_GRAY+"******************************************************");
- e.setJoinMessage(null);
- }
- TagAPI.refreshPlayer(p);
- p.setHealth(p.getMaxHealth());
- p.setFoodLevel(20);
- p.setSaturation(0F);
- p.setLevel(0);
- p.setExp(0F);
- p.getInventory().clear();
- p.setGameMode(GameMode.ADVENTURE);
- p.getInventory().setItem(0, TMenu);
- p.getInventory().setItem(2, IMenu);
- p.getInventory().setItem(5, BowTeleporter);
- p.getInventory().setItem(8, PlayersVisible);
- p.getInventory().setItem(9, TeleportationArrow);
- }
- @EventHandler
- public void onQuit(PlayerQuitEvent e) {
- Player p = e.getPlayer();
- if (MainClass.admin.contains(p.getName())) {
- MainClass.admin.remove(p.getName());
- } else if (MainClass.mod.contains(p.getName())) {
- MainClass.mod.remove(p.getName());
- } else if (MainClass.helper.contains(p.getName())) {
- MainClass.helper.remove(p.getName());
- } else if (MainClass.user.contains(p.getName())){
- MainClass.user.remove(p.getName());
- }
- return;
- }
- @EventHandler
- public void onInteract(PlayerInteractEvent e) {
- Player p = e.getPlayer();
- if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
- if (p.getItemInHand().getType() == Material.COMPASS) {
- TPMenuGui.setItem(9, MainClass.Factions);
- TPMenuGui.setItem(11, MainClass.Prison);
- TPMenuGui.setItem(15, MainClass.SG);
- TPMenuGui.setItem(17, MainClass.Creative);
- TPMenuGui.setItem(22, Hub);
- p.sendMessage(MainClass.TAG+ChatColor.GREEN+"Opening teleport menu...");
- p.openInventory(TPMenuGui);
- }
- }
- }
- @EventHandler
- public void onInvClick(InventoryClickEvent e) {
- Player p = (Player) e.getWhoClicked();
- if (e.getInventory().getName().equals(TPMenuGui.getName())) {
- if (e.getCurrentItem().getType() == null) return;
- if (e.getCurrentItem().getType() == Material.DIAMOND) {
- p.sendMessage(MainClass.TAG+ChatColor.GREEN+"Teleporting to Factions...");
- p.closeInventory();
- return;
- }
- if (e.getCurrentItem().getType() == Material.IRON_FENCE) {
- p.sendMessage(MainClass.TAG+ChatColor.GREEN+"Teleporting to Prison...");
- p.closeInventory();
- return;
- }
- if (e.getCurrentItem().getType() == Material.IRON_SWORD) {
- p.sendMessage(MainClass.TAG+ChatColor.GREEN+"Teleporting to Survival Games...");
- p.closeInventory();
- return;
- }
- if (e.getCurrentItem().getType() == Material.WORKBENCH) {
- p.sendMessage(MainClass.TAG+ChatColor.GREEN+"Teleporting to Creative...");
- p.closeInventory();
- return;
- }
- }
- }
- @EventHandler
- public void onHit(ProjectileHitEvent e) {
- if (!(e.getEntity().getShooter() instanceof Player)) return;
- if (!(e.getEntity().getType().equals(EntityType.ARROW))) return;
- Arrow a = (Arrow) e.getEntity();
- Player p = (Player) e.getEntity().getShooter();
- p.sendMessage(MainClass.TAG+ChatColor.GREEN+"Teleporting...");
- p.teleport(a.getLocation(), PlayerTeleportEvent.TeleportCause.PLUGIN);
- p.getWorld().playEffect(p.getLocation(), Effect.MOBSPAWNER_FLAMES, 100);
- p.playSound(a.getLocation(), Sound.ENDERMAN_TELEPORT, 1F, 1F);
- a.remove();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement