Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru;
- import org.apache.logging.log4j.core.net.Priority;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.Sound;
- import org.bukkit.entity.Item;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import java.util.ArrayList;
- import java.util.List;
- public class EventListener implements Listener {
- private final Items items;
- EventListener(Items items) {
- this.items = items;
- this.items.RegisterItems();
- }
- @EventHandler
- public void change(AsyncPlayerChatEvent event) {
- String newName = event.getMessage();
- newName = newName.replace("&","§");
- ItemStack item = event.getPlayer().getInventory().getItemInMainHand();
- ItemMeta itemMeta = item.getItemMeta();
- itemMeta.setDisplayName(newName);
- item.setItemMeta(itemMeta);
- event.setCancelled(true);
- }
- @EventHandler
- public void BlockedItemClick(InventoryClickEvent event) {
- if (event.getInventory().getName().equals("Редактор предмета - Меню")) {
- event.setCancelled(true);
- }
- if (event.getInventory().getName().equals("Редактор предмета - Название")) {
- event.setCancelled(true);
- }
- if (event.getInventory().getName().equals("Редактор предмета - Описание")) {
- if (!event.getCurrentItem().getType().equals(Material.BOOK)){
- event.setCancelled(true);
- }
- }
- }
- @EventHandler
- public void ItemLoreEditor(InventoryClickEvent event) {
- Player player = (Player) event.getWhoClicked();
- if (event.getInventory().getName().equals("Редактор предмета - Меню")) {
- if (event.getCurrentItem().equals(items.Lore)) {
- Inventory inventory = Bukkit.createInventory(null, 9, "Редактор предмета - Описание");
- player.openInventory(inventory);
- inventory.setItem(8, items.Save);
- ItemStack item = new ItemStack(Material.BOOK);
- ItemMeta itemMeta = item.getItemMeta();
- List<String> lore = itemMeta.getLore();
- item.setItemMeta(itemMeta);
- ItemStack handitem = player.getInventory().getItemInMainHand();
- ItemMeta handitemMeta = handitem.getItemMeta();
- List<String> handitemLore = handitemMeta.getLore();
- handitem.setItemMeta(handitemMeta);
- if (handitem.getItemMeta().hasLore()) {
- if (handitemLore.get(0) != null) {
- inventory.setItem(0, item);
- }
- if (handitemLore.get(1) != null) {
- inventory.setItem(1,item);
- }
- if (handitemLore.get(2) != null) {
- inventory.setItem(2,item);
- }
- if (handitemLore.get(3) != null) {
- inventory.setItem(3,item);
- }
- if (handitemLore.get(4) != null) {
- inventory.setItem(4,item);
- }
- }
- }
- }
- if (event.getClickedInventory().getName().equals("Редактор предмета - Описание")) {
- if (event.getCurrentItem().equals(items.Save)) {
- //BUTTON SAVE
- }
- }
- }
- @EventHandler
- public void ItemNameEditor(InventoryClickEvent event) {
- Player player = (Player) event.getWhoClicked();
- if (event.getInventory().getName().equals("Редактор предмета - Меню")) {
- if (event.getCurrentItem().equals(items.Name)) {
- Inventory inventory = Bukkit.createInventory(null, 9, "Редактор предмета - Название");
- player.openInventory(inventory);
- if (player.getInventory().getItemInMainHand().getItemMeta().getDisplayName() != null) {
- ItemStack book = new ItemStack(Material.BOOK);
- ItemMeta bookMeta = book.getItemMeta();
- bookMeta.setDisplayName(player.getInventory().getItemInMainHand().getItemMeta().getDisplayName());
- book.setItemMeta(bookMeta);
- inventory.setItem(0, book);
- }
- inventory.setItem(1, items.Glass);
- inventory.setItem(2, items.Glass);
- inventory.setItem(3, items.Glass);
- inventory.setItem(4, items.Glass);
- inventory.setItem(5, items.Glass);
- inventory.setItem(6, items.Glass);
- inventory.setItem(7, items.Glass);
- inventory.setItem(8, items.Save);
- }
- }
- if (event.getInventory().getName().equals("Редактор предмета - Название")) {
- if (event.getClickedInventory().getName().equals("Редактор предмета - Название")) {
- if (event.getSlot() == 0) {
- if (!event.getCurrentItem().getType().equals(Material.AIR)) {
- Inventory inventory = Bukkit.createInventory(null, 9, "Редактор предмета - Название");
- player.openInventory(inventory);
- inventory.setItem(1, items.Glass);
- inventory.setItem(2, items.Glass);
- inventory.setItem(3, items.Glass);
- inventory.setItem(4, items.Glass);
- inventory.setItem(5, items.Glass);
- inventory.setItem(6, items.Glass);
- inventory.setItem(7, items.Glass);
- inventory.setItem(8, items.Save);
- }
- }
- }
- if (event.getClickedInventory().equals(player.getInventory())) {
- if (event.getCurrentItem().getType().equals(Material.BOOK) && event.getCurrentItem().getItemMeta().getDisplayName() != null) {
- Inventory inventory = Bukkit.createInventory(null, 9, "Редактор предмета - Название");
- player.openInventory(inventory);
- ItemStack book = new ItemStack(Material.BOOK);
- ItemMeta bookMeta = book.getItemMeta();
- bookMeta.setDisplayName(event.getCurrentItem().getItemMeta().getDisplayName());
- book.setItemMeta(bookMeta);
- inventory.setItem(0, book);
- inventory.setItem(1, items.Glass);
- inventory.setItem(2, items.Glass);
- inventory.setItem(3, items.Glass);
- inventory.setItem(4, items.Glass);
- inventory.setItem(5, items.Glass);
- inventory.setItem(6, items.Glass);
- inventory.setItem(7, items.Glass);
- inventory.setItem(8, items.Save);
- }
- }
- }
- if (event.getCurrentItem().equals(items.Save) && event.getClickedInventory().getName().equals("Редактор предмета - Название")) {
- if (event.getClickedInventory().getItem(0) == null) {
- player.sendMessage(ChatColor.RED + "Необходим текст для изменения!");
- } else {
- String newName = event.getClickedInventory().getItem(0).getItemMeta().getDisplayName();
- ItemStack item = player.getInventory().getItemInMainHand();
- ItemMeta itemMeta = item.getItemMeta();
- itemMeta.setDisplayName(newName);
- item.setItemMeta(itemMeta);
- player.playSound(player.getLocation(), Sound.BLOCK_NOTE_XYLOPHONE, 1, 1);
- player.closeInventory();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement