Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.24 KB | None | 0 0
  1. package ru;
  2.  
  3. import org.apache.logging.log4j.core.net.Priority;
  4. import org.bukkit.Bukkit;
  5. import org.bukkit.ChatColor;
  6. import org.bukkit.Material;
  7. import org.bukkit.Sound;
  8. import org.bukkit.entity.Item;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.inventory.InventoryClickEvent;
  13. import org.bukkit.event.player.AsyncPlayerChatEvent;
  14. import org.bukkit.inventory.Inventory;
  15. import org.bukkit.inventory.ItemStack;
  16. import org.bukkit.inventory.meta.ItemMeta;
  17.  
  18. import java.util.ArrayList;
  19. import java.util.List;
  20.  
  21. public class EventListener implements Listener {
  22.  
  23.  
  24. private final Items items;
  25.  
  26. EventListener(Items items) {
  27. this.items = items;
  28. this.items.RegisterItems();
  29. }
  30.  
  31. @EventHandler
  32. public void change(AsyncPlayerChatEvent event) {
  33. String newName = event.getMessage();
  34. newName = newName.replace("&","§");
  35.  
  36. ItemStack item = event.getPlayer().getInventory().getItemInMainHand();
  37. ItemMeta itemMeta = item.getItemMeta();
  38. itemMeta.setDisplayName(newName);
  39. item.setItemMeta(itemMeta);
  40. event.setCancelled(true);
  41. }
  42.  
  43. @EventHandler
  44. public void BlockedItemClick(InventoryClickEvent event) {
  45. if (event.getInventory().getName().equals("Редактор предмета - Меню")) {
  46. event.setCancelled(true);
  47. }
  48. if (event.getInventory().getName().equals("Редактор предмета - Название")) {
  49. event.setCancelled(true);
  50. }
  51. if (event.getInventory().getName().equals("Редактор предмета - Описание")) {
  52. if (!event.getCurrentItem().getType().equals(Material.BOOK)){
  53. event.setCancelled(true);
  54. }
  55. }
  56. }
  57. @EventHandler
  58. public void ItemLoreEditor(InventoryClickEvent event) {
  59. Player player = (Player) event.getWhoClicked();
  60. if (event.getInventory().getName().equals("Редактор предмета - Меню")) {
  61. if (event.getCurrentItem().equals(items.Lore)) {
  62. Inventory inventory = Bukkit.createInventory(null, 9, "Редактор предмета - Описание");
  63. player.openInventory(inventory);
  64. inventory.setItem(8, items.Save);
  65.  
  66. ItemStack item = new ItemStack(Material.BOOK);
  67. ItemMeta itemMeta = item.getItemMeta();
  68. List<String> lore = itemMeta.getLore();
  69. item.setItemMeta(itemMeta);
  70.  
  71. ItemStack handitem = player.getInventory().getItemInMainHand();
  72. ItemMeta handitemMeta = handitem.getItemMeta();
  73. List<String> handitemLore = handitemMeta.getLore();
  74. handitem.setItemMeta(handitemMeta);
  75.  
  76. if (handitem.getItemMeta().hasLore()) {
  77. if (handitemLore.get(0) != null) {
  78. inventory.setItem(0, item);
  79. }
  80. if (handitemLore.get(1) != null) {
  81. inventory.setItem(1,item);
  82. }
  83. if (handitemLore.get(2) != null) {
  84. inventory.setItem(2,item);
  85. }
  86. if (handitemLore.get(3) != null) {
  87. inventory.setItem(3,item);
  88. }
  89. if (handitemLore.get(4) != null) {
  90. inventory.setItem(4,item);
  91. }
  92.  
  93. }
  94. }
  95. }
  96. if (event.getClickedInventory().getName().equals("Редактор предмета - Описание")) {
  97. if (event.getCurrentItem().equals(items.Save)) {
  98.  
  99. //BUTTON SAVE
  100. }
  101. }
  102. }
  103. @EventHandler
  104. public void ItemNameEditor(InventoryClickEvent event) {
  105. Player player = (Player) event.getWhoClicked();
  106. if (event.getInventory().getName().equals("Редактор предмета - Меню")) {
  107. if (event.getCurrentItem().equals(items.Name)) {
  108. Inventory inventory = Bukkit.createInventory(null, 9, "Редактор предмета - Название");
  109. player.openInventory(inventory);
  110.  
  111. if (player.getInventory().getItemInMainHand().getItemMeta().getDisplayName() != null) {
  112. ItemStack book = new ItemStack(Material.BOOK);
  113. ItemMeta bookMeta = book.getItemMeta();
  114. bookMeta.setDisplayName(player.getInventory().getItemInMainHand().getItemMeta().getDisplayName());
  115. book.setItemMeta(bookMeta);
  116. inventory.setItem(0, book);
  117. }
  118. inventory.setItem(1, items.Glass);
  119. inventory.setItem(2, items.Glass);
  120. inventory.setItem(3, items.Glass);
  121. inventory.setItem(4, items.Glass);
  122. inventory.setItem(5, items.Glass);
  123. inventory.setItem(6, items.Glass);
  124. inventory.setItem(7, items.Glass);
  125. inventory.setItem(8, items.Save);
  126. }
  127. }
  128. if (event.getInventory().getName().equals("Редактор предмета - Название")) {
  129. if (event.getClickedInventory().getName().equals("Редактор предмета - Название")) {
  130. if (event.getSlot() == 0) {
  131. if (!event.getCurrentItem().getType().equals(Material.AIR)) {
  132. Inventory inventory = Bukkit.createInventory(null, 9, "Редактор предмета - Название");
  133. player.openInventory(inventory);
  134.  
  135. inventory.setItem(1, items.Glass);
  136. inventory.setItem(2, items.Glass);
  137. inventory.setItem(3, items.Glass);
  138. inventory.setItem(4, items.Glass);
  139. inventory.setItem(5, items.Glass);
  140. inventory.setItem(6, items.Glass);
  141. inventory.setItem(7, items.Glass);
  142. inventory.setItem(8, items.Save);
  143. }
  144. }
  145. }
  146. if (event.getClickedInventory().equals(player.getInventory())) {
  147. if (event.getCurrentItem().getType().equals(Material.BOOK) && event.getCurrentItem().getItemMeta().getDisplayName() != null) {
  148. Inventory inventory = Bukkit.createInventory(null, 9, "Редактор предмета - Название");
  149. player.openInventory(inventory);
  150.  
  151. ItemStack book = new ItemStack(Material.BOOK);
  152. ItemMeta bookMeta = book.getItemMeta();
  153. bookMeta.setDisplayName(event.getCurrentItem().getItemMeta().getDisplayName());
  154. book.setItemMeta(bookMeta);
  155.  
  156. inventory.setItem(0, book);
  157. inventory.setItem(1, items.Glass);
  158. inventory.setItem(2, items.Glass);
  159. inventory.setItem(3, items.Glass);
  160. inventory.setItem(4, items.Glass);
  161. inventory.setItem(5, items.Glass);
  162. inventory.setItem(6, items.Glass);
  163. inventory.setItem(7, items.Glass);
  164. inventory.setItem(8, items.Save);
  165. }
  166. }
  167. }
  168. if (event.getCurrentItem().equals(items.Save) && event.getClickedInventory().getName().equals("Редактор предмета - Название")) {
  169. if (event.getClickedInventory().getItem(0) == null) {
  170. player.sendMessage(ChatColor.RED + "Необходим текст для изменения!");
  171. } else {
  172. String newName = event.getClickedInventory().getItem(0).getItemMeta().getDisplayName();
  173. ItemStack item = player.getInventory().getItemInMainHand();
  174. ItemMeta itemMeta = item.getItemMeta();
  175. itemMeta.setDisplayName(newName);
  176. item.setItemMeta(itemMeta);
  177. player.playSound(player.getLocation(), Sound.BLOCK_NOTE_XYLOPHONE, 1, 1);
  178. player.closeInventory();
  179. }
  180. }
  181. }
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement