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

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

Discussion in 'Разработка плагинов для новичков' started by CraftCoder, Jun 19, 2014.

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

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
  2. Хостинг MineCraft
    <
  3. serega6531

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

    Trophy Points:
    173
    Skype:
    shkurovs
  4. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
  5. serega6531

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

    Trophy Points:
    173
    Skype:
    shkurovs
    Ну тогда исправьте их как-нибудь.
     
    Last edited: Jun 19, 2014
  6. Автор темы
    CraftCoder

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

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

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

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

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

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

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

    Trophy Points:
    173
    Не совсем уверен, что вообще заработает, но надо попробовать.
    Code:
    //Тип импорты и т.д.
    public class TEST implements MegaCreepsInterface{
    
    public void handleDeathEvent(MegaCreepInstance paramMegaCreepInstance, EntityDeathEvent paramEntityDeathEvent){
    //бла-бла
    }
    //остальное бла-бла из MegaCreepsInterface.
    }
    
    Затем:
    Code:
    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 Старожил Девелопер Пользователь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Я сделал так
    Code:
    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 Старожил Пользователь

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

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

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

Share This Page