Minecraft(我的世界)中文论坛

标题: [1.12.2][Topography——地形]自由变化的世界!在随机的世界里规定你想规定的

作者: 冒险家吉太    时间: 2019-11-21 17:29
标题: [1.12.2][Topography——地形]自由变化的世界!在随机的世界里规定你想规定的
本帖最后由 冒险家吉太 于 2019-11-22 22:55 编辑

<——来自于搬运悬赏令——>


地形mod是一个强大的自定义地形生成器,功能齐全,使用简便,凡是有兴趣制做整合包的玩家都可以尝试使用本mod。只需稍加学习,就可以快速上手自定义整个世界。
本篇介绍分为基础介绍和配置分析,对制做整合包没有兴趣的推荐只看基础介绍。





※本mod依附于该作者所有mod的核心BNBGamingLib
https://www.curseforge.com/minecraft/mc-mods/bnbgaminglib


※基础介绍※

本mod旨在帮助整合包开发者在他们的整合包中使用脚本创建自定义的世界或更改默认世界中的部分结构,提供自定义地形生成器、建筑结构、世界预设等等,受许多整合包作者喜爱。


预设的生成器(包括但不限于):


预设的建筑结构:


范例世界:
预设的创建世界界面

基础空岛

南北气候带世界

河流更宽的世界

盘根错节的地狱

只有沙漠的世界

只有火山的世界

只有一棵树的虚空世界



应用实例:
本mod被应用于许多知名twitch整合包,诸如SkyFactory4(天空工厂4)、Glacial Awakening(冰川苏醒)、Omnifactory(全能工厂)等。
以下是上述整合包创建世界界面的截图:
天空工厂4的空岛

冰川苏醒的地底冰窟

全能工厂的无尽城和虚空世界




※配置分析(前方有恶犬)※

因为本mod语法较多且都能在预设配置文件中找到,这里就不再赘述,配置文件还在汉化,以后更新吧。
然后我们以twitch整合包Glacial Awakening对本mod的配置为例来进行分析,本人水平尚浅,只是抛砖引玉,如有错漏希望大家不吝指正。
空岛生成器的配置并不难,此处也并未涉及,但是之后可能会追加。


世界生成器部分
配置文件位于config\topography\Standard.txt
  1. setSingleBiome("minecraft:mutated_ice_flats")
  2. //设置整个世界以mutated_ice_flats(冰刺平原)生物群系生成。

  3. //Adds a basic overworld terrain generator. Handles base block/fluid generator and biome block replacement. It uses multithreading for its noise generators, so it's slightly faster than vanilla.
  4. //添加基本的世界地形生成器。用来处理基础方块/流体生成器和生物群落方块的替换。它会使用多线程处理其噪声生成器,因此这比原版的生成速度要快一些。
  5. overworld = new OverworldGenerator()
  6. //定义世界地形生成器overworld
  7. addGenerator(overworld)
  8. //调用世界地形生成器overworld

  9. //Adds the vanilla caves.
  10. //用原版洞穴生成器添加洞穴。
  11. caves = new VanillaCaveGenerator()
  12. addGenerator(caves)

  13. //Adds the vanilla ravines.
  14. //用原版沟壑生成器添加沟壑。
  15. ravines = new VanillaRavineGenerator()
  16. addGenerator(ravines)

  17. //Adds water lakes. Blacklisted in deserts and desert hills as per vanilla.
  18. //用湖生成器添加淡水湖。根据原版将沙漠和沙漠山丘群系列入湖生成器的黑名单。
  19. waterLake = new VanillaLakeGenerator(<minecraft:water>)
  20. //定义湖生成器waterLake使用原版湖生成器,填充物为原版水。
  21. waterLake.blacklistBiome(["minecraft:desert", "minecraft:desert_hills"])
  22. //定义湖生成器waterLake不会在某种生物群系生成。
  23. addGenerator(waterLake)

  24. //分层生成器,和原版超平坦自定义有些类似。
  25. layers = new LayerGenerator()
  26. layers.addLayer(0~0,<minecraft:bedrock>)
  27. //定义0层填充物为原版基岩。
  28. layers.addLayer(1~4,<minecraft:ice>)
  29. layers.addLayer(5~14, <minecraft:packed_ice>)
  30. layers.addLayer(15~35, <quark:biome_cobblestone:1>)
  31. layers.addLayer(36~45, <minecraft:snow>)
  32. layers.addLayer(46~48, <minecraft:obsidian>)
  33. layers.addLayer(49~51, <minecraft:ice>)
  34. addGenerator(layers)

  35. //Generates animals.
  36. //用原版动物生成器添加动物。
  37. animals = new VanillaAnimalGenerator()
  38. addGenerator(animals)

  39. //Generates snow and freezes ice in cold areas.
  40. //用冰雪生成器在寒冷地区生成冰雪。
  41. ice = new IceAndSnowGenerator()
  42. addGenerator(ice)

  43. //Adds vanilla decorations. This includes trees, ores, etc.
  44. //用原版装饰物生成器添加装饰物。这包括植物和矿物等。
  45. //decoration = new VanillaDecorationGenerator()
  46. //addGenerator(decoration)
  47. //原本的装饰物生成器脚本,注释化以禁止用原版规则生成植物和矿物。

  48. setSpawnStructure("empty",15)
  49. //设置出生点建筑结构为“empty”(即前文图中的地底冰窟,之后会对建筑结构部分进行简述),结构生成高度在Y轴15格高。
复制代码


建筑结构部分
配置文件位于config\topography\structures\empty.nbt
用NBT编辑工具(这里用的是webNBT)打开后可以看到数据分为几个部分:

blocks标签中存有该结构中每个方块的位置和数值;
entities标签中存有该结构中每个实体的位置;
palette标签中存有该结构中方块的id和属性;
size标签中存有该结构x轴、y轴和z轴的长度;


具体可以参考这篇贴子:https://www.mcbbs.net/thread-585433-1-1.html
大佬对structure NBT格式进行了详细的分析。


总体配置部分
配置文件位于config\topography\Topography.txt
  1. //Sets if the mod should print documentation.
  2. //设置本mod是否生成日志。
  3. printDocumentation(false)

  4. //Sets the Topography WorldType as default
  5. //设置创建世界时默认为本mod的世界类型。
  6. setAsDefaultWorldType()

  7. //Registers a preset. First argument is name, second is the image name, third is a description, fourth is WorldType, fifth is generator options Json.
  8. //注册一个预设。第一项是世界名称,第二项是创建世界界面所用的背景图片位置,第三项是创建世界界面所用的文字描述,第四项是世界生成在哪个维度,第五项是世界生成器配置文件的位置。
  9. standard = registerPreset("Standard", "images/Standard", "...")
  10. //定义世界生成预设standard,世界名称为Standard,创建世界界面所用的背景图片位置在配置文件目录下的"images/Standard",创建世界界面所用的文字描述为"..."。
  11. standard.registerDimension(0, "Standard")
  12. //调用世界生成预设standard,使世界生成在维度0(即主世界),世界生成器配置文件的位置在配置文件目录下的"Standard"。
复制代码
所有的世界预设都可以按上述模板添加在Topography.txt中,最后就可以在创建世界界面的Topography世界类型看到多个世界预设,如前文范例所示。


命令
参见更新日志底部Topography 1.12-1.5.1


最后是没人看的日志



以下是吉太搬运的其他mod(虽然现在还很少但是之后会越来越多),喜欢的话请不要吝啬人气哦~
[1.12.2][Surge——潮涌]感受渣机如潮涌一般迅速!
[1.12.2][InWorldCrafting——世界交互]感受世界的力量,整合包大佬们的新玩具!
不知道这个mod会不会有人看,不过过两天还会再搬一个,敬请期待。


作者: youyihj    时间: 2019-11-21 23:14
原来是这个mod实现的功能啊,回去瞧瞧
作者: E.T.星落辰    时间: 2019-11-21 23:26
来换个更清晰的题头图吧:https://bbs.mcmod.cn/thread-2593-1-1.html
作者: YLance    时间: 2019-11-22 02:07
感谢分享!!
作者: spyder    时间: 2019-11-22 11:26
可,谢谢分享
作者: 冒险家吉太    时间: 2019-11-22 21:45
E.T.星落辰 发表于 2019-11-21 23:26
来换个更清晰的题头图吧:https://bbs.mcmod.cn/thread-2593-1-1.html

学到了
作者: 园丁爱吃素    时间: 2019-11-23 11:36
好厉害的MOD
作者: w283624664    时间: 2019-11-26 08:51
这个mod怎么给服务器预设地图!
作者: 冒险家吉太    时间: 2019-11-27 16:12
w283624664 发表于 2019-11-26 08:51
这个mod怎么给服务器预设地图!

首先确保已**解了上述基本配置,最后在服务器生成地图之前在服务器配置文件中将世界类型改为topography
作者: 炼秋风    时间: 2019-11-30 23:34
能不能再发个更加详细一点的教程啊,我看这个看的一脸懵逼
作者: 242121899    时间: 2019-12-7 07:36
这操作给满分,我拿去了,谢谢
作者: 242121899    时间: 2019-12-7 07:37
不过我跟楼上一样,也求一个教程详细点的教程,谢谢

作者: 魖月冷冷    时间: 2019-12-7 07:42
不会整这玩意
作者: zjlhhh    时间: 2019-12-12 08:43
太棒了谢谢楼主辛苦了
作者: XXYYZZ    时间: 2019-12-21 13:09
这个mod能和别的世界生成器mod连用吗,我喜欢里面的地狱,但是不喜欢主世界地形,不知道能不能一起用,谢谢大佬
作者: Eicy    时间: 2020-1-12 18:54
所以这个模组在服务器管用吗233
作者: xiao~mu    时间: 2020-1-12 19:03
有汉化吗,我不会Englise
作者: 473937269    时间: 2020-1-14 20:26
支持 一下谢谢分享!!!
作者: Sansi丶XL    时间: 2020-1-18 02:53
服务器如何使用?研究了一晚上没搞成功。大佬给个简单教程呗!
作者: yukariの境界    时间: 2020-2-16 23:00
好啊  这个爽 可以自定义只有浮空岛的世界emmmmm
作者: tyj19940706    时间: 2020-2-18 14:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冷鱼吖    时间: 2020-3-12 11:34
你好,我可以把这篇教程搬到mcmod吗?
作者: 冒险家吉太    时间: 2020-3-13 22:44
冷鱼吖 发表于 2020-3-12 11:34
你好,我可以把这篇教程搬到mcmod吗?

可以喔,最好能找个不起眼的地方标明出处
作者: 冷鱼吖    时间: 2020-3-13 22:48
冒险家吉太 发表于 2020-3-13 22:44
可以喔,最好能找个不起眼的地方标明出处

谢谢!
作者: MCdie_die    时间: 2020-3-16 08:51
好玩!!!!!!!!!!!!!!支持帖子
作者: warmthdawn    时间: 2020-5-8 13:34
这个mod会把主世界的名字改成DIM_0
然后自然灵气就不能在主世界用了emm

作者: 谐振丿Fly    时间: 2020-5-23 09:32
怎么禁止动物生成??
作者: 不一样无言    时间: 2020-5-29 16:41
feel so good!
作者: STRLeon    时间: 2020-7-7 18:59
地图制作党的福音
作者: d1n1m    时间: 2020-7-8 11:14
能自己设置地形就非常非常nice
作者: xiao_li阿七    时间: 2020-10-3 11:14
好难啊!不知道怎么弄,愣是看了半天也没弄清楚!
作者: xiao_li阿七    时间: 2020-10-3 11:14
再看一会儿吧,估计就会了
作者: xiao_li阿七    时间: 2020-10-3 11:15
感谢分享!
作者: 奶酪有点臭    时间: 2020-10-14 08:23
怎么关闭天空自定义渲染
作者: 艾影劫    时间: 前天 22:15
能不能直接标记一个空岛地图为世界生成器?