森罗万象
教程
OptiFine文档
Blockbench文档
论坛版 (opens new window)
下载示例 (opens new window)
教程
OptiFine文档
Blockbench文档
论坛版 (opens new window)
下载示例 (opens new window)
  • 准备
  • 基础
  • 动态纹理(前篇)
  • 模型和渲染
  • 额外的资源文件
  • 音效
  • 语言和文字

  • OptiFine与MCPatcher
  • CTM
  • CIT
  • CEM
  • 动态纹理(后篇)
  • 光与色

  • 环境
    • 雨雪
    • 自定义天空盒
    • 多世界天空盒(服务器用)
  • GUI
  • PBR纹理
  • 着色器/光影
  • 附录

# 多世界天空盒(服务器用)

这个教程是给有很多个世界的服务器的客户端使用的,也可以给单机整合包用。

注意

此方法比较玄学,未必能适用于你的服务器。

  • 如果客户端安装天空纹理后,在服务器的所有主世界都能看见天空纹理,则此方法不可用。这可能是因为有些服务端加载多世界的方式使得实际运行时所有主世界的维度id都是0。
  • 如果客户端安装天空纹理后,仅在初始世界可看见天空盒纹理,此方法应该可行。

作为腐竹,你有没有过用了某款天空资源包,但是只有初始世界才能显示天空的体验?在本教程中,你将学会如何突破限制,让每个世界用上独特的天空纹理。

我们随便下载一个有天空纹理的资源包,解压,打开assets/minecraft/optifine/sky文件夹,里面有一个名为world0文件夹,world0文件夹内就是天空的纹理了。

image-20200719121126550

提示

1.12.2以及之前的版本中,world0文件夹所在的路径为assets/minecraft/mcpatcher/sky。

我们知道主世界的维度id为0,末地的维度id为1,下界的维度id为-1,world0文件夹的0也就表示主世界的维度,多世界插件创造的世界以及模组创造的世界都有其维度,如果一个世界的维度id为7,那么将world0文件夹改名为world7,就可以将里面的天空纹理用于这个世界。

注意

天空纹理无法用于末地和下界。也无法用于维度id大于等于10的世界。

接下来的问题就是,如何知道某个世界的维度。不是很难,找到日志(log)文件,搜索关键词dimension,应该很快就能得到需要的东西:

image-20200719125108825

我们清楚地看到名为mcg_truemoon的世界的维度id为11。

还有一个办法就是用nbtexplorer打开世界的level.dat文件,也很容易就能找到维度id:

image-20200719125529965

← 自定义天空盒 GUI设计摘要 →