Разница в регистрациях есть?

Версия Minecraft
1.12.2
1,031
19
87
При написании своего мода использовал сразу несколько туториалов и заметил, что есть две возможных регистрации для предметов\блоков, на этом учебнике вот такая:
Java:
public static Item NewItem = new NewItem("registry_name");

    public static void register() {
    
        setRegister(NewItem);
        
    }

    @SideOnly(Side.CLIENT)
    public static void registerRender() {
    
        setRender(NewItem);
        
    }

    private static void setRegister(Item item) {
    
        ForgeRegistries.ITEMS.register(item);
        
    }
    @SideOnly(Side.CLIENT)
    private static void setRender(Item item) {

        Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));

    }
Потом в эту регистрацию отправить в CommonProxy в метод preInit.
А вот альтернативная:
Здесь сначала в ядре мода идёт добавление в шину событий регистров как предметов так и блоков вместе с рендерами
Код:
@EventBusSubscriber
public static class RegistrationHandler {
    
    @SubscribeEvent
        public static void registerItems(RegistryEvent.Register<Item> event) {
        
            RegisterItems.register(event.getRegistry());
            
        }
        
    @SubscribeEvent
    public static void registerItems(ModelRegistryEvent event) {
    
        RegisterItems.registerModels();
        
    }
        
}
Код:
public static Item NewItem = new NewItem("registry_name");

public static void register(IForgeRegistry<Item> registry) {

    registry.register(NewItem);
            
}
    
public static void registerModels() {

    NewItem.registerItemModel();

}
Вопрос: есть ли какая-то весомая разница между этими двумя регистрациями, если обе отлично работают? Может какая-то устарела, или производительней или удобней?
 

Icosider

Kotliner
Администратор
3,603
99
664
Дело в том, что EvenBusSubscriber это аннотация форджа, которая говорит ему(forge) что этот класс содержит событие(-я). И тем самым проходит регистрация без добавления класса в EVENT_BUS. Преимудество в том, что такая регистрация будет раньше выполнена, чем регистрация предметов и т.п. Использовать или нет, уже выбор за тобой.
 
5,018
47
783
Я бы его юзал для каких нибудь специальностей. А вот просто так и обычные события сойдут
 
Сверху