速度值設為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協議下使用)