MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针

如果在编辑的过程中遇到了什么问题,可以去讨论板提问。

为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证

MCBBS Wiki GitHub群组已上线!

您可以在回声洞中发表吐槽!

服务器状态监控。点击进入

本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>

用户:MashKJo/1.21.1模组开发教程/4.数据生成:修订间差异

跳到导航 跳到搜索
// Edit via Wikiplus
(创建页面,内容为“数据生成(Data Generation,简称DataGen)是Minecraft原版的一种通过代码生成资源包、数据包JSON的一种机制。鉴于手写JSON很繁琐且比较容易出错,数据生成对于大型Mod而言几乎是必需的。且数据生成也有良好的跨版本迁移性(如果资源包或数据包的结构或JSON格式随着版本迁移发生了变化的话)。 @SubscribeEvent public static void onGatherData(GatherDataEvent event) {…”)
 
(// Edit via Wikiplus)
 
(未显示同一用户的1个中间版本)
第6行: 第6行:
     CompletableFuture<HolderLookup.Provider> lookupProvider = event.getLookupProvider();
     CompletableFuture<HolderLookup.Provider> lookupProvider = event.getLookupProvider();
     ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
     ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
 
     event.addProvider(new XXXProvider(...));
     event.addProvider(new XXXProvider(...));
  }
  }
第23行: 第23行:
  }
  }


然后就可以在数据生成事件监听器中添加DatapackBuiltInEntriesProvider的实例了:
然后就可以在数据生成事件监听器中添加DatapackBuiltinEntriesProvider的实例了:


  event.addProvider(output, lookupProvider, new RegistrySetBuilder().add(Registries.ENCHANTMENT, ModEnchantments::bootstrap), Set.of(TutorialMod.MODID));
  event.addProvider(new DatapackBuiltinEntriesProvider(output, lookupProvider, new RegistrySetBuilder().add(Registries.ENCHANTMENT, ModEnchantments::bootstrap), Set.of(TutorialMod.MODID)));
  //第三个参数接受一个RegistrySetBuilder,这里就是向该DataProvider添加数据的地方了,也可以add更多;最后一个参数是参与数据生成的模组的modid集合。
  //第三个参数接受一个RegistrySetBuilder,这里就是向该DataProvider添加数据的地方了,也可以add更多;最后一个参数是参与数据生成的模组的modid集合。


运行runData任务,即可在输出目录(默认为<code>src/generated/resources</code>)下看到自动生成的资源文件了。输出目录可以在build.gradle中更改。
运行runData任务,即可在输出目录(默认为<code>src/generated/resources</code>)下看到自动生成的资源文件了。输出目录可以在build.gradle中更改。
行政员、​优秀编辑者、​界面管理员、​监督员、​管理员、​小部件编辑者
3,417

个编辑

我们提供服务需要使用Cookie。您使用我们的服务,即表示您同意我们使用Cookie。

导航菜单