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

Помогите Подключение API плагина

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

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

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
  2. Хостинг MineCraft
    <
  3. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
  4. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
  5. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Ну тогда исправьте их как-нибудь.
     
    Последнее редактирование: 19 июн 2014
  6. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Вы можете сами подключить API и показать мне как это делается, просто мне очень нужно.
     
  7. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Main api = (Main) getServer().getPluginManager().getPlugin("MegaCreeps");
     
  8. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Это понятно, но как подключить DethEvent из этого API?
     
  9. BeYkeR

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

    Баллы:
    173
    Не совсем уверен, что вообще заработает, но надо попробовать.
    Код:
    //Тип импорты и т.д.
    public class TEST implements MegaCreepsInterface{
    
    public void handleDeathEvent(MegaCreepInstance paramMegaCreepInstance, EntityDeathEvent paramEntityDeathEvent){
    //бла-бла
    }
    //остальное бла-бла из MegaCreepsInterface.
    }
    
    Затем:
    Код:
    TEST test = new TEST();
    ((Main) p).getAPI().registerModSetupLevel(test, "world");
    //И еще вроде
    ((Main) p).getAPI().registerHandleDeathEvent(test, "world");
    //или
    ((Main) p).getAPI().registerAllEvents(test, "world");
    
    Все делал на первый взгляд. Дальше сами разбирайтесь.
     
  10. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Ивенты прехватываются так же, как и обычные.
     
  11. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    В смысле?
     
  12. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Что вы имели в виду под этим?
     
  13. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Ну, как слушать этот эвент?
     
  14. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Как обычно.
     
  15. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Что-то у меня не получается. Просто напишите мне кодом прослушивание DeathEvent этого плагина и я все пойму.
     
  16. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Огромное спасибо.[DOUBLEPOST=1404472469,1404470539][/DOUBLEPOST]Но этот плагин не добавляет эвенты, почему-то.[DOUBLEPOST=1404473467][/DOUBLEPOST]Все равно ничего не понимаю. Пожалуйста если не сложно напишите чистый плагин в котором просто прослушиваются эти эвенты.
     
  17. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я уже переопределял методы, но дальше не понимаю как их использовать в основном классе, с ООП в java еще не разобрался.
     
  18. Code

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

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    как можно что-то писать не разобравшись с ооп? поковыряй разные исходники, посмотри что как работает. а то напишут все, эвент обработать можно будет, а там новые вопросы возникнут.
     
  19. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я сделал так
    Код:
    package respawn;
    
    import org.bukkit.event.entity.CreatureSpawnEvent;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import demaggo.MegaCreeps.MegaCreepInstance;
    import demaggo.MegaCreeps.MegaCreepSetup;
    import demaggo.MegaCreeps.API.MegaCreepsInterface;
    
    public class MClistener extends JavaPlugin implements MegaCreepsInterface{
        
        public void handleDeathEvent(MegaCreepInstance paramMegaCreepInstance, EntityDeathEvent paramEntityDeathEvent){
        //бла-бла
            getLogger().info("Death");
        }
    
        @Override
        public void handleSpawnEvent(MegaCreepInstance arg0) {
            // TODO Auto-generated method stub
            getLogger().info("Spawn");
        }
    
        @Override
        public MegaCreepSetup modSetup(CreatureSpawnEvent arg0, MegaCreepSetup arg1) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public int modSetupLevel(CreatureSpawnEvent arg0, int arg1) {
            // TODO Auto-generated method stub
            return 0;
        }
    }
    
    , правильно?
    Если да, то как теперь использовать эвенты, если я пишу что-нибудь в //TODO, то это не происходит.
    Если нет, то как правильно?
     
  20. kirill2011s

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

    Баллы:
    103
    Боже мой, до чего мы скатились...
     
  21. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я поговорил с разработчиком, он мне все объяснил, в отличие от вас, но когда я пытаюсь регистрировать эвент вот так:
    Код:
    Plugin p=getServer().getPluginManager().getPlugin("MegaCreeps");
            if (p!=null){
                if (p instanceof Main){
                    ((Main) p).getAPI().registerHandleSpawnEvent(new MClistener(), "world");
                }
            }
    ,то getAPI() эклипс подчеркивает, почему?
    Если вы такой умный и профи в java, помогите, а не кидайте предложения какие-то.
     

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