☰
MCreator 维度默认效果(Default Effects)参数全解析:Overworld / Nether / End 三种内置效果详解
2026/10/16 2:59:18 网站建设 项目流程
  • 低代码
  • 代码生成
  • 桌面应用
  • 游戏开发

【免费下载链接】MCreator

MCreator is an open-source software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, resource packs, and data packs using an intuitive easy-to-learn interface or with an integrated code editor. It is used worldwide by Minecraft players, aspiring mod developers, for education, online classes, and STEM workshops.

项目地址:https://gitcode.com/gh_mirrors/mc/MCreator
点击查看免费下载

本文围绕 MCreator 中维度(Dimension)设计模块的默认效果(Default Effects)参数展开,系统讲解Overworld、The Nether、The End三种内置效果各自的天穹渲染、雾效、云层与时间机制,并结合源码剖析该参数如何被写入最终生成的维度类型 JSON 与客户端特效代码。读完本文,你将能准确理解这一参数与"自定义效果(Custom Effects)"的分工,并据此为自己的自定义维度选择或复刻合适的视觉基调。

参数定位:自定义效果被禁用时的兜底方案

在 MCreator 的维度设计界面中,"默认效果(Default Effects)"是一个下拉选择参数。官方帮助文档(英文原文、中文译文)对其的定义非常明确:

此参数决定当自定义维度效果被禁用时,所使用的维度效果。

也就是说,该参数只在"使用自定义效果(Use Custom Effects)"选项未被勾选时生效。当useCustomEffects为true时,维度会改用用户自定义的雾色、天空色、云高等效果(参见帮助文档 use_custom_effects.md),此时默认效果下拉框会在界面中被禁用。

这一分工在源码中体现得十分直观。维度数据模型类 Dimension.java 中声明了:

@LimitedOptions({ "overworld", "the_nether", "the_end" }) public String defaultEffects; public boolean useCustomEffects;

其中defaultEffects的合法取值被限制为overworld、the_nether、the_end三个字符串,与下文三个内置效果一一对应;构造函数中将默认值设为this.defaultEffects = "overworld"(新建维度默认采用主世界效果)。

三个内置效果的具体行为

官方帮助文档按取值依次说明了三种效果的行为,这是本文的核心内容,逐条展开如下:

取值(选项)天穹渲染雾效云层备注
Overworld(主世界)天空显示太阳与月亮无浓雾,雾色随太阳高度变化云在 Y=192 处出现唯一支持"固定时间"的内置效果类型
The Nether(下界)不渲染天空存在浓雾无云与下界世界生成配合的经典阴沉观感
The End(末地)紫色静态天空无浓雾无云静谧、无昼夜交替的异界氛围

Overworld:完整的昼夜循环与动态雾色

选择主世界效果时,维度将获得:

  • 太阳与月亮同现的天穹:拥有完整的昼夜交替视觉;
  • 无浓雾:可见距离不受压制,视野开阔;
  • 雾色随太阳高度动态变化:日出日落时分雾色呈现暖色调过渡,正午则偏冷;
  • 云层出现在 Y=192:这对应数据模型中的默认cloudHeight = 192(Dimension.java 第 148 行),且该云高可通过"云层高度(Cloud Height)"参数调整,详见 cloud_height.md;
  • 支持固定时间(Fixed Time):帮助文档特别注明,自版本 26.1 起,仅此效果类型支持冻结昼夜循环。这一点在界面联动逻辑中也有硬性约束。

The Nether:无天空的密闭空间

选择下界效果时:

  • 不渲染天空:天穹完全隐藏,营造密闭压抑的空间感;
  • 存在浓雾:可见距离被显著压制,配合下界典型的世界生成类型("Nether like gen")效果一致;
  • 无云:云层渲染被关闭。

The End:紫色静态天穹

选择末地效果时:

  • 紫色静态天空:天穹呈固定紫色,不存在昼夜交替;
  • 无云、无浓雾:视野开阔,衬托末地虚空的孤寂感。

源码落地:从数据模型到维度类型 JSON

数据模型中的关联字段

除了defaultEffects与useCustomEffects,Dimension.java 还通过一组相邻字段完整定义了维度的视觉系统:

public boolean hasClouds; @Numeric(init = 192, min = -2032, max = 2031, step = 16) public int cloudHeight; @LimitedOptions({ "NORMAL", "NONE", "END" }) public String skyType; public boolean sunHeightAffectsFog; public boolean hasFog; @Numeric(init = 0, min = 0, max = 24000, step = 1) public int fixedTimeValue;

可以看到,cloudHeight的可调范围为 -2032 到 2031,步进 16;skyType提供NORMAL、NONE、END三种天空渲染方式(详见 sky_type.md),与默认效果的三选项在语义上相互对应。

生成器如何消费该参数

不同 MCreator 版本对应的代码生成器处理方式存在差异,从仓库中两个主版本的数据包生成器模板可以清楚看到这一演进:

1.21.1 生成器(datapack-1.21.1 的 dimension_type.json.ftl)采用经典的原版效果引用方式——当自定义效果关闭时,直接在 JSON 的effects字段写入原版命名空间下的效果 ID:

<#if data.useCustomEffects> "effects": "${modid}:${registryname}" <#else> "effects": "minecraft:${data.defaultEffects}" </#if>

即minecraft:overworld、minecraft:the_nether或minecraft:the_end,直接复用原版维度的完整视觉效果。

26.3.x 生成器(datapack-26.3.x 的 dimension_type.json.ftl)则采用属性化(attributes)写法,将三种默认效果拆解为具体的视觉属性写入 JSON。对照源码可得到三种效果的精确参数值:

  • Overworld 分支(第 53–56 行):
    "minecraft:visual/fog_color": "#c0d8ff", "minecraft:visual/sky_color": "#78a7ff", "minecraft:visual/ambient_light_color": "<由 ambientLight 参数换算>"
  • The Nether 分支(第 57–63 行):fog_start_distance = 10、fog_end_distance = 96,即"浓雾";环境光基于#302821换算,天空光颜色#7a7aff且sky_light_factor = 0,对应"不渲染天空"的封闭观感;
  • The End 分支(第 64–70 行):环境光基于#3f473f,雾色#181318,天空色#000000(静态黑底),天空光颜色#ac60cd(紫色)且sky_light_factor = 0,对应"紫色静态天空"。

该模板还展示了三种效果在**时间线(timeline)**层面的差异(第 89–99 行):

  • the_end:"has_fixed_time": true,时间线为#minecraft:in_end(末地无昼夜);
  • the_nether:"has_fixed_time": true,时间线为#minecraft:in_nether,并附带"cardinal_light": "nether";
  • overworld:时间线为#minecraft:in_overworld,default_clock为minecraft:overworld(保留昼夜循环)。

这解释了帮助文档中"仅 Overworld 支持固定时间"的底层原因:只有主世界效果对应的是可被冻结的昼夜时间线。

客户端特效代码中的体现

对于开启自定义效果(useCustomEffects = true)的维度,NeoForge 生成器 dimension.java.ftl 会生成一个SpecialEffectsHandler客户端订阅者,通过DimensionSpecialEffects实现雾色随太阳高度变化(getBrightnessDependentFogColor)与浓雾开关(isFoggyAt)等逻辑;而默认效果路径则由原版实现承接。这也从另一面印证:默认效果参数是useCustomEffects关闭时的简化替代方案。

界面联动:何时可选、如何生效

在维度编辑界面 DimensionGUI.java 中,defaultEffects下拉框通过翻译键elementgui.dimension.effects_构建,三个选项的显示名在 texts_en_GB.properties 中定义:

elementgui.dimension.effects_overworld=Overworld elementgui.dimension.effects_the_nether=The Nether elementgui.dimension.effects_the_end=The End

界面联动方法updateDimensionEffectSettings()(第 674–689 行)体现了两个关键约束:

  1. 互斥关系:勾选useCustomEffects后,defaultEffects下拉框被禁用(defaultEffects.setEnabled(!hasCustomEffects)),反之亦然;
  2. 固定时间的可用条件:hasFixedTime仅在"默认效果为 Overworld"或"自定义效果且 skyType 为 NORMAL"时可用,代码注释明确指出:"Fixed time is only supported when there is a day/night cycle to freeze"——固定时间本质上是冻结一个本就存在的昼夜循环,因此默认选择 Nether 或 End 效果时该选项会被禁用。

版本差异与注意事项

  • 效果机制的版本演进:1.21.1 生成器直接引用minecraft:overworld等原版效果;26.3.x 生成器改为在dimension_typeJSON 中展开属性,但三种默认效果的视觉语义保持一致。
  • 26.1 起才支持固定时间:帮助文档明确标注"仅此效果类型支持固定时间自 26.1 起",因此使用更早版本时,即使选择 Overworld 效果也需自行确认该功能是否可用。
  • 自定义效果会完全取代默认效果:一旦开启useCustomEffects,默认效果参数不再参与生成,此时雾色、天空色由airColor、sunHeightAffectsFog、hasFog等参数接管;需要完全复刻原版观感时,直接保持默认效果关闭即可,这也是让自定义维度快速获得"主世界 / 下界 / 末地"视觉基调的最简路径。

小结:如何选择默认效果

在创建自定义维度时,可按目标观感快速决策:

  • 想要类主世界的昼夜循环、动态雾色与云层 → 选择Overworld(若需要冻结时间,这是唯一可用选项);
  • 想要密闭、昏暗、可见距离受限的探险氛围 → 选择The Nether;
  • 想要无昼夜交替的紫色虚空异境 → 选择The End。

如需更精细的视觉定制(自定义雾色、天空色、云高、自定义天空盒等),则关闭此参数的作用域——勾选"使用自定义效果",并配合 sky_type.md、cloud_height.md、sun_height_affects_fog.md 等参数体系进行逐项配置。

  • 低代码
  • 代码生成
  • 桌面应用
  • 游戏开发

【免费下载链接】MCreator

MCreator is an open-source software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, resource packs, and data packs using an intuitive easy-to-learn interface or with an integrated code editor. It is used worldwide by Minecraft players, aspiring mod developers, for education, online classes, and STEM workshops.

项目地址:https://gitcode.com/gh_mirrors/mc/MCreator
点击查看免费下载

相关推荐

上一篇:FrontierAgent 追踪与恢复机制完整指南:trace.jsonl、会话检查点与 --resume 断点续跑
下一篇:深入 wp-calypso 的 jetpack-connector 连接流程:从插件注册到品牌化授权界面的完整接入指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询