Коммиторинг #5 Новогодно-лунный ;)

Discussion in 'Новости Nukkit и MCPE/MCW10E' started by fromgate, 11/2/16.

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
We welcome you on our site. This site is devoted to the Nukkit project and all that is connected with him. Here you can communicate, download plugins, also many other things get acquainted! Register the account right now :3
  1. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    В связи с празднованием Нового года по восточному календарю в разработке Nukkit наступило некоторое затишье, так что можно спопойно обсудить последние изменения.
    Кстати, выход версии MCPE 0.13.2 тоже был приурочен к этому празднику.

    mcpe-0-13-2-skins.png

    Вышедшая версия "традиционно" оказалась несовместима с сервером Nukkit, версии 0.13.1. Это сразу же попытались решить силами "сочуствующих" - был создан соответствующий коммит. Но он пока не был принят разработчиками, возможно в связи с тем, что протокол содержал больше изменений чем просто номер версии.
    Для себя (и надеюсь не только для себя), я это временное неудобство решил создав плагин AnyVersion, который просто пытается обмануть сервер, подсовывая ему в нужный момент информацию о том, что у клиента та же версия протокола, что и у сервера. Это успешно работает, с версий Minecraft Windows 10 Edition 0.13.2, но мне не удалось зайти таким образом на сервер при помощи пробных версий Minecraft Pocket Edition 0.14.0.
    Теоретически существует версия наккит под 0.14.0, которую разместил на форуме @DevID и возможно, проанализировав изменения мне получится дополнить AnyVersion - "чтобы он лучше обманывал наккит" ;)

    Ну а теперь перейдём к изменениям со времени предыдущего коммиторинга.
    Больших изменений по сути не было. Но есть заметные и даже "значимые".
    • Были добавлены головы. Текстурирование они не поддерживают, посколько их пока не поддерживате сам Minecraft Pocket Edition.
    • Добавлен метод определяющий блок на который смотрит игрок (getTargetBlock) и он правильно заработал, благодаря моим скромным усилиям ;)
    • Разработчики, судя по всему начали подготовку к внедрению API для переводов. По крайней мере у пользователей появился параметр "locale". Это будет очень удобно в том свете, что сервер и плагины смогут выводить для каждого пользователя сообщение исходя из его языка. Т.е. если на русскоязычный сервер зайдёт иностранец, он сможет сообщения плагинов увидеть на английском языке (если конечно плагины это учтут).
    • Наконец-то исправлена ошибка из-за которой не получилоась указать предмету уникальное имя.
    • Исправлено множество других ошибок.
    Есть ещё один важный момент, который хотелось бы отметить - это довольно жаркая дискуссия, которая разгорелась вокруг изменений в наименованиях блоках на прошлой неделе. Разработчики приняли решение все называемые блоки именовать исходя из правила Block<НазваниеМатериала> (BlockStone, BlockRedstoneBock) и аналогичные изменения для предметов (Item<НазваниеМатериала>). Данное переименование не всеми было принято с восторгом, было высказано мнение, что такое переименование излишне. В тоже время, в процессе обсуждения было предложено использовать подход аналогичный тому, что использовался в Bukkit. Где Вместо множества классов описывающих каждый предмет и блок был создан один большой класс Material, в котором были перечислены все возможные типы материалов с указанием их характеристик и того является предмет ещё и блоком или нет. Судя по всему, разработчики оцениили преимущество такой структуры и похоже скоро она будет реализована.
    И что очень важно, разработчики предложили обсуждать развитие API (раньше это происходило спонтанно), создав соответствующую тему на github'е. Если у Вас есть идеи - обязательно пишите там.
     
    Last edited: 11/2/16

Share This Page