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

Плагин [FIX]ItemFixer 2.9.5-Избавь свой сервер от читерских предметов!|Фикс DLC,WURST,SKILL|Upd 30.06.2017

Тема в разделе "Неподтвержденные плагины", создана пользователем slavik123123123, 17 мар 2016.

  1. Lorsanov

    Lorsanov Новичок

    Баллы:
    6
    Имя в Minecraft:
    Lors_marshal
    можно ли конфиг , в котором можно менять допустимые вещи с лвл , например я хочу вещи до 20 лвл, но сделать так чтобы выше лвл уже убирался, возможно?
     
  2. Хостинг MineCraft
    <
  3. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    https://github.com/Dereku/ItemFixer/blob/master/src/ru/xtime/ItemFixer.java
    Всё что осилил. Остальное надо переписывать в другую логику. Та, что у тебя есть - необслуживаемая.
     
  4. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    А какая разница между this.msgToCS и просто msgToCS? или this.checkForUpdate() и checkForUpdate()?
     
  5. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Никакой. Просто IDE мне после this. показывает все возможные методы/поля для этого класса. Да и выглядит красивее.
     
  6. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    А ровным счетом тоже самое. this это ссылка на класс где код пишем.
     
  7. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Понял
    А не знаешь как можно сделать так чтобы плагин запустился на 1.5.2, если его компилируешь ядром 1.10?
    Просто хочу сделать так чтобы плагин робил и на 1.5.2+, но и с новыми возможностями 1.9-1.10. А то когда пытаюсь запустить плагин на 1.5.2 выскакивает NoSuchMethodError. Тех методов что нет на 1.5.2, я не использую. Тоесть есть проверка какая версия, типо такая.
    if (version19) {
    ....
    } else {
    ...
    }
    Когда подключаю ядро 1.5.2, и отключаю 1.10, то ту строчу, которая в ошибке не подчеркивается.
    (Я не про этот плагин)
     
  8. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Я в курсе.
    Вообще я бы мог спокойно кинуть ссылочку в гугл или какие ниб рандом ссылочки, но не стал, потому что [...] фу [...].
    UPD: Если хотел дополнить ответ, то цитируй и вопрос помимо первого ответа.
    Можно, используя методы, которые не менялись с 1.5.2. Правда, лучше на время писания реализации под 1.5.2 убрать из библиотек 1.10 - кто его знает, что выйдет.
     
  9. Larin

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

    Баллы:
    103
    Пишу за деньги на 1.7.10. Косяк реализации, который нашел - ItemFlag в API есть, а в реализации нет.
     
  10. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Я делаю типо проверки на креат, флай, год и тд. Тоесть в 1.5.2-1.8 можно чекать токо взрывное зелье и стрелу. А дальше появилась ещё одна стрела и зелье. И как их чекать я хз чтобы была поддержка старых версий.
     
  11. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Абстрактным методом например, переключать его по нужному условию.
     
  12. Larin

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

    Баллы:
    103
    1. Топорный метод - запихнуть код в try-catch
    2. Обычный метод - определяем версию и запускаем новый код в блоке if(сервер_версия>версия)
     
  13. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну у меня есть такое.

    Код:
        HashMap<String, Boolean> bol = new HashMap<String, Boolean>();
        //Использую мапу, т.к у меня ~10 boolean значений которые не меняются после запуска сервера. И чтобы не загрязнять класс.
            String version = this.getServer().getClass().getPackage().getName().replace(".",  ",").split(",")[3];
            if (version.equals("v1_10_R1") || version.equals("v1_9_R2") || version.equals("v1_9_R1")) {
                bol.put("use19", true);
            } else {
                bol.put("use19", false);
            }
    ---
        @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
        public void onLaunch(ProjectileLaunchEvent e){
            if (e.getEntity().getShooter() instanceof Player) { // Ругается на эту строку. Если подключить ядро 1.5.2 без 1.10, то строку не подчеркивает.
                Player player = (Player) e.getEntity().getShooter();
                if (!player.hasPermission("antirelog.bypass")) {
                    if (bol.get("use19")) {
                        if (e.getEntity().getType() == EntityType.TIPPED_ARROW || e.getEntity().getType() == EntityType.ARROW || e.getEntity().getType() == EntityType.LINGERING_POTION || e.getEntity().getType() == EntityType.SPLASH_POTION ){
                            if (checkPlayer(player)) e.setCancelled(true);
                        }
                    } else {
                        if (e.getEntity().getType() == EntityType.ARROW || e.getEntity().getType() == EntityType.SPLASH_POTION ){
                            if (checkPlayer(player)) e.setCancelled(true);
                        }
                    }
                }
            }
        }
     
  14. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Смотря как применить. если по класс фор нейм, то не такой и топорный, хотя бы не нунжо все версии чекать.[DOUBLEPOST=1468715550,1468715436][/DOUBLEPOST]
    Эх, не напоминал бы о своем быдлокеде, одного раза хватило.
     
  15. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну я же NMS не юзаю. То что выше это совсем другой плагин. У всех когдато был быдлокод.
     
  16. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Причем тут нмс? Если есть хоть 1 новый класс в версии выше, почему бы не дернуть класфорнейм?[DOUBLEPOST=1468715877,1468715768][/DOUBLEPOST]Да и потом, я уже заменил на рефлексию это дело.
     
  17. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Тоесть чтоли юзать апи 1.5.2 и для новых версий использовать класфорнейм?
     
  18. Larin

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

    Баллы:
    103
    Какой же ты тупой.
     
  19. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну что поделаешь( Эстонец ведь я. И я всёравно не врубился как сделать то, чтобы плагин работал на 1.5.2, когда компилишь ядром 1.10, чтобы были новые возможности из 1.9-1.10.
     
  20. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Код:
           Object CheckClass(Object o) {
                try {
                    Class.forName("ЧТО ТО ТАМ1");
                    return this.news.Functions(o);
                } catch (ClassNotFoundException e1) {
                    try {
                    Class.forName("ЧТО ТО ТАМ2");
                    return this.old.Functions(o);
                    } catch (ClassNotFoundException e2) {
                        return this.dinozavr.Functions(o);
                    }
                }
            }
    [DOUBLEPOST=1468717123,1468717039][/DOUBLEPOST]Как то так.
     
  21. Larin

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

    Баллы:
    103
    А компилировать с API 1.8.1 beta? Или 1.7.2? Я хочу дюпа с поршнями!
     

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