Java:
package org.stopping.eCheck;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.HumanEntity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta;
import java.util.ArrayList;
import java.util.Map;
public class event implements Listener {
@EventHandler
public void onInv(InventoryClickEvent event) {
HumanEntity player = event.getWhoClicked();
ItemStack cursor = event.getCurrentItem();
ItemMeta meta = cursor.getItemMeta();
if(meta.hasEnchants()) {
player.sendMessage("okays");
Map<Enchantment, Integer> enchants = meta.getEnchants();;
player.sendMessage("okay");
for (Map.Entry<Enchantment, Integer> entry : enchants.entrySet()) {
Enchantment enchant = entry.getKey();
int level = entry.getValue();
ItemStack enchantedBook = new ItemStack(Material.ENCHANTED_BOOK);
EnchantmentStorageMeta bookMeta = (EnchantmentStorageMeta) enchantedBook.getItemMeta();
bookMeta.addStoredEnchant(enchant, level, true);
enchantedBook.setItemMeta(bookMeta);
player.getInventory().addItem(enchantedBook);
}
player.sendMessage("da");
}
}
}
Для этого я хотел использовать Map - типа Enchantment, что прописано в доках спигота.
Вам необходимо зарегистрироваться для просмотра изображений-вложений
Да, ошибок нет. Но плагин не работает. И скорее всего проблема в строке -
Java:
Map<Enchantment, Integer> enchants = meta.getEnchants();;
т.к. я выводил до текст "okay" и после этой строки "okays". Окей выводило, окейс нет.
Буду благодарен за ответ! Извините за потраченное время. Недавно начал изучать спигот.