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

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

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

  1. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Основной код на свежаке можно, а классы под версии отдельно, так все делают.[DOUBLEPOST=1468717339,1468717267][/DOUBLEPOST]Ну тут все зависит от того, остался ли депрекадед код в новом апи или нет.
     
  2. Хостинг MineCraft
    <
  3. Larin

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

    Баллы:
    103
    Это был сарказм про старую версию.
     
  4. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    У меня есть плагин с овербеты, и представь себе, он работает до самой 1.10.[DOUBLEPOST=1468717554,1468717481][/DOUBLEPOST]Хотя там был 1 минификс и все.[DOUBLEPOST=1468717637][/DOUBLEPOST]И тот фикс был на бете.
     
  5. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Эт да. Были и такие приколы.
    Не пытайся засунуть всё в один класс. Сделай один класс с тем, что будет работать в любом случае на всех версиях сервера. Дальше подгружай другие классы по младшинству версии.
    Код:
        HashMap<String, Boolean> bol = new HashMap<String, Boolean>();
        //Использую мапу, т.к у меня ~10 boolean значений которые не меняются после запуска сервера. И чтобы не загрязнять класс.
            String version = this.getServer().getClass().getPackage().getName().replace(".",  ",").split(",")[3];
            bol.put("use19", (version.equals("v1_10_R1") || version.equals("v1_9_R2") || version.equals("v1_9_R1")));
    ---
        @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 true then return - Приятно для чтения
                if (player.hasPermission("antirelog.bypass")) {
                    return;
                }
                    //if true then if true then logic - Плохо для чтения
                    if (bol.get("use19")) {
                        //Слишком много типов? Прикола ради можно создать лист с типами и проверять наличие n в ней.
                        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);
                        }
                    }
                }
           
        }
     
  6. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
  7. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Почему 'Ent' когда 'Ench'?
    if (true) { return; } . И читать приятнее, и матрёшки нету.
     
  8. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Там проблема оказывается была в том что getShooter () в 152 берется из Projectile. А в 1.10 из ProjectileSource.
    Спасибо за советы.
     
  9. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Отсюда понимаем, что это у нас выходит в не универсальные классы.
     
  10. Larin

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

    Баллы:
    103
    Код:
    boolean b = item.getType() == Material.AIR;
    if (!b) {
    
    ЗАЩООООО?!
     
  11. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    en<-chan->t
     
  12. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    А зачем нужен класс scheduler если можно сразу запустить Runs через onEnable?
     
  13. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Ну, это старая история. Шедулер на рефлексии был, вызывал разные классы и методы, которые передавались ему.[DOUBLEPOST=1468719497,1468719356][/DOUBLEPOST]А тут у него 2 функции остались. Проверялка и кикалка.[DOUBLEPOST=1468720850][/DOUBLEPOST]Фиксанул дубликат кода в Runs.
    https://github.com/alexandrage/EntFix/blob/master/src/EntFix/Runs.java
    P.s Dereku не смотреть, там СТРАШНИЕ статики.
     
  14. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Код:
                    Object shooter = Class.forName("org.bukkit.entity.Projectile").getMethod("getShooter");
                    if (shooter instanceof Player) {
                        Player player = (Player) shooter;
    
    И как мне правильно вытянуть getShooter()? В консоль shooter выводится как
    public abstract org.bukkit.entity.LivingEntity org.bukkit.entity.Projectile.getShooter()
     
  15. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    В голосину
     
  16. David_Belle

    David_Belle Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    David_Belle
    По всякому пытался обмануть плагин, работает как часы)
    Спасибо автор!
     
  17. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
  18. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
  19. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    всё
     
  20. Dymeth

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

    Баллы:
    76
    Неплохая задумка. А я тут к вам с вопросиками.
    1) Зачем регулярно проверять все инвентари, если конкретные предметы проверяются при использовании, выбрасывании и подбирании? Или этого уже нет?
    2) Игрок может редактировать зачарования и NBT предметов в лишь том случае, если у него есть креатив? Или, может, на это и permission ядра какой влияет?
    3) Что там с системой обновления? Удалена/работает?
     
  21. Автор темы
    slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну пока тестирую новую версию. Сейчас там токо проверка инвентаря. В новой версии используется удаление тегов, а предметы остаются.
    Онли креатив.
    Токо сообщения в консоль, о том что есть новая версия.
     

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