Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Всё! Вот так быстро и просто мы создали основной класс для регистрации предметов. Чтобы использовать наш предмет, где-то в моде, достаточно написать ItemsRegistry.KEY, где-то в моде Это где? Можете сказать где нужно Это написать.
Не знаю, как на 1.12.2, но вот пример из 1.16.5, думаю мало что изменилось.
Если игрок держит в руке ItemsRegistry.KEY.get(), то на него накладывается эффект регена.
Java:
@SubscribeEvent
public static void regen(LivingEvent.LivingUpdateEvent event) {
if (event.getEntity() instanceof PlayerEntity) {
PlayerEntity player = (PlayerEntity) event.getEntity();
if (player.getMainHandItem().getItem() == ItemsRegistry.KEY.get()) {
player.addEffect(new EffectInstance(Effects.REGENERATION, 10, 10));
}
}
}
На 1.12.2 ты берёшь уже просто ItemRegistry.KEY, поскольку KEY - просто Item, а не RegistryObject<Item>.
To the author (@TheDoffeeZzz ):
This shred of text explains the use of your item in code. So, this line should be placed only when item needed.
For example, we need to log (print in the log) the name of our item in Pre-Initilization.
Then, we put someLogger.log(ItemRegistry.KEY.getRegistryName()); in preInit in our main class.
Вовсе не обязательно.
В init-е вызови ForgeRegistries.ITEMS.register(item); и твой предмет будет зарегистрирован, вот и все.
Для удобства, храни в каком-то статическом контексте свой item