截图
介绍
最初是 One Block Plus 模组的一部分,RandomLib 现在是一个独立的前置库,可让你的模组创建用于加权随机生成的配置文件。
开发者文档。(编写中)
(之后可能会用 GitHub 仓库替代本文档)
在 FMLCommonSetupEvent 期间调用 RandomLibUtils.setup 来设置配置文件。
<T extends ExtraData> RandomLibUtils.setup(ResourceLocation registryKey, Supplier<T> extra, Consumer<Map<String, RandomPool<T>>> afterDeserialization)
例如,如果 registryKey = oneblock:phases,你的配置文件将生成在 configs/oneblock/phases/ 文件夹中。
extra 是一个供应器,用于提供 ExtraData 实现的实例。除了加权物品外,你还可以通过它保存有关随机池的更多信息。
配置文件反序列化后,会以文件名为键存入一个映射中。不过,你可能希望通过 afterDeserialization 消费器,将它们存储在更方便模组使用的数据结构中。
在 FMLServerStartingEvent 期间调用 RandomLibUtils.registerCommand,以设置用于管理 RandomLib 生成的配置文件的命令。
RandomLibUtils.registerCommand(FMLServerStartingEvent event, String commandname, ResourceLocation registryKey) RandomLibUtils.registerCommand(FMLServerStartingEvent event, String commandname, ResourceLocation registryKey, ExtraDataCommand<? extends ExtraData> extraDataCommand)
registryKey 与 RandomLibUtils.setup 中使用的相同。
extraDataCommand 用于为你的 ExtraData 实现补充 brigadier 命令。
调用 RandomPool#getExtra() 获取反序列化后的 ExtraData。
调用 RandomPool#getRandom()#generateAndReplace(ServerWorld, BlockPos) ,可在指定世界和位置破坏方块,并从随机池中生成一个物品。
调用 RandomPool#getRandom()#generate(ServerWorld, BlockPos) ,可在指定世界和位置从随机池中生成一个物品。
调用 RandomPool#getRandom()#vgenerate(RandomContainer, ServerWorld, BlockPos, ItemStack) ,可在指定世界和位置为实现了 RandomContainer 的对象(通常是方块实体),根据其手持物品(如果有)从随机池中生成一个物品。
用户文档。(编写中)
帮助命令:/<此模组的 RandomLib 命令名称> help
示例:

常见问题
RandomLib 支持哪些 Minecraft 版本?
RandomLib 支持 Minecraft Java 版 1.16.5,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
RandomLib 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
NaturaSpell 的其他作品
查看全部 →Quests Additions (Forge)
FTB任务模组的附属模组。它添加了基础模组中缺失的一些任务和奖励类型。(放置、破坏、可重复和创建结构)
Quests Additions (Fabric)
FTB quests 模组的附属模组,为原版补充了缺失的任务和奖励类型。(放置、破坏、可重复和创建结构)
All in One [Modded One Block]
真正的模组化单方块整合包,包含11个不同阶段。
One Block Plus
这是一款基于 ijaminecraft 的 OneBlock 地图制作的模组,提供完整的自定义功能。支持多人游戏,每位玩家都有自己的 OneBlock。OneBlock 可以生成方块、实体和方块实体(如箱子、熔炉等)。
评论
登录后评论和评分