Как загрузить блок другого мода в Blocks ?

Версия Minecraft
1.12.2
API
Forge
Привет работягам.
Версия - 1.12.2, пара вопросов (приоритетней 1 и 4)
Пишу чисто мод для изменения взрывоустойчивости/прочности блоков 🤟(bruh..)
С ванильными разобрался как, но:
1. Строку Block.OBSIDIAN.setResistance(18000000.0F) нужно вставлять в postInit ? (Не шарю, но так работает)
изображение_2022-07-15_032509275.png

2. Мне нужно проделать такое 👆 для других модов (=как загрузить блок другого мода в класс Blocks ?)
3. Почему Blocks.TNT.setTickRandomly(true) вообще никак не меняет TNT для gamerule randomTickSpeed ? (Скорости взрыва и падения не меняются)
4. Всё это бессмысленно т.к. блоки без Blocks.OBSIDIAN.setBlockUnbreakable() пропускают % взрывной волны сквозь себя, как сделать ломаемый блок с такими же свойствами ? (Не пропускает взрывную волну)

Спасибо за сэкономленное время, заранее !
 
Последнее редактирование:
Решение
1. Строку Block.OBSIDIAN.setResistance(18000000.0F) нужно вставлять в postInit ? (Не шарю, но так работает)
да. раз ты всего лишь меняешь поле класса, это можно сделать и в postInit.
2. Мне нужно проделать такое 👆 для других модов (=как загрузить блок другого мода в класс Blocks ?)
ForgeRegistries.BLOCKS.getValue(new ResourceLocation("modid", "block_name")) возвращает объект Block, перед использованием проверяй его на null
3. Почему Blocks.TNT.setTickRandomly(true) вообще никак не меняет TNT для gamerule randomTickSpeed ? (Скорости взрыва и падения не меняются)
его код никак не связан с рандомными тиками, твой метод только сигнализирует, может ли блок получать их. и вообще, TNT при взрыве - это сущность...
627
72
178
1. Строку Block.OBSIDIAN.setResistance(18000000.0F) нужно вставлять в postInit ? (Не шарю, но так работает)
да. раз ты всего лишь меняешь поле класса, это можно сделать и в postInit.
2. Мне нужно проделать такое 👆 для других модов (=как загрузить блок другого мода в класс Blocks ?)
ForgeRegistries.BLOCKS.getValue(new ResourceLocation("modid", "block_name")) возвращает объект Block, перед использованием проверяй его на null
3. Почему Blocks.TNT.setTickRandomly(true) вообще никак не меняет TNT для gamerule randomTickSpeed ? (Скорости взрыва и падения не меняются)
его код никак не связан с рандомными тиками, твой метод только сигнализирует, может ли блок получать их. и вообще, TNT при взрыве - это сущность.
4. Всё это бессмысленно т.к. блоки без Blocks.OBSIDIAN.setBlockUnbreakable() пропускают % взрывной волны сквозь себя, как сделать ломаемый блок с такими же свойствами ? (Не пропускает взрывную волну)
Blocks.OBSIDIAN.setResistance(Float.MAX_VALUE) попробуй
 
да. раз ты всего лишь меняешь поле класса, это можно сделать и в postInit.
Таким образом я могу менять блоку все свойства, заложенные в Blocks ?
Если блок имеет своё извращённое свойство, то нужно импортировать сам мод как библиотеку для его ревёрса ?
Blocks.OBSIDIAN.setResistance(Float.MAX_VALUE) попробуй
Там вообще извращённая механика взрыва, взрывная волна не полностью гаситься об блок, только если это не блок с Hardness(-1).
Тут либо пробовать ставить высокий Harndess, но ломаемый, либо через ивенты попробовать (Мне это уже не нужно, если кому интересно)

А так в целом сильно помог )
 
Сверху