1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

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

  1. Автор темы
    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, то это не происходит.
    Если нет, то как правильно?
     
  2. kirill2011s

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

    Баллы:
    103
    Боже мой, до чего мы скатились...
     
  3. Автор темы
    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, помогите, а не кидайте предложения какие-то.
     
  4. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Не импортирован Main?
     
  5. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    А как его импортировать и из какого пакета?
     
  6. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    А я откуда знаю? Вы же плагин пишете.
     
  7. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Хорошо. Куда нужно импортировать Main? Main моего плагина? У меня проблемы с интонацией? :)
    Нужно сделать так:
    if (p!=null){
    if (p instanceof Main){
    ((demaggo.MegaCreeps.Main) p).getAPI().registerHandleSpawnEvent(new MClistener(), "world");
    }
    }
    ?
    Ну помогите.Сделал так:
    Код:
    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 m) {
            getLogger().info("Spawn");
            getLogger().info(m.getMyName());
        }
    
        @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;
        }
    }
    
    и подключил так:
    Код:
    public class Main extends JavaPlugin implements Listener {
          public void onEnable() {
            Plugin p=getServer().getPluginManager().getPlugin("MegaCreeps");
            if (p!=null){
                if (p instanceof Main){
                    ((demaggo.MegaCreeps.Main) p).getAPI().registerHandleSpawnEvent(new MClistener(), "world");
                }
            }
    
           }
    }
    
    
    Но не работает!
     
  8. kirill2011s

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

    Баллы:
    103
    Хорошо, я по пробую вникнуть в это дело, если вы мне ответите на вопрос: Зачем и как вы изучали java?
     
  9. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Java я не изучал, изучал и изучаю Delphi, понадобилось много плагинов, изучил Bukkit API, знаний у меня хватало, но блин в этом плагине эвенты сделаны через одно место и поэтому прошу помощи.
     
  10. kirill2011s

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

    Баллы:
    103
    Стоп, если вы не изучали java, то вам делать тут нечего. Delphi=Pascal=Школота.
     
  11. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Призываю тебя бог Delphi @HoShiMin.
     
  12. kirill2011s

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

    Баллы:
    103
    Это такой вызов на холивар?
     
  13. HoShiMin

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

    Баллы:
    173
    Во-первых, Delphi != Pascal.
    А во-вторых, на Delphi пишет Ms-Rem. А он - легенда WASM'a. Расскажи ему, что он школота.
     
  14. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    @kirill2011s и вообще, это раздел в котором просят помощи и если ты не хочешь помогать, то вали отсюда!
     
  15. kirill2011s

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

    Баллы:
    103
    Delphi ≈ Pascal(он из него появился) К тому же, если он - легенда, это не значит что вы - легенды.

    Если ты не знаешь java,
    в тему, закрепленную вверху раздела.
     
  16. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Блин как хочу так и пишу эти плагины, они очень простые и не требуют огромных знаний в java, я просто попросил помочь, и если тебе это сложно, то
     
  17. HoShiMin

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

    Баллы:
    173
    Следуя твоей логике, C ≈ C++, что тоже в корне неверно.

    И это также не делает твоё заявление о том, что все дэльфисты - школьники, авторитетным. Ты ещё ничем не доказал свою компетентность в этой области, а товарищи, писавшие Total Commander и Skype на школьников не очень похожи.
     
  18. kirill2011s

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

    Баллы:
    103
    Как хочу так и пишу, это есть говнокод.

    Разница лишь в том, что C++ ООП, а C нет.

    Я не намерен доказывать свою компетентность здесь. Skype написан на C++.

    Про тотал могу сказать только то, что раньше, когда небыло нормальных ЯП, Delphi был популярен, и разработчики написали его на нем. Но когда он был популярен, вам было где-то года 3, а меня тогда вообще небыло, Delphi сильно устарел за это время.
     
  19. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Часть Skype на Delphi.
     
  20. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Ну так кто-то поможет мне, это же дело пары минут для таких "тру" кодеров как вы.

    P.S.Те кто действительно тру, без обид :)
     

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