LV. 2
GP 0

【嵐】【指令】指令也能自訂物品文字顏色,不用插件也能做文字顏色

樓主 嵐風 (LeFon) hoarhsu
GP88 BP-
大家好,我是
這好像是我第一次在巴哈上發文(就是啦...什麼好像!!)
這次來教用指令召喚物品的文字裡有顏色!!

(此篇適用於java版MC 1.11以前的版本)
---------------------------------------------------------------------------------

前提:
大概有人知道/tellraw指令和/title,
而在後面用{}框起來的格式就是JSON格式
(JSON格式恕不介紹,請閱前人的教學文章)

基本上這是用告示牌裡的JSON格式召喚出來的物品,
大概也有不少人知道可以在JSON輸入「\u00a7」來輸入「§」符號,
像是:/tellraw @p [{"text":"\u00a76嵐風是大帥哥"}]

他變成輸出的指令是:/tellraw @p [{"text":"§6嵐風是大帥哥"}]
(P.S)你無法在Minecraft直接輸入"§"符號

而這種有文字顏色的物品就是用這個原理再搭配第三方的方式(告示牌的JSON格式)
(P.S)如果你是直接用/tellraw指令取得的話,會導致遊戲崩潰(好像是文字顯示問題)
因此轉用到方塊:告示牌裡面進行指令輸出

我也不多廢話了 直接看看怎麼輸入這個格式吧!

---------------------------------------------------------------------------------

正文:
基本上這是用「放置方塊」指令去進行的,
原理是:放置一個告示牌,右鍵點擊告示牌後可以使用指令,
而在指令中可以用\u00a7輸入「§」符號

你甚至可以把自己的物品做成這樣(感謝翡翠綠大大提供)


我個人為了方便而縮寫成一種下的格式
以下:
/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"(指令內容)\"}}]"}

藍文字:Minecraft原始的放置方塊指令
紫文字:告示牌中的JSON標籤內容
紅文字可以替換自定義指令,其中可以輸入「\u00a7(顏色ID)」來改變文字顏色,
如要加入「""」在以下會有說明
※補充基本上所有的標籤都不一定要輸入"符號,除了JSON格式之外(1.12之後除外)

顏色ID:0 (黑色)、1 (深藍色)、2 (深綠色)、3 (深天空藍)、4 (深紅色)、5 (紫色)
      6 (金色)、7 (灰色)、8 (深灰色)、9 (藍色)、a (綠色)、b (天空藍)、c (紅色)
      d (粉紅色)、e (黃色)、f (白色)、k (亂碼)、l (粗體字)、m (刪除線)、n (底線)、
      o (斜體字)、r (字體樣式、顏色重置)

方便各位大大理解,小的也為了大大給了幾個範例理解XD...

---------------------------------------------------------------------------------

藍文字:Minecraft原始的放置方塊指令
紫文字:告示牌中的JSON標籤內容
紅文字自定義指令

範例如下:

輸出:放置一個告示牌點右鍵後輸出指令:給予最近玩家一個金劍,
    而且金劍的名稱是「斷鋼神劍

/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/give @p golden_sword 1 0 {display:{Name:\u00a76斷鋼神劍}}\"}}]"}


輸出:放置一個告示牌點右鍵後輸出指令:給予最近玩家一個鑽石劍,
    而且鑽石劍的名稱是「聖十字藍鑽劍

/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/give @p diamond_sword 1 0 {display:{Name:\u00a7e聖十字\u00a7b藍鑽劍}}\"}}]"}


輸出:放置一個告示牌點右鍵後輸出指令:給予最近玩家一個鑽石劍,
    而且鑽石劍的名稱是「擊退鑽劍」,附魔效果:擊退Level.32757

/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/give @p diamond_sword 1 0 {display:{Name:\u00a7a擊退鑽劍},ench:[{id:19,lvl:32757}]}\"}}]"}



因為有大大詢問所以我也補充一下,
其實可以用放置方塊(放置指令方塊)方式把指令儲存在指令方快裡喔~

格式可以改成這樣:
/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock ~ ~1 ~ minecraft:command_block 0 replace {Command:(指令內容)}\"}}]"}

按告示牌後會變這樣:

(放置的方塊是上面的指令方塊)


給一個範例:
/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/setblock ~ ~1 ~ minecraft:command_block 0 replace {Command:/give @p dirt 1 0 {display:{Name:\u00a7a屌屌的泥土,Lore:[1:\u00a76蝦?哪裡屌,2:\u00a76只是攻擊力有10000點...]},AttributeModifiers:[{AttributeName:generic.attackDamage,Name:generic.attackDamage,Amount:10000,UUIDMost:999,UUIDLeast:990,Slot:mainhand}]}}\"}}]"}


(後面AttributeModifiers你們大概知道是甚麼O.O...)

還有目前Minecraft指令中一定要輸入「"」的標籤只剩JSON格式了(1.12之後除外)
像是CustomName、display的Name、display的Lore......等,只要不是JSON格式都可以不打
※補充:Lore可以這樣寫:Lore:[1:(第一行文字),2:(第二行文字),...]

指令上的限制也不只有give,像是這些都可以:summon、entitydata、setblock、......

範例:
/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/summon Zombie ~ ~ ~ {CustomName:\u00a76殭屍先生}}\"}}]"}


文字的顏色改變跟字體樣式改變可以同時存在,
但必須要先改變文字顏色才能改變樣式,不然字體樣式不會顯示

範例:
/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/summon Zombie ~ ~ ~ {CustomName:\u00a76\u00a7o殭屍先生}}\"}}]"}

---------------------------------------------------------------------------------
以下是在指令內加入""的格式變化:
(感謝UbikeMouse的補充)
在前面加上一個 "\" 能夠有效的讓Java解讀出在括號中的 "
首先 不明原因 在括號裡面算三級符號 因此只需要在括號裡面的 " 前面新增3個 \ 就好囉
修改後像是這樣
/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/give @p golden_sword 1 0 {display:{Name:\\\"\\u00a76斷鋼神劍\\\"}}\"}}]"}
你可能會問我 為什麼裡面要有兩個 "\" 對吧
其實一直都需要 只是因為之前指令太過鬆散 而忽略了這個符號

統整後:
1.須將原Name後面新增一個 " ,並且在前面加上 \\\
2.須將\u00a7的前面多加一個 \ 變成 \\u00a7
---------------------------------------------------------------------------------

結尾:
這個指令大概最大功能就是可以自由製作RPG物品的介面,
其實這個方法是在大陸的Minecraft網站看到的,
想說巴哈裡面都沒這個文章就丟上來了O.O,
順便提供給想做地圖的玩家又不想開插件的人一個文字名子改寫方式,
其實這次真的是我第一次PO文,所以請各位大大稍微接納我的文章排法,
你們的鼓勵會是我未來的動力,之後會丟一些指令教學和指令機關提供給各位大大使用~~

一個千羽推薦的自製指令生成器(可以產生物品的文字顏色) (他想出來刷存在感)


---------------------------------------------------------------------------------

地圖預告:
強力的PVP地圖即將登板!
(目前還不確定地圖發布時間,一但有消息都會即時宣布)
這張地圖只有我和翡翠綠(mikededa)建築,打造最強大的台灣PVP地圖系統!
主要是以雙方對戰方式(類城堡攻城戰),
玩家擁有職業和戰鬥動作技能(鍵盤和滑鼠動作使用技能),
雙方會定時派出士兵攻打敵方玩家,
一段時間會有隨機特殊事件產生,甚至於挑戰BOSS獲得強力裝備和資源。

玩家要利用獲得的資源開發兵力、武器、防禦設備,同時還得要防禦敵人的進攻,
資源的蒐集將會成為你勝利的關鍵,敬請期待!!

還不確定地圖發布時間,一但有消息大概會由翡翠綠宣布

88
-
未登入的勇者,要加入討論嗎?
板務人員:

1334 筆精華,07/11 更新
一個月內新增 4
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】