Advertisement
w4ffel

Untitled

Feb 27th, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.51 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.BRICK, 0, 1, "§aBauarbeiter§7-§6Kit"));
  152. ItemStack kitprime = new ItemStack(createItem(Material.GOLD_BLOCK, 0, 1, "§2Ritter§7-§6Kit"));
  153. ItemStack kitsupreme = new ItemStack(createItem(Material.LAPIS_BLOCK, 0, 1, "§cMagier§7-§6Kit"));
  154. ItemStack kityoutuber = new ItemStack(createItem(Material.NETHERRACK, 0, 1, "§4Feuer§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 BRICK:
  181. p.sendMessage("§7[§4PVP§9Arena§7] §3Du hast das §aBauarbeiter§7-§6Kit §3ausgewählt");
  182. p.closeInventory();
  183. ItemStack standartschwert = createItem(Material.DIAMOND_PICKAXE, 0, 1, "§aBauarbeiter Picke");
  184. p.getInventory().setItem(0, standartschwert);
  185.  
  186.  
  187. ItemStack standartbogen = createItem(Material.BOW, 0, 1, "§aBauarbeiter Bogen");
  188. p.getInventory().setItem(1, standartbogen);
  189. ItemStack blöcke = createItem(Material.BRICK, 0, 64, "§aBauarbeiter Blöcke");
  190. p.getInventory().setItem(2, blöcke);
  191. p.getInventory().setItem(3, blöcke);
  192. p.getInventory().setItem(4, blöcke);
  193. ItemStack standartessen = createItem(Material.APPLE, 0, 32, "§aBauarbeiter Essen");
  194. p.getInventory().setItem(5, standartessen);
  195. ItemStack standartenderperlen = createItem(Material.LADDER, 0, 64, "§aBauarbeiter Leitern");
  196. p.getInventory().setItem(6, standartenderperlen);
  197. ItemStack standartgoldenapple = createItem(Material.GOLDEN_APPLE, 0, 5, "§aGoldene Äpfel");
  198. p.getInventory().setItem(7, standartgoldenapple);
  199. ItemStack standartpfeile = createItem(Material.ARROW, 0, 32, "§aPfeile");
  200. p.getInventory().setItem(8, standartpfeile);
  201.  
  202.  
  203. break;
  204. case GOLD_BLOCK:
  205. p.sendMessage("§7[§4PVP§9Arena§7] §3Du hast das §2Ritter§7-§6Kit §3ausgewählt");
  206. p.closeInventory();
  207. ItemStack primeschwert = createItem(Material.IRON_SWORD, 0, 1, "§2Ritter Schwert");
  208. p.getInventory().setItem(0, primeschwert);
  209. ItemStack primebogen = createItem(Material.BOW, 0, 1, "§2Ritter Bogen");
  210. primebogen.addEnchantment(Enchantment.ARROW_KNOCKBACK, 2);
  211. p.getInventory().setItem(1, primebogen);
  212. ItemStack primeblöcke = createItem(Material.GOLD_BLOCK, 0, 64, "§2Ritter Blöcke");
  213. p.getInventory().setItem(2, primeblöcke);
  214. p.getInventory().setItem(3, primeblöcke);
  215. p.getInventory().setItem(4, primeblöcke);
  216. ItemStack primeessen = createItem(Material.GRILLED_PORK, 0, 32, "§2Ritter Essen");
  217. p.getInventory().setItem(5, primeessen);
  218. ItemStack primeenderperlen = createItem(Material.FISHING_ROD, 0, 1, "§2 Ritter Angel");
  219. p.getInventory().setItem(6, primeenderperlen);
  220. ItemStack primegoldenapple = createItem(Material.GOLDEN_APPLE, 0, 10, "§2Goldene Äpfel");
  221. p.getInventory().setItem(7, primegoldenapple);
  222. ItemStack primepfeile = createItem(Material.ARROW, 0, 32, "§2Ritter Pfeile");
  223. p.getInventory().setItem(8, primepfeile);
  224. break;
  225. case LAPIS_BLOCK:
  226. p.sendMessage("§7[§4PVP§9Arena§7] §3Du hast das §cMagier§7-§6Kit §3ausgewählt");
  227. p.closeInventory();
  228. p.getInventory().clear();
  229. ItemStack supremeschwert = createItem(Material.DIAMOND_SWORD, 0, 1, "§cMagier Schwert");
  230. p.getInventory().setItem(0, supremeschwert);
  231. ItemStack supremebogen = createItem(Material.BOW, 0, 1, "§cMagier Bogen");
  232. supremebogen.addEnchantment(Enchantment.ARROW_KNOCKBACK, 2);
  233. p.getInventory().setItem(1, supremebogen);
  234. ItemStack supremeblöcke = createItem(Material.LAPIS_BLOCK, 0, 64, "§cMagier Blöcke");
  235. p.getInventory().setItem(2, supremeblöcke);
  236. p.getInventory().setItem(3, supremeblöcke);
  237. p.getInventory().setItem(4, supremeblöcke);
  238. ItemStack supremeessen = createItem(Material.COOKED_BEEF, 0, 32, "§cMagier Essen");
  239. p.getInventory().setItem(5, supremeessen);
  240. ItemStack supremeenderperlen = createItem(Material.ENDER_PEARL, 0, 10, "§cMagier Enderperle");
  241. p.getInventory().setItem(6, supremeenderperlen);
  242. ItemStack supremegoldenapple = createItem(Material.GOLDEN_APPLE, 0, 15, "§cGoldene Äpfel");
  243. p.getInventory().setItem(7, supremegoldenapple);
  244. ItemStack supremepfeile = createItem(Material.ARROW, 0, 64, "§cMagier Pfeile");
  245. p.getInventory().setItem(8, supremepfeile);
  246. break;
  247. case NETHERRACK:
  248. p.sendMessage("§7[§4PVP§9Arena§7] §3Du hast das §4Feuer§7-§6Kit §3ausgewählt");
  249. p.closeInventory();
  250. ItemStack youtuberschwert = createItem(Material.DIAMOND_SWORD, 0, 1, "§4Feuer Schwert");
  251. p.getInventory().setItem(0, youtuberschwert);
  252. ItemStack youtuberbogen = createItem(Material.BOW, 0, 1, "§4Feuer Bogen");
  253. youtuberbogen.addEnchantment(Enchantment.ARROW_KNOCKBACK, 1);
  254. youtuberbogen.addEnchantment(Enchantment.ARROW_FIRE, 1);
  255. p.getInventory().setItem(1, youtuberbogen);
  256. ItemStack youtuberblöcke = createItem(Material.NETHERRACK, 0, 64, "§4Feuer Blöcke");
  257. p.getInventory().setItem(2, youtuberblöcke);
  258. p.getInventory().setItem(3, youtuberblöcke);
  259. p.getInventory().setItem(4, youtuberblöcke);
  260. ItemStack youtuberessen = createItem(Material.COOKED_CHICKEN, 0, 32, "§4Feuer Essen");
  261. p.getInventory().setItem(5, youtuberessen);
  262. ItemStack youtuberenderperlen = createItem(Material.LAVA_BUCKET, 0, 1, "§4Lava-Eimer");
  263. p.getInventory().setItem(6, youtuberenderperlen);
  264. ItemStack youtubergoldenapple = createItem(Material.GOLDEN_APPLE, 0, 15, "§4Goldene Äpfel");
  265. p.getInventory().setItem(7, youtubergoldenapple);
  266. ItemStack youtuberpfeile = createItem(Material.ARROW, 0, 64, "§4Feuer Pfeile");
  267. p.getInventory().setItem(8, youtuberpfeile);
  268. break;
  269. default:
  270. break;
  271. }
  272.  
  273. }
  274. }
  275.  
  276.  
  277.  
  278. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement