RandomLib

最初是 One Block Plus 模组的一部分,RandomLib 现在是一个独立的库,允许你的模组为加权随机生成创建配置文件。

资源介绍

最初是 One Block Plus  模组的一部分,RandomLib 现在是一个独立的库,允许你的模组为加权随机生成创建配置文件。 开发者文档。(进行中) (这很可能稍后会被 GitHub 仓库取代) 在 FMLCommonSetupEvent 期间调用 RandomLibUtils.setup 来配置你的文件。 <T extends ExtraData> RandomLibUtils.setup(ResourceLocation registryKey, Supplier<T> extra, Consumer<Map<String, RandomPool<T>>> afterDeserialization) 例如, 你的配置文件将生成在 configs/oneblock/phases/ 文件夹中,如果  注册表键  = oneblock:phases. 额外 是一个实例的供应商,该实例属于一个  ExtraData 实现。这允许你保存关于随机池的更多信息,除了加权物品之外。 一旦你的配置文件被反序列化,它们会被保存在一个映射中,以其文件名作为键,但你可能希望使用  反序列化后 消费者。 在 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 例如: 

在鱼乐云资源中心浏览该资源,登录后可一键安装到你的游戏服务器。

返回资源中心