用户:MashKJo/1.12.2模组开发笔记/IRecipe接口详解:修订间差异

 
(未显示同一用户的3个中间版本)
第48行: 第48行:


=== default String getGroup() ===
=== default String getGroup() ===
该方法用于获取配方所在的“组别”,什么叫“配方所在的组别”?以.json文件形式添加的配方中,有这么一个“group”键,值的格式为“modid:examplegroup”。该方法的返回值的作用就类似于这个键值对。如果你没什么特别的需求,这个方法就可以不Override了。


== 实战:自己实现IRecipe接口 ==
== 注册IRecipe ==
是的,IRecipe需要注册——而且走的是Forge的注册表系统。因此:
public class MyCustomRecipe implements IRecipe
{
    private ResourceLocation regName;
   
    ...
   
    @Override
    public IRecipe setRegistryName(ResourceLocation name)
    {
        this.regName = name;
        return this;
    }
   
    @Override
    public ResourceLocation getRegistryName()
    {
        return this.regName;
    }
   
    ...
}
 
 
@Mod.EventBusSubscriber(modid = [Your MODID])
public class RecipeLoader
{
    @SubscribeEvent
    public static void register(RegistryEvent.Register<IRecipe> event)
    {
        event.getRegistry().register([Your IRecipe Instance].setRegistryName(new ResourceLocation(...)));
    }
}


== 注释与外部链接 ==
== 注释与外部链接 ==
行政员、​优秀编辑者、​界面管理员、​监督员、​管理员、​小部件编辑者
3,417

个编辑