
我的世界1.20.1forge模组开发进阶教程
文章平均质量分 94
学习该篇文章,可以使你对mc的机制更加了解,根据mc的机制和模组作者代码的学习,让你对编写代码的能力更升高一层
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
lemon_sjdk
正在努力学习java
展开
-
关于mc教程我想说两句
当前国内活跃的MC模组开发者可能不足百人,且集中在老牌模组维护领域。生态复苏需依赖Mojang更新策略调整、本土化开发工具链完善,以及社区内容消费习惯的重构。原创 2025-03-27 17:18:31 · 509 阅读 · 0 评论 -
我的世界模组开发进阶教程——特征(1)
类签名•功能:将特性(如树木、矿石)与其生成规则(如高度、密度)组合成预配置项•泛型参数•FC:特性配置类型,必须继承•F:特性类型,必须继承// 创建橡树配置5 // 最小高度// 注册配置化特性•联系:三者呈继承关系,扩展原版进一步细化参数。•区别:原版功能基础,BOP基类支持模组生态扩展,子类实现参数标准化。•BOP模组选择:根据树木复杂度选择基类或子类,**基础树木多用,特殊生态使用直接配置。原创 2025-04-02 00:49:35 · 67 阅读 · 0 评论 -
我的世界模组进阶开发教程——地形生成(2)
柏林噪声通过梯度插值与分形叠加,为《我的世界》提供了高效且自然的地形生成方案。从宏观的大陆分布到微观的岩石纹理,其算法逻辑贯穿游戏世界的每个细节,成为程序化内容生成的典范。// 第二层坐标缩放因子// 目标标准差•:对第二层噪声的输入坐标进行轻微拉伸,避免两层噪声模式重复•:标准化目标值,确保输出在[-1,1]范围| (混合高频/低频) | | (基础地形层) | | (生物群系细节) || | |v v v| 地形高度合成器 |<----| 洞穴生成器 |<----| 云层渲染器 |原创 2025-04-01 23:36:33 · 167 阅读 · 0 评论 -
我的世界进阶模组开发教程——地形生成(1)
•作用:预定义常用地形条件判断器•参数解析•offset:深度偏移量(如的0表示从地表开始计算)•:是否叠加地表深度(决定是否考虑动态地表厚度)•:检测位置类型(地面或天花板)是 Minecraft 地形生成的核心引擎,通过噪声分层、规则系统和生物群系扩展实现多样化的地表表现。其设计融合了动态计算(噪声驱动)、模块化规则()和性能优化(坐标绑定缓存),为开放世界游戏的地形生成提供了经典参考实现。原创 2025-04-01 20:45:00 · 202 阅读 · 0 评论 -
我的世界1.20.1forge模组开发进阶教程——TerraBlender
从模组开发者的视角来看,TerraBlender为Minecraft生物群系类模组的开发提供了全方位的技术支持,显著降低了开发门槛并提升了模组的质量与扩展性:对于生物群系模组开发者而言,使用TerraBlender可将开发周期缩短60%以上,同时获得更好的兼容性与扩展性。其标准化的集成方案使开发者能够专注于创意设计而非底层实现,尤其适合需要多平台发布或与其他生物群系模组联动的项目。这段代码定义了一个名为 的公共类,其主要功能是管理和操作不同类型的生物群系区域(),以下是对代码的详细解释::声明该类所原创 2025-04-01 15:06:34 · 344 阅读 · 0 评论 -
我的世界进阶模组开发教程——GlitchCore库(1)
名称开发者:由GlitchTech开发团队创建适用游戏版本:支持Minecraft 1.19.2及后续版本加载器支持:兼容Fabric、Forge、Quilt等多种模组加载器分类:库模组(Library Mod)标签:工具类、框架、跨平台支持@Override。原创 2025-04-01 11:49:03 · 102 阅读 · 0 评论 -
我的世界1.20.1forge进阶模组教程——结构变体的深入研究(1)
BlockPos是 Minecraft 中处理方块位置的核心工具类,提供坐标操作、旋转、迭代等丰富功能,与Rotation类协同实现方向变换。其不可变设计确保线程安全,而子类优化了频繁修改的场景。理解其实现机制对开发Mod、分析游戏逻辑或优化性能至关重要。原创 2025-03-31 11:49:37 · 283 阅读 · 0 评论 -
我的世界1.20.1forge模组进阶教程——键盘事件(1)
•。原创 2025-03-28 15:51:29 · 87 阅读 · 0 评论 -
我的世界1.20.1进阶模组开发教程——序列化(4)
DoubleTag类型安全:通过继承NumericTag明确数值类型语义。性能优化:对象缓存、不可变设计、流式解析。扩展性:访问者模式支持多样化的数据处理场景。兼容性:与 Java 原生double类型和 IEEE 754 标准对齐。此代码在 Minecraft 的 NBT 系统中承担了高效存储和操作双精度浮点数的关键角色。NumericTag抽象与多态:通过抽象方法统一数值操作接口,支持多态处理。类型安全:强制子类处理类型转换的精度和范围问题。不可变性:确保线程安全和对象状态一致性。扩展性。原创 2025-03-28 15:10:42 · 51 阅读 · 0 评论 -
我的世界1.20.1forge进阶教程——序列化(3)
继承自。原创 2025-03-27 12:12:49 · 490 阅读 · 0 评论 -
我的世界1.20.1进阶模组开发教程——序列化(2)
序列化源码解析原创 2025-03-27 09:41:35 · 273 阅读 · 0 评论 -
我的世界1.20.1forge模组开发进阶教程——序列化(1)
在《Minecraft》(MC)中,序列化指将游戏数据(如方块、实体、玩家状态等)转换为可存储或传输的格式。这是游戏运行、存档保存和网络通信的关键技术。以下是Minecraft中常见的序列化方式及其用途:• 特点:Minecraft专用的二进制序列化格式,高效压缩且支持嵌套结构。• 用途:◦ 存储物品、实体、方块的附加数据(如箱子内的物品、生物属性)。◦ 存档文件(如)和结构文件()的核心格式。• 示例:通过命令生成一个带NBT数据的钻石剑:• 特点:将地图划分为32x32区块的区域文件(),使原创 2025-03-26 23:00:43 · 643 阅读 · 0 评论 -
我的世界1.20.1forge模组进阶开发教程——结构(3)
关于结构这块,其实是属于进阶内容了,设置vip可看也是为了赚取收益,某些不法分子采用破解的方式观看vip文章,这属于侵犯知识产权了,做人要点脸,天下没有免费的午餐,设置vip可见你就老老实实的开vip看就完了,没钱你就别看。我甚至有个开课的打算,但是时间关系,弄不了,以后有机会会做成视频给大家讲解,当然是付费的,天下没有免费的午餐。这个类位于net.minecraft.world.level.levelgen.structure.pools包下,以下是对它的解释: 是 Minecraft 结构生成系统的核心原创 2025-03-26 22:04:01 · 224 阅读 · 0 评论 -
我的世界进阶教程——结构(2)
前面已经讨论过AMMobSpawnStructureModifier,还不够具体,需要研究一下接口:代码解释与功能分析代码概览这段代码是 Minecraft Forge 的结构生成修改系统 的核心接口,用于 动态调整结构生成规则。主要功能包括:• 方法:• : 核心逻辑,根据阶段修改结构参数• : 返回该修改器的序列化规则3. 序列化 Codec与自定义结构生成的协作流程#mermaid-svg-WKL3r71jWosqAy2I {font-family:"trebuchet ms",原创 2025-03-26 20:34:04 · 592 阅读 · 0 评论 -
我的世界模组开发进阶教程——结构(1)
Minecraft的结构生成是生物群系、种子算法与随机性的综合结果。原创 2025-03-25 12:09:42 · 1124 阅读 · 0 评论 -
我的世界1.20.1forge进阶模组教程——生物群系与洞穴
•作用:通过createKey方法生成一个唯一标识符(ResourceKey),指向模组内部名为的洞穴雕刻器配置。•实现细节createKey方法使用模组ID()和名称构建资源路径,确保全局唯一性。这段代码是 BOP 模组扩展 Minecraft 洞穴生成的核心配置部分,通过参数化控制洞穴的生成规则和形态,同时利用原版注册表和标签系统实现高效集成。开发者可通过调整参数(如概率、高度范围)自定义洞穴生成逻辑。原创 2025-03-31 00:54:03 · 216 阅读 · 0 评论 -
我的世界1.20.1forge模组进阶教程——生物群系(3)
首先映入眼帘的是关于音乐的静态常量@Nullable1. 常量定义解析•类型与修饰符:所有常量均为类型,表示它们是全局唯一的、不可修改的 Music 实例。注解:仅可为null,其他常量通过初始化,保证非空。•初始化方式:通过中的事件(如)生成对应的Music对象,可能与音频资源绑定。2. 各常量的生物群系关联常量名对应的生物群系音乐资源说明默认/未指定生物群系无特定音乐(可能回退到默认逻辑)森林(Forest)轻松的自然主题音乐沼泽(Swamp)潮湿、神秘的氛围音乐。原创 2025-03-31 00:15:37 · 238 阅读 · 0 评论 -
我的世界1.20.1forge进阶模组开发教程——生物群系(2)
•@Mod 注解:表明这是 Forge 模组的入口类,MOD_ID是模组唯一标识符(此处为•DeferredRegister 实例:用于延迟注册游戏元素(避免过早初始化),覆盖了生物群系、方块、实体、流体等类型。//注册生物群系//注册方块每个注册器对应游戏内的一种资源类型,通过Registries类指定注册表。这段代码是典型的大型 Minecraft 模组的入口类,通过系统化的注册和生命周期管理,将新增的生物群系、方块、实体等内容整合到游戏中。原创 2025-03-30 22:15:10 · 175 阅读 · 0 评论 -
我的世界模组开发进阶教程——生物群系
找到mc的生物群系有关的类,我们发现biome可以是Codec类型的泛型,也可以是Holder类型的泛型,那么生物群系到底是怎么注册的?又是怎么生成的?生物群系的生物生成规则又是写在哪里?在Minecraft中,类是生物群系的核心实现,负责管理气候、地形生成、生物生成规则及视觉效果。以下是对该类的详细解析:• Codec定义:• :完整序列化生物群系的所有属性(气候、特效、地形、生物生成)。• :简化版,仅序列化气候和特效,减少网络传输数据量。• 和 :用于注册表项的序列化,支持动态加载数据包。2原创 2025-03-25 10:21:05 · 1044 阅读 · 0 评论 -
我的世界1.20.1forge模组开发进阶教程——Geckolib动画实体(3)
注意:本章涉及大量的geckolib底层代码,补充讲解了上一节没讲的,如果看不懂请去学习Java这段代码是 GeckoLib 库中用于处理实体动画的核心接口 ,它为 Minecraft 实体(如生物、玩家等)提供了动画控制、数据同步和网络通信的能力。以下是对代码的逐层解析及其在 GeckoLib 中的作用分析:• 作用通过 从实体中获取特定类型的动画数据。• 实现逻辑• 通过 获取实体动画缓存。• 使用 获取实体唯一ID,定位动画管理器。• 调用管理器中的 获取数据。• 用途用于客户原创 2025-03-15 00:03:00 · 1121 阅读 · 0 评论 -
我的世界进阶模组开发(11)——动画实体(2)
Blender 与 Blockbench 对比及学习指南一、Blender 是什么?Blender 是一款开源免费的全流程 3D 创作软件,支持建模、雕刻、动画、渲染、物理模拟、视频剪辑等全流程功能。其核心优势在于跨平台兼容性(Windows/macOS/Linux)和轻量化设计(安装包仅 200MB 左右)。广泛应用于影视特效、游戏开发、工业设计等领域,例如《蜘蛛侠:平行宇宙》中的部分镜头即由 Blender 制作。二、Blender 与 Blockbench 的优缺点对比对比维度Blender。原创 2025-03-11 17:11:15 · 938 阅读 · 0 评论 -
我的世界模组进阶开发教程(10)——Geckolib动画实体(1)
GeckoLib是Minecraft Java版的一个开源动画引擎库,由ThanosGecko团队开发,主要用于模组开发中的实体、物品和方块动画制作。它支持基于3D关键帧的复杂动画设计,允许开发者通过Blockbench导出基岩版动画并直接应用到Java版实体中,同时提供声音、粒子关键帧、自定义事件等功能。• 简化动画流程:通过Blockbench导出动画文件(.geo.json和.animation.json),开发者无需手动编写逐帧动画代码。• 跨平台兼容性:支持Forge、Fabric、NeoFor原创 2025-03-09 22:24:15 · 1022 阅读 · 0 评论 -
我的世界1.20.1forge模组进阶开发——生物生成2
怎么才能在特定的生物群系或结构生成生物?我们来研究一下alexmob,看看它是怎么写的。先研究源码以便更好的开发模组这段代码是 Minecraft 模组 Alex’s Mobs 的核心部分,负责控制游戏中生物(Mob)的生成规则和结构(如蚁丘)的生成逻辑。下面是对代码功能的逐层解释:该类的主要功能是:• 修改结构的刷怪规则:根据配置向特定结构(如末地城、沉船)中添加自定义生物。• 配置生物群系的刷怪规则:根据生物群系配置文件和权重,在不同生物群系中生成不同种类的生物。• 特殊地形生成:管理类似蚁丘的原创 2025-03-24 16:11:39 · 1220 阅读 · 0 评论 -
我的世界1.20.1forge模组进阶开发教程——生物生成(1)
Alex’s Mobs(AlexsMobs)开发者视角解析Alex’s Mobs 是一个由开发者AlexModGuy创建的 Minecraft 模组(Mod),专注于为游戏添加多样化的生物(Mobs),通过独特的模型、行为机制和生态交互提升游戏体验。1. 核心功能与技术实现•生物设计与行为逻辑模组中的每个生物均基于 Minecraft Forge/Fabric API 开发,通过自定义的实体类(如)实现独特行为。原创 2025-03-16 19:02:21 · 1058 阅读 · 0 评论 -
我的世界1.20.1forge模组进阶开发教程——Alex‘s mob的深入研究
这段代码通过Pair键值对生物与生成规则的解耦:修改生成条件无需改动生物类代码。配置的集中管理:所有生成规则一目了然。预设复用:通过优化配置效率。开发者可通过以下方式扩展:• 在中添加新的预设规则• 新建Pair字段来添加新生物• 修改现有Pair的右值以调整生成条件这段代码是Alex’s Mobs 模组中世界生成特性的注册入口,核心功能包括:• 通过 Forge 的安全注册特性• 定义切叶蚁丘特性的工厂方法• 为后续的生物群系分配和生成逻辑提供基础设施。原创 2025-03-24 22:29:22 · 803 阅读 · 0 评论 -
我的世界1.20.1forge开发进阶教程——生物AI(1)
实现生物躲避阳光的具体行为逻辑。:通过优先级和标志冲突机制,协调多个类似的目标,确保生物 AI 行为合理有序。这种设计使得 Minecraft 的生物 AI 系统既灵活又可扩展,开发者可通过组合不同的Goal实现复杂行为逻辑。// 继承Goal基类,实现生物AI目标 // 常量定义(单位:方块) public static final int HORIZONTAL_SCAN_RANGE = 8;原创 2025-03-15 21:51:19 · 579 阅读 · 0 评论 -
我的世界1.20.1进阶模组开发教程——升级模板与文字格式
深入的讲解了锻造模板的进阶知识原创 2025-03-31 23:56:27 · 417 阅读 · 0 评论 -
我的世界1.20.1forge模组进阶教程——注册和注册表(2)
与Registry共同构成Minecraft的双层级注册系统,前者是跨注册表的访问枢纽,后者是单个注册表的功能载体。在模组开发中,理解二者的协作关系,能更高效地实现元素注册、数据查询和跨模组兼容。是 Minecraft 1.20.1 后引入的现代化注册表管理工具,通过集中式配置、错误检测和生命周期管理,显著提升了模组开发的效率和可靠性。其设计充分体现了对大规模数据驱动的支持,是构建复杂模组生态的基石。•功能:通过为每个注册表创建全局唯一标识符,如BLOCK对应/block注册表路径•实现原理。原创 2025-03-31 18:26:55 · 163 阅读 · 0 评论 -
我的世界1.20.1forge进阶模组教程——注册和注册表
forge能注册哪些东西呢?带着问题找答案,翻开forge的源码net.minecraftforge.registries,从源码中寻找答案以下是针对提供的类代码的详细解析,结合Minecraft Forge注册机制和Java核心特性的实现:是Minecraft Forge中用于延迟加载注册表对象的核心工具类,实现了接口,确保在注册表未准备好时安全访问对象。二、核心方法解析1. 工厂方法提供多种创建实例的方式,适应不同注册场景:• 直接绑定注册表直接关联到已知的Forge注册表,当注册表更新时原创 2025-03-31 16:46:41 · 420 阅读 · 0 评论