我的世界命令方块做速度最大生命+20的钻石剑

 我来答
inapp
2018-01-14 · TA获得超过260个赞
知道小有建树答主
回答量:69
采纳率:84%
帮助的人:45.2万
展开全部

速度值设为20是不是大了点。。。我写成+20%吧

先从结论说起。指令如下:

/give @p diamond_sword 1 0 {AttributeModifiers:[{AttributeName:"generic.maxHealth",Name:"generic.maxHealth",Amount:20,Operation:0,UUIDLeast:894654,UUIDMost:2872},{AttributeName:"generic.movementSpeed",Name:"generic.movementSpeed",Amount:0.2,Operation:1,UUIDLeast:894654,UUIDMost:2872}]}

据说大多数的同学看到这里就可以下课了,但是我觉得还是有必要来对此探探幽,毕竟授之以鱼不如授之以渔,对吧?

做出这种效果,使用的是minecraft一种名为属性的系统。

现在,我们不妨将后面的json拆开,一探究竟。

{

AttributeModifiers: [

{

AttributeName: "generic.maxHealth", 

Name: "generic.maxHealth", 

Amount: 20, 

Operation: 0, 

UUIDLeast: 894654, 

UUIDMost: 2872

}

.....

]

}

啥?这是啥?有些同学可能要这么问了。不过别急,我们来一行一行慢慢讲

{//这是json的固定开头格式。

AttributeModifiers: [//告诉minecraft从现在开始是属性部分

{//json的格式

AttributeName: "generic.maxHealth", //属性名,貌似必须与下面的名称吻合

Name: "generic.maxHealth", //名称,貌似必须与上方的属性名吻合

Amount: 20, //属性的量。作用效果与下方的运算模式有关。

Operation: 0, //运算模式。0为简单加法运算(如+20 最大生命),量就是加上的数值.;1为加乘法运算(如+2000% 最大生命),量为加上的百分比除以100后的值. 

UUIDLeast: 894654, //UUID部分1

UUIDMost: 2872    //UUID部分2

}//json的格式

.....//偷懒省略一段

]//告诉minecraft属性部分到此为止

}//这是json的固定结尾格式

注.学过程序语言的同学可能会发现,我用了注释格式来说明。实际上json是不能使用这种格式的。

修改字符后,将多余的空格删去,便可以加入指令中使用了。

其他的属性名是?UUID是什么?只想让属性在指定位置装备时生效该怎么做?请至-->网页链接

(攥写者攥写本回答使用了部分来自于minecraft wiki的资料。原页面网页链接,在CC-BY-NC-SA 3.0协议下使用)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式