Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Lore из поднимаемой вещи

Тема в разделе "Разработка плагинов для новичков", создана пользователем Tyzun, 20 фев 2014.

  1. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Подскажите что я сделал не так:
    Код:
    @EventHandler
    public void nodrop(PlayerPickupItemEvent e){
        if (e.isCancelled()) return;
        Player p = e.getPlayer();
        ItemStack i = (ItemStack) e.getItem();
        List<String> lore = i.getItemMeta().getLore();
        if(!p.hasPermission("vp.vip") && lore.contains("VIP")){
            e.setCancelled(true);
        }
    }
    и можно ли вообше добыть lore в таком эвенте?
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Проблема в том, что игрокбез права может поднимать и то, и то
    Вот полный код:
    Код:
    package ua.tyzun.vp;
    
    import java.util.List;
    
    
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerPickupItemEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class vp extends JavaPlugin implements Listener {
    @Override
    public void onEnable(){
        getServer().getPluginManager().registerEvents(this, this);
    }
    @EventHandler
    public void nodrop(PlayerPickupItemEvent e){
        if (e.isCancelled()) return;
        Player p = e.getPlayer();
        ItemStack i = (ItemStack) e.getItem();
        List<String> lore = i.getItemMeta().getLore();
        if(!p.hasPermission("vp.vip") && lore.contains("VIP")){
            e.setCancelled(true);
        }
    }
    }
     
  4. Автор темы
    Tyzun

    Tyzun Старожил

    Баллы:
    153
    Skype:
    tyzun1997
    Имя в Minecraft:
    _Tyzun_
    Через Essentials, фиолетовый цвет
     
  5. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Код:
        ItemStack i = e.getItem().getItemStack();
     
    Item это сущность.
     
  6. Ission

    Ission Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    lokivava
    Фиолетовый увет -- цвет lore по умолчанию. Так же на сколько я знаю, при contains игнорирует цвет.[DOUBLEPOST=1392929007,1392928917][/DOUBLEPOST]Когда я создавал что-то подобное, я воспользовался тем, что текст распологался на строго фиксированом месте(на нулевой, первой или последней строчке).
     

Поделиться этой страницей