本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情… 本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。

教程/指令方塊

出自 Minecraft Wiki
前往: 導覽搜尋
Ic translate.svg
此頁面的(部分)內容需要被翻譯。
你可以幫助我們來翻譯此頁面
Cleanup.svg
該文章需要整理以符合樣式標準 討論
如果您可以,請幫我們優化文章樣式來讓它符合樣式要求。討論頁可能包含一些建議。

指令方塊是一種幫助和支持冒險模式、SMP的自動化和自訂地圖。如果你想了解更多細節,請參見指令方塊頁。如果你不知道在某些指令中如何設置x,y,z的值最好先看看坐標

一般的應用[編輯 | 編輯原始碼]

指令方塊可以使用在許多事情,改變難度,改變天氣的狀態,或者給你預先指定的物品。他們在這些領域特別有用:/weather/time set x 指令。他們只能在作弊模式之外。 /time set x 指令很有用,它允許你改變當前預定時間再按下一個開關。

指令方塊也可以被用來使文本出現在人的聊天菜單。指令是 tell @p <信息>, 或者 tell <玩家名> <信息>。如果加上@p在tell的後面,那麼只有最近的玩家會看到信息。 而如果制定了一個玩家名,那麼對應的玩家會看到信息。 你也可以輸入: /tell <玩家名> ,當有人走過時,它會跟你說:「@ 悄悄地 對 <玩家名> 說:」。

你可以用以下指令去改變難度:/difficulty x,0=和平,1=簡單,2=普通,3=困難,或者在後面直接打上難度的名字,例如:/difficulty peaceful

另外一種使用指令方塊的方法是使用代碼/tp @p <目的地坐标>在兩個不同的基地之間傳送。

給予一個隨機玩家一個物品並告訴所有人[編輯 | 編輯原始碼]

餅乾給予器 5000X

這個裝置會給予一個隨機玩家五個餅乾,然後告訴所有人。

首先創建一個記分板(名字任意,注意除非在你測試時,不要顯示它),比如說「cookie」(餅乾)

/scoreboard objectives add cookie dummy cookie

第一個指令方塊的指令:

/scoreboard players set @r cookie 1

第二個和第三個指令(兩者可顛倒,但要同時被激活)

/say @a[score_cookie_min=1] has been given 5 cookies.

/give @a[score_cookie_min=1] minecraft:cookie 5

第四個指令方塊的指令

/scoreboard players set @a[score_cookie_min=1] cookie 0

"I" 代表輸入紅石信號端。(建議可使用循環紅石電路)

也可以用

/give @r cookie 1

傳送[編輯 | 編輯原始碼]

你可以通過使用/tp x y z來傳送。其中y表示上下方向的移动,x和z表示前后和左右方向的移动,玩家可以通过这个命令传送到(x y z)这一个坐标的位置。如果要以目前站的位置为标准进行传送的话就只要在x y z前面加上一个~即可,例如/tp ~x ~y ~z。如果当玩家位于(x y z)坐标为(-36 96 -12)的时候输入/tp @p ~3 ~4 ~5,這時他會被傳送到(-33 100 -7)这个坐标,和玩家输入/tp @p -34 100 -8是一個效果。

玩家安全系統[編輯 | 編輯原始碼]

指令方塊同時也可以用來製作安全系統。 只要在你房子入口的鐵門前放置一個壓力板,輸入指令:/tp @p[r=<半径>,name=!<你的名字>] <x> <y> <z>。對於怪物,簡單的柵欄或熔岩護城河就能達到目的。

自動人行道[編輯 | 編輯原始碼]

類似於電梯的概念,用於使生物沿x或z坐標移動。 這可以通過以下方式創建:

  • 使用/fill指令加上你的坐標。 (比如/fill x y z x2 y2 z2)
  • 對於填充的塊,使用這個:command_block 1 replace{Command:/tp @p ~-1 ~ ~}
  • 編輯括號內的坐標,以改變您將移動的方向。
  • 將壓力板放在所有指令塊的頂部。
  • 在這一步,你可能想把指令塊提示關閉…因為聊天會被提示瘋狂刷屏。

永恆的白天[編輯 | 編輯原始碼]

Time reseter .png
  • 在13w24a,可通過在聊天框設定/gamerule dodaylightcycle獲得永恆的白天,可以輸入/gamerule doDaylightCycle false,以及/time set 6000

通過使用蛛網和礦車,你可以使用 /time set 0跳過夜晚。一個礦車需要31秒穿過一個蛛網。因此,通過使用23個堆疊的蛛網和檢測器軌道和幾個動力軌將使太陽保持在天空中。

或者,你也可以在一個木製壓力板上使用一個物品去實現。物品每5分鐘就會釋放出來,這時它會觸發一個指令方塊將時間重置為0,還會觸發一個發射器(或投擲器)將一個新物品扔到木製壓力板上。5分鐘是一天的周期,並且會在怪物產生之前觸發重置時間。然而,這個方法被限制在該區塊被加載後的64×9=576個周期,即48個現實小時的遊戲時間。在快照13w01a和更高版本中添加了漏斗,可以挑選物品並將它們存入儲物箱。在怪物磨床中,可以在發射器中填滿火藥或者腐肉。 另一種方法是使用指令方塊創建(例如/summon Item ~1 ~0 ~1 {Item:brown_mushroom})。這樣做的好處是它不像使用發射器那樣有64×9的格子限制。

這兩種方法都要求保持區塊加載以使系統工作。


或者你可以將指令方塊連接到一個重複的紅石脈衝,例如一個5分時鐘,某種類型的循環,或者如右圖所示的日光感測器。為了防止聊天框被刷屏,使用指令/gamerule commandBlockOutput false關閉指令方塊在聊天框上的消息輸出。注意:這個方法可以使用不同的指令來設置各種各樣的東西。(比如,要使天氣永遠晴朗,在循環中添加另一個指令方塊,並使用指令/weather clear。)

為了可以在不同功能之間切換,可以在指令方塊前設置一個與門,在一邊放置一個控制桿,在另一邊設置一些電路。


使用日光感測器是永恆之日的一種更直接的方法。

Automatic Time Resster view 1.png Automatic Time Reseter view 2.png

當沒有足夠的亮度日光感測器在遠處為紅石火把供電時,傳感器會停止充能並啟動指令方塊,將時間設置為8000。換句話說,當亮度太低時,指令方塊會將時間設置為中午。當指令被激活時,亮度會隨著紅石線的距離而變化,它設置的時間隨在指令方塊中輸入的時間而變化。

Automatic Time Reseter view 3.png

要做到這一點,首先,你要把日光感測器放在一個開放的區域。然後你從它相鄰的位置開始向遠處設置一些紅石線紅石線的距離取決於你需要多少延遲的時間。你最多只能有15個紅石線日光感測器發送信號到它的另一端。接下來,在紅石的另一端放一個方塊。把紅石火把放在這個方塊的一側,並在火把頂部設置一個指令方塊。右鍵單擊指令塊輸入指令,指令以/time set開始,以有效的時間值結束。這個值即為指令方塊在觸發時會將時間設置到的數值。晚上是14000,中午是8000。

Automatic Time Reseter.png

這種設計可以在地圖上使用,使之保持在特定的時間。但這個簡單的裝置只能用在創造模式或者開啟作弊時。

還有一種更緊湊的設計。如果你把一個日光感測器作為一個紅石比較器的第一個輸入,一個強度為15的紅石線(紅石磚紅石火把)放入第二個輸入,然後將比較器設置為減法模式,則比較器將會在中午之後立即啟動。

輕鬆設置日/夜[編輯 | 編輯原始碼]

指令方塊上放置日光感測器,然後按下使用鍵,將其設置為夜光傳感器。 將指令/time set day添加到指令方塊中。或者如果你希望永遠是夜晚,你可以添加一個日光感測器,不要右鍵單擊它,然後將/time set night添加到指令方塊中。

無線紅石[編輯 | 編輯原始碼]

可以使用指令方塊計分板系統實現無線紅石。該過程涉及使用計分板變量,該變量由附加到時鐘電路輸出的指令塊進行搜索。然後在無線輸出指令塊上使用紅石比較器,該指令塊在發現變量為真時觸發。

無線紅石也可以通過使用對象而不是變量來實現。如果輸出指令塊設置為嘗試刪除一個不存在的對象,則可以通過通過指令塊或聊天指令添加said objective來創建紅石信號。這種方法對於變量法的優點是它不依賴於參與者。

為此,在在輸入處放置一個指令塊,並鍵入指令/scoreboard objectives add <对象名> dummy,在輸出位置放置一個指令塊,輸入/scoreboard objectives remove <对象名>,將其連接到時鐘電路上,然後在指令方塊外面放一個紅石比較器,然後放一個紅石中繼器。然後使用紅石中繼器作為輸出。

你還可以通過使用/setblock而不是計分板系統來實現無線紅石。你所要做的就是讓指令方塊將一個與空氣方塊或任何不輸出信號的東西相鄰的紅石磚的坐標設置為目標坐標,並且與一個連接到反向信號的指令方塊一起設置為相同的坐標。

無線按鈕[編輯 | 編輯原始碼]

從技術上講,這可以在任何方塊上完成,但是按鈕、槓桿和其他可以交互的方塊可以增加有趣的效果。雖然在伺服器上非常神秘,但它其實很簡單。它使用了1.8的指令/testforblock。它只是一個指令方塊、一個將指令轉換為紅石信號的紅石比較器、一個要測試的方塊和一個重複激活指令方塊的時鐘電路。這是一個無線按鈕的示例:/testforblock 123 12 123 stone_button 10。輸入要測試的特定方塊的坐標和名稱,在本例中是位於123 12 123石質按鈕。這可以使用在任何可更改數據值的方塊上。坐標之後的數字10對應於我們希望指令方塊測試的按鈕的數據值。在本例中,當按下面向西部的按鈕時,我們希望指令方塊激活,因此將該值設置為10

注意:這個值根據方塊狀態變化,沒有按下的面向西部的按鈕的數據值是2。當一個按鈕被按下時,它會在初始狀態中增加8的值,所以當按下時,一個面向西部的按鈕的數據值是10。關於數據值,請參考按鈕#數據值控制桿#數據值

入門套件[編輯 | 編輯原始碼]

通過使用 m=, 你可以在(伺服器)地圖上製作一個只能獲得一次的套件! 首先, 在地上挖 3個方格, 然後放置一行指令方塊(工具包中的每個物品一個)。 在指令方塊的界面中, 輸入 /give[m=<初始游戏模式>] <物品ID> <数量>。這樣他們會獲得你所希望給予他們的物品。 在一個額外的指令方塊裡面輸入 /gamemode <一个不是初始游戏模式的模式>, 然後用紅石連接整個指令方塊串 (這件事因通過潛行模式下放置方塊變得更容易)。 把洞填起來然後放上壓力板。 當玩家走過去,他們會得到他們應得的工具包,他們因為改變了他們的遊戲模式所以他們不會獲得更多的套件 (除非作弊) (注意:該方法也可以通過使用以下方法來完成 (首先命名你的套件, 輸入 /scoreboard objectives add <kitName> dummy <kitName>) 這個計分板指令! /give @p[score_<kitName>=0] <item id> <amount> 為了這一串給予物品的指令方塊,然後 /scoreboard players add @p <kitName> <任意大于0的数字> 讓他只能使用一次。 同時你也可以重複這些步驟使用一個不同的計分板名稱 <kitName>)。

作為壓力板的替代品[編輯 | 編輯原始碼]

是不是已經厭煩了壓力板只有四種材質可用了呢(石質,木質,鐵質和金質)?現在你可以不再為這個問題困擾了。你可以使用包含指令/testfor,區域大小的帶有時鐘電路的指令方塊來代替壓力板了。指令/testfor @p[r=2]會檢測2格內(朝任意方向兩個方塊加上指令方塊本身的區域內)是否有任意玩家。當指令方塊在一層地板下面的時候,r=2剛好是希望達到的效果。記住玩家是在一個球形區域內(而不是方形區域)觸發這個指令的,所以r=2的區域大約是5*5*5,r=1的區域大約是3*3*3(其實更像是一個+號上下各加一個方塊)。你可以用dx,dy,dz這些參數來編輯指令。你也可以在代碼里指定xyz坐標(比如/testfor @p[x=50,y=64,z=46,r=1]),但是注意不能把區域縮小到一個方塊。因為在不包含坐標的指令中區域大小代表著指令方塊本身加上周圍r個方塊厚的區域,對於指令方塊來說比較合理(如果縮小到只有一個中心方塊,那就只有你站在指令方塊那個位置時才會觸發指令了,所以並不合理)。至少來說一個r=1的觸發區域(即+號上下各加一個方塊)可以被埋在地層下,只露出上表面,前提是你知道玩家不可能在地表下兩層的位置行走。如果實現這一效果且不使用xyz坐標則要求指令方塊嵌在地表上,可以被玩家看到。

在單機非創造模式地圖中使用指令方塊[編輯 | 編輯原始碼]

通過gamemode也可以使你在单机非创造性地图中使用命令方块,简单的切换游戏模式可以使用 gamemode 1 然后将命令方块的命令设置为您想要的任何内容, 最后使用gamemode 0切换回生存模式。 命令方块只是需要在创造模式下设置,但切换至生存模式仍然可以正常运作。

他也可以被用于传送(例如一个遥远的要塞,在地下挖矿,或者在一个浮空岛)。 如果他需要你花了很长时间才能到达那里,然后你不介意他是一种软作弊, 这样你可以建立起一个传送系统。请确保你在设置命令方块的时候是创造模式(请使用 gamemode 1。 如果你并没有开启作弊选项,打开局域网模式设置打开作弊),但你还是可以在生存模式中使用它。在打开的命令方块的界面中输入tp @p x y z 。 然后, 用红石 (包括按钮,拉杆,压力板)激活这个命令方块,然后你就会被送到远处的目的地。你可以建立多种不同的传送器。这也可以用于跨越大面积的大型项目,或者如果您将箱子从旧房子转移到新房子。

探险家地图绘制[編輯 | 編輯原始碼]

如果一个人希望创造一个单人玩家的探险家地图,做 /publish指令來讓其他的指令(見下方)被使用。

在多人中的應用 (SMP)[編輯 | 編輯原始碼]

這個章節詳細介紹了指令方塊多人遊戲中的應用。

  • 傳送/運輸

通過 /tp指令,可以製作一個所有人都可以使用的傳送裝置。可以在每個地方都使用。 例如,在整個世界裡做一個龐大的傳送系統,所有的傳送點入口都匯集到傳送大廳中,而傳送大廳可以進入每個傳送點入口處進而達到出口。這樣就可以建造一個「快速交通中心」了。

  • "定格動畫"

通過使用/tp,或者Minecraft地圖編輯器,例如MC地圖編輯器可以複製一張圖片(利用方塊做出來的繪畫),然後粘貼到一處遙遠的地方,並變動繪畫的一些方塊,利用一些壓力板或者絆線鉤,在玩家短時間欣賞繪畫後,指令方塊做出/tp指令,將玩家傳送到下一張繪圖點. 如果大量的複製粘貼這樣的零件,讓玩家按順序的在這些之間傳送並稍稍弄出一點點的延遲,那麼玩家就會產生幻覺,認為這個繪畫是在運動的(甚至認為是某MOD做出來),這就是利用指令方塊來實現定格動畫技術。

1.7+里可以使用/setblock來直接放置和刪除方塊,利用/setblock還可以免除傳送時不必要的卡頓和一大堆的房間,而1.8+的/fill更是可以極其方便地放置大量的方塊。

  • 抽獎

/give @r指令,可以創造一個抽獎。但是記住, /give指令是直接把物品放進他們的背包,而不是放在他們面前。

  • 監獄

通過連接高頻紅石到一個指令方塊和用/tp指令,你可以強制玩家留在某個地方。如果你想讓這個方法成為可行的,在你的聊天窗內使用指令/gamerule commandBlockOutput false。使用"Range"(最大範圍)和"Minimum Range"(最小範圍)兩個參數,你可以在玩家離開一定距離後再將他們傳送回來。

  • 只針對管理員

如果使用參數[m=1],那麼只有創造模式的玩家才會受到這條指令的影響,當然輸入m=0既只對生存模式的玩家有效。

  • 戲弄創造模式玩家

你可以放置一個指令方塊,輸入「/tp @p[m=1] <坐標>」或者一些整人指令。當創造模式的玩家激活這個指令方塊就會被傳送到某個地方或者變成生存模式,好無聊的惡作劇!

  • 公告

註:使用AutoMessage等服務端插件就可以達到自動公告的功能

通過在指令方塊中使用 /me,可以創造一個無人自動廣播(需要連接循環紅石等不斷發出激活信號的紅石元件),不需要OP,用1.7+的新指令/tellraw {text:"<信息>"}可以免除開頭的[@]並且可以做到懸浮事件和點擊事件等。

  • 安全掃描

註:大部分伺服器管理插件支持封禁危險物品。

使用 /clear指令, 你可以清除玩家背包中的某物品。具體步驟是這樣的,使用 /clear @a(或者某玩家ID) <清除的物品名>。如果想實現自動清理危險品需要連接循環紅石。

  • 比賽裁判

使用/say @p,指令方塊就能報告最近的玩家。如果指令方塊放在終點線後,他會很方便的說出贏家,但是/say會給所有玩家發送信息,為了防止刷屏,建議使用/tell或/tellraw。

  • 建立保護區域

註:Residence等伺服器領地插件的拓展插件可以實現領地內遊戲模式的變化。

你可以通過指令方塊創造一個「創造/生存模式區域」,但是很繁瑣。可以通過用指令方塊的範圍限制來製作一個「圍欄」,通過圍欄的玩家會變成生存或創造模式。在指令方塊中輸入指令 /gamemode 2 @a[x=<区域中心坐标> y=<区域中心坐标> z=<区域中心坐标> r=<最大的玩家搜索半径> rm=<最小的玩家搜索半径>] 这样放置两个搜索区域不重合的命令方块,就可以将规定半径内的玩家改变模式。

  • 无插件PVP

使用命令 /gamerule keepInventory true 来关闭玩家死亡后的物品掉落(同样在重生后会保留物品和经验等,所以需要在玩家重生后清空背包) 。使用 /give @p <物品ID>可以给予玩家武器(可以添加NBT标签),你可以设计一套完善的职业系统,玩家选择不同的职业会有不同的装备。使用 /spawnpoint [x y z坐标] 设置玩家重生地点,使用 /tp [x y z坐标]移动地图中的玩家到指定区域。

  • 新手工具包

你可以很简单的给新手工具包不用任何插件使用命令方块: "/give @p[r=2] 274"。 為了防止有人第二次按下按鈕得到他們的工具包,您可以設置按鈕激活兩個指令方塊:: 1. "/give @p[r=2,m=2] 274" 2."/gamemode 0 @p[r=2]"(玩家一開始是冒險模式,獲得工具包後調成生存模式,然後再限定工具包僅限冒險模式能拿即可)

  • 特殊的彩字

雖然你不能夠直接輸入彩色/粗體/斜體文本到指令方塊中,但是通過McEdit濾器可以編輯那些伺服器內的文本。基岩版可以使用§來進行文字的變色、甚至是亂碼(§k)。 SethBling's McEdit Filter: ColourCommandBlockText

同時/tellraw可以直接利用color等參數來弄出彩色字體

  • 警報系統

當玩家走上踏板時,他能觸發指令方塊 /say @p <警告內容>

  • 獎勵屋

如果某個玩家在伺服器有著過人的貢獻或者有元老資歷,但卻不足給他管理,你可以獎勵他一組鑽石或者一些奇怪的東西.... 創建一個只有通過傳送指令才能進入的房間,將有卓越貢獻的玩家傳送進去,玩家會激活房間中的指令方塊從而獲得獎勵,而後他又會被另一個指令方塊傳送回原地,如果伺服器允許/back的話,連續2次傳送到原點,這樣/back就無效了。(可以避免玩家二次領取獎勵)

  • 天氣機

使用/toggledownfall/weather thunder來開始或者結束降雨(雷雨。)合理安排這個指令的權限會十分有用, 你可以順隨自己的意願開始或停止降雨。這個技術可以用於村民和一些由降水控制的紅石機械,不用輸入任何指令就可以控制天氣(需要管理員激活指令方塊自動執行), 合理利用將會十分有效,比如在森林火災時或者在雨天刷怪

  • 有獎競賽

使用/tp @p 和 /give @p,你可以製作一個障礙賽跑或者獎勵迷宮,遊戲結束後就將玩家傳送匯出生點或其他地方。

  • 時間機器

在地圖上模擬兩個十分相似的環境,通過指令方塊將玩家從一個傳送到另一個,並且時間也會被設置為開始的時刻,這就好像是時間倒退。 註:可以廣泛用於劇情RPG地圖。

  • 地雷

使用指令/testfor @p[r=<检测范围>,name=<玩家名(如果没有限制可不写)>] 使用紅石中繼器連接指令方塊和TNT,當指令方塊檢測到有玩家經過就會激活TNT!Boom! 註:指令方塊的/testfor指令為一次性指令,指令方塊檢測到一次就會一直輸出信號,如果需要多次性的話,你可以直接使用/summon召喚出TNT。

  • 安全門

通過使用 /testfor @p[r=5,name=<房主>],指令方塊會在一定範圍內檢測房主並且為他開門,也只會為他開門。 註:指令方塊的/testfor指令為一次性指令,指令方塊檢測到一次就會一直輸出信號。

在自訂地圖中的應用[編輯 | 編輯原始碼]

這一節詳細介紹了指令方塊在自訂地圖的應用。

Minecraft中使用大量指令方塊的地圖有很多優勢。 比如:SethBling's TF2 Map

https://www.youtube.com/watch?v=_f2brU8hBWc&feature=plcp

另一個優秀的應用例子是 Hypixel's Gladiator Arena,這個地圖中的戰鬥職業系統完全依賴於指令方塊。

https://www.youtube.com/watch?v=jryJkWcqmzM

  • 「沉默的」指令方塊

在地圖中控制指令方塊不輸出提示信息很重要,這可以保持玩家對地圖的未知性和劇情的隱蔽性,如果玩家看到了各種指令的提示信息,地圖將會索然無味。 關閉指令方塊輸出信息(除非是/say這類的指令)使用/gamerule commandBlockOutput false就可以實現。

  • 庇護所/角斗場

使用壓力板或者絆線 (以安全城堡為例)設置進入城堡內的玩家為和平模式(對於不同區域視情況而定)。城堡大門可以有連接指令方塊的絆線,玩家一旦走過絆線,激活指令方塊,就會變為和平模式,這樣就可以創造一個「避難所」。反之,你可以用同樣的方法創造一個「困難模式區域」,所有玩家進入會變為困難模式。

  • 對於不同遊戲模式玩家的控制

使用值[m=1]你就可以設置指令只對創造模式的玩家有效,生存模式就是[m=0]。 例:傳送所有創造模式的玩家到254,47,-874,使用的指令為 /tp @a[m=1] 254 47 -874

  • 「聯合」住宅

在房間的入口或者出口設置一個 /tp 指令的指令方塊,你不必將你的建築都在同一個地方建設,它們可以在任何地方,只需要入口的指令方塊傳送過去,玩家會忽然覺得外面感覺很小的建築內部空間竟如此之大。用這種方法聯合多個建築,可用作與伺服器或單人地圖中的場景瞬移。

  • 出生地

使用 /spawnpoint 可以設定玩家出生地點。(應用十分廣泛,PVP地圖,RPG地圖等等)

  • 熔岩跑酷

之前的內容提到過,/gamerule keepInventory true可以在玩家死後保存背包物品。 在跑酷地圖的出發點設置一個這樣的指令方塊,就可以使掉落熔岩死亡的玩家不會丟失物品,同時記錄點可以用/spawnpoint來做。

  • 我要睡覺!

使用 /spawnpoint 可以直接設置出生點,但是要跳過白天就需要 /time set <时间> 指令,18000為夜晚(並非絕對,可以按喜好設置,不要少於12500),這樣就可以模擬出睡覺的效果了。(可用/time set 700 直接轉為白天,/spawnpoint指令和/time set 700配合不就行了麼?)

  • 時間和天氣下的場景

比方說,你的地圖開始在一個寒冷的暴風雨之夜,你可以設置突然天晴了,外面有燦爛的陽光(光影mod麼?)!或者,如果你想開始一個光明的一天,想讓雨突然下起來又沒辦法?不要怕,有/weather指令。只需使用/weather,輸入就行了!你也可以使用/time set輸入:0是凌晨,6000是中午,12000是黃昏,18000是午夜(月亮還掛在頭上吶!)。

  • 檢測玩家是否切換到了和平模式

創建一個攻擊型生物,把它放在壓力板上。(請確保它會保持始終按下狀態,所以一定要確保它不能跳或走開)。做一個紅石電路,讓壓力板在沒有接收到紅石信號的時候激活指令方塊。指令方塊里設置一個消息,通知玩家的地圖由於和平模式了已經損壞,需要的怪物已經消失,必須重新下載這個地圖。你甚至可以做一個隱形傳輸指令方塊,把那些故意切換到和平模式的玩家換成冒險模式後傳送到一間基岩屋內,並讓他不能使用/kill或/tp指令,並把他的重生點設在那個房子裡,讓他永生見不得光明!(單人的話,可以點「對區域網開放」,或用修改器)

  • 會說話的冒險地圖(有一個任務系統!)

/say指令非常有用因為它可以直接給玩家發送消息. 用指令方塊將會更好,這樣你就不需要放很多的告示牌和編頁碼長到不行的書來告訴玩家遊戲規則. 你只需要把指令方塊放成一條線然後在中間鋪中繼器來弄各個語段之間的延遲(so the player isn't spammed)接著你就可以把那堆告示牌和放著書的儲物箱移走。

有一些是和NPC配合使用的。 想像一下你進了鐵匠鋪並且你想要讓裡面的鐵匠說些什麼。在指令方塊出現之前, 你需要一些書和告示牌來充當對話的效果, 然後在鐵匠鋪里造些房間並放些雜物,這樣會讓這個鐵匠鋪看起來變得非常亂,但是現在,你只需要使用/say指令來製造鐵匠說話的效果。 也許櫃檯後面的豬甚至會求饒!讓我們再舉另外一個例子:你在一家工廠里,一個報警鈴的聲音告訴你要爆炸了。用這個在聊天框中告訴你,特別是如果文字很長,以便保持一個緊張的氣氛;這同樣的可以用在炸彈倒數裝置。如果玩家看到了 '10...' '9...' '8...' 顯示在聊天框中,他將可以更好的把情緒帶進地圖。

最後但並非最不重要,他可以更容易的建立一個任務系統。來讓我們的玩家開始進行廝殺。 他通過壓力板激活了RS NOR鎖存器 (所以他不能被再次激活) 然後一個有 /say指令的指令方塊去滿足屠夫對玩家的要求。他需要去殺一隻豬 (他真可恥)。 玩家到達站在石制壓板上的豬,當豬死了時就會關閉. 所以, when the player gets back to the butchery, he activates another circuit containing yet another RS NOR Latch and two command blocks with two commands. First, the /say command in which the butcher thanks the player, and other one, the /give command, so the player gets the reward. Along with that, don't forget to use the @p command so the butcher says the player's name. For example, if the command block is set to do this: /say Thanks, @p. You helped me a lot killing that pig., the channel will say: "@]: Thanks, <name of the player>. You helped me a lot killing that pig." This makes the map way cooler and looks like it's made for the player as it says his/her name!

  • 創建商店

使用/give @p[lm=(等级)] (物品) (数量)/xp -(等级)l @p[lm=(等级)] ,你可以创建一个使用经验交易物品的商店系统。例如,如果你创建了一个使用/give @p[lm=5] minecraft:grass 64的命令方块以及一个使用/xp -5l @p[lm=5]的命令方块,并把它们连接到同一个红石电路,那么激活时就会从最近的玩家身上扣除5级经验并给他64个草方块。

  • * Subtracting xp CAN work as a currency, by using the command /xp -3l @p[lm=3] where l (L for level) is subtracted. The minimum xp for the command to work can be listed inside the brackets, where lm is short for minimum level necessary.

    • You can make a Store using xp as a currency. Just place a command block before all the others with the following instructions: /testfor @p[lm=5] with a Comparator in front of the command block. That way you can only do the trade if you're at least at level 5 (in this case, but you can choose what level you want).

*

  • *The last two "updates" are pointless, as the [lm=(level)] in the first post will keep players from getting the item or losing their xp unless they are that level or higher. so if the command says [lm=5], they will NOT be able to use the "store" if they are level 4 or below, but WILL be able to if they are level 5 or above.
  • The blocks must be in order for this to work. If the blocks are powered at the same time, the cost block will subtract as per normal, but the block giving the item will not function unless your level is double or higher what the cost of the block is. (example: item costs 5, you have 7 levels, you will lose the 5 levels, but will not gain the item. You would only receive the item if your starting level is 10 or higher) The fix for this is to power the blocks linearly, give block first followed by xp block.


1.7指令的用法[編輯 | 編輯原始碼]

Minecarts over floating rails created with the setblock command.

在1.7版本中, the command block gained an expanded potential. 也就是 /summon and /setblock 指令的添加, and can be used to automatically build structures, 填充儲物箱, 以及生成以前不能生成的實體。 下面是這些指令的語法: setblock的使用方法:/setblock <x> <y> <z> <方块名> [数据值] [旧方块处理方式] [数据标签] summon的使用方法:/summon <实体名> [x] [y] [z] [数据标签] setblock指令也可以用於做突然消失的地板或突然出現的牆。

setblock指令的例子:

* MobSpawners pt 1: The Basics This code will create a zombie spawner 2 blocks from you in the x direction. Note that the name given for mob spawners in this code ("minecraft:mob_spawner") is the long version and you can leave out the "minecraft:" part.

/setblock ~2 ~0 ~0 minecraft:mob_spawner 0 replace {EntityId:Zombie}
下一個代碼也非常基本的但它包括6個基本參數,可以設置。

/setblock ~0 ~-1 ~-3 mob_spawner 0 replace {EntityId:Skeleton,SpawnRange:4,RequiredPlayerRange:16,SpawnCount:4,MaxNearbyEntities:6,MinSpawnDelay:200,MaxSpawnDelay:800}

幾件事情需要注意:
A) All times are in game ticks (20ths of a second). 200-800 is 10-40 seconds.
B) Keep in mind that they are in groups of 2 and won't work if their partner is missing. SpawnRange requires RequiredPlayerRange (and vice-versa), MinSpawnDelay requires MaxSpawnDelay, and I assume SpawnCount needs MaxNearbyEntities (although I haven't actually heard confirmation on that last one).
C) There is also a parameter called "Delay" which contains the amount of time before next spawn (20 ticks for the first time, whatever random number it picks between MaxSpawnDelay and MinSpawnDelay every other time).
D) the coordinates given are ~0 ~-1 ~-3 (so 3 blocks in the negative Z direction from the commandblock's current position and 1 block down). This presumably will imbed it in the surface of the floor. Keep in mind that a spawners "SpawnRange" setting only applies horizontally not vertically. Vertically it will only spawn at the same height or 1 lower or higher, so imbedding it in the surface of the floor cuts the available spawn area by 2/3rds (but can help hide it). Naturally occuring spawners have their height cut by 1/3rd due to appearing 1 block above the floor instead of 2.
E) All the values used here are the defaults.

* MobSpawners pt 2: Custom monsters Now we get into the SpawnData. That's the stuff that tells the spawner you want a non-standard version of a monster, like a Zombie with a Diamond Sword and a Chainmail Helmet.

/setblock ~ ~1 ~ mob_spawner 0 replace {EntityId:Zombie,SpawnData:{Equipment:[{id:276,Count:1},{},{},{},{id:302,Count:1}]}}

Using ~ without any number after it in the coordinates counts as zero. Since none of those 6 parameters from last example are used they will all be defaults.
Note that the 5 equipment slots are: Hand, Boots, Legs, Chest, Helmet. You must even specify empty slots (the { }, parts) unless they're after the last non-empty slot. So if you want him to have a helmet you have to specify all 5 slots, but if it's just a weapon you can leave off the other 4. Or if you want him to have leg armor you have to specify weapon and boot slots but not chest and helmet slots.
By the way, creatures that burn in sunlight are safe if they have a helmet on, although it damages the helmet instead.
About the Count tag: most codes can get away with leaving it out, however it is important. An item without a count tag is a stack of zero, better known in the community as a "Ghost Item". A player trying to use a ghost item will have it disappear out of his hands with it's first use (which is a failure). While monsters can use ghost items without problem (hence why codes get away with leaving it out sometimes) if they drop the items the player who picks it up won't be able to use it, SO INCLUDE COUNT!

Next up we have a Skeleton with an enchanted bow (Flame), a custom mobhead (Spider, internet connection required or it's just steve) with Protection 2, and riding a Skeletal Horse.

/setblock ~2 ~1 ~2 mob_spawner 0 replace {EntityId:Skeleton,SpawnData:{Equipment:[{id:261,Count:1,tag:{ench:[{id:50,lvl:1}]}},{},{},{},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:MHF_Spider}}],Riding:{id:"EntityHorse",Type:4,Tame:1,SaddleItem:{id:329,Count:1,Damage:0}}}}

Well actually sitting on a Skeletal Horse, since the lower creature controls the movement and the horse isn't hostile. Don't try zombies on horseback, they just sit there ineffectually while the horse eats grass and snorts. Luckily this is a skeleton and can shoot you from wherever the horse decides to wander.
As for the horse itself, it's type 4 (skeletal horse), Tame is set to 1 (yes), and it's got a saddle (and the fact that they make us specify which saddle hints that they may eventually have more than one type). Technically you can have multiple levels of riders, although this gets silly quickly.

MobSpawners pt 3: SpawnPotentials Using the SpawnPotentials tag lets us create a mobspawner with multiple mobs in it. It will randomly pick one each time it resets the timer (a second after spawning the previous mobs). Since these codes contain multiple mobs they tend to be quite long codes. Thanks to some youtuber whose name escapes me (Dragnoz) the fact that you can "break up" your code is known (command blocks ignore line breaks, so you can start a new line to clarify where one section ends and another begins and it won't ruin your code). Here's a more easy on the eye version of a SpawnPotentials code

/setblock ~0 ~1 ~1 mob_spawner 0 replace {EntityId:Zombie,SpawnRange:6,RequiredPlayerRange:12,SpawnCount:1,MaxNearbyEntities:6,MinSpawnDelay:100,MaxSpawnDelay:600,SpawnData:{Equipment:[{id:268,Count:1},{id:301,Count:1},{id:300,Count:1,tag:{display:{color:5013401}}},{id:299,Count:1,tag:{display:{color:6717235}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:Reimac}}]},SpawnPotentials:[

{Type:Zombie,Weight:4,Properties:{Equipment:[{id:268,Count:1,Damage:58},{id:301,Count:1},{id:300,Count:1,tag:{display:{color:5013401}}},{id:299,Count:1,tag:{display:{color:6717235}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:Reimac}}]}},

{Type:Skeleton,Weight:2,Properties:{Equipment:[{id:267},{id:301,Count:1,tag:{display:{color:1644825}}},{id:300,Count:1,tag:{display:{color:1644825}}},{id:299,Count:1,tag:{display:{color:1644825}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:2insanepeople}}]}},

{Type:Zombie,Weight:4,Properties:{Equipment:[{id:272,Count:1},{id:305,Count:1},{id:304,Count:1},{id:303,Count:1},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:Flixnore}}]}},

{Type:Zombie,Weight:4,Properties:{Fire:2400,Equipment:[{id:283,Count:1,tag:{ench:[{id:20,lvl:1}]}},{id:317,Count:1},{id:316,Count:1},{id:315,Count:1},{id:86,Count:1,tag:{ench:[{id:0,lvl:2},{id:1,lvl:10}]}}]}},

{Type:Zombie,Weight:4,Properties:{Equipment:[{id:267,Count:1,tag:{ench:[{id:16,lvl:2}]}},{id:309,Count:1},{id:308,Count:1},{id:307,Count:1},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:2zqa}}]}},

{Type:Zombie,Weight:1,Properties:{Equipment:[{id:278,Count:1,tag:{ench:[{id:16,lvl:4},{id:17,lvl:4},{id:18,lvl:4},{id:21,lvl:3},{id:34,lvl:3}]}},{id:313,Count:1,tag:{ench:[{id:1,lvl:4},{id:2,lvl:4}]}},{id:312,Count:1,tag:{ench:[{id:3,lvl:4}]}},{id:311,Count:1,tag:{ench:[{id:0,lvl:4}]}},{id:397,Count:1,Damage:3,tag:{SkullOwner:MHF_Herobrine,ench:[{id:0,lvl:4},{id:1,lvl:4},{id:3,lvl:4},{id:5,lvl:3},{id:6,lvl:1}]}}],CustomNameVisible:1,CustomName:Herobrine,PersistenceRequired:1}},

]}

Wow that's a mouthful! But then it is 6 separate mobs. In order we have:
0) Before the "SpawnPotentials" tag: The starter, which will never pop up again after the first time. If we want to see him again we have to include him a second time under SpawnPotentials. He is just some random dude in bluejeans (blue dyed leather leg armor) and a cactus green shirt (green dyed leather tunic) with a wooden sword. He's a zombie under that random-dood-mobhead of his of course. They all are.
1) Same random dood, only this time his wooden sword is 2 hits away from breaking.
2) Hey who let a ninja into the game?!? This one is a skeleton under his mask, but he's been given an iron sword. All his leather armor is dyed ninja-black. Skeletons with swords close the gap quicker than zombies so watch out.
3) Stone Sword and Chain Armor guy. Protection II on his mobhead.
4) One of my favorites. Gold Sword, Golden Armor, Pumpkin Helmet, and ON FIRE!!! Originally I wanted to give him a flaming pumpkin helmet but I realized the Fire tag only applies to entities not armor. The pumpkin is enchanted with Protection II and Fire Resistance X (10!) in a desperate attempt to keep him on his feet and threatening the player for more than 5 seconds. It works but if the player plays keepaway then Mr Pumpkinhead does tend to burn to death. Oh his sword has fire aspect too.
5) Iron Sword and Armor guy. Sharpness II on his Sword, Protection II on his mobhead.
6) Diamond Weapons and Armor guy. Wait who is that. Is...is that...Oh Em Gee it is! Run!...No of course it's not really him. Because he doesn't exist. FakeHB here has highly enchanted Diamond Armor (Boots with Fire Protection IV and Feather Falling IV, Leggings with Blast Protection IV, Chestplate with Protection IV, Mobhead with Protection IV, Fire Protection IV, Blast Protection IV, Respiration III) and a Diamond Pickaxe enchanted with Sharpness IV, Smite IV, Bane of Arthropods IV, Looting III and Unbreaking III. He's also got the previously unseen CustomNameVisible (set to 1 for yes), a CustomName, and PersistenceRequired (set to 1 for yes). That last one will prevent him from ever despawning, although he can be killed normally. If you can get through that Diamond Armor. And level 4 resistances. Luckily he's rarer (see below).

Other than the ninja it's a straight tour of the 5 tiers of swords and armor. Note the Weight tag, used right after the mob name in each SpawnPotential. That determines how rarely it's picked. Specific numbers don't mean anything, just the ratios between the numbers. For example if you want all the potentials to have an equal chance just set all the weights to 1. Changing them all to 8 wouldn't do anything different (they're still all the same size as each other), however changing all but one to 8 would make that one 1/8th as likely as the rest. In this code 4 is the default. The ninja only has a weight of 2 (making him half as likely to be picked) and FakeHB has a weight of 1 (making him 1/4th as likely to be picked, and thank god!)
* MobSpawners pt 4: Rideable Monsters Mobs can be ridden by using Minecarts or Boats on their heads. The command is fairly simple
/setblock ~ ~1 ~ mob_spawner {EntityId:MinecartRideable(or Boat), SpawnData:{Riding:{id:<Entity>}}}
提示:

  • Some mobs simply can't be spawned with a spawner, sad to say, like bosses and Iron Golems. Adding a Minecart isn't going to change that.
  • Hostile Mobs with shooting abilities can and will use them against survival players. Watch out.
  • Ghasts cannot be ridden. The minecart becomes stuck in their head, no use to anyone.
  • Endermen cannot be walked around, but they can be forced to teleport by shooting a projectile at them (eg; snowball).
  • Ocelots (Ozelots in the game format) are some of the fastest mobs to ride, seeing they're trying to get away from you. They can also be partially controlled, by pointing away from the place you want to go.
  • Spiders are the only mobs that slow down when ridden.
  • Slimes and their cousins, Magma Cubes (game format LavaSlime) cannot have their sizes changed.

1.8 的使用[編輯 | 編輯原始碼]

新指令 在1.8有一些新增的指令和標籤。其中最有用的就是@e。它允許玩家去標記實體。 你現在可以清除礦車傳送Creeper. 其他的包括/fill, /clone, /execute, /worldborder (set|health, etc}, /trigger, /title, /blockdata, /testforblocks/stats的命令被新增了。查看 command页面,以便你知道他们是怎么运作的。

命令密码[編輯 | 編輯原始碼]

你现在可以用一个被设置为/testforblock的指令方塊來設置密碼。放置一個指令方塊這將會是你要輸入的指令方塊.再放置另一個指令方塊,然後在裡面輸入/testforblock x y z(这里的x,y,z是你第一个命令方块) command_block 0 {Command:(input)}。 這裡是一個例子: /testforblock ~2 ~ ~ command_block 0 {Command:这是密码!}. 放置一個比較器去連接第一個指令方塊,然後再放置一個按鈕在旁邊以便充能這個指令方塊.現在輸入"這是密碼!" (不要引號).如果第二個指令方塊正確的找到了第一個指令方塊, 這個比較器會被激活無論他是否被連線.如果你想重置密碼以免被其他人利用,也可以放置一個被設置這 /setblock的指令方塊在 /testforblock指令方塊之後.

如果你不想讓其他人編輯指令方塊,你可以試著用 sign代替,但這意味著你必須去分別檢測4排文字. To add a touch,你可以用空氣去替換sign,但記得用/give @p sign去退還一個sign


破壞者[編輯 | 編輯原始碼]

他可以讓你破壞你所走過的立方體,~ 使用/execute。這是這個功能的指令: /execute @p ~ ~ ~ fill ~1 ~2 ~1 ~-1 ~0 ~-1 air。附上一個紅石鐘或者重複觸發裝置,~這個立方空氣會跟隨你到任何地方。很困惑?fill 带走了特定数量的空间,~ 很像是 setblock,~但是他需要兩組xyz而且填充你指定的兩點之間的區域。 在這種情況他是空氣。 現在,~ 每次你移動,~他會填充一個3*3的空氣正方體。這很好的用於消滅基地,~ 或者你只是想變成一個瘋狂的熊孩子。

  • 這也可以用於清除水,~ 所以你變成了一個可以動的人型海綿。
  • 這在任何模式下都可以運作,甚至包括旁觀者。

Landscaper[編輯 | 編輯原始碼]

This is a reversed version of Destroyer. /execute @p ~ ~ ~ fill ~1 ~-1 ~1 ~-1 ~-1 ~-1 grass. This puts a 3x3 grass square under your feet. Only problem: Don't jump. It becomes a mountain of a problem.

Examples[編輯 | 編輯原始碼]

  • The player can make a kind of world guard using the command block. (e.g. code: /gamemode <模式:[0|1|2|3]> @a[r=<radius>])
  • Using the radius argument with a teleporter hooked up to a clock circuit can be used to create an exclusion zone ("forcefield") around an x y z coordinate (which should not be centered on the command block itself, otherwise it will be difficult to edit or disable it later). Simply program it to teleport any player within a certain range to a further away point, or just back 10 meters using relative coordinates. Note that such a forcefield wouldn't know which direction you were approaching from, and may result in pulling a player in before pushing them back out the other side.
  • The commands /say Hello, @p, /tell @p Hello, @p, and /me Hello, @p will cause the command block to say user name of the nearest player in the message.
  • You can also clear players inventories, to prevent griefing and/or cheating: /clear <玩家> <物品> <數據> <最大量> <數據標籤>

Spawners[編輯 | 編輯原始碼]

Command Blocks can create spawners using the setblock command, e.g.: /setblock ~1 ~-1 ~0 mob_spawner 0 replace {EntityId:Zombie,SpawnData:{Equipment:[{id:276,Count:1}]}} Anything that counts as an entity can be spawned (except a player), which includes all hostile, neutral and passive mobs, as well as animals, minecarts, fireballs, arrows, snowballs, ender pearls, custom thrown potions, fireworks, primed TNT, falling sand, red sand, or gravel, paintings and item frames, experience orbs, and even dropped items of any type.

Pig/Cow/Chicken spawners can be placed in the butcher's backyard in a village to create a constant meat supply. E.g.: /setblock ~1 ~-1 ~0 mob_spawner 0 replace {EntityId:Chicken,MaxNearbyEntities:10,RequiredPlayerRange:16,SpawnCount:6,SpawnRange:2,MinSpawnDelay:50,MaxSpawnDelay:200,SpawnData:{Riding:{id:"Pig"}}} Note that the spawner in the last code example will spawn a chicken riding a pig. There doesn't seem to be a limit to how many levels of riders you can use (e.g.: a chicken riding a pig riding a cow riding a horse riding a silverfish riding a villager ("Say, that's a mighty odd hat you have on, Farmer Brown")).

Please note that if you want to use the RequiredPlayerRange tag you have to use the MaxNearbyEntities tag as well. Same deal with MinSpawnDelay and MaxSpawnDelay. Lastly, note that the y value used in both of those spawner example codes was ~-1, which (assuming you're not flying) will put the spawner in the surface level of the ground at your feet.

If you don't want to target a specific player, you can use @a, @p, or @r instead of <player>. Keep in mind that you can use @p (which means "closest player") in player issued commands as an easy to type 2 character replacement for your own name as the closest player to you will always be you.

Booby traps[編輯 | 編輯原始碼]

The most lethal booby trap would be a command block set to teleport someone into the void.

As of 1.8 you can do /kill @e[r=2] in a command block below a block with a pressure plate to make a multi-use landmine that kills all nearby entities upon stepping on it (including players, item frames, and paintings)

Note that booby traps that use @p can be dangerous due to the fact that non-player entities could trigger them (if something like a pressure plate is used), resulting in the teleportation of the nearest player, no matter how far away they are and regardless of the fact that they haven't actually stepped on the plate. To get around this, you can either use the /testfor command as an invisible pressure plate, or you can do /tp @p[r=radius] x y z. Hook a clock circuit up to a command block programmed with /testfor @p[x=1, y=2, z=3, r=radius], with the coordinates changed as appropriate. Note that as of 1.8 a range of zero can now be specified.

Teleporters[編輯 | 編輯原始碼]

It is possible to make teleporters using the command block. (e.g. code: /tp @p x y z) Taking it one step further, a teleporting station can be made, with multiple button-activated teleporters that each teleport to different locations. Scouting and testing teleportation destinations first is advisable, to make sure players don't end up stuck inside blocks or in other unintended places. If you appear in ground while testing coordinates, use /tp @p ~0 ~8 ~0 to get out (may require multiple uses).

If you use the teleport command with the command block, you can use relative coordinates in the destination coordinates by placing an ~ in front of a Coordinate (e.g. code: /tp @p ~0 ~8 ~0 This would teleport the player 8 blocks into the air).

Commands that use coordinates (e.g. /tp or /spawnpoint) add 0.5 to whole numbers when no decimal follows. This is so you appear centered over the block you appear on instead of at the edge or corner of it. For example, the number -33 would execute as -32.5, and 187 as 187.5. To prevent this behavior, add .0 (25.3, 90.0) after them, as these values are executed left as-is.
With the 1.8 update, you can now also teleport minecarts or boats, with you in them. The command is /tp @e[type=Boat] (coordinates).

More commands in fewer blocks[編輯 | 編輯原始碼]

There are several ways to combine groups of commands into just one command.

  • /execute will run its command as many times as the number of targets it selects. If it doesn't matter what entity runs a particular command, you can use @e[c=10] to ensure the code always runs 10 times (as long as there are always at least 10 entities in the loaded world).
  • To run multiple commands, /summon a command-block minecart riding another command-block minecart riding another, with the commands in reverse order, on an activator rail. There are also commands called one-command mods that use this tactic. Mr. Garretto makes one-commands and maps here.

Exp Shop[編輯 | 編輯原始碼]

This will allow server owners to sell effects, items, and more to any player using level ups and exp. All they have to do is press one button

Building The Structure[編輯 | 編輯原始碼]


Setting The Commands[編輯 | 編輯原始碼]

Using a map item as a scroll[編輯 | 編輯原始碼]

In his recent videos, Sethbling uses a map as a scroll to perform commands (summon creatures, teleport). He has an empty map in his inventory and when he uses it, it becomes a filled map which immediately disappears and a redstone task is done. In this tutorial I will show you how to build a redstone mechanism to detect the use of a map as a scroll and perform a task (give an effect, open a door,...).

Pros

  • Fast redstone interaction.
  • Compact system.
  • At-will triggered system, just right-click to activate it.
  • Single use : the map disappears during the inventory check, but you can give it back through a /give command

Cons

  • There can only be one purpose for the scroll. I.E. you cannot do a scroll of teleporting and a scroll of strength without using complicated data values.
  • You may see the map animation when activating the map before it gets deleted.
  • You cannot use the map item during your playthrough (showing a text message, a path, a drawing,...).

Building the mechanism

You can change the display name of an item to give the player a better understanding of the object and use the tooltip display. Use the following command to give the player a custom named map :

/give <player> map 1 0 {display:{Name:"<displayName>",Lore:["<tooltip>"]}}
  • player : the player you want to reach (@p, @a[arguments],...).
  • displayName : the name displayed when you scroll in the hotbar or when you hover the item with your mouse.
  • tooltip : the text below the item name when you hover it.

Detecting the activation of the map

Minecraftscroll.jpg

  • The two hoppers form a redstone clock. You can use other clocks shown here.
  • The Command block 1 contains the /give command described in the section above. It can be dismissed if you don't want the scroll to come back after being activated.
  • The Command block 2 contains the inventory check command :
/clear <player> filled_map
  • The Command block 3 is the output in case of success. You can do whatever you want : give an effect to the player, teleport him somewhere,... You can also wire this output to a door, a piston,...


Going further The /clear command can check for other interactive items :

  • check for a glass_bottle if the player just drank a potion.
  • Sethbling also uses a fishing rod which works when the line is reeled in. The /clear syntax involves another argument, the damage value, after the item name:
/clear <player> fishing_rod 2

Note that spamming the reel, or hooking a mob, may damage it more than 2, so make another one of these every 2.

Command-Piston-Repeater Fun[編輯 | 編輯原始碼]

  • Command block: /setblock x y z minecraft:sand
  • 1st Piston Front: Showing to set /setblock x y z to that position

Fast Pusher[編輯 | 編輯原始碼]

  • Repeaters are risen by 1 block from 1-3 so you can see them

  • 1(Repeater): Set to 1
  • 2(Repeater): Set to 3
  • 3(2 Repeaters): Set to 4 and 2
  • 4(Repeater): Set to 2(Default)
  • 5(2 Repeaters): Set to 4 and 1
  • 6(2 Repeaters): Set to 4 and 4
  • 7(Repeater): Set to 2
  • 8 and 9(Repeaters): Set to 4 and 4
FastPusher.gif










Slow Pusher[編輯 | 編輯原始碼]

  • 1(Repeater): Set to 4
  • 2(Repeater): Set to 4
  • 3(Repeater): Set to 4
  • 4(Repeater): Set to 1(Default)
  • 5(Repeater): Set to 1
  • 6(Repeater): Set to 1
  • 8(Repeater): Set to 4
  • 9(Repeater): Set to 2
  • 10(Repeater): Set to 2
SlowPusher.gif










更多資源[編輯 | 編輯原始碼]

Feare's Command Block Tutorials
Dragnoz' youtube tutorials to a lot of possibilities using data tags
a text tutorial to data tags

另見[編輯 | 編輯原始碼]