Как менять loot tables у блока в зависимости от ситуации?

Версия Minecraft
1.15+
Нужно, чтобы блок, в разных ситуациях менял свой loot table. Например чтобы создать ситуацию вроде: если блок земли стоял на блоке золота и был разрушен, то из него выпадет алмаз (то есть перед тем, как загрузить json игра будет проверять другое условие и устанавливать новый json, если оно срабатывает)
Знаю,пример максимально тупой, но надеюсь понятно. Буду благодарен, если кто даст идею, как такое сделать
 
205
12
103
Можно применить GLM. Позволяет менять лут чего угодно и в каких угодно условиях. Настраивается json`ом, но все проверки можно вынести в код, если лень пилить файликами (но такое осуждают, хотя мне это делать всё прямо в коде не мешает).

Доки: Loot Modification - Forge Documentation
Примеры: MinecraftForge/MinecraftForge
 
4,045
63
645
Так, народ...
Вы, кажется, вообще не понимаете смысла лут тейблов...
Не нужно костылить.
Тэйблы для того и существуют, чтобы выдавать результат в зависимости от условий...
Не нужно менять саму таблицу по условию. Просто пропиши условие в таблице...
Доки есть на википедии: Таблицы добычи
 
205
12
103
Вы, кажется, вообще не понимаете смысла лут тейблов...
Ммм... Как раз таки понимаю. Это такие штуки, которые не имеют централизованной системы обработки в самом форже (при девелопе реликса как раз столкнулся с проблемой, из-за которой пришлось отказаться от ванильных тейблов). Собственно, из-за чего и был создан GLM. Собственно, из-за чего доки на ванильные луттейблы плавно исчезают.

ГЛМ рекомендуется самой командой форжа и большинством саппорт-мемберов. На вопрос, связанный с ванильными луттейблами, в 80% случаев последует ответ "Используй GLM".

Итог: Если уж форжЫ так рьяно пытаются соскользнуть с ванильных тейблов, и пристроить свою систему выдвигая основной её фишкой "автоматическую интеграцию с другими модами на базе Forge", полагаю, нужно использовать именно ГЛМ.
 
7,099
324
1,510
205
12
103
Полагаю, потому что они запилили парсинг жсонов, и не юзать его - кощунство. Но мне на это вообще пофиг. Я все равно логику обрабатываю в коде, а переменные выношу в конфиг. Не люблю, когда настройки мода находятся в категорически разных папках
 
Так, народ...
Вы, кажется, вообще не понимаете смысла лут тейблов...
Не нужно костылить.
Тэйблы для того и существуют, чтобы выдавать результат в зависимости от условий...
Не нужно менять саму таблицу по условию. Просто пропиши условие в таблице...
Доки есть на википедии: Таблицы добычи
В моем случае условие не прописать в json-е т.к. дроп с блока должен зависеть от внешнего фактора. Но если есть идеи как можно не модифицируя таблицу написать то, что я описал в примере, был бы рад их попробовать
 
Можно применить GLM. Позволяет менять лут чего угодно и в каких угодно условиях. Настраивается json`ом, но все проверки можно вынести в код, если лень пилить файликами (но такое осуждают, хотя мне это делать всё прямо в коде не мешает).

Доки: Loot Modification - Forge Documentation
Примеры: MinecraftForge/MinecraftForge
Идея интересная, но для меня пока что довольно сложная. Буду пытаться что то написать, спасибо за совет
 
4,045
63
645
Ммм... Как раз таки понимаю
Ммм... Сомневаюсь...
Ванильные таблицы нормально работают и очень гибко настраиваются...
Ты просто не умеешь их готовить.
дроп с блока должен зависеть от внешнего фактора
Создаёшь обработчик собственных условий и в нём пишешь всё, что душе угодно...
 
Сверху