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

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

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

Статус темы:
Закрыта.
  1. Larin

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

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

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

    Баллы:
    173
    У меня есть плагин с овербеты, и представь себе, он работает до самой 1.10.
    Хотя там был 1 минификс и все.
    И тот фикс был на бете.
     
  3. 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);
                        }
                    }
                }
           
        }
     
  4. alexandrage

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

    Баллы:
    173
  5. Dereku

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    Код:
                    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()
     
  13. Dereku

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

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

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

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

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
  16. Dereku

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

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

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooo
    всё
     
  18. Dymeth

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

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

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

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

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Да я не об этом, а о таймере, который раз в 15 секунд проверяет все предметы всех игроков. Нагрузочка же...
     
Статус темы:
Закрыта.

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