Коммиторинг #6 Локализация позиции

fromgate

Administrator
Давно не было коммиторингов, уже больше месяца. Если помните, предыдущий коммиторинг был приурочен к празднованию Нового года по Лунному календарю, так что будем считать, что этот повод меня немного извиняет ;)

Тем более, что тут подоспел ещё и Minecraft 1.9, а вместе с ним и новые возможности, обойти которых я не мог и на какое-то время мне нужно было переключиться на bukkit (кому интересно - я написал небольшой плагин Elytra).
power-creeper.png


Начну же я не с существующих, а с грядущих изменения в Nukkit.
Один из моих первых коммитов был посвящен отказу от использования класса Position, который фактически является дублирующим классом в Nukkit - это тоже самое, что и Location, просто без полей, указывающих направление. Тогда мой коммит был отклонён, поскольку в PocketMine "не так". Но вот недавно, MagicDroidX в чате сказал, что всё-таки Position будет убрана. И я этому рад. Не тому, что я оказался прав, а тому что программировать станет проще, не нужно будет постоянно заниматься приведением типов и т.п.
position.png

Это достаточно большое изменение, оно может коснуться многих плагинов, которые так или иначе использовали этот класс.

Но это в будущем, а пока я остановлюсь на изменениях (их на самом деле больше, я привожу лишь самые заметные):
  • Проведена подготовка к отказу от класса Position;
  • В класс SimpleConfig добавлена аннотация Skip, позволяющая пропускать некоторые поля для от добавления в конфиг;
  • Класс Config научился читать данные из InputStream - теперь можно будет читать данные расположенные в jar-файле без их предварительного сохранения на диск;
  • Исправлены некоторые рецепты;
  • Расширено применение события EntityDamageEvent и EntityHealthRegainEvent (раньше эти собыия не вызывались в отдельных случаях);
  • Исправлен расчёт урона при наличии брони;
  • Улучшена генерация рек и пещер;
  • Огонь стал гореть, поджигать другие блоки и сопровождаться событием BlockBurnEvent;
  • Добавлена генерация кактусов, засохших кустов, лилий и большего количества цветов.;
  • Молнии теперь "заряжают" криперов. Да, кстати, крипера тоже добавили ;);
  • Добавлены картины;
  • Проведена попытка добиться плавности передвижений;
  • Добавлено событие PlayerTeleportEvent
  • Исправлена ошибка подгрузки к чанков, которая могла приводить к тому, что игроки застревали в пустоте.

В общем Nukkit развивается, кардинальных изменений пока нет, но наверное сейчас они пока не нужны: чем большем мелких правок и исправления ошибок тем стабильнее он становится и его легче будет использовать в качестве платформы для создания реально работающего сервера.

Ну и кстати, такие сервера потихоньку появляются, на форуме был создан соответствующий раздел и там уже представлены первые серверы. Надеюсь как-то выбрать время и посетить их все ;)
 

Tee7even

Nukkit Coders Team
Надеюсь, что будет больше изменений в сторону оптимизации кода, Nukkit хоть и быстр, однако ведь можно и быстрее.
 
Top