Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 2663|回复: 60
打印 上一主题 下一主题

[命令] [CBL|K_bai]TerrainCreator 地形创造 游戏内生成无限自定义地形[1.15.2]

[复制链接]
kongbaiyo 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5810
钻石
性别
保密
注册时间
2014-3-14
查看详细资料
跳转到指定楼层
楼主
 楼主| 发表于 2020-3-24 14:53:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
"原版模组"
中文名称: 地形创造
英文名称: TerrainCreator
是否有配套资源包:
语言支持: 无文字显示/通用文字 
原版模组版本: 1.0
适用版本: 1.15.X 
下载地址: https://github.com/K-bai/Terrain-Creator
与多人游戏兼容性: 完全不兼容
原版模组类型: 创造

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
地形创造

地形创造数据包可以按方块创造一个自定义的地形。它根据每个方块的坐标来计算Perlin噪声和Worley噪声。将这两种结合,并加上一些后处理步骤,就可以创造一个包含不同生物群系(包括河流、平原、平顶山等)的完整的世界。

这个数据包没有实用价值。下面动图实际生成时间为30分钟。如果有一天你闲的没事做,可以下载数据包,放到一个void预设的超平坦里,随便传送到一个坐标,启动生成,就可以坐着看戏了。





如何使用

给一个实体或玩家添加一个map_generator的tag,就会自动在这个实体周围开始生成地形。它每tick生成20个方块,每个方块消耗1400条命令。光照更新可能带来很大的卡顿。

同样你可以在perlin:preset中修改一些参数,比如每个生物群系的基础高度,来生成你自定义的地形。


它是如何工作的
伪随机数生成器

参见perlin:random/number。这个数据包使用了线性同余生成器来生成随机数。数据包内为了使数据不超过int最大数据的限制进行了一些修改,因此该生成器只能生成0-8192之间的数字。

实际上,我一开始准备用游戏内的伪随机数生成器。但是由于bugMC-174435的存在导致loot table seed对/loot命令无效,就此作罢。


计算哈希码

参见perlin:random/xy。由三个数字计算哈希码有很多方法。Minecraft使用了乘并异或的方法。但在游戏内计算异或将消耗大量命令,因此这里使用了乘法来计算。


Perlin噪声

2D Perlin噪声的游戏内实现。和标准的算法不同的是,本算法只在12个随机向量中选择。噪声预览图见下。参见perlin:initperlin:noise


Worley噪声

2D Worley噪声的游戏内实现。用了一个简单的办法查找不同块之间的边界。噪声预览图见下。参见perlin:noise_wm这里


波浪滤镜

Worley噪声生成的边界为直线,属实没劲。因此添加了一个波浪滤镜让它看起来更加的浪。参见perlin:wave


将噪声和滤镜结合

使用Worley噪声确定生物群系,再让边界成为河流。使用平滑函数使边界更加平滑(perlin:fade)。最后把Perlin噪声叠加在上方。最终结果是,给perlin:terrain输入一个坐标,它就会返回一个高度和所对应的的生物群系。


按区块生成地形

每个区块生成一个游标,根据游标位置调用函数生成区块。参见perlin:new_map/


鸣谢


评分

参与人数 12人气 +19 金粒 +220 绿宝石 +15 贡献 +2 收起 理由
112709347 + 1 神乎其技!6的飞起!
1041159637 + 1 + 14 MCBBS有你更精彩~
发暗恶小鲤 + 1 + 6 MCBBS有你更精彩~
00ll00 + 2 + 40 t..tql!!
MineCommander + 1 + 20 神乎其技!6的飞起!
玄素 + 3 + 15 + 1 MCBBS有你更精彩~
晴路卡 + 2 + 30 神乎其技!6的飞起!
ItIsEnderman + 20 + 1 曾经设想过,但是咕了。。tql
丢人素学姐 + 2 + 40 MCBBS有你更精彩~
⊙u⊙ + 2 + 30 哇噢
(=°ω°)丿 + 2 这个数据包没有实用价值。
tineseack_bk + 2 + 20 kbbtql

查看全部评分

帖子永久链接: 

Minecraft中文论坛 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖若有内容转载自其它媒体,不代表本站赞同其观点和对其真实性负责
6、若本帖涉及任何版权问题,请立即告知本站,本站将及时予以删除并致以最深的歉意
7、Minecraft(我的世界)中文论坛管理员和版主有权不事先通知发贴者而删除本文

tineseack_bk 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2818
钻石
性别
保密
注册时间
2016-7-25
查看详细资料
沙发
发表于 2020-3-24 16:26:29 来自手机 | 只看该作者
这个数据包没有实用价值.jpg
希望 mc 能有更丰富的功能让做新维度这件事情变得不那么困难吧
回复

使用道具 举报

(=°ω°)丿 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
4786
钻石
性别
保密
注册时间
2017-8-25
查看详细资料
板凳
发表于 2020-3-24 18:44:25 | 只看该作者
我也有想过用命令自己弄一个自定义世界生成,不过我的重心不是生成地形(地形都是有规律的)而是生成植物、建筑什么的(
https://www.mcbbs.net/thread-942960-1-1.html
回复

使用道具 举报

Xiao2 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3766
钻石
性别
保密
注册时间
2014-6-24
查看详细资料
地板
发表于 2020-3-24 21:06:07 | 只看该作者
刚在想这方面的事就遇到了qaq
很有实用价值

仅仅将地形定义为类似末地岛的有限空岛就可以做到类似完全的新维度(在已有地形的地图上)
我正在想如何做一个新入口,让玩家可以传送到一个新世界(其实就是重置某一地区的生态系统或者地形,但是是有界的),以拓展游戏内容。

回复

使用道具 举报

kongbaiyo 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5810
钻石
性别
保密
注册时间
2014-3-14
查看详细资料
5#
 楼主| 发表于 2020-3-25 09:59:19 | 只看该作者
Xiao2 发表于 2020-3-24 21:06
刚在想这方面的事就遇到了qaq
很有实用价值

修改现有群系确实是个好想法!之前我做过这么一个地图 月面模拟器,就是把平顶山地形的混凝土全换成白色的了
生成空岛我还没想过 不过感觉可以试试!

回复

使用道具 举报

Liu_Ze 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
385
钻石
性别
保密
注册时间
2020-3-10
查看详细资料
6#
发表于 2020-3-25 10:52:08 | 只看该作者
我淦!还是有点意思的噢hhhhh
回复

使用道具 举报

Xiao2 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3766
钻石
性别
保密
注册时间
2014-6-24
查看详细资料
7#
发表于 2020-3-25 11:46:47 | 只看该作者
kongbaiyo 发表于 2020-3-25 09:59
修改现有群系确实是个好想法!之前我做过这么一个地图 月面模拟器,就是把平顶山地形的混凝土全换成白色的 ...

我看了一下

如果能用现在这个技术的话
就不只是替换而已了

可以完全生成不一样的地形
再加上建筑等等就可以是一个“维度模拟器”了
-------
空岛的意思是:局域的地形生产,而不是全图型的(类似末地更新前的末地岛的局域性)
回复

使用道具 举报

段位全靠肝 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
212
钻石
性别
保密
注册时间
2020-4-24
查看详细资料
受到警告 8#
发表于 2020-4-28 16:24:09 | 只看该作者
。。。实在看不懂

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 

查看全部评分

回复

使用道具 举报

Deadmau5_kris 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
321
钻石
性别
保密
注册时间
2014-2-11
查看详细资料
受到警告 9#
发表于 2020-4-29 11:32:19 | 只看该作者
神乎其技!6的飞起!

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 

查看全部评分

回复

使用道具 举报

天空空的懒 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
27
钻石
性别
保密
注册时间
2020-4-28
查看详细资料
受到警告 10#
发表于 2020-4-30 17:37:24 | 只看该作者
有点意思

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 

查看全部评分

回复

使用道具 举报

Dear-boy 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
147
钻石
性别
保密
注册时间
2015-12-20
查看详细资料
11#
发表于 2020-4-30 18:06:08 | 只看该作者
感谢大佬!本来对这方面一直不太懂,看了帖子入门了一些(虽然还是不懂)
回复

使用道具 举报

Stray79 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2610
钻石
性别
保密
注册时间
2019-7-8
查看详细资料
12#
发表于 2020-4-30 19:59:47 | 只看该作者
30分钟!那么我刚开始玩就已经又要上课了
回复

使用道具 举报

YMZ. 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
21
钻石
性别
保密
注册时间
2020-4-30
查看详细资料
受到警告 13#
发表于 2020-4-30 21:28:35 | 只看该作者
cooooooooool

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 

查看全部评分

回复

使用道具 举报

w199872 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
142
钻石
性别
保密
注册时间
2016-8-29
查看详细资料
受到警告 14#
发表于 2020-5-1 00:05:10 | 只看该作者
MCBBS有你更精彩~

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 

查看全部评分

回复

使用道具 举报

ling_luan 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
170
钻石
性别
保密
注册时间
2016-5-22
查看详细资料
受到警告 15#
发表于 2020-5-1 15:46:47 | 只看该作者
很好的模组,大佬加油

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2020-7-4 07:22 , Processed in 0.062012 second(s), Total 26, Slave 26 queries, Release: Build.2020.06.30.1110, Gzip On, Redis On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2020 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表