我的世界电脑版服务器手机版0.110b12服务器

为什么我下的我的世界0.110b12进不去说什么应用已停止运行_百度知道
为什么我下的我的世界0.110b12进不去说什么应用已停止运行
您的回答被采纳后将获得:
系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
我有更好的答案
我也不知道我也遇到这种情况了
要谷歌框架
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。我有资格说这个。&br&在去年,我的服务器最高在线达到了450人(放肆),然后我突然决定闭关换周目,直至今日没有开发完毕。当然,这些和答案没有关系。因为我的目标是万人。&br&维护一个百人服,需要付出很大的成本,这其中包括精力与金钱,如果你是商业服,完全不用担心钱的问题,他们给你送的钱可以让你产生以开服务器为职业的错觉(然而我傻不拉叽的信了),如果是公益服,那么就极为困难了,&br&&br&&br&
先从服务器说起,一台能够支撑300人的服务器,基本都会选择e3,但是由于minecraft使用java,并且对多线程的优化差到恐怖,举个例子,正常优化下,2.3g的cpu能单服80人,5.0g就能上130人(纯保守估计,有些无良服务器各种缩视距,可以更高。) 也就是说,主频越高的cpu,可以单服承载更多的玩家。&br&&br&当然,就算是单服,极限的暴力优化也顶多撑到200人,所以需要使用bc来进行多服无缝跨服链接,使用bc可以讲多个服务端连接在一起,这样就可以开生存1服,生存2服,生存3服。物品和背包可以通过插件使用mysql进行同步。&br&&br&一台想要承载300人的服务器,一般会选择e3,追求单服人数的,可以选择4770之类的家用高主频cpu,服务器出租商往往为了成本会选择使用e5等主频并不高,但多线程的cpu,一台能够承载300人的服务器,最少也要5000人民币,就算是租用,每个月至少也要花到&a href=&tel:600-1000& class=& wrap external&&600-1000&/a&。&br&&br&什么?你以为就这些?nononono,还有托管费,一般双线10m托管一个月是800左右,每增加10m是500左右,想要获得好的体验,每120个玩家就要消耗掉10m的带宽。&br&&br&真正消耗的不是钱,是精力,我想一个年轻人的时间远远要比几千块钱要重要,大型服务器你至少需要每天2-3个小时的时间去进行维护、更新,聪明的人也会组建管理层来减轻自己的负担。&br&&br&其他的就不多说了,业余开服是极为麻烦的事情,商业服的话还可以为你带来一些零花钱,而公益服你无法得到任何东西,甚至还要背锅受气,向所有公益服腐竹致敬。&br&&br&&br&打个广告,团队招收兼职后端开发者,JAVA,玩过minecraft的更好,多的不多说,有兴趣私信。
我有资格说这个。 在去年,我的服务器最高在线达到了450人(放肆),然后我突然决定闭关换周目,直至今日没有开发完毕。当然,这些和答案没有关系。因为我的目标是万人。 维护一个百人服,需要付出很大的成本,这其中包括精力与金钱,如果你是商业服,完全…
11.30更新:见后面地形生成和总结部分。过百赞了知乎小透明好开森,谢谢大家!&br&12.3更新:谢大家厚爱。回答一位 &a data-hash=&de96a5c62a75321ecf4815& href=&//www.zhihu.com/people/de96a5c62a75321ecf4815& class=&member_mention& data-editable=&true& data-title=&@兔子先生& data-hovercard=&p$b$de96a5c62a75321ecf4815&&@兔子先生&/a& 的问题,见文章:&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&答兔子先生&/a&,欢迎讨论。&br&&br&研究过MC地形生成和基础架构的强答一发。&br&长文预警。&br&&br&先说架构。&br&&br&MC分客户端和服务端两面,客户端主要负责渲染,服务端是本地服务器或者远程服务器(本地游戏两个都要跑,真正的MC服只跑服务端)。其实这俩就共享一个IWorld接口,然后这个接口里面乱的一塌糊涂。&br&&br&地图的基础单元是chunk,就是16*256*16的大方块,里面包含小方块。小方块可以是普通IBlock,可以带特殊数据(metadata),也可以有TileEntity(按照方块处理的实体)。区块里面还存了Entity就是实体(人啊,僵尸啊,猪啊还有掉落的物品之类的),实体的位置和方向都是浮点数float或double(双精度),因此拥有更大的自由度。&br&前后端(客户端和服务端)存储数据都靠的这个chunk,传输和生成也是以chunk为单位,所以会看到服务器卡的时候是一块一块冒出来的。chunk放到HashMap里面备用。&br&保存(1.2之后的原版服务端anvil文件格式)把32*32个chunk放到一个.mca(老版是.mcp)文件里面,用一种碎片化管理的方式来节省空间同时减少IO句柄数量,具体的格式MC Wiki上有详细的解释。&br&&br&所有MC的存储数据(注意不包括方块和音乐本身这种理论上是做死了的数据)都用一种二进制数据格式存储(NBT Named Binary Tags 命名二进制标签 ——Minecraft Wiki),里面包含数组数据、浮点数、整数或者字符串,其实结构相当简单,项目有树形结构,每个子项还有字符串形式的名字。它其实可以和JSON简单互译,做命令方块地图时会用到的JSON格式的实体数据就是这个东西。&br&&br&服务端动态加载/保存区块,然后用一个单线程来每个tick更新整个地图(所以很慢啊喂!),具体方式既粗暴又简单:遍历每个方块,看到有计划更新(比如水、岩浆、刷怪笼、植物这种)的就让他更新一下,看到TileEntity或者Entity每个tick都更新,同时处理玩家的数据:放方块/砸方块/开箱子/熔铁锭等等。对了,服务端还要负责更新光照(看后面)。&br&要是玩家走到了没有生成过的荒野,就会启动区块生成器来生成新的区块。生成这个特别复杂,也是我主要研究的问题,一会儿再讲。&br&&br&客户端维护一个非常 *智障* 的GUI系统,里面的渲染基本上都是legacy opengl直接瞎写的,GUI更新基本上都是全屏更新的,鼠标行动基本上全是轮询的,根本不管什么事件啦dirty区域啦缓存啦,就两个字:粗暴。当然MC总共也没什么GUI好谈,所以也就算了。&br&这里提一句其实服务器里面花花绿绿的字符的实现原理也非常暴力,就是用小结号§来代表下一个字符是格式转义字符,从k到r(好像?)都代表不同的意义,颜色或者加粗或者倾斜或者随机颜色,封面MINECRAFT大字旁边那行字就是用这个渲染的。什么?你问§怎么办?没办法。(摊手)&br&&br&除了GUI就是游戏主要的渲染部分。MC应用15年前的opengl技术成功地把每一个chunk编译成16个list(opengl中的列表,可以理解为把要画的步骤先告诉显卡以后再用只要告诉他列表的号码就行了,用来提升效率),每个16*16*16,不包括TileEntity和Entity——它们是每帧单独渲染的,所以MC生物一多就卡,而用bug透视的时候看不到方块但是能看得到生物和箱子。&br&客户端每帧要是看到新的改变过的chunk(被什么东西更新过了)就把它和它四周的chunk都重新生成一遍list(这里你会看到要是服务器加载很慢的话最远处的chunk是看得到截面的),这个过程叫做tessellation,就是把每个小的面片(长方形)放到一起组成一个大的顶点数组(就是一个大模型),一股脑儿传给显卡(因为从cpu传连续数据比零零散散地传数据要快很多)。&br&最后渲染的时候也是通过数学计算把在视野(按照玩家视角)中的list找出来一一调用渲染。这里有个小bug,就是筛选是否在视野中是假定这个list里面的所有东西都包含在这16*16*16的大方块里面的,所以如果你搞一个信标的话,它的光柱会一直延伸到天空上,但是一旦整个list被判断不可见,这个光柱也会一起消失掉。&br&&br&至于光照,光照也是在服务器端算好的(是不是难以想象?),我们看到的有渐变的平滑光照也是在方块光照上加工计算出来的。&br&光照有两部分,一部分叫做天光(sky light),也就是不算任何方块光源这个位置的光照强度。细节上,他是这么计算的:如果他直接被阳光照射(上面没有别的方块),那么亮度是16(或者说15,取决于你是从0开始数数还是从1开始),如果上面一个是半透明方块,那么亮度是上面的亮度减去版透明方块的阻碍值(比如树叶是2,玻璃是1),如果上面是不透明方块(比如石头),那么亮度是0。你可能要问,山洞里面也不是全黑啊?别急,慢慢讲。&br&区块生成的时候只会这样一遍地生成最简单的光照,而把光照的扩散放到一个队列里面等待服务端更新时一点点处理,每个tick能上限好像是1个事件。(理论上这是为了加快速度不让光照计算拖慢服务器来着,然而。。)处理事件是一个递归的过程,从这个方块出发,如果他6个方向(上下左右前后)的方块的亮度大于等于它,那就不递归(这种时候定义空气的光阻为1),否则把那个方向上的方块+(自身亮度-1)放进队列。当然要是减到0就不动了。&br&按照mojang员工的天真想法,既然光照最大是15(因为我从0开始数数),每一格至少减弱1,那么跟我源头上这一个坐标差距大于十五的我就不用管了咯?所以他们限制每次递归最多递归到这么远,之后不管亮度多少都留到下一个tick去吧。但是这里会有一个bug:如果山洞顶上被开了一个洞,从天上漏光,结果从山洞边缘开始计算天光,算到洞附近发现开始变亮了,但是又碍于距离限制不能再算下去,所以有时候就会看到非常突兀的亮度变化。&br&光照的另一部分叫做方块光(block light),也就是萤石啊南瓜灯啊火柴啊这种方块的灯光。这种也是碰到空气就-1,碰到不透明的石头就变成0,碰到半透明的就减去他的光阻量(代码里面叫做opacity,意为不透明度)。然后每个方块上的亮度以最大值为准,同样塞到前面的那个队列里面。服务端更新的时候计算。&br&&br&光照当然是用来渲染的,而这也是MC渲染极其重要的一部分。&br&每个方块的光照强度等于方块光和天光的最大值,那么晚上怎么办呢?其实天光在晚上的亮度就等于 原先亮度 - 夜晚的亮度降,也就是原来12级光,白天是15级阳光,算出来就是12级,晚上变成11级月光,就是 12 - (15 - 11) = 8级光。当然这个值不能小于0。&br&最早的光照对应就是一个线性的亮度,15级就是100%的亮度,7级就是50%,0级就是0%,后来发现这样效果不好,就改成了对数型:第(n-1)级的亮度是第n级的90%,这样亮度变化比较自然,而且哪怕光照为0也不是全黑(地狱/下界的这个系数是90%,0级光实际上还有46%的亮度,所以显得下界特别亮)。&br&后来觉得还不好,所以就干脆弄了一个二维的亮度图,横坐标是天光,纵坐标是方块光,这个在minecraft.jar里面找得到一个纹理文件(哎呀名字我忘了),就是这个。因此可以看到方块光偏暖色,天光偏冷色,也是这么来的。&br&&br&渲染更重要的当然就是大家关心的纹理,所谓MC像素之称的来源之一。&br&如果打开beta以后的minecraft,jar文件就会看到,纹理图片都是分开的图片,但是一个list(还记得list吗)只能用一个纹理单元,因此MC就用了一种取巧的做法:程序启动的/更换材质包时候把所有要用的纹理加载一遍然后拼到一张图上面,有时候会存到.minecraft/下的一个临时文件夹里面,再加载进显卡,就可以一起用了。当然Entity和TileEntity的纹理是不用这么干的,因为他们每个都是独立渲染的,不需要这么弄。&br&这也是为什么MC的API要求方块必须在使用之前就在Registry里面注册好,这样才能知道你到底要哪些纹理啊。(貌似这个问题在1.8采用了新的model模式后有了改善)这也是为什么在切换语言之后MC都要卡好久,因为切换语言也算作切换材质包,要把所有的小纹理图片再拼接一遍,还要把所有的chunk已经生成好的list重新生成一遍。(卡!)&br&&br&然后就要根据玩家的位置,角度,以及人称(第一人称/背后第三人称/面对第二人称)来计算投影矩阵(也就是摆摄像机)。这个过程是在客户端处理的,所以就算服务端卡爆了你的脑袋还是可以自由旋转的,至于为什么你可以看到多人中别的玩家的脑袋转,我猜是时不时地传一些数据回去做插值弄的。&br&最后直接丢给opengl画出来,三维渲染部分就基本完成了。其实这里MC还允许像光影mod那样的后期处理(post-processing),1.7左右的版本有一个“Super Secret Setting”的按钮在游戏暂停的设置里面,点一下可以在好多后期特效之间切换。&br&还要画天空、太阳、月亮、天气和云层,当然太阳月亮就是贴个图(月有阴晴圆缺哦,纹理文件有一个专门管月相的),下雨下雪就是一个动画,云层也就是一堆半透明的方块。&br&最后一个部分:第一人称的手和手上拿的东西,这个也是三维渲染的,不过难度不大,相信大家想想就明白了,也就不多说了。&br&&br&然后是介于三维和二维之间的粒子系统。粒子系统其实原来是用来模拟像水滴、碎片、树叶这样数量巨大的东西,以至于渲染成真正的三维模型代价过高,不得不用一个永远对着玩家的面来代替,后来就管所有这种永远面向玩家的面叫做“粒子”(particle),或者“标志板”(bulletin board)。&br&MC的粒子系统主要都是一些效果:入水/钓鱼是的水滴,吃饭时的食物残渣,多人模式中别人头顶上的名字,魔药产生的效果,经验球,爆炸的“冲击波”,都是粒子。(是不是有点大)&br&反正粒子一般放在同样的三维环境中渲染,用同样的投影矩阵,但是往往会被归为一个特殊的粒子引擎,因为它们作为没有体积的物体却经常要表现出一种重力感(就比如说水滴会跳起来再落下去),不能放到一般的三维场景中渲染。&br&&br&三维画完了是二维:下面的道具栏和聊天内容这种,按E可以赛艇(划掉)打开的完整物品栏(inventories)、各种可交互菜单(箱子、铁毡、熔炉、村民……)。这些凌驾于所有三维内容之上(因为不会被挡掉),最后被渲染,同时也充当与玩家交互的功能。(所以说MC的GUI很乱啦。。这里都不分清楚的)&br&&br&说到交互,肯定大家会想,电脑到底是怎么知道我选中了哪个面,往哪里放了东西了呢?其实判断选中的面还简单,做点小计算都不难,真正的难点在于客户端和服务器之间的传输协议。&br&传输协议,顾名思义,就是两者之间关于信息传输所商定的协议。具体的技术细节在&a href=&//link.zhihu.com/?target=http%3A//wiki.vg/Main_Page& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&wiki.vg&/a&这里有详细说,我就不展开了。总结一下,就是:MC里面除了区块(chunk)的传输是全局的以外,其他各种东西的传输协议都是个管个的:箱子有箱子的传输协议,玩家有玩家的协议,熔炉有熔炉的协议。你作为玩家不管干了什么,改变了什么东西,都要通过相应的协议把实际内容传输给服务器端监听这个数据的东西,然后再由它对地图中的内容进行操作。&br&这里也能看出MC的一大毛病:该耦合的不耦合,该分离的不分离,协议一大堆各自为政,各种方块(block)又互相调用,乱成一团——一个基础的Block类足足有几千行。&br&&br&---------------------------------------------分割线-----------------------------------------------------&br&&br&说了这么多,我们来理一下思路吧。&br&&br&MC启动你的游戏有两种:本地 or 远程。&br&本地游戏需要 玩家操作GUI生成或加载世界 -& 启动本地服务端(IntegratedServer)-& 加载地图 -& 以单人单机模式提供游戏。&br&或者远程服务器由服务器管理员启动(官网上有下载原版的minecraft_server.jar,但是基本上现在用的都是水桶bukkit服),然后 启动服务端(原版是MinecraftServer) -& 加载地图 -& 以多人联机模式提供游戏。&br&&br&服务端启动后的基本流程是: 等待玩家连接并通过验证 -& 发送初始数据 -& 按需发送/加载/生成地 图 -& 更新(tick)地图内容,加上散播生物啊之类的操作 -& 发送地图 -& ……&br&而客户端则是: 连接服务端 -& 获取初始数据(时间、玩家位置、验证信息等) -& 获取地图(区块)数据 -& 渲染地图 -& 接受玩家输入(鼠标/键盘操作) -& 发送数据包给服务端 -& 获取更新过的地图 -& ……&br&当然理论上这里很多步骤都应该是多线程并行进行的,但是MC的这个代码写的啊……很多都没有优化,这也是为什么MC老是卡的重要原因之一。&br&&br&这大致就是整个MC里面在发生的事情的总结,接下去的内容比较技术向,请不愿看者直接跳到再下一个分割线。&br&&br&-------------------------------------------分割线---------------------------------------------------&br&&br&说说MC的地形生成吧。这个我研究的比较多,也想借此机会说一说。&br&&br&多图杀猫预警!!!!!!!!!!!&br&&br&更新:来填坑啦!&br&是时候祭出我尘封已久的mod开发工具了!&br&(本段内容基于1.10.2的fml反编译,使用的是IntelliJ idea进行开发,教程。。有空再说吧)&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-ab89da9ade74_b.jpg& data-rawwidth=&1365& data-rawheight=&726& class=&origin_image zh-lightbox-thumb& width=&1365& data-original=&https://pic1.zhimg.com/50/v2-ab89da9ade74_r.jpg&&&/figure&好吧这是今年8月从fml官网上直接生成的,前面那个换电脑的时候丢了。。悲伤。。&br&不过这都不能阻止我的脚步!ctrl+alt+F10运行!&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-f6cc05ed0a56de75ad68d9f7a2eaa252_b.jpg& data-rawwidth=&857& data-rawheight=&510& class=&origin_image zh-lightbox-thumb& width=&857& data-original=&https://pic4.zhimg.com/50/v2-f6cc05ed0a56de75ad68d9f7a2eaa252_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/50/v2-84c184ef3adee6e4f1b9f510_b.jpg& data-rawwidth=&857& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&857& data-original=&https://pic2.zhimg.com/50/v2-84c184ef3adee6e4f1b9f510_r.jpg&&&/figure&OK!&br&&br&好吧说正事。&br&微软接手之后MC开发组搞了一个功能:生成世界时进入更多世界选项(英文版More world options)&br&&figure&&img src=&https://pic3.zhimg.com/50/v2-b88eca7a11584baf5799edc_b.jpg& data-rawwidth=&546& data-rawheight=&435& class=&origin_image zh-lightbox-thumb& width=&546& data-original=&https://pic3.zhimg.com/50/v2-b88eca7a11584baf5799edc_r.jpg&&&/figure&世界类型点到“自定义”(Customized),(这里1.10.2直接点就可以了,我记得老一点的版本要按住alt还是ctrl再点才回出来),然后按“自定义”(Customize)按钮就能调整世界生成的一些参数:&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-4c26addee4d55bbe7386b6b_b.jpg& data-rawwidth=&710& data-rawheight=&474& class=&origin_image zh-lightbox-thumb& width=&710& data-original=&https://pic4.zhimg.com/50/v2-4c26addee4d55bbe7386b6b_r.jpg&&&/figure&(调成中文吧。。)&br&可以自定义的选项有四页,可以通过调整它们来直观地看到MC世界生成的各种参数:&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-47a3b9ab9e2f55510ecdd227ffbfaddc_b.jpg& data-rawwidth=&870& data-rawheight=&668& class=&origin_image zh-lightbox-thumb& width=&870& data-original=&https://pic1.zhimg.com/50/v2-47a3b9ab9e2f55510ecdd227ffbfaddc_r.jpg&&&/figure&&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-fbefafe1bfadb3_b.jpg& data-rawwidth=&870& data-rawheight=&668& class=&origin_image zh-lightbox-thumb& width=&870& data-original=&https://pic4.zhimg.com/50/v2-fbefafe1bfadb3_r.jpg&&&/figure&&figure&&img src=&https://pic3.zhimg.com/50/v2-ce28f7ce539ffd_b.jpg& data-rawwidth=&870& data-rawheight=&668& class=&origin_image zh-lightbox-thumb& width=&870& data-original=&https://pic3.zhimg.com/50/v2-ce28f7ce539ffd_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/50/v2-626d4fc8eade5f8ff084bca_b.jpg& data-rawwidth=&870& data-rawheight=&668& class=&origin_image zh-lightbox-thumb& width=&870& data-original=&https://pic1.zhimg.com/50/v2-626d4fc8eade5f8ff084bca_r.jpg&&&/figure&第三、第四页比较高级,之后说到具体的生成原理的时候再说,先来玩玩前两页的参数:&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-4fce5de6930_b.jpg& data-rawwidth=&656& data-rawheight=&465& class=&origin_image zh-lightbox-thumb& width=&656& data-original=&https://pic1.zhimg.com/50/v2-4fce5de6930_r.jpg&&&/figure&&br&抬高海平面,变成岩浆海,乱七八糟的东西都不要,河流越少越好,生物群系Extreme Hills+(全是山),生成!&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-1fa23b4cb7f8be_b.jpg& data-rawwidth=&1365& data-rawheight=&726& class=&origin_image zh-lightbox-thumb& width=&1365& data-original=&https://pic4.zhimg.com/50/v2-1fa23b4cb7f8be_r.jpg&&&/figure&厉害了我的哥!这里菱形的亮区也证明了我前面说的:光照更新的时候只能更新15格以外的,更远的哪怕有变化也不会继续更新下去。&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-591bc5bde8f_b.jpg& data-rawwidth=&1365& data-rawheight=&726& class=&origin_image zh-lightbox-thumb& width=&1365& data-original=&https://pic1.zhimg.com/50/v2-591bc5bde8f_r.jpg&&&/figure&过一会儿就好了。可以看到MC加载地图是加载了一个方形的区域。&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-25c2dc7faf6f0c4cdfa8c14_b.jpg& data-rawwidth=&703& data-rawheight=&391& class=&origin_image zh-lightbox-thumb& width=&703& data-original=&https://pic1.zhimg.com/50/v2-25c2dc7faf6f0c4cdfa8c14_r.jpg&&&/figure&远处的树是悬空的,因为另一边的区块还没生成出来。&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-df88ccedbb5ff_b.jpg& data-rawwidth=&861& data-rawheight=&594& class=&origin_image zh-lightbox-thumb& width=&861& data-original=&https://pic1.zhimg.com/50/v2-df88ccedbb5ff_r.jpg&&&/figure&因为离岩浆太近,草地上的雪都化了。&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-60ba215a925d70c1c04d0f37878cdf34_b.jpg& data-rawwidth=&318& data-rawheight=&64& class=&content_image& width=&318&&&/figure&按E可以赛艇。&br&&br&再来一个:&br&&figure&&img src=&https://pic3.zhimg.com/50/v2-28c94bfe01_b.jpg& data-rawwidth=&670& data-rawheight=&572& class=&origin_image zh-lightbox-thumb& width=&670& data-original=&https://pic3.zhimg.com/50/v2-28c94bfe01_r.jpg&&&/figure&泥土大理石统统不要,我就是要石头直接暴露在阳光之下。&br&&figure&&img src=&https://pic3.zhimg.com/50/v2-dcefc_b.jpg& data-rawwidth=&746& data-rawheight=&454& class=&origin_image zh-lightbox-thumb& width=&746& data-original=&https://pic3.zhimg.com/50/v2-dcefc_r.jpg&&&/figure&&br&感觉发家致富都靠这个了。&br&&figure&&img src=&https://pic2.zhimg.com/50/v2-bc21c5a9652_b.jpg& data-rawwidth=&677& data-rawheight=&468& class=&origin_image zh-lightbox-thumb& width=&677& data-original=&https://pic2.zhimg.com/50/v2-bc21c5a9652_r.jpg&&&/figure&&br&别的统统不要,Extreme Hills生物群系,生成!&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-1db9c5d8fcb4d783cdcf69_b.jpg& data-rawwidth=&857& data-rawheight=&601& class=&origin_image zh-lightbox-thumb& width=&857& data-original=&https://pic1.zhimg.com/50/v2-1db9c5d8fcb4d783cdcf69_r.jpg&&&/figure&金矿与钻石的海洋!&br&&figure&&img src=&https://pic3.zhimg.com/50/v2-cd17a6dd8d5a5c2789fd_b.jpg& data-rawwidth=&875& data-rawheight=&607& class=&origin_image zh-lightbox-thumb& width=&875& data-original=&https://pic3.zhimg.com/50/v2-cd17a6dd8d5a5c2789fd_r.jpg&&&/figure&&br&我要完成一个小目标了!(虽然是创造)&br&&br&好吧就玩到这里,我们来看代码吧。&br&&b&警告:&/b&接下来有大量程序猿内容,患有&b&代码恐惧症&/b&者可跳过。&br&&br&地形生成的代码主要在这几个包里面:&br&&figure&&img src=&https://pic2.zhimg.com/50/v2-266c3c47c39aff55d0fdbff_b.jpg& data-rawwidth=&387& data-rawheight=&400& class=&content_image& width=&387&&&/figure&&br&net.minecraft.world.gen底下的是 不同世界类型(主世界/下界/末地/超平坦)、重要的地形元素(洞穴/峡谷)、噪声生成器(用来生成随机的东西):&br&&figure&&img src=&https://pic3.zhimg.com/50/v2-1fb69b0bf2cb9d46709f_b.jpg& data-rawwidth=&352& data-rawheight=&423& class=&content_image& width=&352&&&/figure&net.minecraft.world.gen.features是各种特征,有树(包括树的变种针叶林之类的)、植被(仙人掌、花草之类的)、地质(黏土clay、沙子sand)、地貌(湖泊、沼泽、下界的岩浆)、人文景观(地牢、沙井,但是村庄女巫房海底遗迹这些不在这里):&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-f6103bfdac4b_b.jpg& data-rawwidth=&309& data-rawheight=&482& class=&content_image& width=&309&&&/figure&&figure&&img src=&https://pic2.zhimg.com/50/v2-b64f2d8262eff164dc737f_b.jpg& data-rawwidth=&279& data-rawheight=&522& class=&content_image& width=&279&&&/figure&net.minecraft.world.gen.layers其实才是生成生物群系(biome),也就是从二维上确定每个竖列(1*256*1)是什么类别,net.minecraft.world.biome管的是生成生物群系之后确定每个生物群系的特征。这个包里面的东西很重要,一会儿一起说:&br&&figure&&img src=&https://pic2.zhimg.com/50/v2-89fe3c1ed0cb9c5eddca_b.jpg& data-rawwidth=&472& data-rawheight=&484& class=&origin_image zh-lightbox-thumb& width=&472& data-original=&https://pic2.zhimg.com/50/v2-89fe3c1ed0cb9c5eddca_r.jpg&&&/figure&net.minecraft.world.biome正如前面所说是各种生物群系的内容,这个也之后单独说:&br&&figure&&img src=&https://pic2.zhimg.com/50/v2-091ebc5cdabee870d3843_b.jpg& data-rawwidth=&293& data-rawheight=&650& class=&content_image& width=&293&&&/figure&&br&net.minecraft.world.gen.structure管的是复杂的大型人文景观生成(村庄,1.9之后的末地城,废弃矿洞,下界要塞,海底遗迹):&br&&figure&&img src=&https://pic2.zhimg.com/50/v2-6f56fe75eadf5db901f76_b.jpg& data-rawwidth=&395& data-rawheight=&506& class=&content_image& width=&395&&&/figure&&br&net.minecraft.world.gen.structure.template是按照文件中定义的方块模板来确定真正使用的方块,就像自然生成的草地并不是千篇一律的,而是会随机地旋转一定的角度,就是这个东西在帮忙:&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-6f3fd8adae0_b.jpg& data-rawwidth=&377& data-rawheight=&150& class=&content_image& width=&377&&&/figure&net.minecraft.village和net.minecraft.world.end是管理村庄和末地的特殊活动(和村民交♂易,打末影龙):&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-b45aebfdde3078baf7f8602_b.jpg& data-rawwidth=&412& data-rawheight=&380& class=&content_image& width=&412&&&/figure&&br&各个包的介绍就到这里,接下来介绍一下生成一个区块的整体流程,这里我截一段net.minecraft,world.gen.ChunkProvideOverworld(生成主世界区块)里面的代码来描述,加了中文注释:&br&&div class=&highlight&&&pre&&code class=&language-text&&public Chunk provideChunk(int x, int z)
// 生成一个区块专属的伪随机种子,这个种子只跟x和z的位置有关
this.rand.setSeed((long)x * L + (long)z * L);
ChunkPrimer chunkprimer = new ChunkPrimer(); // 封装了一下方块设置的操作
// 生成低分辨率的生物群系、密度图、方块,后面会讲
this.setBlocksInChunk(x, z, chunkprimer);
// 生成标准大小的生物群系
this.biomesForGeneration = this.worldObj.getBiomeProvider().loadBlockGeneratorData(this.biomesForGeneration, x * 16, z * 16, 16, 16);
// 按照生物群系替换掉高度图里面的普通方块
this.replaceBiomeBlocks(x, z, chunkprimer, this.biomesForGeneration);
// 前面生成选项里面看到的各种设置,要不要洞穴之类的
if (this.settings.useCaves)
this.caveGenerator.generate(this.worldObj, x, z, chunkprimer);
if (this.settings.useRavines)
this.ravineGenerator.generate(this.worldObj, x, z, chunkprimer);
if (this.mapFeaturesEnabled)
if (this.settings.useMineShafts)
this.mineshaftGenerator.generate(this.worldObj, x, z, chunkprimer);
if (this.settings.useVillages)
this.villageGenerator.generate(this.worldObj, x, z, chunkprimer);
if (this.settings.useStrongholds)
this.strongholdGenerator.generate(this.worldObj, x, z, chunkprimer);
if (this.settings.useTemples)
this.scatteredFeatureGenerator.generate(this.worldObj, x, z, chunkprimer);
if (this.settings.useMonuments)
this.oceanMonumentGenerator.generate(this.worldObj, x, z, chunkprimer);
// 构造区块对象,把方块和生物群系数据填进去
Chunk chunk = new Chunk(this.worldObj, chunkprimer, x, z);
byte[] abyte = chunk.getBiomeArray();
for (int i = 0; i & abyte. ++i)
abyte[i] = (byte)Biome.getIdForBiome(this.biomesForGeneration[i]);
// 生成基础的天空光照(见前文)
chunk.generateSkylightMap();
&/code&&/pre&&/div&重点的setBlocksInChunk函数:&br&&div class=&highlight&&&pre&&code class=&language-text&&public void setBlocksInChunk(int x, int z, ChunkPrimer primer)
this.biomesForGeneration = this.worldObj.getBiomeProvider().getBiomesForGeneration(this.biomesForGeneration, x * 4 - 2, z * 4 - 2, 10, 10); // 这是一个低分辨率的生物群系表,用在generateHeightmap里面的
// 生成密度图,原文虽然写的是高度图,但是实际上是密度图,可能是fml的人理解有问题
this.generateHeightmap(x * 4, 0, z * 4);
// 这里往下的这么一大段都是在插值,密度大于0的填上石头,低于海平面而且不是石头的
// 填上海水,别的都是空气。
// 话说这段真是乱七八糟,一堆magic number,估计fml的人也懒得看懂,
// 既没加注释也没改变量名。。。
for (int i = 0; i & 4; ++i)
// 为什么是33和5呢? 33=32+1, 5=4+1
int j = i * 5;
int k = (i + 1) * 5;
for (int l = 0; l & 4; ++l)
int i1 = (j + l) * 33;
int j1 = (j + l + 1) * 33;
int k1 = (k + l) * 33;
int l1 = (k + l + 1) * 33;
for (int i2 = 0; i2 & 32; ++i2)
double d0 = 0.125D;
double d1 = this.heightMap[i1 + i2];
double d2 = this.heightMap[j1 + i2];
double d3 = this.heightMap[k1 + i2];
double d4 = this.heightMap[l1 + i2];
// 于高度y方向线性插值
double d5 = (this.heightMap[i1 + i2 + 1] - d1) * 0.125D;
double d6 = (this.heightMap[j1 + i2 + 1] - d2) * 0.125D;
double d7 = (this.heightMap[k1 + i2 + 1] - d3) * 0.125D;
double d8 = (this.heightMap[l1 + i2 + 1] - d4) * 0.125D;
// 于x和z方向线性插值
for (int j2 = 0; j2 & 8; ++j2)
double d9 = 0.25D;
double d10 = d1;
double d11 = d2;
double d12 = (d3 - d1) * 0.25D;
double d13 = (d4 - d2) * 0.25D;
for (int k2 = 0; k2 & 4; ++k2)
double d14 = 0.25D;
double d16 = (d11 - d10) * 0.25D;
double lvt_45_1_ = d10 - d16;
for (int l2 = 0; l2 & 4; ++l2)
if ((lvt_45_1_ += d16) & 0.0D)
primer.setBlockState(i * 4 + k2, i2 * 8 + j2, l * 4 + l2, STONE);
else if (i2 * 8 + j2 & this.settings.seaLevel)
primer.setBlockState(i * 4 + k2, i2 * 8 + j2, l * 4 + l2, this.oceanBlock);
d10 += d12;
d11 += d13;
&/code&&/pre&&/div&感觉这一段还要解释一下。&br&x和z不是16,32这样的世界坐标,而是区块坐标,是世界坐标的16/1,也就是区块(1, 2)代表了世界坐标上面的(16,32)到(31,47)的矩形区域。&br&这里首先生成了一个低分辨率的生物群系,长宽是10*10,是因为接下来要用的密度图长宽是5*5。&br&然后生成密度图,这个待会儿也会讲。之所以说是密度图而不是高度图是因为它是三维的5*33*5,而不是二维的结构,所以只能称之为密度。&br&接下来是线性插值。一个区块是16*256*16,而为了让密度更为平滑,这里把密度图的长宽各放大4倍,高度放大8倍,再做线性插值就会比较光滑不会变化特别突兀。&br&有人要问,5*4不是20吗?33*8不是264吗?其实因为5*33*5多出来的一圈是不用的,而且插值需要两个值才能计算,所以四个采样点其实需要5个数据,33也一样是这个道理。&br&再浅显一点来说,密度图里面的0,1,2,3,4(java数组从0开始)对应的是区块x或z轴里面的0, 4, 8, 12, 16,既然我们要计算位置为13,14,15的方块,那就得用12和16对应的3和4来插值。&br&插值的过程从循环变量为j2的那个循环开始,0.125就是8分之1,因为高度上放大8倍,后面的0.25也是因为放大了4倍,lvt_45_1其实可以写得易懂一点的,也是一个插值变量,跟前面的d1,d2,d3,d4,d10,d11是一样的,只不过mojang的程序猿为了装逼特地写了这么个东西罢了。。所以说代码质量差不仅在于架构,还在于其中各种细节的写法,像这种绝对就不算优秀的代码。&br&&br&先到这里吧。。还有好多。。各位先看着哈。。&br&&br&--------------------------------------------分割线-------------------------------------------------&br&&br&总结全文,深化主旨,首尾呼应:&br&Minecraft是个好游戏,但代码写的确实不咋地。&br&&br&我最初接触MC还是13年,那时候大部分还在用1.4.2或者1.5,当然,都是盗版。&br&一开始只是玩单机,打生存,搭房子,有时候开创造玩玩红石电路,特别喜欢一个人晚上独自边打MC边听他的bgm。C418的歌,很宁静,让人很放松。&br&后来基本上大部分玩法都玩儿遍了,也不怎么愿意去花功夫做那种超大的红石电路或者建筑之类的,总想着找点别的花样。于是我装了Forge,下了很多mod,比如IndustrialCraft这种大名鼎鼎的,还有一些辅助性的mod,比如1.6.2之后就停止开发的SPC(Single Player Command 卖安利)。SPC是模仿WorldEdit的担任命令行mod,就是各种批量编辑,一个人搭建筑非常方便(因为WorldEdit WE只有多人能用,SPC可以单人模式用)。结果换1.7.2之后SPC不支持了,于是就萌生了自己开发一个的想法。(好吧最后还是流产了,当时水平不够做出来的性能很差,现在有能力做了又没了当初那种激情)&br&又因为刚好学java,听说MC也是用java写的,所以就网上找教程写mod。我还记得14年的时候架着100K不到的梯子屁颠屁颠地装fml的时候,去maven central仓库上下东西动不动就停住了,结果一晚上都没装好。&br&国内(哪怕到今天)都缺少真正有质量的mod开发教程,特别是中文的基本没有。贴吧上曾找到过一篇讲mod开发环境配置的,不过也止于1.6.2,到了1.7之后FML的整个API变了好多,原来的教程都用不了了。&br&后来在网上找到了一篇文章:&a href=&//link.zhihu.com/?target=http%3A//notch.tumblr.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&notch.tumblr.com/&/span&&span class=&invisible&&&/span&&/a& ,是MC最早的开发者Markus Persson(马库斯·泊松,网名notch)的个人博客,还有一篇讲述他的地形生成算法的博文:&br&&a href=&//link.zhihu.com/?target=http%3A//notch.tumblr.com/post//terrain-generation-part-1& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&notch.tumblr.com/post/3&/span&&span class=&invisible&&/terrain-generation-part-1&/span&&span class=&ellipsis&&&/span&&/a&&br&大概翻译一段(水平有限):&br&&blockquote&&p&In the very earliest version of Minecraft, I used a 2D Perlin noise heightmap to set the shape of the world. Or, rather, I used quite a few of them. One for overall elevation, one for terrain roughness, and one for local detail. For each column of blocks, the height was (elevation + (roughness*detail))*64+64. Both elevation and roughness were smooth, large scale noises, and detail was a more intricate one. This method had the great advantage of being very fast as there’s just 16*16*(noiseNum) samples per chunk to generate, but the disadvantage of being rather dull. Specifically, there’s no way for this method to generate any overhangs.&/p&&p&在Minecraft最早的版本中,我将一张2维perlin noise图作为高度图来确定世界的形状。或者说,好几张perlin noise图。一张是整体海拔,一张是地形的粗糙度,一张是小范围的细节。对于每一列方块,其高度是 (海拔+(粗糙度*细节))*64+64。 海拔和粗糙度的图都是连续光滑的,大尺度的噪声图,而细节则更加参差不齐。这个生成方式有一个巨大的优点就是奇快无比,因为对于每个区块,只不过需要生成16*16*(噪声图的数量) 个采样点,然而缺点就是地图相当单调无趣。更重要的是,这种方式根本生成不了悬崖。&/p&&br&&p&So I switched the system over into a similar system based off 3D Perlin noise. Instead of sampling the “ground height”, I treated the noise value as the “density”, where anything lower than 0 would be air, and anything higher than or equal to 0 would be ground. To make sure the bottom layer is solid and the top isn’t, I just add the height (offset by the water level) to the sampled result.&/p&&p&于是我改成了一种有些相似的、基于3维perlin noise的生成方式。我并不是对“地面高度”进行采样,而是将这个噪声的数值看做是“密度”(因此我说前面代码中应该是密度图而不是高度图 ——译者注),其中密度小于0的点都是空气而大于等于0的会成为大地(其实就是实心方块 ——译者注)。为了确保地图底端是地面而顶端是空气,我便把采样值加上采样点的高度(海拔高度)。(其实应该说是“减去采样点的高度”更易懂,因为大于0的才是方块,而水下的高度是负值 ——译者注)&/p&&br&&p&Unfortunately, I immediately ran into both performance issues and playability issues. Performance issues because of the huge amount of sampling needed to be done, and playability issues because there were no flat areas or smooth hills. The solution to both problems turned out to be just sampling at a lower resolution (scaled 8x along the horizontals, 4x along the vertical) and doing a linear interpolation. Suddenly, the game had flat areas, smooth hills, and also most single floating blocks were gone.&/p&&p&不幸的是,我立刻碰上了可玩性和效率两方面的麻烦。因为有大量的点需要被采样所以效率很成问题,又因为缺乏大片的平地或平滑的山丘而缺乏可玩性。这两个问题共同的解决方案最终定为了这样:用一个更低的分辨率去采样噪声图(横向8倍,纵向4倍)(代码里面是横向4倍纵向8倍,可能跟后来的代码改动有关 ——译者注)并且进行线性插值(见setBlocksInChunk函数 ——译者注)。突如其来地,世界上有了平原、丘陵,而且单独浮在空中的诡异方块中的绝大部分也都消失无踪了。(其实还有很多了啦 ——译者注)&/p&&/blockquote&这激起了我浓厚的兴趣。于是我把长长的代码打印下来,8号字体,一面3列,足足十几张纸,每天一有空就看代码,读代码,用笔做注释,并且为我觉得命名不当的部分想一个更好的名称。到现在这些还藏在我的书桌里面。这些东西百度根本搜不到,google也很少有结果,而以fml对这些代码的注释程度来看他们根本懒得去读这些既混乱又不必要读懂的代码。&br&当然后来还是不了了之了。我自己也仿造过MC,当时就是完全追星似的疯狂模仿,用的java,跟MC一样的LWJGL库,同样(好吧我承认这么做有盗版的嫌疑)的纹理,几乎相同的文件格式、区块大小、渲染原理、(基于notch文章的)地形生成、体系架构,几乎就是我前面写的这么多的一个自己的重现。我甚至还学习MC混淆了编译后的代码。可笑的是,迫于当时的水平,效率竟比MC原版还要低。最后开发进程是因为我U盘的丢失而终止的,源码自然也丢了,只剩一份速度奇慢的编译版本,下载地址:&a href=&//link.zhihu.com/?target=http%3A//pan.baidu.com/s/1eQvM0U2& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&pan.baidu.com/s/1eQvM0U&/span&&span class=&invisible&&2&/span&&span class=&ellipsis&&&/span&&/a&,有兴趣的自己下载来玩玩吧。&br&今年想过要重制,结果忙了一个夏天又泡汤了,现在想来总觉得有点可惜。&br&后来被朋友忽悠着去打了一段时间MC服务器,也买了正版,不过服务器没有打过一个月的,基本两三个星期就崩掉关服不开放了,也不知道是我的问题还是整个现状都这样。(我真的没有干过坏事啊!)据说国内开一个服很快就会有黑客来勒索要钱否则就DDoS攻击(Distributed Denial of Service分布式拒绝服务攻击,用大量肉鸡的流量淹没对方,让对方或因为过高的流量费用而关闭服务,或因为过低的响应速度而降低服务质量到一个不可接受的程度),也不知道是不是真的,反正崩了好几个服,打拼好久的家园东西都没了,也就不打了。&br&最近确实玩的不多,也就偶尔休息的时候像以前那样,搞搞建筑,搭搭红石电路之类的,都是单机玩,一方面没空,一方面也有点享受那种独自一人的感觉和C418的背景音乐。&br&&br&我知道这段算不上问题的“从编程的角度来看”,不过写了前面这么多,也使我回想起来以前发生过的不少。要不是这个答案,也不知道这段往事会被封存到什么时候。就借此机会,一吐为快吧。希望大家不必计较,并且欢迎任何技术上的讨论。&br&&br&以上。&br&&br&&br&&br&&br&各位看官看完记得点个赞再走啊。。。谢啦。。。
11.30更新:见后面地形生成和总结部分。过百赞了知乎小透明好开森,谢谢大家! 12.3更新:谢大家厚爱。回答一位
的问题,见文章:,欢迎讨论。 研究过MC地形生成和基础架构的强答一发。 长文预警。 先说架构。 MC分客户端和服务端两面…
看了上面好多回答,真的尴尬。我不是针对你们任何个人,我是说在座的各位,都是(哔——)。&br&1、学红石是否一定要会数字电路?&br&答:只需要了解一些概念即可。包括:各种门电路、周期信号、脉冲、rs锁存、t触发、边沿检测器。足够了!当然……如果你打算搭建一个cpu的话就不得不再多学些了。&br&2、学红石最容易犯的错误什么?&br&答:首先。以为数电比游戏本身的特性重要——这是不可取的。minecraft作为一个基于java的程序,游戏机制是怎么运行的,远比数电特性重要。&br&其次。由于教程的散乱性,入红石坑很容易经历很多个“你以为你懂红石了但是其实你根本没懂”的时期。&br&很多人根本不懂特性,比如:活塞的延时是多少?中继器的延时是多少?发射器的具体激活条件是什么?人踩压力板和生物踩压力板有什么不同?按钮的弹起和拉杆的关闭有什么不同?红石线的指向规律是什么?红石块是不是透明方块?很多都会是“你以为你懂了”。&br&比如说这样,楼上那些回答问题的,我甩几道题,你们自己试着回答看看正确率有几成?恩?&br&题目都是问启动电路之后会有什么结果?绝对可以把很多半桶水的红石党考的一脸懵逼。&br&开始吧:&br&=========装订线内不要答题=========&br&第一题:&br&&figure&&img src=&https://pic4.zhimg.com/50/9b78d2c515ae5f2ac11a41fbae925fb4_b.jpg& data-rawwidth=&1366& data-rawheight=&705& class=&origin_image zh-lightbox-thumb& width=&1366& data-original=&https://pic4.zhimg.com/50/9b78d2c515ae5f2ac11a41fbae925fb4_r.jpg&&&/figure&&br&如上图,问:拉下拉杆之后,红石灯是否会亮起?为什么?(所有中继器都是1t档)&br&-&br&======先自己想再看答案======&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:会亮。(解释略,下同)&br&~~~~~~~~~~~~~~&br&第二题:&br&&figure&&img src=&https://pic4.zhimg.com/50/78e3ccf9accd4a9fc1b45c1_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic4.zhimg.com/50/78e3ccf9accd4a9fc1b45c1_r.jpg&&&/figure&&br&问:拉下拉杆,红石灯是否会亮起?为什么?(所有活塞都是粘性活塞,中继器都是1t档)&br&-&br&======先自己想再看答案======&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:不亮。&br&~~~~~~~~~~&br&第三题:&br&&figure&&img src=&https://pic2.zhimg.com/50/7b20dbcc506cb_b.jpg& data-rawwidth=&1366& data-rawheight=&705& class=&origin_image zh-lightbox-thumb& width=&1366& data-original=&https://pic2.zhimg.com/50/7b20dbcc506cb_r.jpg&&&/figure&问:拉下拉杆之后,哪个活塞会伸出?为什么?(中继器1t档)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:右侧。&br&~~~~~~~~~~~~~~~·&br&第四题:&br&&figure&&img src=&https://pic4.zhimg.com/50/c957ef160ac0beb1c8175a39dac774b3_b.jpg& data-rawwidth=&1366& data-rawheight=&705& class=&origin_image zh-lightbox-thumb& width=&1366& data-original=&https://pic4.zhimg.com/50/c957ef160ac0beb1c8175a39dac774b3_r.jpg&&&/figure&问:拉下拉杆之后,两个红石灯会亮起几个?为什么?&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:都不亮。&br&第五题:&br&&figure&&img src=&https://pic1.zhimg.com/50/912d67dfa96cd_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic1.zhimg.com/50/912d67dfa96cd_r.jpg&&&/figure&&br&问:拉下拉杆之后,两个红石灯会亮起几个?为什么?&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:亮一个。&br&~~~~~~~~~~~~~~&br&第六题:&br&&figure&&img src=&https://pic1.zhimg.com/50/b7f92e2e19cb028f5b5f80c281460abe_b.jpg& data-rawwidth=&1366& data-rawheight=&705& class=&origin_image zh-lightbox-thumb& width=&1366& data-original=&https://pic1.zhimg.com/50/b7f92e2e19cb028f5b5f80c281460abe_r.jpg&&&/figure&问:拉下拉杆之后,三个红石灯会亮几个?为什么?&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:都亮。&br&~~~~~~~~~~~~~~·&br&第七题:&br&&figure&&img src=&https://pic1.zhimg.com/50/e59a8f30d9c34fa9194ecaaeb799768b_b.jpg& data-rawwidth=&1366& data-rawheight=&705& class=&origin_image zh-lightbox-thumb& width=&1366& data-original=&https://pic1.zhimg.com/50/e59a8f30d9c34fa9194ecaaeb799768b_r.jpg&&&/figure&问:拉下拉杆之后,三个活塞那些会伸出?为什么?&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:左侧活塞伸出,中间和右侧无反应。&br&~~~~~~~~~~~~~~~~~&br&第八题:&br&&figure&&img src=&https://pic2.zhimg.com/50/c40c9dca7ae91c70d65d420b6b81b262_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic2.zhimg.com/50/c40c9dca7ae91c70d65d420b6b81b262_r.jpg&&&/figure&问:拉下拉杆之后,哪个活塞会伸出?为什么?(左边两个中继器朝右,右边两个朝左,四个中继器档位从左到右依次是:2t,2t,4t,1t)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:右侧。&br&~~~~~~~~~~~~~~~~~~~~~~·&br&第九题:&br&&figure&&img src=&https://pic4.zhimg.com/50/d5b78cc19aad32f97d2e4c871d8cfbf0_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic4.zhimg.com/50/d5b78cc19aad32f97d2e4c871d8cfbf0_r.jpg&&&/figure&问:拉下拉杆之后,木门是否会关闭?为什么?(拉拉杆之前处于激活开启状态,左边中继器4t)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:不会。&br&~~~~~~~~~~~·&br&第十题:&br&&figure&&img src=&https://pic2.zhimg.com/50/b5baefbb955d8a1a498a6_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic2.zhimg.com/50/b5baefbb955d8a1a498a6_r.jpg&&&/figure&问:拉下拉杆之后,三个红石灯会亮几个?为什么?&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:两个。&br&~~~~~~~~~~~~~·&br&第十一题:&br&&figure&&img src=&https://pic3.zhimg.com/50/6ed_b.jpg& data-rawwidth=&580& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic3.zhimg.com/50/6ed_r.jpg&&&/figure&问:拉下拉杆之后,那个活塞会伸出?(左侧中继器为2t,右侧为两个1t)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:左侧。&br&~~~~~~~~~~~~~~~~~&br&第十二题:&br&&figure&&img src=&https://pic2.zhimg.com/50/74cab6c034a344e2ae487f_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic2.zhimg.com/50/74cab6c034a344e2ae487f_r.jpg&&&/figure&问:拉下拉杆之后,待装置稳定,红石灯是亮起的还是熄灭的?(活塞均为粘性活塞,中继器1t档)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:熄灭。&br&~~~~~~~~~~~~~~~~~&br&第十三题:&br&&figure&&img src=&https://pic3.zhimg.com/50/bb32be9a54_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic3.zhimg.com/50/bb32be9a54_r.jpg&&&/figure&&br&问1:用骨粉催熟树苗变成树,红石灯会不会亮起?&br&问2:等待树苗自然长成树,红石灯会不会亮起?&br&(中继器都为1t档)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案1:会亮。&br&答案2:不会亮。&br&~~~~~~~~~~~~~~~~&br&第十四题:&br&&figure&&img src=&https://pic2.zhimg.com/50/ecfa95f8a4f20f4679bc_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic2.zhimg.com/50/ecfa95f8a4f20f4679bc_r.jpg&&&/figure&问:拉下拉杆,红石灯会不会亮?&br&(活塞都是粘性的)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:不会。&br&~~~~~~~~~~~~~~~~~~~~·&br&第十五题:&br&&figure&&img src=&https://pic2.zhimg.com/50/3c9c337cf8a2b069c2e06ba5e693e44a_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic2.zhimg.com/50/3c9c337cf8a2b069c2e06ba5e693e44a_r.jpg&&&/figure&问:拉下拉杆,红石灯会不会亮?&br&(与上题装置唯一区别是:多了一个1t中继器)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:会亮。&br&~~~~~~~~~~~~~~&br&第十六题:&br&&figure&&img src=&https://pic4.zhimg.com/50/cf49a018cfc2_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic4.zhimg.com/50/cf49a018cfc2_r.jpg&&&/figure&问:关闭拉杆后,哪个红石灯会亮?为什么?(活塞均为粘性活塞,中继器朝右)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:右侧。&br&~~~~~~~~~~~~~~&br&第十七题:&br&&figure&&img src=&https://pic1.zhimg.com/50/2dcdc6b50b0e_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic1.zhimg.com/50/2dcdc6b50b0e_r.jpg&&&/figure&&br&问:拉下拉杆后红石灯会不会亮?为什么?(左下中继器档位1t,右上为2t。投掷器对着箱子,投掷器中有一个草方块物品)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:会亮。&br&~~~~~~~~~~~~~~~··&br&第十八题:&br&&figure&&img src=&https://pic3.zhimg.com/50/57c9a7f7d9e33e36c1afc2_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic3.zhimg.com/50/57c9a7f7d9e33e36c1afc2_r.jpg&&&/figure&问:拉下拉杆,TNT会不会爆炸?为什么?&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:不炸。&br&~~~~~~~~~~~~~&br&第十九题:&br&&figure&&img src=&https://pic3.zhimg.com/50/9a25dc570c8e93055ccf291f_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic3.zhimg.com/50/9a25dc570c8e93055ccf291f_r.jpg&&&/figure&问:拉下拉杆之后,红石灯会不会亮起?为什么?&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:不亮。&br&~~~~~~~~~~~~~~&br&第二十题:&br&&figure&&img src=&https://pic2.zhimg.com/50/cab543754e_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic2.zhimg.com/50/cab543754e_r.jpg&&&/figure&问:拉下拉杆之后,那个活塞会伸出?(左侧中继器向右,为2t档。右侧中继器向前,为1t档)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:左侧。&br&~~~~~~~~~~~~~~~~&br&第二十一题:&br&&figure&&img src=&https://pic2.zhimg.com/50/c21a814eb9a0c8ff3db7_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic2.zhimg.com/50/c21a814eb9a0c8ff3db7_r.jpg&&&/figure&问:拉下拉杆之后,红石灯亮不亮?为什么?(投掷器中有一个草方块,面朝箱子。所有中继器都为1t档)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答案:不亮。&br&~~~~~~~~~~~~~~~&br&第二十二题:&br&&figure&&img src=&https://pic4.zhimg.com/50/076ce792a36ea_b.jpg& data-rawwidth=&580& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic4.zhimg.com/50/076ce792a36ea_r.jpg&&&/figure&问1:在MC1.8版本之前,按下按钮,按钮弹起之后哪些红石灯会亮?&br&问2:在MC1.8版本之后,按下按钮,按钮弹起之后哪些红石灯会亮?&br&(投掷器里面各有一个草方块,面对着临近的箱子。中继器都是1t档。)&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答1:都亮。&br&答2:只亮图中远处的那个。&br&~~~~~~~~~~~~~~~~&br&第二十三题(附加题):&br&主视图:&br&&figure&&img src=&https://pic3.zhimg.com/50/53e9aa7bded_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic3.zhimg.com/50/53e9aa7bded_r.jpg&&&/figure&俯视图:&br&&figure&&img src=&https://pic4.zhimg.com/50/15a07a3bf_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic4.zhimg.com/50/15a07a3bf_r.jpg&&&/figure&图中看不到的地方都没有额外的红石器件。所有活塞都是粘性的。左测朝前的中继器2t档,其余1t档。漏斗指向投掷器,投掷器指向漏斗。搭建完毕后再漏斗里放一个草方块然后等待装置稳定。&br&问1:玩家踩在压力板上,红石灯会不会亮?&br&问2:其他生物踩在压力板上,红石灯会不会亮?&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&-&br&答1:不亮。&br&答2:会亮。&br&==========考试部分到此结束,装订线内不要答题===========&br&很多以为自己懂了红石的人,正确率都不及格。┑( ̄Д  ̄)┍&br&还有上面这些东西不要强行当特例硬记,这些都是有很好的理论能预言的,如果你当“特殊情况”的话,我可以再举例出千千万万个“特殊情况”。&br&(顺便说一下如果你在其他地方看到过这些考题,恩……那个人很有可能就是我,这里面很多题是我自己转载自己的)&br&-&br&我出这些题不是为了砸场子,我是想说明一个问题,很多人连MC的“物理学”都没有弄懂,就开始设计MC的“工程学”(数电就是一种工程学),那么你设计的电路注定比别人的性能差而且可能在设计中感到一些“迷之bug”。&br&-&br&最后引路:&br&容易被半瓶水忽略的特性:&br&1、红石线的指向真的一定是贴图所展现的那样吗?&br&2、端点处的红石线是否有一些特殊的指向性质?&br&3、20分之一秒内发生了什么?同一游戏刻内发生的各种现象是否有固定的结算顺序?【非常重要!】&br&4、活塞延迟到底是多少?主流观点所传播的“消延时”现象的具体发生条件是否完美准确呢?&br&5、活塞的被激活条件是什么?发射器的被激活条件是什么?&br&6、各种原件的更新范围分别是多大?&br&============&br&加一个小图,直观理解优先级(包含评论里的优先级判定前两个条和部分3、4)&br&&figure&&img src=&https://pic4.zhimg.com/50/49bb42b1b7d9bc6daf8def_b.jpg& data-rawwidth=&1289& data-rawheight=&206& class=&origin_image zh-lightbox-thumb& width=&1289& data-original=&https://pic4.zhimg.com/50/49bb42b1b7d9bc6daf8def_r.jpg&&&/figure&
看了上面好多回答,真的尴尬。我不是针对你们任何个人,我是说在座的各位,都是(哔——)。 1、学红石是否一定要会数字电路? 答:只需要了解一些概念即可。包括:各种门电路、周期信号、脉冲、rs锁存、t触发、边沿检测器。足够了!当然……如果你打算搭建…
&p&看得手痒,也来掺和一脚吧。&/p&&p&首先很不要脸的给一个我自己的地图存档链接:&a href=&//link.zhihu.com/?target=http%3A//www.mcbbs.net/thread--1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【开发完善的单机地图】无mod情况下开荒几个月的成果分享——这是我的世界 - Minecraft中文论坛&/a&&/p&&p&后面应该也是要拿这里的图来说事儿的。&/p&&p&&b&首先,开荒。&/b&&/p&&p&对于游戏初期,要想富,先撸树,我的第一个白天一般都是速度制作木镐——石头镐和石头斧子——20枚左右的原石和一组左右的木头——最好再找到一些苹果、猪肉、羊毛,这样的财富积累是为第一个夜晚提供食物和燃料。&/p&&p&1、&b&夜晚进入天然矿洞采煤、铁、金。&/b&前期拥有了基础的装备——主要是石剑以及大量火把,进入天然矿洞挖矿比自己开矿洞采矿效率高非常多,虽然会有刷怪问题,但是由于夜晚地面也会刷怪,刷怪面积增加降低了矿洞中的刷怪效率,这样在普通难度下,矿洞中其实怪物数量并不太多。当然,收拾苦力怕因为石头剑需要反复hit and run,稍微还是有些危险,但由于对我们来讲,采集到前期所需的矿产数量的速度非常快,这个危险时间是很短的。&/p&&p&2、&b&一个铁桶非常重要。&/b&我一般采到前6枚铁矿,都是做成一把镐子和一个铁桶的。铁桶这个神器非常非常有用。地面上用来移动水源制作高效耕地是非常有必要的。另外,下矿的时候手边一个铁桶,妈妈再也不怕我遇到岩浆和小黑了。最后,当你从地下回家的时候,顺手捞一桶新鲜的岩浆,回家就能享受1000秒(煤的燃烧时间是80秒)的免费火炉了,没得烧就算是烧几组原石也是好的啊!&/p&&p&3、&b&植物中,最重要的是小麦,其次是甘蔗。&/b&没错,小麦和甘蔗是MC里最为重要的经济作物,对于前期Farm和后期无解肥是有着至关重要的战略意义的。首先,小麦用来制作的面包和曲奇是前期非常廉价的食物,同时小麦用来养殖牛、马、羊,小麦种子用来养殖鸡相当重要。甘蔗前期用来造纸制作附魔台以及书架,后期用来马的快速成长以及,最最重要的,村民交换。村民交换在后面讲。&/p&&p&---------抽水马桶式小麦种植场-----------&/p&&p&此处我要介绍我自己习惯的小麦场,9*9小麦场太过基础,还是不要讲解了(虽然我也开创造截了几张图。。嘛,还是不要太墨迹为好),需要注意的一点是,中间一格水建议使用地毯覆盖,防止收小麦时作物掉水坑,中间水坑上面第三格处放照明方块,走的时候不会碰到头~&/p&&p&下面开始介绍一种简易抽水马桶式小麦种植场。&/p&&p&先上图&/p&&figure&&img src=&https://pic2.zhimg.com/50/cda44e704c3b96ad76af9416bcba398f_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic2.zhimg.com/50/cda44e704c3b96ad76af9416bcba398f_r.jpg&&&/figure&&p&如图,是我手撸的5层半自动小麦种植场,一层80格,主要是收小麦的时候太酸爽了~种植需要亲自去种还是比较麻烦啦。。。&/p&&p&下面介绍制作方法(介绍的是改进版本,少年Pi的视频中常用这个版本,比我这种电路实用一些,每一层少用一格高):&/p&&p&&figure&&img src=&https://pic1.zhimg.com/50/07e43cfb562d68e052cc77_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic1.zhimg.com/50/07e43cfb562d68e052cc77_r.jpg&&&/figure&a.一圈围墙,入口处板砖,挡水并且人经过时不会踩坏耕地,为了节约资源采用办砖,将来耕地里不会进苦力怕是最重要的。&/p&&p&&figure&&img src=&https://pic3.zhimg.com/50/b56cfb57206d36eafc77_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic3.zhimg.com/50/b56cfb57206d36eafc77_r.jpg&&&/figure&b.在围墙两侧图示位置放置活塞,上面用上半砖围一圈,图为施工中,可以看到,上半砖不与活塞相接,却可以激活活塞~&/p&&p&&figure&&img src=&https://pic3.zhimg.com/50/24b249ddaa_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic3.zhimg.com/50/24b249ddaa_r.jpg&&&/figure&&figure&&img src=&https://pic3.zhimg.com/50/b778b9d58_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic3.zhimg.com/50/b778b9d58_r.jpg&&&/figure&c.红石铺设如图,可以看到这个距离完全不需要中继器。&/p&&figure&&img src=&https://pic4.zhimg.com/50/bac9ed6195168ddb9e8d77e3739131ef_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic4.zhimg.com/50/bac9ed6195168ddb9e8d77e3739131ef_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/50/452a1e70c08a4d972ee5a8_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic1.zhimg.com/50/452a1e70c08a4d972ee5a8_r.jpg&&&/figure&&p&d.在推出的活塞上方增加两块半砖,形成一个可以放置水的区域。ps.MC里水方块的运用真的很有趣。&/p&&p&&figure&&img src=&https://pic2.zhimg.com/50/f9786eacdfa631d03fc92df_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic2.zhimg.com/50/f9786eacdfa631d03fc92df_r.jpg&&&/figure&e.拉动拉杆,活塞收回,形成一个完美的收集水流。&/p&&p&&figure&&img src=&https://pic3.zhimg.com/50/c51cd27cafeab7b10d8d_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic3.zhimg.com/50/c51cd27cafeab7b10d8d_r.jpg&&&/figure&&figure&&img src=&https://pic3.zhimg.com/50/fb5b69b61c143fecd44b3f76e8320403_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic3.zhimg.com/50/fb5b69b61c143fecd44b3f76e8320403_r.jpg&&&/figure&f.完成四角,这一层基本上就已经完成了。中间一格水下方可以开一个收集口,用流水或者漏斗收集都可以。&/p&&figure&&img src=&https://pic2.zhimg.com/50/6eeee6a7231eba634f374ea6d710bbcf_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic2.zhimg.com/50/6eeee6a7231eba634f374ea6d710bbcf_r.jpg&&&/figure&&p&&figure&&img src=&https://pic4.zhimg.com/50/adda451d2_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic4.zhimg.com/50/adda451d2_r.jpg&&&/figure&tip:向上传递红石信号的时候,仅靠上半砖是办不到的,如图所示。&/p&&p&&figure&&img src=&https://pic1.zhimg.com/50/ff7b3860bc1fcb94fa8a03_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic1.zhimg.com/50/ff7b3860bc1fcb94fa8a03_r.jpg&&&/figure&g.制作如图所示向上传递信号,第二层结构相同,第二层耕地紧靠四格水方块上方铺设放置,刚好每一层小麦场四格高,直接从间隔红石火把取信号,下图是我生存中正在进行的小麦场。&/p&&p&&figure&&img src=&https://pic1.zhimg.com/50/20f80f5b574f_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic1.zhimg.com/50/20f80f5b574f_r.jpg&&&/figure&---------------12.10未完待续------------------&/p&&p&第二部分,勤恳致富。&/p&&p&1.&b&挖矿是前期致富的最快捷径&/b&,个人认为也是MC的一大乐趣所在&b&。&/b&稍微讲解一下如何成为一名高效的地下党。个人喜好,带足木材,垂直向下开矿,开矿方式是站在两格中间,依次挖开,每挖两格下降一格,安全快速。半路发下天然矿洞稍微照明一下然后封闭四面继续下挖,发现废弃矿道那么就赚到啦,不过我们的最终目的地是11格高处。地下岩浆湖的一般湖面高度就是11格,因此避免了10格挖矿过程中还要填堵同高度岩浆源的情况。&/p&&p&a.&b&下述的挖矿过程推荐在拥有了附魔工具以后进行&/b&——前期获得5颗钻石以后,所有钻石原矿、绿宝石原矿、红石原矿、青金石原矿(恭喜青金石在1.8版本完成了逆袭,成为硬通货)都保留下来用时运3挖取,节俭而且,说实话,一镐子下去得半组青金石或者4颗钻石,真的太爽了。&/p&&p&b.&b&常规低效的“丰”字矿道&/b&——低效的原因是钻石分布确实稀缺,由11格高处开矿,向两侧延展,或者开两条比较远的平行矿道,中间开横矿,矿道最密的地方保持3格或2两格(高山地形中挖取单格绿宝石)。听到岩浆的声音记得随时准备水桶,或者干脆换一条矿道。&/p&&p&c.&b&在近基岩深度挖矿的时候,请尽量多的开发同深度发现的天然矿洞和废弃矿道&/b&,那里简直是天然宝藏,当然,此时你需要优秀的武器和防具以及足够的杀怪经验。&/p&&p&d.&b&没有充足的准备,请不要在高山地形的近基岩高度天然矿洞探险&/b&。个人经验,此类矿洞是类似喀斯特地形的多分叉洞穴结构,太容易迷路和刷怪了,同时遇见暴露的岩浆湖的概率也很高,一不小心就掉岩浆了,最后,听着怎么也找不到的僵尸哼哼真的太痛苦了。。。&/p&&p&e.&b&不要死。&/b&简直就是一句废话。但对于此阶段的玩家来说,死亡一次,尤其是好死不死的掉岩浆,很容易导致对整个游戏存档的仇视甚至删档。。。基础的,&b&比如任何时候都不要挖(有可能让你掉落岩浆的)脚下的方块、随时准备一个灭火用的水桶在你的数字快捷键上、杀小黑的时候请搭建一个建议的双层高防御工事并只攻击小黑的脚、不要在有高地落差的地方调戏苦力怕、不要再落水的时候妄想追杀骷髅弓、在废气矿道中千万小心洞穴蜘蛛&/b&等等。&/p&&p&2.&b&多多使用低级附魔&/b&,节约每天收集到的少量经♂验。这个阶段我们的养牛场还没有达到足够规模,而下矿的时间却大量增加,因此1级附魔的镐子、铲子、剑以及防具是很有必要且相当实惠的。当然,当你拥有了一把耐久3效率4(甚至自己合成了效率5)镐子的时候,就不用那么节约了,请任性一点拼命挖爆这个钻石镐把!4000个方块可以带给你的钻石、经验足够你合成多少34、334(时运3)、341(精准1)镐子啊!——关于附魔,分享一个网站:&a href=&//link.zhihu.com/?target=http%3A//www.minecraft-enchantments.net/items/1.7.2/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&minecraft-enchantments.net&/span&&span class=&invisible&&/items/1.7.2/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&br&&p&3.牛、鸡、猪、羊(按经济价值排列)的养殖场。作为一名毫无美感的MC玩家,我习惯使用非常实用的方式养殖动物,以下图片容易引起不适,密恐慎点:&/p&&figure&&img src=&https://pic3.zhimg.com/50/b8a5ebebf8e4fb3ab607949_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic3.zhimg.com/50/b8a5ebebf8e4fb3ab607949_r.jpg&&&/figure&&p&&figure&&img src=&https://pic1.zhimg.com/50/2de40fb0d78b7c7fa6dab_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic1.zhimg.com/50/2de40fb0d78b7c7fa6dab_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/50/e03c6478d4_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic4.zhimg.com/50/e03c6478d4_r.jpg&&&/figure&关于动物养殖有一些小tip:&/p&&p&a.密集养殖中使用树叶、玻璃等透明方块制作围栏,可以避免动物被挤到墙中死掉,不过屠宰过程中还是要小心,不要破坏围墙,不然。。。享受天外飞猪的快感吧。。。&/p&&p&b.养鸡场推荐制作简易的红石脉冲发射器和漏斗收集,但请不要制作全自动养殖,太高效了,很快你的MC就变成PPT了。不过一瓶瞬伤药水+快速切换的掠夺3附魔剑是你最佳的选择,你尝试过3分钟长的经验球buff么。。。&/p&&p&c.养羊场需要留住一些永远不会被吃到的草地,不然羊数量上来以后地很快就荒了!&/p&&p&d.使用掠夺3附魔剑宰杀动物。&/p&&p&e.小鸡还吃南瓜和西瓜种子哦!&/p&&p&f.&b&甘蔗&/b&、牛肉、猪肉、鸡肉、牛皮&鸡毛(书、成书)、羊毛、南瓜、小麦等等等等,是将来村民交换的原料,请不要客气,大量收集。见下图:&/p&&p&&figure&&img src=&https://pic3.zhimg.com/50/23f0ee25dacf3_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic3.zhimg.com/50/23f0ee25dacf3_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/50/66f92d98f107cabab992b8_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic2.zhimg.com/50/66f92d98f107cabab992b8_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/50/a4c4d6a9a3aa8d629768_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic4.zhimg.com/50/a4c4d6a9a3aa8d629768_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/50/42debf0cacc9d_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic1.zhimg.com/50/42debf0cacc9d_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/50/be644b12c4bbebac4dccf6_b.jpg& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic1.zhimg.com/50/be644b12c4bbebac4dccf6_r.jpg&&&/figure&第三部分,达到最终富裕。&/p&&p&经过第二个阶段的财富大量囤积——说是很容易,但是你会发现,收获一茬小麦、喂牛杀牛、喂鸡杀鸡、收一季甘蔗,这样一个循环几乎可以花费你一天的时间,而且与此同时,请不要忘了,你是在游戏,请慢下来,等一等你的显卡~&/p&&p&~&/p&&p&~&/p&&p&~&/p&&p&好了,当你在5层小麦场顶端看够了日出日落,在地下矿道中封印了无数刷怪笼,在沙漠神庙里挖到了第一个tnt,在大草原上找到了一个小村庄&/p&&p&小村庄!&/p&&p&是的,你的辛苦劳动终于要结束了,你不用再去矿道中灰头土脸的寻觅钻石了,你不用喂两茬牛来收集经验了,甚至可以远离高耸艰险的高山地形,因为你可以开始村官之路了。&/p&&p&村民养殖——村民交换——最终富裕&/p&&p&就是这么简单。&/p&&p&&b&村民养殖方式&/b&。我们知道,村庄里村民的数量是由村庄中房子的数量来决定的,而有效房子则可以简化到一个有效门这么简单(简单来说,应该就是门的天花板和地板数不为零且不相等),因为圈养村民,外面大量制作有效门就可以获得大量(门数量的30%)的村民了。但是我们这里要讲的是村民&b&无限&/b&繁殖。&/p&&p&原料需求:至少3个村民(不论职业),铁轨若干,至少一个矿车,几个木门,木栅栏,照明工具,普通建材&/p&&p&1.&b&使用矿车固定和运输村民&/b&。这个tip应该有很多人知道的吧,在村民脚下放置铁轨,然后把矿车放上去,向村民方向稍微推动一下,村民就上车了,并且不敲掉矿车的话,他是无法逃离的,增设铁轨,就可以运输到任意位置了。这是基础操作。需要注意的是,不要让村民矿车卡到一格高的地方,村民会窒息而死,其他自由村民也会推动村民矿车,因此需要多加注意。&/p&&p&2.&b&把所有村民使用矿车运输收集到一起,防止乱跑&/b&。当然,这一步只不过是增加一些可控性,其实真正开始无限繁殖之后,所有的村民都会自动聚拢过来冒红心的,只不过多这样一步操作一可以增加生殖效率,二可以保护村民不被僵尸袭击。&/p&&p&3.搭建村长平台。&/p&&p&&figure&&img src=&https://pic1.zhimg.com/50/e3a3cd4ea0253edee7545_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic1.zhimg.com/50/e3a3cd4ea0253edee7545_r.jpg&&&/figure&&figure&&img src=&https://pic3.zhimg.com/50/d931757dafeaa92fa6bee464f076b341_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic3.zhimg.com/50/d931757dafeaa92fa6bee464f076b341_r.jpg&&&/figure&如图所示,平台高7格,大小如图所示就够了。下面的围栏是放置其余村民(至少2个)的。村长平台中需要放置一个村长,我们可以用矿车运输上去,用栅栏围起来,四面放置若干有效门,记住做好照明工作。如下图:&/p&&p&&figure&&img src=&https://pic4.zhimg.com/50/292427bfa662df02ce8e7b_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic4.zhimg.com/50/292427bfa662df02ce8e7b_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/50/2b90f77db7a1c4ce3ffce9e95b41b52e_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic2.zhimg.com/50/2b90f77db7a1c4ce3ffce9e95b41b52e_r.jpg&&&/figure&这样,下方的围墙中的村民就会开始不停的有人冒红心了,当两个冒红心的家伙碰到一起,就会开始生孩子了。有一点需要注意,如果这个养殖场是建造在村庄中,需要我们把所有的木门都拆掉,然后再继续进行接下来的建设,避免出现错误的村庄判定。&/p&&p&&u&此处需要补充一下:&/u&&b&&u&1.8版本中下方生育用村民似乎需要经过一定交易以后才会开始发情,我在创造模式下使用卵生村民,发现不生育,纠结了两天才发现这个改动&/u&。&/b&&/p&&br&&br&&p&&strong&------------------------插播一条新发现-----------------------------&/strong&&/p&&p&&strong&-&/strong& 感谢&strong&@丁子阳&/strong&同学的指点,1.8版本中的村民在上面介绍的繁殖场中如果增加一块耕地(小麦、土豆之类,使其有耕地可以耕作),不需要与之发生交易就可以自动无限繁殖,亲测确实如此,管理插一张图吧:&/p&&figure&&img src=&https://pic3.zhimg.com/50/ae6a5bcfedb82e6da7a5_b.jpg& data-rawwidth=&854& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&https://pic3.zhimg.com/50/ae6a5bcfedb82e6da7a5_r.jpg&&&/figure&&p&上图是从两个村民发展起来的,没有进行过交易。&/p&&br&&p&另外,如果不引入耕地的话,与村民发生交易以后也会促使有繁殖空间的村民进入繁殖状态,但是一般只会生一个小村民,等小村民长大以后继续交易才会发生下一次繁殖,比上一种方法麻烦多了。&/p&&p&--------------------------------------插播完毕----------------------------------------&/p&&br&&br&&p&--------------12.10日没吃早饭午饭,未完待续------------&/p&&p&&b&村民交易介绍&/b&。关于村民的交易介绍,我觉得wiki里是绝对全面的,我就不搬运了,在这里我们只是大略讲解一下村民交易致富的一些常用交易类别。&/p&&p&&u&交易目标&/u&:获得大量的交换货币绿宝石(以高效交易且可持续交易为优)、获得全类别的钻石工具以及防具(以价格实惠为优)、获得稀有附魔书和实用附魔工具(以附魔稀缺和价格实惠为优)&/p&&p&&u&交易筛选&/u&:&/p&&p&
那么常用的交换绿宝石的村民交易有如下几种:数十小麦=1绿宝石,数十羊毛=1绿宝石,数十煤炭or木炭=1绿宝石,数十纸张=1绿宝石,数个南瓜=1绿宝石,数条烤鱼=1绿宝石,十数肉类=1绿宝石,十数书=1绿宝石,1成书=1绿宝石等等等等,很明显,烤鱼、小麦、煤炭等交易是比较低效的。以我们之前的发展路线来看,&b&肉类交换和图书类交换是比较高效的&/b&。同时,南瓜交换是1.8新增的一种交易方式,我个人非常看好这个交易。&/p&&p&
常用的工具防具交易是由铁匠村民提供的,常用的附魔交易是由牧师提供的。&/p&&p&交易方法:图书管理员——纸张、书、成书交易交换绿宝石,最终交易为绿宝石交换书架、玻璃或者此三类交易的村民为可持续交易村民。&/p&&p&
屠夫——肉类换绿宝石交易,最终交易为煤炭换绿宝石或肉类交易为可持续交易村民。&/p&&p&
铁匠——最终交易为铁质工具交换(便宜、常用)或者钻石镐、铲、剑(常用)为可持续交易。&/p&&p&
牧师——最终交易为便宜常用的附魔书、经验瓶、萤石粉等交易为可持续交易村民。&/p&&p&其余村民可以不用收集,保留几个可持续交易的普通村民就好了。&/p&&p&关于&b&可持续交易村民&/b&:这是我瞎掰的词,指的是这样一个村民,它的交易类型已经全部开发出来,当他之前的所有的我们需要的交易都被刷空以后,我们可以通过最终交易(1次或者若干次)来刷新之前的所有交易,而这个最终交易不会大量浪费我们的绿宝石,或者是我们所需要的交易。&/p&&p&&u&交易结果&/u&:按照这样的筛选村民和交易下来,我们会分辨出村民中的业界良心和奸商,那也良心商家我们可以用建筑材料来限制他的移动,制作成固定的交易场所,在以后的生存中为我们提供源源不断的绿宝石,进一步获得无限量的装备、附魔书,以及以极低的价格维修钻石装备(牧师交易附魔工具时可以使用耐久耗尽的工具,交易获得的工具耐久是满的)。而我们所花费的,就是由高效半自动小麦场、大规模甘蔗地、高密度鸡牛猪养殖场获得的低廉物品,当然,还有一部分下海杀鱿鱼获取的墨囊(制作成书,完成最实惠交易之用)。&/p&&p&由于篇幅已经拖得够长了,我决定村民这个话题就不继续展开讨论了,不然真的就成了生存直播贴了。。。纯粹一提,村民交易筛选出来的无用村民可以用来制作铁傀儡刷铁场,低效刷铁场非常易做,但是给大家分享一个链接:&a href=&//link.zhihu.com/?target=http%3A//www.mcbbs.net/forum.php%3Fmod%3Dviewthread%26tid%3Dordertype%3D1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【1.5.1】【多村庄叠加式】【高效}

我要回帖

更多关于 我的世界手机版服务器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信