-
資源包
鎖定
- 中文名
- 資源包
- 外文名
- Resource Pack
- 登場作品
- Minecraft
資源包Java版
資源包行為
自Java版1.14起默認的資源包配置。
資源包的選擇菜單,展示了兩個已選的資源包(不包括默認資源包),一個不支持的資源包和其他各種可用的資源包。
資源包可以放置在.minecraft裏面的resourcepacks文件夾。每個資源包都是一個子文件夾或一個.zip文件,這個文件裏面有resourcepacks文件夾。它被放置在文件夾裏面後,就可以從選項菜單中添加資源包,這個資源包可以從“可用的資源包”移動到“已選的資源包”。“已選的資源包”下面的默認資源會始終存在,並且不能被移除。
資源包會按照列表上的順序加載它們的資源。最下面的資源包(總是“默認”的那個)將會首先加載,然後每個資源包會代替上一個相同名稱的資源。默認資源包[編輯 | 編輯源代碼]
首先將資源包打包為resources.zip,然後將這個zip文件放入地圖文件夾裏就可以與地圖捆綁在一起了。當遊玩這個地圖時,資源包會自動出現於默認資源包的右上方。
通過向服務器屬性文件裏面resource-pack=一行更改為一個.zip文件的下載鏈接就能在服務器上設置默認資源包了。用户仍然可以選擇使用或者選擇不下載這個資源包。
舊材質(材質更新前的)在名為“Programmer Art”的資源包中可用。
資源包文件結構
- (資源包名稱)
- pack.mcmeta
- pack.png
- assets
- icons
- icon_16x16.png
- icon_32x32.png
- minecraft.icns
- (命名空間)
- sounds.json
- blockstates
- (blockstate).json
- font
- (字體)
- icons
- icon_16x16.png
- icon_32x32.png
- minecraft.icns
- lang
- (語言).json
- models
- block
- (模型).json
- item
- (模型).json
- particles
- (粒子).json
- sounds
- (聲音).ogg
- shaders
- post
- (post).json
- program
- (fragment shader).fsh
- (program).json
- (vertex shader).vsh
- texts
- (文本).txt
- textures
- block
- (材質).png
- colormap
- (材質).png
- effect
- (材質).png
- entity
- (材質).png
- (實體種類)
- (材質).png
- environment
- (材質).png
- font
- (材質).png
- gui
- (材質).png
- advancements
- (材質).png
- backgrounds
- (材質).png
- container
- (材質).png
- creative_inventory
- (材質).png
- presets
- (材質).png
- title
- (材質).png
- background
- (材質).png
- item
- (材質).png
- map
- (材質).png
- misc
- (材質).png
- mob_effect
- (材質).png
- models
- armor
- (材質).png
- painting
- (材質).png
- particle
- (材質).png
資源包內容
Minecraft是通過根目錄裏的pack.mcmeta來識別一個資源包的,這個文件的格式為JSON格式。
- 根標籤
- pack:保存資源包的信息
- pack_format:資源包版本。如果這個數值與當前需要的數值不匹配,則資源包就會顯示一個錯誤,進行附加確認後才能加載資源包。在1.6.1(13w24a)至1.8.9中需要的數值為1,在1.9(15w31a)至1.10.2中為2,在1.11(16w32a)至1.12.2(1.13:17w47b)中為3,在1.13(17w48a)至1.14.4(1.15:19w46b)中為4,在1.15(1.15-pre1)至1.16.1(1.16.2:1.16.2-pre3)中為5,在1.16.2(1.16.2-rc1)至1.16.5為6,在1.17(20w45a以上)則為7。
- description:在資源包菜單裏要顯示的資源包名稱。該文字將會顯示為2行。如果文字太長,那麼超長的部分就會被砍掉。
- description: 包含一個原始JSON文本對象,它將在資源包菜單中顯示為包描述。與string標籤description具有相同的行為,但是它們不能一起存在。
- language:包含了要向語言菜單裏添加的附加語言。
- A language 一個語言的語言代碼,其與文件夾裏.lang的名字相同assets/minecraft/lang。
- name:語言的完整名稱。
- region:國家或地區名稱。
- bidirectional:若為true,語言將會從右到左顯示。
根目錄也包含一個叫作pack.png的可選圖像,這個圖像將會在資源包選擇菜單中作為資源包的縮略圖顯示。
資源包語言
可以在資源包的assets/<命名空間>/lang文件夾內創建.json類型的語言文件。每個文件可以取代優先級低的或默認的同名文件,或者創建由pack.mcmeta定義的新語言。
.json文件裏的每一行都是標準的JSON格式"標識符":"名稱",其後緊接一個逗號。
標識符是遊戲尋找的某個特性的名稱,它不應該被更改。
名稱是顯示的名稱內容。例如,默認語言文件裏的石頭是"block.minecraft.stone":"Stone",其中
block.minecraft.stone
Stone是標識符,
是顯示的名稱。空行會被忽略。文件必須是正確的JSON語法,這意味着它以一個{開始,在每個鍵值對(最後一個除外)後有一個逗號,並以一個}結束。
語言文件只需要添加資源包確實要修改的內容。任何不在資源包內的名稱都會從下面的包中加載,或者如果沒有包修改了名稱,則從默認資源中加載。
資源包模型
模型是一些以JSON格式儲存的,擴展名為.json的文件,這些文件決定了方塊和物品的形狀和材質。
方塊使用assets/minecraft/blockstates的一個方塊狀態文件,來決定每個變種要從中加載的模型。同時,每個物品都有一個物品模型來決定它的模型,這個模型會從一個方塊模型里加載,包含了它自己自定義的模型,或者使用默認的“平面”或“實體”模型。
如果沒有被覆蓋,那麼在下面的資源包所使用的模型和方塊狀態仍然會被加載,這可能會導致一些材質和模型被上方的資源包使用,而沒有被再次加載。
資源包音效
資源包加載文件格式為.ogg或.fsb的附加音效。每個在資源包裏面的音效都會覆蓋下面的資源包。資源包包含一個sounds.json文件,其位置在assets/minecraft裏。與資源包其他的文件不同,sounds.json會合並其上一個資源包的音效,而不是完全覆蓋每個sounds.json文件。
資源包材質
要讓方塊或物品材質正常顯示,那麼它們的寬度和高度必須相等(如果是動態材質,那麼高度要是寬度的倍數);否則,只會顯示黑紫方格交錯的材質。對於其他多數材質,文件會被簡單的拉伸,以符合所需的尺寸。
多數固體方塊會把任何透明的地方變成完全不透明的。一些擁有類似於拼貼的透明區域方塊(類似於草),會把所有不透明度低於10%的像素變成全透明像素,其他像素變成完全不透明像素。其他方塊渲染材質會保留半透明區域。所有的半透明的物品和任何方塊/實體,都會默認支持半透明。
如果一個材質文件不存在於任何的資源包(包括默認資源包)中,那麼這個材質將會顯示為一個黑紫方格交錯的材質。
資源包動態材質
方塊和物品材質支持動態材質,在圖片的每一幀的下面放置另外一幀就能做成動態材質了。動態材質是被一個在相同目錄,相同名稱,以JSON格式存儲的.mcmeta文件進行控制。例如,stone.png的.mcmeta文件的文件名是stone.png.mcmeta。
- 根標籤
- animation:包含了動態材質的數據的標籤
- interpolate:若為 true,Minecraft 將會在幀與幀之間生成一張間隔時間大於1的幀。默認為false。
- width:方塊的寬度,以直接比例而不是像素為單位。這在原版中沒有使用,但是可以被mod使用以具有不是完整正方形的幀。
- height:方塊的高度,以直接比例而不是像素為單位。這在原版中沒有使用,但是可以被mod使用以具有不是完整正方形的幀。
- frametime:設置在每個遊戲刻內每一幀的時間增量。默認為1。
- frames:一個幀列表。幀的顯示順序默認為從上至下。
- 指定開始播放的幀的位置,最上面的一幀為 0
- A frame 為每一幀指定附加數據
- index:指定開始播放的幀的位置,最上面的一幀為 0
- time:這一幀的顯示時間(單位:刻),覆蓋上面的“frametime”。
如果資源包裏沒有.mcmeta文件,並且材質是動態的,那麼遊戲將會認為這個材質不是動態材質,不會從下一個包繼續加載.mcmeta文件。如果一個維度不相同的材質沒有其對應的.mcmeta文件,那麼這個材質將會顯示為黑紫方格交錯的材質。
資源包村民
其材質assets/minecraft/textures/entity/villager
和assets/minecraft/textures/entity/zombie_villager裏。支持後綴名為.mcmeta的JSON格式文件用於指明可應用於帽子層的附加效果,位於相同目錄,與對應材質文件有相同名稱。例如,文件profession/farmer.png可以附帶具有一個名為profession/farmer.png.mcmeta的文件。
如果文件夾中不存在對應的.mcmeta文件,而材質文件中存在材質,則遊戲將加載默認設置,而不是從下方的資源包里加載.mcmeta文件。
資源包顏色圖
顏色圖是一個 256×256 像素的圖片,用於告訴遊戲在每個生物羣系要使用的顏色。它們的位置在assets/minecraft/textures/colormap裏。遊戲包含2張顏色圖,一張是foliage.png,指定植物如樹葉(除了樺木和雲杉木)和藤蔓的顏色;還有一張是grass.png,指定草和草方塊的顏色。顏色圖可以通過移除個別方塊上的tintindex標籤而被禁用。
資源包雜項
assets/minecraft/textures/misc裏的材質支持用一個以JSON格式儲存的.mcmeta文件來向材質應用附加效果。文件的位置與材質的位置處於同一目錄,與材質的文件名也一樣,除了.mcmeta後綴。例如,文件pumpkinblur.png對應的屬性文件的文件名為pumpkinblur.png.mcmeta。
- 根標籤
- texture:包含了材質的數據
- blur:指定從近距離觀察時是否導致材質模糊。默認為false。
- clamp:指定是否在原來的情況下以伸展材質代替平鋪材質。默認為false。
- mipmaps:材質的自定義mipmap值。
資源包文本
在assets/minecraft/texts裏的3個 UTF-8 格式的.txt文件儲存了遊戲要用來顯示的文本。
文件end.txt含有終末之詩的文本,使用了樣式代碼的顏色代碼來區分2個講話人,文本PLAYERNAME將會被玩家名稱代替。在展示完了這個文件的內容後,接着就會顯示credits.txt的內容。
資源包字體
字體文件指位於資源包中assets/<namespace>/font目錄下的JSON文件。該文件內含提供每個字符對應的資源位置和額外信息的列表。
minecraft:default給出了默認字體,而minecraft:alt給出了附魔台所用的默認字體。 提供字體時的資源位置應當包含文件擴展名。
- 根標籤
- providers: 提供加入該字體的信息的列表。
- 提供字體的信息。內容取決於“type”標籤的值。
- type: 該字體提供者的信息,可為以下選項之一。
- bitmap: 位圖字體
- file: 欲使用文件的資源位置,以assets/<namespace>/textures開始。
- height: 可選。該字符的高度,以像素為單位。可以為負。該標籤與源材質中使用的區域不相關,僅用於重新調整顯示結果。
- ascent: 該字體的上伸高度(基線至最高點的距離),以像素為單位。 這個值會使得字體的顯示結果出現垂直偏移。
- chars: 一個字符串列表,包含該字體替換的字符及其在材質中的位置。列表所有元素的字符數必須相同。該列表中的一項元素對應材質等距分割的一行,每一個元素中的字符對應等距的一列。
- legacy_unicode: 舊版Unicode字體。該字體格式已廢棄且僅在“強制Unicode字體”選項打開時才會優先使用。
- sizes: assets/<namespace>/font目錄下的資源位置,給出一個描述每個字符的水平起訖位置(從0至15)的二進制文件。目標文件的拓展名必須為.bin。
- template: assets/<namespace>/textures目錄下的資源位置,給出該字體應當使用的材質文件。遊戲會將該標籤中的%s 替換為被替換字符的十六進制代碼的前兩個字符,因此單個此種類的字體提供者可以指向多個貼圖文件。
- ttf: TrueType字體.[需要更多信息]
- file: assets/<namespace>/font目錄下的TrueType字體文件的資源位置。
- shift: 該字體提供者的字體偏移。
- 左側偏移
- 下方偏移
- size: 欲渲染的字體大小。
- oversample: 欲渲染的分辨率。
- skip: 欲排除的字符串或字符串數組。
字體材質表會基於每行中的字符個數自動縮放。為了與Unicode塊保持一致,部分材質表可能為16個字符寬。
資源包基岩版
與皮膚類似,可以在基岩版中購買或製作資源包。iOS用户截至Alpha 0.15.0可以使用.mcpack和.mcworld文件在系統上下載資源包。打開這些文件後,遊戲會自動導入它們,而無需使用文件管理應用。
[1]
資源包你知道嗎
- 參考資料
-
- 1. 資源包 - Minecraft Wiki,最詳細的官方我的世界百科 .Minecraft Wiki[引用日期2021-05-29]