Advertisement
w4ffel

Untitled

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