3,417
个编辑
MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
| (未显示同一用户的4个中间版本) | |||
| 第43行: | 第43行: | ||
=== default boolean isDynamic() === | === default boolean isDynamic() === | ||
默认实现为<code>return false;</code>。 | |||
该方法意为“合成表是否为动态的”,那当然要返回<code>return true;</code>了,如果不是动态的,又何必重新实现IRecipe接口呢?写个.json文件不就得了。 | |||
=== default String getGroup() === | === default String getGroup() === | ||
该方法用于获取配方所在的“组别”,什么叫“配方所在的组别”?以.json文件形式添加的配方中,有这么一个“group”键,值的格式为“modid:examplegroup”。该方法的返回值的作用就类似于这个键值对。如果你没什么特别的需求,这个方法就可以不Override了。 | |||
== 注册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(...))); | |||
} | |||
} | |||
== 注释与外部链接 == | == 注释与外部链接 == | ||