Advertisement
w4ffel

Untitled

Feb 27th, 2020
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.45 KB | None | 0 0
  1. package de.waffel.pvp.listener;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.Location;
  5. import org.bukkit.Material;
  6. import org.bukkit.Sound;
  7. import org.bukkit.World;
  8. import org.bukkit.configuration.file.FileConfiguration;
  9. import org.bukkit.enchantments.Enchantment;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.block.Action;
  14. import org.bukkit.event.entity.PlayerDeathEvent;
  15. import org.bukkit.event.inventory.InventoryClickEvent;
  16. import org.bukkit.event.player.PlayerInteractEvent;
  17. import org.bukkit.event.player.PlayerJoinEvent;
  18. import org.bukkit.event.player.PlayerQuitEvent;
  19. import org.bukkit.inventory.Inventory;
  20. import org.bukkit.inventory.ItemStack;
  21. import org.bukkit.inventory.meta.ItemMeta;
  22.  
  23. import de.waffel.pvp.main.Main;
  24.  
  25. public class SpawnDeathListener implements Listener{
  26. FileConfiguration config = Main.getPlugin().getConfig();
  27.  
  28. World w = Bukkit.getWorld(config.getString("PVPArenaSpawn.World"));
  29. double x = config.getDouble("PVPArenaSpawn.X");
  30. double y = config.getDouble("PVPArenaSpawn.Y");
  31. double z = config.getDouble("PVPArenaSpawn.Z");
  32. float yaw = (float)config.getDouble("PVPArenaSpawn.Yaw");
  33. float pitch = (float)config.getDouble("PVPArenaSpawn.Pitch");
  34. Location loc = new Location(w, x, y, z, yaw, pitch);
  35.  
  36.  
  37. public static ItemStack createItem(Material material, int subid, int amount, String name) {
  38. ItemStack item = new ItemStack(material,1,(short) subid);
  39. ItemMeta meta = item.getItemMeta();
  40. meta.setDisplayName(name);
  41. item.setItemMeta(meta);
  42. item.setAmount(amount);
  43.  
  44. return item;
  45. }
  46.  
  47. @EventHandler
  48. public void onDeath(PlayerDeathEvent e) {
  49. e.setDeathMessage(null);
  50.  
  51.  
  52. Player p = e.getEntity().getPlayer();
  53. Player k = e.getEntity().getKiller();
  54. if(k == null) {
  55. p.sendMessage("§7[§4PVP§9Arena§7] §3Du bist gestorben");
  56. p.setHealth(20);
  57. p.setFoodLevel(20);
  58.  
  59. p.setFireTicks(0);
  60. Bukkit.getScheduler().runTaskLater(Main.getPlugin(), new Runnable() {
  61.  
  62. @Override
  63. public void run() {
  64.  
  65. ItemStack kitchest = createItem(Material.CHEST, 0, 1, "§cKits");
  66. p.getInventory().setItem(4, kitchest);
  67.  
  68. }
  69. }, 5);
  70.  
  71. }
  72. if(!(k == null)) {
  73. p.setHealth(20);
  74. p.setFoodLevel(20);
  75. p.setFireTicks(0);
  76. p.sendMessage("§7[§4PVP§9Arena§7] §3Du wurdest von §6" + k.getName() +" §3getötet!");
  77. k.sendMessage("§7[§4PVP§9Arena§7] §3Du hast §6" + p.getName() +" §3getötet!");
  78. }
  79.  
  80.  
  81. p.teleport(loc);
  82. e.getDrops().clear();
  83. p.playSound(p.getLocation(), Sound.ENDERDRAGON_WINGS, 2, 3);
  84. k.playSound(p.getLocation(), Sound.BLAZE_DEATH, 2, 3);
  85.  
  86. Bukkit.getScheduler().runTaskLater(Main.getPlugin(), new Runnable() {
  87.  
  88. @Override
  89. public void run() {
  90.  
  91. ItemStack kitchest = createItem(Material.CHEST, 0, 1, "§cKits");
  92. p.getInventory().setItem(4, kitchest);
  93.  
  94. }
  95. }, 5);
  96.  
  97.  
  98.  
  99. }
  100.  
  101.  
  102.  
  103.  
  104.  
  105. //JOIN UND QUIT LISTENER
  106.  
  107. @EventHandler
  108. public void onJoin(PlayerJoinEvent e) {
  109. FileConfiguration config = Main.getPlugin().getConfig();
  110.  
  111. World w = Bukkit.getWorld(config.getString("PVPArenaSpawn.World"));
  112. double x = config.getDouble("PVPArenaSpawn.X");
  113. double y = config.getDouble("PVPArenaSpawn.Y");
  114. double z = config.getDouble("PVPArenaSpawn.Z");
  115. float yaw = (float)config.getDouble("PVPArenaSpawn.Yaw");
  116. float pitch = (float)config.getDouble("PVPArenaSpawn.Pitch");
  117. Location loc = new Location(w, x, y, z, yaw, pitch);
  118. Player p = e.getPlayer();
  119. p.getInventory().clear();
  120. e.setJoinMessage(null);
  121.  
  122. p.teleport(loc);
  123.  
  124. p.sendMessage("§7[§4PVP§9Arena§7] §3Willkommen in der §4PVP§9Arena");
  125.  
  126.  
  127. Bukkit.getScheduler().runTaskLater(Main.getPlugin(), new Runnable() {
  128.  
  129. @Override
  130. public void run() {
  131.  
  132. ItemStack kitchest = createItem(Material.CHEST, 0, 1, "§cKits");
  133. p.getInventory().setItem(4, kitchest);
  134.  
  135. }
  136. }, 5);
  137.  
  138.  
  139. }
  140.  
  141.  
  142.  
  143.  
  144. @EventHandler
  145. public void onQuit(PlayerQuitEvent e) {
  146. e.setQuitMessage(null);
  147. }
  148.  
  149. public void openKitInventory(Player p) {
  150. Inventory inv = Bukkit.createInventory(null, 9, "§cKits");
  151. ItemStack kitstandart = new ItemStack(createItem(Material.CHAINMAIL_HELMET, 0, 1, "§aStandart§7-§6Kit"));
  152. ItemStack kitprime = new ItemStack(createItem(Material.IRON_HELMET, 0, 1, "§9Prime§7-§6Kit"));
  153. ItemStack kitsupreme = new ItemStack(createItem(Material.DIAMOND_HELMET, 0, 1, "§dSupreme§7-§6Kit"));
  154. ItemStack kityoutuber = new ItemStack(createItem(Material.EMERALD_BLOCK, 0, 1, "§fYou§4Tuber§7-§6Kit"));
  155. inv.setItem(1, kitstandart);
  156. inv.setItem(3, kitprime);
  157. inv.setItem(5, kitsupreme);
  158. inv.setItem(7, kityoutuber);
  159. p.openInventory(inv);
  160. }
  161.  
  162.  
  163. @EventHandler
  164. public void onClick(PlayerInteractEvent e) {
  165. if(e.getItem().getType() == Material.CHEST ) {
  166. if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  167. openKitInventory(e.getPlayer());
  168. }
  169.  
  170. }
  171. }
  172. @EventHandler
  173. public void onKitInventoryKlick(InventoryClickEvent e) {
  174. if(!(e.getWhoClicked() instanceof Player)) return;
  175. Player p = (Player)e.getWhoClicked();
  176. if(e.getInventory().getName().equals("§cKits")) {
  177. e.setCancelled(true);
  178. switch(e.getCurrentItem().getType()) {
  179.  
  180. case CHAINMAIL_HELMET:
  181. p.sendMessage("§7[§4PVP§9Arena§7] §3Du hast das §aStandart§7-§6Kit §3ausgewählt");
  182. p.closeInventory();
  183. ItemStack standartschwert = createItem(Material.STONE_SWORD, 0, 1, "§aStandart Schwert");
  184. p.getInventory().setItem(0, standartschwert);
  185. ItemStack standartbogen = createItem(Material.BOW, 0, 1, "§aStandart Bogen");
  186. p.getInventory().setItem(1, standartbogen);
  187. ItemStack blöcke = createItem(Material.SANDSTONE, 0, 64, "§aBlöcke");
  188. p.getInventory().setItem(2, blöcke);
  189. p.getInventory().setItem(3, blöcke);
  190. p.getInventory().setItem(4, blöcke);
  191. ItemStack standartessen = createItem(Material.APPLE, 0, 32, "§aStandart Essen");
  192. p.getInventory().setItem(5, standartessen);
  193. ItemStack standartenderperlen = createItem(Material.ENDER_PEARL, 0, 3, "§aEnderperle");
  194. p.getInventory().setItem(6, standartenderperlen);
  195. ItemStack standartgoldenapple = createItem(Material.GOLDEN_APPLE, 0, 5, "§aGoldene Äpfel");
  196. p.getInventory().setItem(7, standartgoldenapple);
  197. ItemStack standartpfeile = createItem(Material.ARROW, 0, 32, "§aPfeile");
  198. p.getInventory().setItem(8, standartpfeile);
  199.  
  200.  
  201. break;
  202. case IRON_HELMET:
  203. p.sendMessage("§7[§4PVP§9Arena§7] §3Du hast das §9Prime§7-§6Kit §3ausgewählt");
  204. p.closeInventory();
  205. ItemStack primeschwert = createItem(Material.IRON_SWORD, 0, 1, "§aPrime Schwert");
  206. p.getInventory().setItem(0, primeschwert);
  207. ItemStack primebogen = createItem(Material.BOW, 0, 1, "§aPrime Bogen");
  208. primebogen.addEnchantment(Enchantment.ARROW_KNOCKBACK, 2);
  209. p.getInventory().setItem(1, primebogen);
  210. ItemStack primeblöcke = createItem(Material.SANDSTONE, 0, 64, "§aBlöcke");
  211. p.getInventory().setItem(2, primeblöcke);
  212. p.getInventory().setItem(3, primeblöcke);
  213. p.getInventory().setItem(4, primeblöcke);
  214. ItemStack primeessen = createItem(Material.GRILLED_PORK, 0, 32, "§aPrime Essen");
  215. p.getInventory().setItem(5, primeessen);
  216. ItemStack primeenderperlen = createItem(Material.ENDER_PEARL, 0, 3, "§aEnderperle");
  217. p.getInventory().setItem(6, primeenderperlen);
  218. ItemStack primegoldenapple = createItem(Material.GOLDEN_APPLE, 0, 10, "§aGoldene Äpfel");
  219. p.getInventory().setItem(7, primegoldenapple);
  220. ItemStack primepfeile = createItem(Material.ARROW, 0, 32, "§aPfeile");
  221. p.getInventory().setItem(8, primepfeile);
  222. break;
  223. case DIAMOND_HELMET:
  224. p.sendMessage("§7[§4PVP§9Arena§7] §3Du hast das §dSupreme§7-§6Kit §3ausgewählt");
  225. p.closeInventory();
  226. ItemStack supremeschwert = createItem(Material.DIAMOND_SWORD, 0, 1, "§aSupreme Schwert");
  227. p.getInventory().setItem(0, supremeschwert);
  228. ItemStack supremebogen = createItem(Material.BOW, 0, 1, "§aSupreme Bogen");
  229. supremebogen.addEnchantment(Enchantment.ARROW_KNOCKBACK, 3);
  230. p.getInventory().setItem(1, supremebogen);
  231. ItemStack supremeblöcke = createItem(Material.SANDSTONE, 0, 64, "§aBlöcke");
  232. p.getInventory().setItem(2, supremeblöcke);
  233. p.getInventory().setItem(3, supremeblöcke);
  234. p.getInventory().setItem(4, supremeblöcke);
  235. ItemStack supremeessen = createItem(Material.COOKED_BEEF, 0, 32, "§aSupreme Essen");
  236. p.getInventory().setItem(5, supremeessen);
  237. ItemStack supremeenderperlen = createItem(Material.ENDER_PEARL, 0, 3, "§aEnderperle");
  238. p.getInventory().setItem(6, supremeenderperlen);
  239. ItemStack supremegoldenapple = createItem(Material.GOLDEN_APPLE, 0, 15, "§aGoldene Äpfel");
  240. p.getInventory().setItem(7, supremegoldenapple);
  241. ItemStack supremepfeile = createItem(Material.ARROW, 0, 64, "§aPfeile");
  242. p.getInventory().setItem(8, supremepfeile);
  243. break;
  244. case EMERALD_BLOCK:
  245. p.sendMessage("§7[§4PVP§9Arena§7] §3Du hast das §fYou§4Tuber§7-§6Kit §3ausgewählt");
  246. p.closeInventory();
  247. ItemStack youtuberschwert = createItem(Material.DIAMOND_SWORD, 0, 1, "§aYoutuber Schwert");
  248. p.getInventory().setItem(0, youtuberschwert);
  249. ItemStack youtuberbogen = createItem(Material.BOW, 0, 1, "§aYoutuber Bogen");
  250. youtuberbogen.addEnchantment(Enchantment.ARROW_KNOCKBACK, 1);
  251. youtuberbogen.addEnchantment(Enchantment.ARROW_FIRE, 1);
  252. p.getInventory().setItem(1, youtuberbogen);
  253. ItemStack youtuberblöcke = createItem(Material.SANDSTONE, 0, 64, "§aBlöcke");
  254. p.getInventory().setItem(2, youtuberblöcke);
  255. p.getInventory().setItem(3, youtuberblöcke);
  256. p.getInventory().setItem(4, youtuberblöcke);
  257. ItemStack youtuberessen = createItem(Material.COOKED_CHICKEN, 0, 32, "§aYoutuber Essen");
  258. p.getInventory().setItem(5, youtuberessen);
  259. ItemStack youtuberenderperlen = createItem(Material.ENDER_PEARL, 0, 3, "§aEnderperle");
  260. p.getInventory().setItem(6, youtuberenderperlen);
  261. ItemStack youtubergoldenapple = createItem(Material.GOLDEN_APPLE, 0, 15, "§aGoldene Äpfel");
  262. p.getInventory().setItem(7, youtubergoldenapple);
  263. ItemStack youtuberpfeile = createItem(Material.ARROW, 0, 64, "§aPfeile");
  264. p.getInventory().setItem(8, youtuberpfeile);
  265. break;
  266. default:
  267. break;
  268. }
  269.  
  270. }else return;
  271. }
  272.  
  273.  
  274.  
  275. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement