問:如何在10個mc日裡,造好十萬隻Minecraft的箭?
有人會說:簡單!就在《我的世界》裡「草船借箭」啊!
一個典故:曹公攻濡須,權與相拒月餘。(裴松之注)魏略曰:(建安十八年214年)權乘大船來觀軍,公使弓弩亂發,箭著其船,船偏重將覆,權因回船,復以一面受箭,箭均船平,乃還——草船借箭原型。
劃重點:所以在歷史上真正借箭的並不是諸葛亮,而是孫權。在僅僅3天的時間裡,就用草船借到了曹操10萬支箭。(三國演義裡是諸葛亮借箭,但這只是個小說)
那麼《我的世界》如果運用「草船借箭」的思維,能否在10個mc日借到十萬支箭呢?
眾所周知:10個mc日=200分鐘=3個小時20分鐘。
Minecraft裡有「箭」的生物有二:其一是骷髏的弓;其二是掠奪者的弩;
然而你卻忽略了一個比較「打臉」的事實:原版Minecraft中,mc玩家不可以撿其他生物的箭矢。
當然,無法「借箭」這只是對於一般人而言。
我這個槓精,就是要在Minecraft實現「草船借箭」!
因為大家別忘了一個事實:那就是「箭」在MC是一個實體,而實體都是有NBT標籤的。所以,《我的世界》每一把箭,都有一個「pickup」標籤,0代表不可被撿起,1代表可被撿起。
而骷髏射出的所有的箭,實際上默認的pichup標籤都是0,也就是不可以被撿起。
於是,一個「命令」就浮現在了我的腦海之中:
execute as @e[type=arrow] run data merge entity @s
(解釋:data merge 這個指令是用來合併/修改實體的NBT標籤,所以它可以直接修改被射出來的實體箭矢的NBT標籤。所以把這串指令複製到命令方塊循環執行即可。注意,這是JAVA 1.12以上版本可用的指令。)
所以,在命令方塊中輸入這串指令後,無論是誰射出的箭,統統都將可以被玩家撿起來啦!
計算:我們需要在200分鐘內,收集十萬支箭。分解一下就是1分鐘需要收集至少500支箭,那我們至少也需要準備50隻骷髏,一隻骷髏在1分鐘射出10隻箭還是綽綽有餘的。
劃重點:究竟該如何「借箭」呢?
一張圖,讓我想到了小海龜。
/summon minecraft:turtle ~ ~ ~ 這條指令可以召喚出一隻沒有AI,待在原地不動。並且可以永遠保持「幼年」身材,不會長大的小海龜。(Age和NoAI標籤的作用)
於是草船借箭,實驗成功!準確來說,應該叫小海龜借骷髏之箭。下面是實驗結果:
靈魂暴擊:你都用上指令了,為啥不直接/give @s 十萬支箭?(PS:咳咳,我只是想在《我的世界》做個草船借箭的實驗罷了)
但不管怎樣,在Minecraft中利用「草船借箭」的原理收集十萬支箭,實驗成功!
一個「無限」附魔搞定
一定會有人說,最簡單的是「無限」附魔。然而弓是在2009年加入到了Classic版,而無限附魔直到2012年1.1版本才被加入。
那麼古代勞動人民,是如何在沒有無限的情況下,造出10萬支箭的呢?別無他法,只有「合成」。
一:10萬支箭需要2.5萬燧石;
二:需要2.5萬木棍=1.25萬木板=6250木頭
三:假設雞掉落1個羽毛;則需要養2.5萬隻雞;
顯然,這在生存模式下,是一個極大的工程!至少2.5萬隻雞,足矣讓你的Minecraft徹底崩潰了!所以這不僅看人,還得看設備的配置!
結論是:10個mc日裡,造好十萬隻Minecraft的箭,是完全可以做到的!