UU看書

第三十九章 particle-在MC裡做特效

天才一秒記住【UU看書】地址:www.uukanshu.co

MC裡有一種東西,會在很多地方出現。它不會傷及到任何人,也不會和方塊互動。

它經常在岩漿上跳躍;經常在擁有效果的玩家身邊出現;也經常在地下的紅石礦周邊逗留。

它是什麼?粒子效果。

粒子效果很容易被忽視,因為它沒有實際的作用,只是一種特效。但是如果沒有粒子效果,那麼整個Minecraft將會發生一次大改變:岩漿不再向外噴火、玩家有效果時不再有外部提示、破壞方塊再無特效

因為使用粒子效果可以更好的建設Minecraft,所以粒子特效被很多大型伺服器所用。

看起來粒子效果很高階。其實,使用粒子效果只需要一條指令:particle。

particle,意為“粒子、顆粒”。所以,其大致的功能就已經猜到了:肯定跟粒子有關係(不然為何使用了200多字講粒子)。在很多指令玩家中,particle有一個外號:“粒子發射器”。

particle

作用:在一個區域內生成一些粒子。

需要許可權等級:Java2,基岩1

需要作弊:是

格式:

Java1122之後

particlelt粒子IDgtlt座標:xyzgtlt延伸座標:dxdydzgt速度數量模式forcenormal目標玩家:目標選擇器

Java113之前

particlelt粒子IDgtlt座標:xyzgtlt延伸座標:dxdydzgtlt速度gt數量模式:forcenormal目標玩家:目標選擇器引數

基岩

particlelt粒子IDgtlt座標gt

particle最簡單的使用方法就正如基岩版一樣,一個粒子ID加座標就搞定了。比如:

particlebubble

就可以生成一個泡泡粒子。

下面作者列出一些粒子ID:

hugeexplosion——超大爆炸

largeexplode——大型爆炸

ireworksSpark——煙花火箭飛起來的特效

bubble——泡泡

crit——跳劈擊打的效果

smoke——煙霧

mobspell——黑色圈形顆粒

spell——白色圈形顆粒

instantspell——白色X形顆粒

note——音符盒的音符

portal——地獄門和末影人周圍環繞的紫色顆粒

enchantmenttable——從書架飄向附魔臺的文字(聽說這個有點意思)

explode——爆炸

flame——刷怪籠刷出一次怪物時出現的火花

lava——岩漿飛濺出的火花

footstep——腳印(好像在某些版本時玩家走路時會有腳印粒子)

splash——濺起的水花

largesmoke——大型煙霧

cloud——雲類似煙霧

reddust——黑色的顆粒

snowballpoof——雪球打到生物時雪球破碎的效果

dripwater——天花板滴下的水

driplava——天花板滴下的岩漿

snowshovel——白色的顆粒

slime——史萊姆跳動時的綠色粒子

heart——愛心

wake——藍色的顆粒

mobspellambient——淡灰色的圈形顆粒

angryvillager——村民生氣的粒子

happyvillager——村民快樂的粒子

如果你對這些粒子不滿意,你還可以自定義粒子效果。

在Java113版本,使用dust、block和item可以自定義一些粒子效果:

dust可以自定義粒子煙霧的顏色:

particledustlt紅色佔比gtlt綠色佔比gtlt藍色佔比gtlt大小gt

這裡的四個值以1為100,從00開始,到10。比如生成一個30大小的藍色粒子:

particledust00130

item可以生成指定物品被破壞時的粒子:

itemlt物品IDgt

比如生成一個鑽石被破壞的粒子效果:

particleitemdiamond

block可以自定義破壞方塊顯示的粒子:

particleblocklt方塊IDgt

比如particleblockcommandblock,就可以生成一個破壞命令方塊時的粒子效果。

在Java版,particle有更多的引數可以自定義:

延伸座標——還記得之前講的目標選擇器的“dx”、“dy”、“dz”嗎,這裡的延伸座標就是這個意思。不記得的趕緊回到第二十五章:更加精確的目標選擇器。指定後粒子效果會均勻生成在指定的範圍內,在113版本之前為必填項。

速度——指定顆粒飛行的速度。預設是0,且至少為0,在113版本之前是必填項。

數量——指定顆粒生成的數量,不填預設為0,且至少為0(產生一個粒子)。

模式——指定顆粒的顯示模式,可以選擇“force”和“normal”。

force:強制設定顆粒的顯示範圍為256格,包括已經設定好顆粒效果的可視距離的玩家。

normal:正常情況(預設的情況,真的是正常的)

目標玩家——指定可以看到該粒子效果的玩家。

舉個例子:

executeaparticleheart1020310normals——僅Java113之前

上面這條指令的作用是:在所有玩家身上顯示10個朝上飄的愛心,並且此粒子效果只能由該玩家看到。

在Java版113版本之前,沒有dust、block和item該怎麼自定義粒子效果呢?

看到那個在Java113被移除的叫做引數的引數了吧?這個引數只能在粒子ID是blockdust、iconcrack、blockcrack和fallingdust時修改。

唉,發現了沒有?

blockdust是方塊破壞時的粒子,blockcrack是方塊挖掘時的粒子,在113中合併成了block粒子效果。iconcrack是物品破壞時的粒子效果,對應了113版本更新後的item。fallingdust是煙塵效果,對應了113版本之後的dust。

blockdust和blockcrack的引數是這樣的:

最終引數值方塊數字ID方塊資料值×4096

我勒個去,Mojang你是神好吧,舉個例子,假設你要在Java1122搞到紅色羊毛被破壞的粒子效果,那麼你就得先知道羊毛的數字ID是35,然後知道紅色羊毛的數字ID是14,再然後透過計算器計算:

3514×4096

3557344

57379

最後輸入指令particleblockdust111010normals57379。

恭喜你,你搞到了紅色羊毛的粒子效果!

需要注意的是,這裡僅支援數字ID,不支援字串,所以這裡也算是MinecraftJava18更新時的一個殘留。

fallingdust也不同於113版本後的dust,顏色並不能自定義,而是有一個現在已經很難找到的顏色ID。

iconcrack和113版本後的item差別不大,其引數有兩個(Mojang你終於智商線上了),分別是物品數字ID和資料值。

在Java113之前的版本fallingdust並不能自定義顏色,但這不代表沒有粒子效果可以自定義顏色。

當粒子效果是reddust、mobSpell或mobSpellAmbient時,延伸座標、速度和數量引數將不再是普通的引數,而是:

延伸座標——速度引數>0、數量0時,為粒子顏色RGB值,1為100,dx為紅、dy為綠、dz為藍。

速度——不等於0且數量0時,作為顏色RGB值的乘數

數量——為0時可自定義,大於0時顏色會隨機(即變成彩色),並且延伸座標和速度變為本來的作用

神奇的是,這三個粒子效果在113版本更新後還在,只不過稍微有億些改動:

reddust變成dust,並擁有了自己的格式。

mobSpell和mobSpellAmbient變成了entityeffect和ambiententityeffect,雖然沒有自己的格式,但原本的延伸座標作為RGB顏色值的格式仍在,且格式基本差不多,甚至在Java1171版本中都還可以使用這個及其離譜的格式!

(本章於2021年8月末大修時大改)

歷史

Java

18——加入了particle命令和force顯示模式

19——加入了“目標玩家”和“引數”引數

113——更改了粒子名稱,“引數”引數慘遭刪除,將部分particle引數改為選填。加入了dust、block、item特殊格式,移除了fallingdust、blockdust、blockcrack和iconcrack。

基岩版和攜帶版

105——加入又移除了particle

180——又加入了particle

190——加入了一些新的粒子

1120——加入了些新的粒子

如遇章節錯誤,請點選報錯(無需登陸)

新書推薦

與美同居 回到黑暗的初中時代 網遊之第九次世界大戰 諸天從傳奇開始 開局最廢草系法師:但我是隱藏sss級 絕頂槍王 我真是最強中單