LV. 17
GP 1k

【夢想之都】【OptiFine】Custom Item Textures 自定義項目材質

樓主 嗡嗡 won123456789
GP21 BP-

作者標示-非商業性

本授權條款允許使用者重製、散布、傳輸以及修改著作,但不得為商業目的之使用。使用時必須按照著作人指定的方式表彰其姓名。

Custom Item Textures
自定義項目材質

前言

Hello~好久不見,我是嗡嗡,這次想與大家分享一些關於OptiFine材質包的製作方法。
OptiFine材質的特色為新增更多方塊紋理/修改天空,適合用來做一些突破性質的材質。
本文著重介紹CIT。如果文章中有錯漏歡迎指正。(此文皆以1.12.2 OptiFine實測)


關於CIT

Custom Item Textures(簡稱CIT,自定義項目材質),他使我們在製作Minecraft OptiFine材質包時,可以透過損壞值(damage)、物品的堆疊數量和NBT資料,來自定義物品的外觀。或者是為不同的附魔創造不同的外觀。

CIT文件需放置在 assets/minecraft/mcpatcher/cit 中,副檔名是.properties,每份文件代表一個規則,且皆須指定一種類型(item、enchantment、armor)。


類型說明(type)


item

基礎的材質替換,修改在手中、在背包中或被丟出去時的物品外觀。
替換掉位於 textures/items 中的原始材質。

enchantment

附魔效果替換。
替換掉預設的 misc/glint.png 。

armor

盔甲材質替換。
替換穿在玩家或怪物身上的材質外觀。替換預設 textures/models/armor 中的材質。


CIT文件格式


請先在 assets/minecraft/mcpatcher/cit 資料夾中建立一份CIT文件。
文件副檔名需為 .properties 。文件名稱,建議為英文。

type=(item|enchantment|armor)
#材質替換類型。選填。若無則預設為item

items=(物品ID)
#替換項目列表。必填。若type=enchantment此項選填
#items=276
#表示選擇鑽石劍為更改物
#若一次更改多種物品
#items=276 293
#表示更改鑽石劍與鑽石鋤

texture=(圖檔位址)
#替換材質圖檔。選填。若無視同 assets/minecraft/mcpatcher/cit/(此份CIT文件名).png
#texture=pic/aurora_sword
#表示圖檔為 assets/minecraft/mcpatcher/cit/pic/aurora_sword.png
#位址皆以 assets/minecraft/mcpatcher/cit 為基準
#.png,可加可不加

damage= (可填入0~65535)
#損害值。選填。適用在工具、武器、裝備、羊毛、藥水等
#可搭配 damageMask
#工具、武器損害值:Minecraft WIKI
#藥水損害值:Minecraft WIKI

stackSize=(可填入0~65535)
#堆疊大小。選填
#當物品堆疊到指定數量時才改變材質

enchantmentIDs=(附魔ID)
enchantmentLevels=(附魔等級)
#附魔ID與附魔等級。選填
#enchantmentIDs=unbreaking
#enchantmentLevels=3-5
#上面的例子表示:附魔效果=耐久,且附魔等級3~5之間
#enchantmentLevels=1-
#上面的例子表示,任何附魔效果,附魔等級1≦
#enchantmentIDs=unbreaking fortune
#enchantmentLevels=3
#上面的例子表示,附魔效果為耐久3或幸運3

nbt.<tag>=<value>
#NBT標籤。選填
#不同於其他項目,因NBTtag有多種,所以凡是有設定到tag的都必須達到,效果才能顯現
#value目前只支援以下資料類型:String、Integer、Short、Long、Double、Float
#value不支援中文,需將中文字轉為Unicode,網路搜尋「中文轉 unicode」
#value若含顏色代碼中文例如:§e☆§6§n極光劍§e☆
#需轉換為\u00a7e\u2606\u00a76\u00a7n\u6975\u5149\u528d\u00a7e\u2606
#nbt.display.Name=123
#物品名為123
#nbt.display.Lore.0=Hello World
#物品說明Lore,第一行文字為「Hello World」
#上述皆為精確的例子
#另一種表示方式可搭配使用「*」
#nbt.display.Lore.*=Hello World
#物品說明Lore,任意行文字為「Hello World」
#nbt.display.Name=pattern:Hello *
#物品名須為「Hello World」或「Hello Creeper」等,其他符合格式文句亦可
#使用pattern時,文字大小寫必須完全吻合,ipattern大小寫皆可
#可使用Java正則表達式
#nbt.display.Name=regex:Hello (World|Minecraft)
#物品名須為「Hello World」或「Hello Minecraft」
#使用regex時,文字大小寫必須完全吻合,iregex大小寫皆可


特殊情形


在type=item時,我們知道少數物品具有多種材質,例如弓。
此時的:texture=(圖檔位址)需修正為以下:
  • texture.bow_standby=(圖檔位址)
  • texture.bow_pulling_0=(圖檔位址)
  • texture.bow_pulling_1=(圖檔位址)
  • texture.bow_pulling_2=(圖檔位址)

在type=armor時,鑽石盔甲具有兩層:
  • texture.diamond_layer_1=(圖檔位址)
  • texture.diamond_layer_2=(圖檔位址)

皮革盔甲有四層:
  • texture.leather_layer_1=(圖檔位址)
  • texture.leather_layer_1_overlay=(圖檔位址)
  • texture.leather_layer_2=(圖檔位址)
  • texture.leather_layer_2_overlay=(圖檔位址)

實作範例


1.附魔物品
  • CIT文件位址:assets\minecraft\mcpatcher\cit\n3.properties
  • 圖檔位址:assets\minecraft\mcpatcher\cit\n3.png
  • 文件內容:
type=item
items=276
enchantmentIDs=unbreaking fortune
enchantmentLevels=3-5

2.堆疊、彩色文字、中文、NBTtag:Name
  • CIT文件位址:assets\minecraft\mcpatcher\cit\christmas_chicken.properties
  • 圖檔位址:assets\minecraft\mcpatcher\cit\christmas_chicken.png
  • 文件內容:
type=item
items=366
texture=christmas_chicken
stackSize=1 64
nbt.display.Name=\u00a7e\u8056\u8a95\u706b\u96de
21
-
未登入的勇者,要加入 2 樓的討論嗎?
板務人員:

1336 筆精華,前天 更新
一個月內新增 5
歡迎加入共同維護。


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

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