我的世界指令详细教学 |
您所在的位置:网站首页 › 我的世界村民怎么都没了 › 我的世界指令详细教学 |
序: 本片专栏的目的在于让不是很懂指令的小白玩家可以自定义村民,可用于在原版自制pvp地图或服务器村民交易系统。 在本篇文章中,作者会把生成村民的指令掰开揉碎了交给你,可能会显得有些啰里啰唆,但一定是详细而又真诚的。当你耐心看完,并且一个一个的指令自己输入到游戏中,你就会发现自己不知不觉就学会了这些。 版本:1.12.2 基岩版可能不适用。 闲话少说,直接开始正题。 首先要有一个村民 生成一个傻子村民的指令如下 /summon Villager ~ ~1 ~ {Profession:5} 这条指令可以召唤一个村民:傻子。至于为什么是傻子,稍后会解释。在这里,同学们可以尝试将Profession后边的数字进行更改,从0到5。 关于村民的职业 每一位村民的职业都可通过其衣着判断。每一种职业还有对应的职业。可以在交易界面顶部的标题识别它们的职业。下表列出了几种村民与相对不同职业的职业,以及它们已经定义的ID。 村民职业介绍至于傻子 “这一开始是因为玩家可以使用命令生成没有职业的村民,这也是生成绿袍村民的唯一方式。每当我们发现我们的Bug被社区利用的时候,我们只是把它看成是“未定义的行为”,然后把它变成一个特性来“修复”它。在这种情况下,我们就只需要给绿袍村民一个职业。我不记得我们想出的第一个职业的名字是什么,可能是“失业”,又或者是其他名字,但这真的不适合这个世界,因为我认为其他村民没有被其他的村民所雇佣。因此,我想到的下一个名字是“白痴村民”,但我认为“傻子”这个名字更有趣。” ——Jeb about the Nitwit[1] 傻子村民是一种穿着绿色袍子的村民。玩家不能和他们交易(1)。 (1)作者注:在正常游戏中,玩家是无法与傻子交易的,因为他没有交易条目。但在我们的指令中,我们生成了一个傻子,并将要赋予他一些交易项目,为什么要这么做呢?因为如果生成一个有交易项目的村民,即有职业的村民,那么在我们给定的交易项目之外,他还会有他原版的交易条目,这显然会影响玩家的交易过程与体验。 这时我们发现:我们生成的这个村民会到处移动,这显然影响秩序。 这个村民不应该乱跑 那么现在我们对这条指令进行小小的扩充,如下: /summon Villager ~ ~1 ~ {Profession:5,NoAI:1b} 在这条指令中,我们关闭了村民的“AI”,他现在一动不动,像王八真正的傻子 好的,一个一动不动的工具人诞生了! 好吧,现在还不是工具人,充其量也只是一个肉靶。 而且连个名字都没有。 他应该有个名字 他是买卖普通物品的,我就叫他“普通物品”吧! /summon Villager ~ ~1 ~ {Profession:5,NoAI:1b,CustomName:"普通物品"} 在这条指令中,我们将这个村民命名为“普通物品”,当我们把鼠标放到他身上时,他的头上会冒出这个名字。 现在我一看到他,我就知道他是买卖普通物品的了! 但是我是一个腐竹,我将会有很多很多的村民,一个一个的看一遍才能知道他是干嘛的,岂不是很麻烦? 他应该把自己的名字像荣耀一样悬挂在自己的头上,让人远远的就能认出自己 再加一些设定! /summon Villager ~ ~1 ~ {Profession:5,NoAI:1b,CustomName:"普通物品",CustomNameVisible:1b} 好了,他已经做好成为一个工具人的觉悟了! 接下来就是给他一些交易条目了! py交易,get! 既然是奸商,那就一个铁锭换两个熟牛排吧! /summon Villager ~ ~1 ~ {Profession:5,NoAI:1b,CustomName:"普通物品",CustomNameVisible:1b,Offers:{Recipes:[{rewardExp:1,maxUses:9999999,buy:{id:iron_ingot,Count:1},sell:{id:cooked_beef,Count:2}}]}} 小白:哦,亲爱的上帝啊,这一坨玩意儿是什么? 不妨我们先看多出来的词条。 Offers:{Recipes:[{maxUses:9999999,buy:{id:iron_ingot,Count:1},sell:{id:cooked_beef,Count:2}}]} 仔细观察可知,这部分由两部分组成,一是外层的Offers:{Recipes:[写两个字占个位置]},二是内层的{rewardExp:1,maxUses:9999999,buy:{id:iron_ingot,Count:1},sell:{id:cooked_beef,Count:2}} 外层不必我多说,就来详细讲解一下内层。 其中: rewardExp:1的意思是:交易会产生经验,可以删掉不写。 maxUses:9999999的意思是:最大使用次数9999999次,一共七个九。 buy:{id:iron_ingot,count:1}的意思是:村民买入(即你在交易时须支付的) id为物品id,count为物品数量。 {id:cooked_beef,Count:2}的意思是:村民卖出(即你在交易时能买来的) id为物品id,count为物品数量。 现在有必要给这个村民开智了! 只卖一个东西怎么行呢? 下边的是我在自制pvp地图时所用到的 /summon Villager ~ ~1 ~ {Profession:5,NoAI:1b,CustomName:"普通物品",CustomNameVisible:1b,Offers:{Recipes:[{maxUses:9999999,buy:{id:iron_ingot,Count:1},sell:{id:cooked_beef,Count:2}},{maxUses:9999999,buy:{id:iron_ingot,Count:1},sell:{id:stone_sword,Count:1}},{maxUses:9999999,buy:{id:iron_ingot,Count:2},sell:{id:leather_chestplate,Count:1}},{maxUses:9999999,buy:{id:iron_ingot,Count:2},sell:{id:arrow,Count:5}},{maxUses:9999999,buy:{id:iron_ingot,Count:4},sell:{id:bow,Count:1}},{maxUses:9999999,buy:{id:iron_ingot,Count:5},sell:{id:iron_sword,Count:1}},{maxUses:9999999,buy:{id:iron_ingot,Count:8},sell:{id:iron_chestplate,Count:1}},{maxUses:9999999,buy:{id:diamond,Count:1},sell:{id:golden_apple,Count:1}},{maxUses:9999999,buy:{id:diamond,Count:2},sell:{id:diamond_sword,Count:1}},{maxUses:9999999,buy:{id:diamond,Count:3},sell:{id:diamond_chestplate,Count:1}}]},Attributes:[{Name:"generic.maxHealth",Base:1000f}],Health:1000f} 这条指令是在:生成一个村民,{职业是:傻子,无移动AI:是,名字叫做:“普通物品”,名字一直显示在头顶,提供:{买卖:【{(项目一)最大买卖次数:9999999,需支付:{铁锭,数量1},卖出:{熟牛排,数量二}},{(项目二)铁锭1——石剑1},{铁锭2——皮革胸甲1},{铁锭2——箭矢5},{铁锭4——弓1},{铁锭5——铁剑1},{铁锭8——铁胸甲},{钻石1——金苹果1},{钻石2——钻石剑1},{钻石3——钻石胸甲}】},属性:【{血量上限1000}】,血量1000} Attributes:[{Name:"generic.maxHealth",Base:1000f}],Health:1000f}眼尖且严谨的同学可能已经注意到这多出来的一条,血量上限1000,血量1000。这是为了防止玩家不小心把村民打死(在不使用其他方法时,这是个还不错的解决方案)。 注:指令要求全英文符号“半角符号”否则无法识别,血量上限的上限是1024,没法更多。版本1.12.2。java。 这时候肯定有人要问了,如果想让村民卖一些特殊东西,如附魔物品和模组里的东西时应该怎么办呢? 怎么办?加tag不就好了! 加tag /summon Villager ~ ~1 ~ {Profession:2,NoAI:1b,CustomName:"高级物品",CustomNameVisible:1b,Offers:{Recipes:[{rewardExp:1,maxUses:9999999,buy:{id:diamond,Count:4},sell:{id:"twilightforest:glass_sword",Count:1,tag:{display:{Name:"你过来啊!"},ench:[{id:16,lvl:20}]}}}]}},Attributes:[{Name:"generic.maxHealth",Base:1000f}],Health:1000f} 使用这条指令的前提是加入了暮色森林模组 因为"twilightforest:glass_sword"为暮色森林里的玻璃剑。 因为物品id中含有冒号,系统识别时会识别错误,所以要在外边套一个引号。 这个村民是四个钻石卖一把名为“你过来啊!”且带有锋利20附魔的玻璃剑。 tag:{display:{Name:"你过来啊!"},ench:[{id:16,lvl:20}]} 在这里,我把tag单独拎出来供大家观摩,这个东西直接放到sell的花括号里就行。 其他基本知识 指令要求全英文符号输入 如果想知道附魔id,再百度上很容易就能查到 很有可能会用到的指令: /give @p command_block给予玩家一个命令方块 /give @p diamond_sword 1 0 {display:{Name:"不好意思放错了"},{ench:[{id:16,lvl:10000}]},Unbreakable:1b}给予玩家一把名为“不好意思放错了”且附魔锋利10000的不毁钻石剑(用以击杀放错了的村民) 好了,到这里就结束了,容卑微的up要个赞,这么详细的教学,一个赞不亏吧? 嘿嘿,如果还有有问题,可以私信小up或再评论区留言,小up不一定在,但有空一定会看的 爱学习的同学们可以查看相关资料,下方附有链接 资料来源:https://minecraft.fandom.com/zh/wiki/%E6%9D%91%E6%B0%91/%E6%9D%91%E5%BA%84%E4%B8%8E%E6%8E%A0%E5%A4%BA%E5%89%8D |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |