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

Плагин [TP] TpPoint v1.0 - Варп-зоны! (Физический телепорт) [1.6.*-1.7.*]

Тема в разделе "Релизы плагинов", создана пользователем makssof, 25 авг 2014.

  1. saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    А, сейчас скажу, подожди немного.
    Во-первых, в цикле создаётся огромное количество String из-за загрузки точек. Я бы хранил все точки в списке, и заполнял бы его при загрузке плагина.

    Дальше - какое-то странное двойное условие цикла. Я его не понял совсем. Я бы сделал for (Warp warp : warps), и в цикле if, проверяющий совпадение локаций игрока и варпа и наличие target.

    Ну и, если переписать всё на список, то телепорт игрока сводится просто к player.teleport(warp.getTarget()).

    Короче, можно было лучше и более ООП.
    Представь, когда у тебя варпов 30 и 100 игроков на сервере, ОМГ
     
  2. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Шедулер
     
  3. saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    @ql_Nik_lp
    А как его прикрутить в этот плугин?
     
  4. Автор темы
    makssof

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

    Баллы:
    103
    Я изначально хотел как раз сделать ООП в плане варпа. Но появились трудности, которые не смог решить. На тот момент.
    И каждый тик проветять?.. Почти тоже самое. Ну да, минус поворот головой, но всё равно похоже.
     
  5. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Что мешает проверять каждые 10 тиков?
     
  6. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Не знаю в чем может быть дело. Мне вот тоже жаловались на MW. Я себе поставил, проверил -- всё работает нормально.
    Неее! Это некрасиво. И излишне, на мой вкус. Во-первых, там ничего страшного нет. Цикл и сравнение - его туда много влезет ;)
    Если уж добавлять "оптимизации", то я бы проверял переходит ли игрок при движении на новый блок и если нет - ничего не делал. Т.е. что-то вроде:

    Код:
        @EventHandler(priority=EventPriority.NORMAL, ignoreCancelled = true)
        public void onPlayerMove (PlayerMoveEvent event){
            if (event.getFrom().getBlockX()==event.getTo().getBlockX()&&
                    event.getFrom().getBlockY()==event.getTo().getBlockY()&&
                            event.getFrom().getBlockZ()==event.getTo().getBlockZ()) return;
             // здесь остальной код
        }
    
     
  7. VareZzZz

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

    Баллы:
    153
    Командные блоки типа не в моде?)
     
  8. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Это непотребство сойдет разве что для адвенчур карт, у нас же есть инструменты мощнее.
     
  9. Автор темы
    makssof

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

    Баллы:
    103
    Окей, оптимизирую. Спасибо за советы.
     

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