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

Помогите Плагин сломанного оружия

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

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

    GodlikE Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    GodlikE
    Всем привет=) Я сделал плагин, который должен выдавать оружие заново, когда оно сломается, и вот его фрагмент:
    @EventHandler
    public void onItemBreak(PlayerItemBreakEvent br)
    {
    br.getPlayer().setItemInHand(br.getBrokenItem());
    }
    Он не работает, и я не могу понять, почему. Эклипс тоже не выдает ошибки. Помогите, кто чем может
     
    ПриветОтЛайки нравится это.
  2. Хостинг MineCraft
    <
  3. BeYkeR

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

    Баллы:
    173
    Вы зарегистрировали слушатель ? Ну или попробуйте дописать br.getPlayer().updateInventory(); (если вы его зарегистрировали).
     
    dark32 нравится это.
  4. Автор темы
    GodlikE

    GodlikE Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    GodlikE
    Да, слушателя зарегистрировал=) Дописал, не работает=( может, есть еще ошибки?
    Код:
    package startmessage;
    
    import org.bukkit.Bukkit;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerItemBreakEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class MainClass extends JavaPlugin implements Listener {
        public void onEnable()
        {
            getLogger().info("StartMessage was enabled");
            Bukkit.getPluginManager().registerEvents(this, this);
        }
    
        @EventHandler
        public void onJoin(PlayerJoinEvent e)
        {
            e.getPlayer().sendMessage("Привет, добрый друг!");
            getServer().broadcastMessage(e.getPlayer().getName() + " зашел на сервер");
            if(e.getPlayer().getLevel()<3)
            {
            e.getPlayer().setLevel(3);  
            }
            e.getPlayer().getMaxHealth();
        }
        @SuppressWarnings("deprecation")
        @EventHandler
        public void onItemBreak(PlayerItemBreakEvent br)
        {
            br.getPlayer().setItemInHand(br.getBrokenItem());
            br.getPlayer().updateInventory();
        }
        @EventHandler
        public void onQuit(PlayerQuitEvent q)  
        {
            q.getPlayer().sendMessage("Пока, добрый друг!");
            getServer().broadcastMessage(q.getPlayer().getName() + " вышел с сервера");
        }
        public void onDisable()
        {
            getLogger().info("StartMessage was disabled");
        }
    }
     
    Последнее редактирование модератором: 12 мар 2014
  5. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Ты даёшь сломанный итем.
     
    GodlikE нравится это.
  6. StealerSlain

    StealerSlain Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    StealerSlain
    Можешь попробовать сохранять предмет в Hashmap, потом оттуда выдавать его.
     
    GodlikE нравится это.
  7. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Код:
    br.getPlayer().setItemInHand(new ItemStack(br.getBrokenItem().getType()));
    Скорее так надо.
     
    GodlikE и Den_Abr нравится это.
  8. Автор темы
    GodlikE

    GodlikE Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    GodlikE
    StealerSlain, Den_Abr, serega6531, спасибо!=)
     

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