Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Как получить числовой ID блока версии 1.13+, если у меня есть ID и дата блока 1.12

Метки:
Теги Теги
java
Статус
Закрыто для дальнейших ответов.

WhileInside

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
WhileInside
Нужно получить числовой ID блока 1.13 и выше, имея только int id, data версии 1.12.

Как это лучше всего можно сделать?
 
Они используются в чанках.
Раз для чанков - погружайся в нмс. Здесь вот что-то есть на эту тему, может поможет. А может и нет. Никто не любит возиться с нмс в бакките.
Он делает велик на протоколсапорт. Земля пухом короче.
Ну.. у каждого свои фетиши, полагаю...
 
Он делает велик на протоколсапорт. Земля пухом короче.
Я делаю собственное ядро с нуля, для серверов лимбо и логина, где не нужно обрабатывать энтити и тайлы каждый тик, где не нужно генерирововать чанки, подгружать и отгружать их, где не нужно показывать других игроков и обрабатывать чат.


Раз для чанков - погружайся в нмс. Здесь вот что-то есть на эту тему, может поможет. А может и нет. Никто не любит возиться с нмс в бакките.
У меня нет NMS
 
Я делаю собственное ядро с нуля, для серверов лимбо и логина, где не нужно обрабатывать энтити и тайлы каждый тик, где не нужно генерирововать чанки, подгружать и отгружать их, где не нужно показывать других игроков и обрабатывать чат.



У меня нет NMS
http://rubukkit.org/threads/minestom-biblioteka-dlja-sozdanija-sobstvennogo-servera.169974/
 
Спасибо, но во-первых мы хотим сделать ядро без апи и всего лишнего, а во-вторых в этом проекте как-то странно сделана отправка чанков и нет поддержки нескольких версий

По поводу странности чанков:

Во-первых, зачем нужен этот сдвиг, если 0 - 00_00_00_00, получается если сдвинуть 0 на n, то полюбому будет 0.
Если сделать mask (допустим mask = 2) | 0 (в битах: 00_00_00_10 | 00_00_00_00), то будет 2 (00_00_00_10), получается вот эти 2 строки не нужны.
(К чему это? Просто это означает, что разработчики не совсем понимают, как работать с битами и вероятнее всего просто где-то копипастили код)

Во-вторых, зачем каждый раз создавать массивы статичных данных, если их можно вынести куда-нибудь в static final или сделать объект Chunk с этими данными?

Ещё они умножают на 16, мне кажется, сдвигом быстрее (на целых несколько наносекунд!!!!), но это просто так, рекомендация, так что ничего страшного)

И даже если они не хотят создавать статичный массив, то почему они заполняют вручную массив, если есть Arrays.fill, который делает тоже самое?


upload_2020-6-28_22-32-56.png

Я конечно придираюсь к каждой строке, но мне кажется, я бы реализовал это лучше)
И это только в чанках) Я боюсь представить, что у них там везде)
 
Спасибо, но во-первых мы хотим сделать ядро без апи и всего лишнего, а во-вторых в этом проекте как-то странно сделана отправка чанков и нет поддержки нескольких версий

По поводу странности чанков:

Во-первых, зачем нужен этот сдвиг, если 0 - 00_00_00_00, получается если сдвинуть 0 на n, то полюбому будет 0.
Если сделать mask (допустим mask = 2) | 0 (в битах: 00_00_00_10 | 00_00_00_00), то будет 2 (00_00_00_10), получается вот эти 2 строки не нужны.
(К чему это? Просто это означает, что разработчики не совсем понимают, как работать с битами и вероятнее всего просто где-то копипастили код)

Во-вторых, зачем каждый раз создавать массивы статичных данных, если их можно вынести куда-нибудь в static final или сделать объект Chunk с этими данными?

Ещё они умножают на 16, мне кажется, сдвигом быстрее (на целых несколько наносекунд!!!!), но это просто так, рекомендация, так что ничего страшного)

И даже если они не хотят создавать статичный массив, то почему они заполняют вручную массив, если есть Arrays.fill, который делает тоже самое?


Посмотреть вложение 57099

Я конечно придираюсь к каждой строке, но мне кажется, я бы реализовал это лучше)
И это только в чанках) Я боюсь представить, что у них там везде)
Ну дак пиши им, ко мне то какие претензии? :D
 
Ладно, тут уже пошёл оффтоп. Мне сказали как сделать (Где-то хранить мапу ID из 1.12 и неймспейса из 1.13), так что я закрою тему.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх