Вопрос о регистрация блоков ,,налету,, и id

Версия Minecraft
1.12.2
API
Forge
395
39
96
Доброго время суток, гуру MC-моддинга, подскажите плиз. У меня есть некоторый алгоритм, который преобразовывает строку (создает и регистрирует)
(например "{blocks=[{id='test_block_', ranges=[0-15, 20]},{id='test2'}]}") в блоки (в примере, оно добавляет в игру блоки с id test_block_0, test_block_1 .. и т.д)

А теперь сами вопросы, на которые сколько ни гуглил - не получил ответа. Могу ли я зарегистрировать (и разрегистрировать, включая ванильные) блоки (и предметы), со всеми его составляющими (модель, текстура и т.д) ,,на лету,, (например, при загрузке карты), и если могу, подскажите куда смотреть плиз.
Другой вопрос об ID блоков. От чего зависит ,,числовой ID блока,, (насколько я знаю, в них и сохраняются блоки в чанках и далее на карте)

Тк ,,входная строка,, будет часто меняться (буду добавлять блоки или менять их положение в списке), возможны ли ошибки в сохранениях (например если я поменяю местами 2 блока в своей строке, ,,поменяются,, ли установленные блоки местами после повторной загрузки карты с другой строкой)?
 
1,329
104
225
Могу ли я зарегистрировать (и разрегистрировать, включая ванильные) блоки (и предметы), со всеми его составляющими (модель, текстура и т.д) ,,на лету,, (например, при загрузке карты)
Нет, регистрации фризятся на моменте пре-инициализации.
Другой вопрос об ID блоков. От чего зависит ,,числовой ID блока,, (насколько я знаю, в них и сохраняются блоки в чанках и далее на карте)
С 1.9 числовой ID не используется, насколько я помню.
Тк ,,входная строка,, будет часто меняться (буду добавлять блоки или менять их положение в списке)
Если ID останется тот же, то, по идее, ничего произойти не должно.
 
78
3
10
Registry "замораживается" в момент показа главного меню (условно). Туда ничего не добавить.

Предложу идею использовать один ранее зарегистрированный блок/предмет, который уже динамически сможет принимать "субблоки"... Нечто подобное в gregtech используется.
Как это будет отображаться в NEI - без понятия. Вероятно, придется делать аддон.
К тому же придется много изгаляться, в том числе с миксинами, чтобы это хоть как-то стабильно работало.
 
78
3
10
больше 16-ти различных состояний
Вероятно, понадобится совсем кастомный блок. Писать ему субблоки в nbt, и иметь дополнительные поля. Полностью всё разруливать в нём.
Для того, чтобы рисовать их по-разному - вероятно, кастомный тайлэнтити рендерер надо будет так же писать.
 
1,200
37
237
Другой вопрос об ID блоков
При регистрации выдается (скорее всего просто по порядку), а чтобы не было конфликтов мира при изменении сборки, то в мире в добавок есть таблица где каждому текстовому сопоставляется числовой ID (следовательно, лучше блоки по ID не дергать, в зависимости от мира/сборки может вернуться другой блок).

Насколько помню, это именно так работает.
 

will0376

Токсичная личность
2,058
55
572
у блока больше 16-ти различных состояний
в майне максимум 16 суб-блоков для блока (или 15? как правильно считать то)
В принципе, можно разморозить регистры и зарегать блоки, но будут ли они работать нормально - неизвестно
 
Сверху