SolLib

Sol 为模组开发提供了一整套常见的代码。

资源介绍

这是 Minecraft 模组的核心库。是的,我们知道,非常原创。 信不信由你,在每个项目中复制粘贴一堆类既不是最高效的,也不是最稳定的想法。 Sol 为模组开发提供了一整套常见的代码。 它们大多围绕数据、多加载器和渲染辅助工具展开。几个关键亮点包括: 易于配置的系统。 按需加载,设置简单,并且可以从其他模组访问,无需硬依赖。 SolConfig config = MOD.createConfig("sollib/test", 1.0, builder -> builder .addObject("category", category -> category .comment("This is a comment") .add("hello", "world") .add("easyconfig", true) ) ); MOD.getLogger().info(config.get("category.hello", "")); // world 运行时数据,由代码控制。 这允许您在运行时编辑数据包文件,可能根据配置值更改配方,如果目标模组未加载则编辑或禁用兼容配方,为动态定义的物品自动生成模型,以及更多功能。 SolRegistries.Data.RUNTIME.addJson(Identifier.of("minecraft", "recipe/dropper.json"), json -> { if (json == null) return null; if (!config.get("recipe.copper_dropper", false)) return null; json.getAsJsonObject("key") .getAsJsonObject("#") .addProperty("item", "minecraft:copper_ingot"); return json; }); 渲染辅助工具。 集中且与加载器无关。无需创建更多的混入(mixin)。 ResourceLocation TEXTURE = MOD.makeID("textures/models/sword_overlay.png"); SolClientRegistries.Render.ITEM.register(stack -> stack.is(Items.DIAMOND_SWORD) && stack.isEnchanted(), (stack, context, matrices, bufferSource, light, overlay) -> { matrices.scale(1.005f, 1.005f, 1.005f); matrices.translate(0, 0.995, 0.4975); matrices.mulPose(Axis.XP.rotationDegrees(180)); MockItemRenderer.renderItem(matrices, bufferSource, light, TEXTURE); }); 简化的注册表。 您可以在通用代码中调用它,具备您需要的所有语法糖:同时定义模型、燃烧时间、剥离结果以及有关功能的任何事情。 MOD.register(BlockHolder.class, "block_block", () -> new Block(BlockBehaviour.Properties.of())) .withItem(item -> item.withFuel(200)).dropsSelf() .withSlab().withStairs().withWall() .withFlammability(20, 5); 对于普通用户来说,使这个页面尽可能花哨并不重要。毕竟它只是一个库。 但如果您是开发人员并对此感到好奇,最好的学习方式是阅读(正在进行的) Wiki 或加入 Discord。

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

返回资源中心