Advertisement
Guest User

Events.java

a guest
Apr 22nd, 2014
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.68 KB | None | 0 0
  1. package me.joeygallegos.tbhe;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.Sound;
  11. import org.bukkit.World;
  12. import org.bukkit.block.Sign;
  13. import org.bukkit.entity.Entity;
  14. import org.bukkit.entity.Player;
  15. import org.bukkit.event.EventHandler;
  16. import org.bukkit.event.EventPriority;
  17. import org.bukkit.event.Listener;
  18. import org.bukkit.event.block.Action;
  19. import org.bukkit.event.block.BlockBreakEvent;
  20. import org.bukkit.event.block.BlockPlaceEvent;
  21. import org.bukkit.event.block.SignChangeEvent;
  22. import org.bukkit.event.entity.EntityDeathEvent;
  23. import org.bukkit.event.player.PlayerChangedWorldEvent;
  24. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  25. import org.bukkit.event.player.PlayerDropItemEvent;
  26. import org.bukkit.event.player.PlayerInteractEvent;
  27. import org.bukkit.event.player.PlayerJoinEvent;
  28. import org.bukkit.event.player.PlayerPickupItemEvent;
  29. import org.bukkit.event.player.PlayerQuitEvent;
  30. import org.bukkit.inventory.ItemStack;
  31. import org.bukkit.inventory.PlayerInventory;
  32. import org.bukkit.inventory.meta.ItemMeta;
  33. import org.bukkit.util.Vector;
  34.  
  35. public class Events implements Listener {
  36.  
  37. Core plugin;
  38.  
  39. public Events(Core passedPlugin) {
  40. this.plugin = passedPlugin;
  41. }
  42.  
  43. // command prefix
  44. public static String plus = "" + ChatColor.RED + "[" + ChatColor.AQUA + "+"
  45. + ChatColor.RED + "]" + ChatColor.AQUA + " ";
  46. public static String tbh = "" + ChatColor.GOLD + ChatColor.BOLD + "TBH> "
  47. + ChatColor.RESET;
  48. public static String tbhb = "" + ChatColor.BLUE + ChatColor.BOLD + "TBH> "
  49. + ChatColor.RESET;
  50. public static String prefix = "" + ChatColor.AQUA + "> " + ChatColor.RESET;
  51.  
  52. // get op world from config
  53. World world = Bukkit.getWorld("spawn");
  54. World sur = Bukkit.getWorld("survival");
  55.  
  56. // flying feather
  57. @EventHandler
  58. public void woosh(PlayerInteractEvent event) {
  59. Player p = event.getPlayer();
  60. if(event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
  61. if(p.getItemInHand().getType() == Material.FEATHER) {
  62.  
  63. // whoosh
  64. Vector v = p.getLocation().getDirection().add(new Vector(0, 1, 0));
  65. p.setVelocity(v);
  66.  
  67. // play sound
  68. p.playSound(p.getLocation(), Sound.CHICKEN_HURT, 8, 8);
  69. }
  70. }
  71. }
  72.  
  73. // hide players
  74. @EventHandler
  75. public void hidePlayers(PlayerInteractEvent event) {
  76. Player p = event.getPlayer();
  77.  
  78. if(event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
  79. if(p.getItemInHand().getType() == Material.REDSTONE_TORCH_ON) {
  80. p.sendMessage(ChatColor.RED + "Boom!");
  81. }
  82. }
  83. }
  84.  
  85. // drop gold on death
  86. @EventHandler
  87. public void GoldDrop(EntityDeathEvent event) {
  88. Entity ent = (Entity) event.getEntity();
  89. if (ent instanceof Player) {
  90. Player p = (Player) ent;
  91. for(int i = 1; i < 5; i++){
  92. ItemStack g = new ItemStack(Material.GOLD_INGOT);
  93. p.getWorld().dropItem(p.getEyeLocation(), g);
  94. }
  95. }
  96. }
  97.  
  98. // claymore
  99. /*@EventHandler(priority = EventPriority.HIGH)
  100. public void Claymore(PlayerInteractEvent event) {
  101. Player p = event.getPlayer();
  102. if(event.getAction() == Action.PHYSICAL) {
  103. if(event.getClickedBlock().getType() == Material.STONE_PLATE) {
  104. if (p.getLocation().getBlock().getRelative(BlockFace.DOWN).getType() == Material.DIAMOND_BLOCK) {
  105. // send message first
  106. p.sendMessage(ChatColor.RED + "You hit a claymore!");
  107.  
  108. // whoosh
  109. Vector v = p.getLocation().getDirection().add(new Vector(0,3,0));
  110. p.setVelocity(v);
  111.  
  112. // default event stopped
  113. event.setCancelled(true);
  114. }
  115. }
  116. }
  117. }*/
  118.  
  119. // prevent block placement
  120. @EventHandler(priority = EventPriority.HIGH)
  121. public void onPlaceBlock(BlockPlaceEvent event) {
  122. Player p = event.getPlayer();
  123. if(!p.isOp() && p.getLocation().getWorld().getName().equals("spawn")) {
  124. p.sendMessage(tbh + plugin.getConfig().getString("on-place"));
  125. event.getPlayer().playSound(p.getLocation(), Sound.CLICK, 10, 1);
  126. event.setCancelled(true);
  127. } else if (p.isOp()) {
  128. event.setCancelled(false);
  129. }
  130.  
  131. }
  132.  
  133. // prevent item drop in spawn
  134. @EventHandler(priority = EventPriority.HIGH)
  135. public void onPlayerDrop(PlayerDropItemEvent event) {
  136. Player p = event.getPlayer();
  137. if (p.getLocation().getWorld().getName().equals("spawn")) {
  138. event.setCancelled(true);
  139. p.sendMessage(tbh + plugin.getConfig().getString("on-throw"));
  140. event.getPlayer().playSound(p.getLocation(), Sound.CLICK, 10, 1);
  141. }
  142. }
  143.  
  144. // deny picking up items in the spawn
  145. @EventHandler
  146. public void onPlayerPickupItem(PlayerPickupItemEvent event) {
  147. Player p = event.getPlayer();
  148. if (p.getLocation().getWorld().getName().equals("spawn")) {
  149. event.setCancelled(true);
  150. // p.sendMessage(tbh + "You can't pick up items in the spawn!");
  151. }
  152. }
  153.  
  154. // spawn break block
  155. @EventHandler
  156. public void onBlockBreak(BlockBreakEvent event) {
  157. Player p = event.getPlayer();
  158. if (!p.isOp() && p.getLocation().getWorld().getName().equals("spawn")) {
  159. event.setCancelled(true);
  160. p.sendMessage(tbh + plugin.getConfig().getString("on-break"));
  161. } else if (p.isOp()) {
  162. event.setCancelled(false);
  163. }
  164. }
  165.  
  166. // custom hub items
  167. @EventHandler
  168. public void onPlayerChangeWorld(PlayerChangedWorldEvent event) {
  169. Player p = event.getPlayer();
  170. if (p.getLocation().getWorld().getName().equals("spawn")) {
  171. PlayerInventory inventory = p.getInventory();
  172.  
  173. // else if doesn't work here
  174. if (!inventory.contains(Material.NETHER_STAR)) {
  175.  
  176. ItemStack nav = new ItemStack(Material.NETHER_STAR);
  177. // nav.addEnchantment(Enchantment.PROTECTION_FIRE,1);
  178. ItemMeta im = nav.getItemMeta();
  179. im.setDisplayName(ChatColor.BLUE + "Locations");
  180. List<String> lore = new ArrayList<String>();
  181. lore.add(" ");
  182. lore.add(ChatColor.BLUE + "See all the hub locations");
  183. im.setLore(lore);
  184. nav.setItemMeta(im);
  185.  
  186. p.getInventory().addItem(nav);
  187. }
  188. if (!inventory.contains(Material.REDSTONE_TORCH_ON)) {
  189.  
  190. ItemStack hide = new ItemStack(Material.REDSTONE_TORCH_ON);
  191. ItemMeta iimm = hide.getItemMeta();
  192. iimm.setDisplayName(ChatColor.RED + "Hide players");
  193. List<String> loree = new ArrayList<String>();
  194. loree.add(" ");
  195. loree.add(ChatColor.RED + "Hide all players");
  196. iimm.setLore(loree);
  197. hide.setItemMeta(iimm);
  198.  
  199. p.getInventory().addItem(hide);
  200. }
  201. if (!inventory.contains(Material.FEATHER)) {
  202.  
  203. ItemStack feather = new ItemStack(Material.FEATHER);
  204. ItemMeta iimm = feather.getItemMeta();
  205. iimm.setDisplayName(ChatColor.GREEN + "Magic feather");
  206. List<String> loree = new ArrayList<String>();
  207. loree.add(" ");
  208. loree.add(ChatColor.AQUA + "This magical feather allowes you to fly");
  209. loree.add(ChatColor.GREEN + "Dont fly to high!");
  210. iimm.setLore(loree);
  211. feather.setItemMeta(iimm);
  212.  
  213. p.getInventory().addItem(feather);
  214. }
  215. }
  216. }
  217.  
  218. // custom join message
  219. @EventHandler
  220. public void onPlayerJoin(PlayerJoinEvent event) {
  221. Player p = event.getPlayer();
  222.  
  223. World sw = Bukkit.getWorld(plugin.getConfig().getString("spawn.world"));
  224. int x = plugin.getConfig().getInt("spawn.x");
  225. int y = plugin.getConfig().getInt("spawn.y");
  226. int z = plugin.getConfig().getInt("spawn.z");
  227.  
  228. float pitch = plugin.getConfig().getInt("spawn.pitch");
  229. float yaw = plugin.getConfig().getInt("spawn.yaw");
  230.  
  231. p.teleport(new Location(sw, x, y, z, pitch, yaw));
  232.  
  233. event.setJoinMessage("");
  234. p.sendMessage("");
  235. p.sendMessage(tbh + ChatColor.AQUA + "Welcome to " + ChatColor.GREEN
  236. + ChatColor.BOLD + "THEBATTLEHUB");
  237. p.sendMessage(tbh + ChatColor.AQUA + "Made by Joey of "
  238. + ChatColor.GREEN + ChatColor.BOLD + "TBH");
  239. p.sendMessage("");
  240. p.sendMessage("");
  241.  
  242. for (Player aPlayer : Bukkit.getOnlinePlayers()) {
  243. if (aPlayer.isOnline()) {
  244. if (!(aPlayer.getName().equals(p.getName()))) {
  245. aPlayer.sendMessage(tbh + ChatColor.RESET + ChatColor.AQUA
  246. + "Welcome " + p.getName() + " to"
  247. + ChatColor.GREEN + ChatColor.BOLD + " TBH");
  248. }
  249. }
  250. }
  251. }
  252.  
  253. // custom leave message
  254. @EventHandler
  255. public void onPlayerQuit(PlayerQuitEvent event) {
  256. Player p = event.getPlayer();
  257.  
  258. event.setQuitMessage("");
  259. for (Player aPlayer : Bukkit.getOnlinePlayers()) {
  260. if (aPlayer.isOnline()) {
  261. if (!(aPlayer.getName().equals(p.getName()))) {
  262. aPlayer.sendMessage(tbh + ChatColor.RED + p.getName()
  263. + " has left the server :(");
  264. }
  265. }
  266. }
  267. }
  268.  
  269. // remove the /plugin custom message
  270. @EventHandler
  271. public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) {
  272. Player p = event.getPlayer();
  273. String[] split = event.getMessage().split(" ");
  274. if (split.length < 1)
  275. return;
  276. String cmd = split[0].trim().substring(1).toLowerCase();
  277. if (cmd.equalsIgnoreCase("plugins") || cmd.equalsIgnoreCase("pl")) {
  278. event.setCancelled(true);
  279. p.sendMessage(tbh
  280. + "These are top secret, message an admin for more details.");
  281. }
  282. }
  283.  
  284. // custom sign functions
  285. @EventHandler
  286. public void onSignInteract(PlayerInteractEvent e) {
  287. Player p = e.getPlayer();
  288.  
  289. if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  290. if (e.getClickedBlock() != null && (e.getClickedBlock().getType() == Material.WALL_SIGN || e.getClickedBlock() != null && e.getClickedBlock().getState() instanceof Sign)) {
  291. Sign s = (Sign) e.getClickedBlock().getState();
  292.  
  293. if (s.getLine(0).equalsIgnoreCase(ChatColor.AQUA + "[TBH]")
  294. && s.getLine(1).equalsIgnoreCase(
  295. ChatColor.GREEN + "Survival")) {
  296. p.sendMessage(tbhb + "Warped to survival world!");
  297. p.teleport(sur.getSpawnLocation());
  298. }
  299.  
  300. if (s.getLine(0).equalsIgnoreCase(ChatColor.AQUA + "[TBH]")
  301. && s.getLine(1).equalsIgnoreCase(
  302. ChatColor.GREEN + "Spawn")) {
  303. p.sendMessage(tbhb + "Warped to spawn!");
  304. p.teleport(world.getSpawnLocation());
  305. }
  306. }
  307. } else {
  308. return;
  309. }
  310. }
  311.  
  312. // tbh sign creation
  313. @EventHandler
  314. public void signCreation(SignChangeEvent event) {
  315. Player p = event.getPlayer();
  316. if (p.hasPermission("tbh.sign")) {
  317. if (event.getLine(0).equalsIgnoreCase("[SUR]")) {
  318. event.setLine(0, ChatColor.AQUA + "[TBH]");
  319. event.setLine(1, ChatColor.GREEN + "Survival");
  320. } else if (event.getLine(0).equalsIgnoreCase("[SPAWN]")) {
  321. event.setLine(0, ChatColor.AQUA + "[TBH]");
  322. event.setLine(1, ChatColor.GREEN + "Spawn");
  323. }
  324. } else {
  325. p.sendMessage(ChatColor.RED
  326. + "You don't have permission to make a TBH sign");
  327. }
  328. }
  329.  
  330. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement