我的世界有边界吗坐标X和Z900万的地方为什么是假区块?生物一生成就掉下去

我的世界:MC“游戏崩溃”的7种玩法,敢不敢在你的存档试一下?我的世界:MC“游戏崩溃”的7种玩法,敢不敢在你的存档试一下?我叫Minecraft百家号《我的世界》玩法众多,但有这么7种玩法,是能让Minecraft游戏彻底“崩溃”的玩法。所以敢不敢在你的存档试一下?一、高频红石《我的世界》喜欢玩服务器的玩家,或者是本身做服务器的玩家都知道小型的服务器基本上是禁止玩“高频红石”的。因为高频不仅仅是大量占用服务器资源造成卡顿,严重的会令整个服务器都奔了!就算是单机生存,大量的使用高频,也会造成游戏崩溃!那么什么是高频红石呢?“高频红石”顾名思义就是高频率,高脉冲的红石电路。所以如果当你觉得游戏卡顿的时候,就拆掉一下高频红石吧。服务器玩家如果你不想被封号的话,还是老老实实的远离高频红石!二、穿越边境之地《我的世界》边境之地又被称为MC的禁区之地,因为如果你的设备性能稍差一些,到达边境之地的瞬间,游戏就会崩溃。因为传统意义上的边境之地是指Minecraft地图开始扭曲的地方,因为扭曲,这里的区块大量重合并加载!穿越边境之地并不是难事,但如果你一直向边境之地的深处去探索,唯一可能出现的情况就是,游戏崩溃!三、穿越边界很多玩家以为,边境之地就是《我的世界》地图的边界。实际上边境之地的坐标远远没有达到MC的边界。边境之地通常生成于X/Z=±12,550,821,而边界之地位于X/Z ±29,999,984。在这个位置,玩家将再也无法前行,但创造模式旁观模式以及/tp指令可以穿越。当你到达X/Z ±30,000,000这个位置时,将彻底无法前行了。即使指令也无能为力,因为游戏的设定是不接受超过X/Z ±30,000,000这个值的,所以当你穿越第一个阻隔你的边界时,你的游戏也将处于崩溃的边缘!但边界之地以外的空间虽然无法前往,但却会正常的生成废弃矿井、村庄等。四、极限高空很多爱冒险的玩家一定尝试过,在《我的世界》生存模式下,打开鞘翅,拿上火箭,一直向天空中飞去!飞了很久也到不了顶端。那么MC的天空真的是无限高的么?并不是,MC的高度极限是1.797×10的308次方,传送指令在这个高度下都会出现故障。因此这里是绝对的禁区,造成游戏崩溃是再正常不过的一件事了。五、无尽虚空如果《我的世界》是一个方形的世界,那么极限高空对应的就是“无尽的虚空”。想要体验无尽的虚空,你只需要来到末地,纵身一跃,跳下虚空。记住给自己开无敌或者是无限生命(因为一旦大于64格,玩家会开始受到每秒4点残血伤害)。你会一直的向下坠落,直至游戏崩溃。小编测试了一下,大约10分钟。游戏卡死崩溃!六、百万养殖场《我的世界》每一个生物都是一个实体,MC需要赋予每个实体动作、AI、声音等等操作。如果玩家在同一区域内刷出了大量的生物,成千上万的生物,就好比百万动物养殖场。这会大大加大游戏的负荷,如果你远离这个区块还好,因为他们不会刷新。一旦你进入这个区块,别说移动都将变得非常困难,能保持游戏不崩溃已经是极好的了!七、高速飞行《我的世界》高速飞行也会令游戏崩溃,当速度提升到一定程度后,MC的区块加载完全跟不上你的速度时。游戏面临崩溃,你甚至不需要借助额外的指令和MOD,带上鞘翅和火箭,以极快的速度跑图。如果是渣机,10分钟内游戏必定崩溃!如果设备配置很优秀的话,不妨试试”/effect” 255倍速度提升指令!本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。我叫Minecraft百家号最近更新:简介:致力于最简单易懂的我的世界Minecraft教程作者最新文章相关文章我的世界1.2.5到1.7.2中更新了什么_百度知道
我的世界1.2.5到1.7.2中更新了什么
我有更好的答案
可以同时选择多个资源包。如果资源包存在同样的内容,则最上方的内容会被使用。可以自动混合不同资源包的内容,如一个声音包和、一个材质包。服务器可以提供资源包最大大小增加至50MB。音效你现在可以通过资源包添加新的音效。资源包可以通过使用JSON添加,移除,补充,随机化,或给音效分组。音效与音乐现在都保存在 .minecraft/assets/sounds 文件夹内。音乐会跟随游戏暂停而暂停。网络代码完全重制现在使用的是 Netty大多数的通信包没有变化,握手和Ping的流程被重做。包的头部包含了包长度的信息。光效修复了几个照明问题减少了地形生成产生的“暗区”。[5]修复火把在要塞和废弃矿井内的光照问题。[6][7]雷暴时的亮度变成了7 (在此之前亮度和普通降雨一样是12但敌对生物会在亮度&7时生成)云和天空会变得更暗游戏选项在操控设定中集成了一些选项,现在可以重新设定热键1-9、截图按键、电影特效切换(可以设定并移除了默认键)、视角切换和疾跑按钮(按下将进入疾跑状态,默认为左shift键)。音乐与音效现在开始可以将主音量、背景音乐、唱片机/音符盒、天气、方块、敌对生物、友善生物、玩家、环境的音量分开独立控制。资源包菜单将未使用与使用中的资源包分开显示——现在可以同时使用多个资源包,根据设定的优先度不同,优先使用上级资源包。视频设置能见度现在是能定为2-16个区块的滑动条;最大fps则是10-250、无限制的滑动条;Mipmapping可以被设定为1-4级或者不使用;各向异性过滤可以被设定为2、4、8、16或是不使用。超级秘密选项此按钮现在会应用各种不同的实验性着色器目前可使用的着色器列表:反锯齿、去会聚、剪影、美术、饱和、铅笔、位元、翻转、荧光粉、斑点、快速近似抗锯齿、枕状扫描、斑点2、绿、边缘检测、模糊、倒置、摇晃、盘旋色、彩色电视语言选栏添加了&强制Unicode字体&选项,现在可以选择是否对文字强制使用Unicode字体。物品栏在创造模式里,装饰性方块的展示物品从玫瑰改成了牡丹服务器列表现在可以通过F5刷新列表添加了服务器图标在鼠标悬浮在玩家数量时会列出目前在线的玩家们添加了对多行MOTD(介绍消息)的支持记录记录现在将通过Log4j 2完成默认的记录位置将改为logs/latest.logs,古老的记录将在logs/&年&-&月&-&日&-1.lg.gz内存档,每次启动将增加最后一位数字多亏了Log4j 2,记录保存的方式也有所改变了,如:html页面、数据库、仅包含错误、不记录Minecraft领域开始在内部准备购买支持开始提供下载世界地图的选项游戏内容新内容指令/setidletimeout会自动将挂机过久的玩家踢下线仅限于多人游戏,仅能被服务器管理员使用用法:/setidletimeout &&闲置时限(分钟)&/tellraw运用json语言来在聊天窗口中创造出&按钮&和格式化文本(加粗、倾斜、下划线等)用法:/tellraw &玩家& &原json消息&/summon用于在游戏中生成任何实体,包括巨人,末影水晶,末影龙,和激活的TNT。用法:/summon &实体名& [x] [y] [z] [数据标签]/achievement用于赐予玩家成就用法:/achievement give &数据名& [玩家]/setblock用于创造,删除,或代替单个方块用法:/setblock &方块名& [数据值] [旧方块处理方式] [数据标签]/testforblock检测在指定位置的方块用法:/testforblock &方块名& [数据值] [数据标签]/setworldspawn设置所有玩家的出生点(即使是从未进入服务器的玩家或是不在线的玩家,但不会覆盖床的设置)用法:/setworldspawn [x] [y] [z]颗粒效果钓鱼现在会产生颗粒效果在有东西咬钩前会出现向你浮子移动的气泡。这看起来就像有鱼朝你的鱼钩游动一样。掉落现在会产生颗粒效果颗粒的大小取决于摔落的高度。新的成就种群恢复喂小麦来繁殖出1头牛。需要先完成&斗牛士&成就。给你钻石!向其他玩家或者可以捡起东西的僵尸扔钻石。需要先完成&钻石!&成就。探索的时光发现所有的生物群系。需要先完成 &结束了?& 成就。开始了?召唤凋灵。需要贤完成&结束了。& 成就。开始了。杀死凋灵。需要先完成&开始了?& 成就。信标工程师制造最高级的信标。需要先完成&开始了?& 成就。新的统计信息骑马移动距离钓到垃圾次数钓到宝藏次数生物统计改进与变更钓鱼更改了钓鱼机制除了鱼以外,钓鱼还可以钓到其他东西。鱼: 共有四种,分别为生鱼、生鲑鱼、小丑鱼和河豚。宝藏:共有七种,分别是附魔的钓鱼竿、附魔的弓、附魔书、命名牌、绊线钩、睡莲、鞍。垃圾:共有十一种,分别是损坏的钓鱼竿、水瓶、腐肉、线、皮革、碗、木棍、靴子或损坏的靴子。添加了钓鱼竿的附魔,能改变你钓鱼运气诱饵 - 加快钓鱼的效率海之眷顾 - 减少获得垃圾的几率成就和统计[8]现在将于记分板系统连在一起 - 添加了744个可用于追踪统计和成就的目标准则每个世界/服务器[9]有其独立数值成就界面现在可以使用鼠标滚轮放大或缩小了成就现在只会显示已获得成就延伸后的5个成就只有玩家接触过的物品、方块、和生物会出现在统计栏内新的成就:种群恢复、探索的时光、开始了?、开始了、以及信标工程师新的统计:骑马移动距离、钓到宝藏次数、和钓到垃圾次数如果某个成就需要的5个前置成就未完成,那么这个成就就不会显示。 (比如”钻石!“成就在获得”获得木头“之前不会显示)。如果你没有合成/放置/开采过某个方块,或者合成/使用过/耗尽耐久某种工具,或者杀死某种怪物或者被某种怪物杀死之前,它们的信息在统计信息中不会显示。某个玩家在获得一项成就之后会在聊天频道发送信息;这个功能可以被关闭。鼠标滑过成就可以显示成就的提示。记分板现在可以使用统计数据来创建目标,任何能被统计追踪的数据(包括成就)都能用于目标中。因此每个世界/服务器的成就和统计都是独立的指令/give现在可以给玩家拥有自定义名字,背景和附魔的物品。[10]现在也能给予拥有自定义NBT标签的物品,比如可以获得特定玩家的头颅,或带有特殊习性的刷怪箱,现在会在聊天窗口显示重命名的物品的名称并在鼠标悬在上方时显示其标签用法:/give &玩家& [数量] [损害值] [数据标签]/time set day现在会将设置时间为1000而不是0/time set night现在会将设置时间为13000而不是12000自定义的NBT标签可以通过命令添加使用/give和/summon命令示例:/give @p 1 1 0 {display:{Lore:[&Hi,&,&How are you?&],Name:&Nice Stone Block&},ench:[{id:1,lvl:10}]}/summon Pig ~ ~ ~ {Saddle:1, CustomName:&Babe&, CustomNameVisible:1}/give @p 397 1 3 {SkullOwner:MHF_Pig}NBT格式List标签不再需要被命名在输入错误格式(integer/short)时不再会导致崩溃聊天系统添加了可以在点击聊天信息时触发事件的方式,比如执行某个命令。其他功能包括打开某个链接或者鼠标对着时显示物品的标签。&截图保存至& 信息可以被点击来打开截图文件夹。可以点击玩家的名字来发送私信。添加/tellraw &玩家& &原json消息&指令来给玩家发送带有自定义功能的消息,发送者不会被显示。语法示例:/tellraw @p {text:&Daytime? &,color:&green&,extra:[{text:&Click here!&,color:&blue&,clickEvent:{action:&run_command&,value:&/time set day&}},{text:& Nighttime? &},{text:&Click here!&,color:&blue&,clickEvent:{action:&run_command&,value:&/time set night&}},{text:& Have fun!&}]}雾移除了环绕在玩家身边的雾雾现在只在可见区块的边缘存在死亡界面如果玩家在游戏中死亡并选择”返回标题画面“,一个对话框会弹出询问是否确定要退出,并且给你返回标题画面和重生继续游戏的选项。边境之地所有坐标超过 X/Z ±30,000,000 的部分都被视为固体方块。这包括空气方块。这在边缘创建了无形的墙。因为所有的方块都被视为固体方块,所以如果玩家使用外部工具移动出了边界,那么玩家将不可在其中移动。尽管如此,视角还是可以正常移动。这表示幽灵区块仍会生成,因为相机可以正常的穿过这些固体方块。方块/物品IDs现在可以使用它们的名字而不是数字。以后会是唯一的选项。这对插件API来说是必要的。视觉效果改变了F3+B的视觉效果。方块的轮廓线现在是全黑色的而不是深灰色。在室内天空将变暗。下界传送门可以设置不同的尺寸了,如果够大的话你甚至恶魂也可以通过。现在不只是在门的下方点火可以开启传送门了,在门内的任何方块都可以。传送门建造规格:大小在4x5到23x23之间,而且必须是矩形。附魔附魔台现在能给予所有物品耐久魔咒。附魔台能给予附魔书多项附魔属性。世界生成新内容树木金合欢生长在热带草原的弯曲的树木。深色橡树生长在黑森林里的大型矮树木生物群系[11]平顶山由多种颜色的硬化粘土像沉积岩一样的层次结构组成共有七种颜色,包括普通、橙色、红色、黄色、白色、淡灰色和棕色地表和沙漠相似,但是由红沙而不是沙子组成枯死的灌木会在这个生物群系里生成偶尔枯萎的森林会在粘土山顶生成这个生物群系内不会下雨热带草原金合欢新的树木,树苗,和树叶种类马可以在这个生物群系中生成NPC村庄有可能在这个生物群系中生成这个生物群系内不会下雨有着非常平坦的高原,偶尔也会有高山向日葵草原和草原完全一样,但可以生成向日葵黑森林有深色的草和巨型蘑菇有深色橡树;即使是白天树冠下也是相当黑暗和危险的新的树木,树苗,和树叶种类怪物很可能会在全天出没在夜晚生成的怪物可以在白天存活除蘑菇岛外这是第一个可以自然生成巨型蘑菇的生物群系桦木森林一个完全由桦树构成的森林繁花森林一个包含多种新花朵的森林变种,包括牡丹、橙色郁金香、白色郁金香、法兰西菊、玫瑰丛和绒球葱。各种新花的分布十分密集。针叶林现在生成时不会带有雪了以前的针叶林被改为冷针叶林大型针叶林这是一个十分稀有的生物群落包含了2x2的云杉树有泥土的变种,灰化土现在只能通过精准采集魔咒采集包含不允许草生长的泥土方块苔石组成的&巨石&散落在此生物群系内枯死的灌木、蘑菇、蕨会在这种生物群系中生成。峭壁+包含云杉树海拔远远高于正常的峭壁冰刺平原包含由浮冰组成的看上去像颠倒的冰锥的巨型冰柱这些冰柱最高可以达到y=120的高度浮冰组成的湖分散在此生物群系内深海比普通的海要深10米左右,最大深度在y=30左右生物群系变种/技术性生物群系超过20种生物群系变种“M” - 带有M变种的生物群系变种要比其他变种罕见得多“峭壁M”、“针叶林M”、“黑森林M”、“丛林边缘M”、“桦木森林M”、“冷针叶林M”、“峭壁+M”、“热带草原M”、“热带高原M”、“沼泽M”、“丛林M”。“平顶山高原M”和“平顶山高原 FM”要比对应的生物群系的有更多的山丘“沙漠M”与普通沙漠不同会有小水湖“桦木森林M”会有更高的桦树“热带草原M”会有无草泥土和可以生成超过云层并能延伸到220层的罕见山峦高原—具有“高原”变种的生物群系变种与山丘生物群系相似,但是在顶端是平坦的“热带高原”和“平顶山高原”都是高原这些地形提升了大约30个方块并且有平整的顶部“平顶山(岩柱)”——一种会像冰刺平原在沙地上生成粘土柱的罕见平顶山变种“山丘”—更多技术性山丘生物群系被添加以对应新的生物群系“桦木森林山丘”、“冷针叶林山丘”和“大型针叶林山丘”现在能被生成“滩”—新的滩把这些生物群系从海洋或河流隔开。“石滩”主要由石头构成,常常在峭壁生物群系和一个水体之间生成“冻滩”是一个带有雪的沙滩经常在一个寒冷的生物群系,如冰原和一个水体之间生成世界类型放大化利用了整个世界的高度将地形延伸几乎所有的生物群落都可以产生巨大的山脉并超过Y:200的高度峭壁生物群系将频繁地达到Y:256的世界高度限制沼泽和海洋生物群系不会被这种世界类型影响会大量地消耗资源并需要强大的硬件支持这里的峡谷可以到达基岩层包含了大量在默认世界类型中极少或不可能出现的地形。一些例子中包含了浮空岛,悬垂地形,巨大的水流或岩浆瀑布以及巨大的横断面。针叶林生物群系会达到开始降雪的高度(大约为Y: 130)改进与变更生物群系丛林西瓜现在可以像南瓜一样成群地在丛林中找到丛林生物群系变得更加罕见了添加了丛林边缘,拥有更少的树,但会慢慢衔接到丛林的主体从林树现在有树枝了沼泽草变得更绿了且颜色会浮动,这主要取决于生物群系的温度在较浅的地方,海岸会被错落的睡莲和泥土方块所覆盖平原现在会生成三种新的花 - 茜草花,法兰西菊,和郁金香高草丛也会在此生成峭壁雪会在高度超过95的地方生成包含石头和泥土地砂砾可以替代地表接近海平面会产生平坦的山谷可以生成至y=150,略微高于云层的高度(之前是y=124)有更多高度的变化,同时也有平坦的部分,与之前峭壁被强制生成无尽高度的山峰的情况相反海洋[12][13][14]海洋变小了,并且在地图上占据更小的地方[11]海床现在只存在沙砾,而不是沙子、泥土、和沙砾砂砾滩出现得更频繁生物群系的分类基于温度区分四种主要类别[11]覆雪,寒冷,适中,干燥/温暖生物群系的定位生物群系会尝试避免存在于一个与它自身差异太大的生物群系的旁边[11]生物群系的海拔总体上海拔的变动变大了大多数生物群系可以生成到y=100的高度山丘技术性生物群系变得更高了改进了温度系统每个生物群系有个基础温度来决定它是否被雪覆盖,是否下雨或下雪,或者是否完全不会降水基础温度在0.15或更低的生物群系会下雪而非雨基础温度在1.5或者更高的生物群系不会下雨[来源请求]生物群系被按照他们的温度分组并且会尝试生成于与它们温度相近的生物群系旁边海拔每升高30个方块,温度会降低0.05正因如此峭壁才会在高度是y=95生成雪,它的地面基础温度是0.2奖励箱奖励箱现在包含金合欢木方块与物品新内容木头种类金合欢木银色的表皮和橙色的内部组成金合欢,可在热带草原发现深色橡木比一般橡木更黑的变种组成深色橡树,可在黑森林中发现金合欢木板表面为橙色深色橡木木板与普通橡木木板材质相同但颜色几乎为全黑金合欢和深色橡树台阶金合欢和深色橡树楼梯树苗金合欢树苗,可以在热带草原里找到深色橡树树苗,可以在黑森林里找到必须将4颗树苗放置在2x2的方格内才能生长,和大丛林树很像2x2的云杉树苗现在能造出在大型针叶林中的大型云杉树叶金合欢树叶深色橡树树叶视觉上都和橡树树叶完全相同鱼河豚回复Half Hunger.svg如果吃了它,你会进入1分钟的中毒IV状态,和15秒的饥饿III和反胃II状态用于酿造水肺药水鲑鱼能被烹饪和食用。生的:回复Hunger.svg熟的:回复Hunger.svgHunger.svgHunger.svg小丑鱼除了被食用和用来驯服豹猫外的用途未知回复Half Hunger.svg。浮冰被破坏时不会像普通的冰一样变成水不会融化完全不透明,而不是像普通的冰一样半透明灰化土新的泥土变种只能在大型针叶林生物群系发现无草泥土草不能在上面生长。只能通过/give指令来获得红沙在平顶山生物群系生成性质与沙子相似(能被熔炼成玻璃和用来制造TNT)无法制成沙石花红色的,橙色的,白色的和粉红色的郁金香能被分别制作成红色、橙色、淡灰色、和粉红色染料兰花可被制成淡蓝色染料绒球葱可被制成品红色染料茜草花可被制成淡灰色染料滨菊可被制成淡灰色染料罂粟取代了原来的玫瑰 - 玫瑰不再存在了所有花现在可燃所有的花现在会像草丛一样随机偏移至一边两格高的花对它们使用骨粉会使它们掉落一个能收集的花朵物品。因此,所有两格高的花都是可再生的向日葵通常会朝向东面能被种植,和玫瑰和蒲公英不同可被制成2份黄色染料牡丹可被制成2份粉红色染料玫瑰丛可被制成2份红色染料丁香可被制成2份品红色染料两格高的草丛高草丛可通过对草丛使用骨粉造出大型蕨可通过对蕨使用骨粉造出怪物蛋的新变种包括苔石砖怪物蛋、裂石砖怪物蛋和錾制石砖怪物蛋蠹虫进入苔石砖、裂石砖或錾制石砖后不再会变成普通石砖了命令方块矿车只能通过使用/give minecraft:command_block_minecart 或 /summon MinecartCommandBlock获得通过使用激活铁轨来激活在被充能时会每2个红石刻执行一次命令(全速通过一个激活铁轨会执行一次指令)水肺药水通过使用河豚和粗制药水酿造而成能让你在不消耗氧气条的情况下在水下呼吸3分钟药水的颜色是深蓝色的染色玻璃玻璃现在可以被染成所有16种颜色在工作台内把一个染料摆放在8个普通玻璃中间,就可以得到8个相应颜色的染色玻璃合成染色玻璃板的方法和普通玻璃板一样合成能得到16个染色玻璃板,和普通玻璃一样透过染色玻璃方块仍能看到水、下界传送门、和其他染色玻璃方块它们放置在其上的方块颜色会向玻璃的颜色偏移这包括在两种不同的颜色前后摆放的时候改进与变更木头木头的顶部和底部现在有了不同的材质(橡木原木除外)成书现在可以像地图一样复制, 但它是使用书与笔而非空地图可通过在合成格内放入更多书与笔来复制更多份成书现在可以堆叠起来(可堆叠至16)物品展示框现在被击打时会掉落里面的物品,但如果没有物品的话则会掉落本身[15]若展示的物品被重命名,则在近看时会显示物品名字地图现在会占用整个方块并不再会显示玩家标记测重压力板现在会根据在其上方的任何实体输出讯号,任何实体的存在都会使讯号强度在1或以上对于轻质测重压力板,每个实体会使讯号强度增加1对于重质测重压力板,从1开始,每增加10个实体会使讯号强度增加1(例:11个实体时讯号强度为2)甘蔗颜色现在会受生物群系颜色所影响(与树叶、草和藤蔓相似)打火石合成配方现在是无形的现在可以用于引爆爬行者枯死的灌木现在可放于硬化粘土、染色粘土和泥土之上命令方块现在会显示最近执行过的命令将字数限制提升到了&几千个字符&盔甲、弓、钓鱼竿和剑现在能从附魔台获得耐久魔咒技术性方块移除了许多技术性方块物品移除了上锁的箱子地图在物品展示框内的地图现在会占用整个方块表面,因此相邻的地图会连接得很自然现在会显示彩色羊毛和染色粘土的颜色,这延伸了地图所能显示的颜色范围每种不同的方块都会在地图上有不同的着色冰、传送门和水现在能透过彼此看到对方如果水与冰相邻,玩家无法透过冰看到水,但能透过水看到冰如果水与冰不相邻,则透过冰也能看到水现在在水下无法看到水面了铁栏杆和玻璃板现在会相互连接炼药锅炼药锅现在能消耗一层水来灭掉实体身上的火船不再会在搁浅时造成摔落伤害稍微改进了船被睡莲破坏的机制船已经恢复到以前的WASD控制请注意,A和D键只能在W键被按下时使用玩家现在可以在船上使用“疾跑”,这可以加快一点速度生物改进与更改铁傀儡现在会掉落罂粟而不是玫瑰爬行者现在能被打火石引爆僵尸减少了僵尸产生的延迟小僵尸和小僵尸猪人可以通过1米高的空间,但它们的碰撞箱仍是成年的大小女巫水肺药水被添加到稀有掉落物列表中现在会在被困在水下时饮用水肺药水被添加到低亮度生成的敌对生物列表中,它们现在会在任何亮度低于7的地方生成,包括每个生物群系的夜晚和洞穴中它们通常成双地生成它们的生成几率与末影人差不多沼泽小屋现在会连带女巫一起生成以往是先生成一间空小屋,再生成女巫
采纳率:33%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。我的世界 生存指南040 区块与生物图签_我的世界_腾讯视频我的世界陆地是无限的吗_百度知道
我的世界陆地是无限的吗
我有更好的答案
是有的;自从“边境之地”在Beta1.8版本被移除之后,许多人便认为从此MC世界是无限大了←_←算法理论上确实是无限大的(传说),然而能正常工作的世界有多大呢?仍然是有限制的,但不是传说中的地球表面积的8倍大,而是在X或Z坐标±三千万处。(版本为1.4.6)WIKI:在X或Z=±30,000,000起,游戏开始生成假区块,假区块中光照消失,方块不能再提供支撑。假区块只能由泥土、基岩、石头(或下界中的地狱岩)、水和岩浆组成。潜入水中,看到明显的右侧完全像没有水一样继续往下,无需打破方块就直接穿过了地面,而且发生了无法消除的透视证实了wiki:当玩家走过X=或/且Z=时地面可以穿过。而且小于三千万坐标的方块可以打破,大于三千万的位置完全打不到任何方块= =毫无障碍的在地底飞行过去,越过边界500多米证实了wiki:在快照 12w18a 后,假区块会继续向外生成,玩家可以越过32方块的界限。
不是,大概是地球表面积8倍,详见“边境之地”。半径是12,550,821的方形。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。我有资格说这个。&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&
看了上面好多回答,真的尴尬。我不是}

我要回帖

更多关于 x坐标 的文章

更多推荐

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

点击添加站长微信