Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Disambig gray  關於基岩版的類似於區塊格式的格式檔案,請見「基岩版世界格式」。關於實體的儲存格式,請見「實體格式」。

區塊(Chunks)以16×384×16立方塊為單位儲存地形和實體資訊。區塊也會同時儲存預先計算好的光照、高度圖資料及其他元資料資訊,以加快遊戲處理。

NBT結構[]

區塊是儲存在Anvil檔案中的各種標籤,這些Anvil檔案以r.x.z.mca的形式命名。區塊使用NBT格式儲存,遵循以下結構組成。

  • 根標籤。
    •  below_zero_retrogen:用於在升級為1.18的世界時,原區塊負值高度上重新生成方塊的資料。可能不存在。
      •  missing_bedrock:每個二進制位代表了此位置上是否缺失基岩,用於決定是否重新生成此位置下的方塊。一共256個二進制位,即4個long整數,位置編碼從(0,0)開始橫向掃描到(15,15)結束。
      •  target_status:重新生成方塊時區塊的目標狀態,可選值與 Status相同,但不包含empty
    •  blending_data:用於新舊區塊平滑過渡的混合資料資訊。可能不存在。
      •  heights:混合資料中元胞的高度值,共16個數值。
        • :一個高度值。
      •  max_section:混合資料中最高子區塊的索引。
      •  min_section:混合資料中最低子區塊的索引。
    •  block_entities:儲存區塊內所有方塊實體資訊。
    •  block_ticks:區塊中的方塊計劃刻列表。
    •  CarvingMasks:區塊雕刻時的標記,當區塊生成完畢後此項會被刪除。
      •  AIR:每個二進制位指示洞穴是否在特定位置生成,位置使用YZX編碼
      •  LIQUID:每個二進制位指示水下洞穴是否在特定位置生成,位置使用YZX編碼
    •  DataVersion資料版本
    •  entities:區塊生成時的初始實體資訊,當區塊生成完畢後此項會被刪除。
    •  fluid_ticks:區塊中的流體計劃刻列表。
    •  HeightMaps:區塊的高度圖資訊,儲存方式見高度圖格式
      •  MOTION_BLOCKING:最高的能阻擋移動或含有液體的方塊。
      •  MOTION_BLOCKING_NO_LEAVES:最高的阻擋移動、含有液體或在minecraft:leaves標籤裡的方塊。
      •  OCEAN_FLOOR:最高的既不是空氣也不包含液體的方塊。
      •  OCEAN_FLOOR_WG:最高的既不是空氣也不包含液體的方塊。此值用於世界生成,生成完畢後此值被刪除。
      •  WORLD_SURFACE:最高的非空氣方塊。
      •  WORLD_SURFACE_WG:最高的非空氣方塊。此值用於世界生成,生成完畢後此值被刪除。
    •  InhabitedTime:所有玩家在此區塊停留的總刻數,如果有多個玩家在這個區塊停留過則分別計時並相加。用於區域難易度的計算,當此值大於3600000遊戲刻(150遊戲日)時區域難易度達到最大值。
    •  isLightOn:表示區塊是否已經正常完成光照計算。
    •  LastUpdate:此區塊最後一次儲存時的遊戲時間。
    •  PostProcessing:儲存區塊生成完畢後需要進行更新的位置。
      • :一個子區塊內需要更新的位置。儲存順序為從最低的子區塊開始到最高子區塊結束。
        • :一個需要更新的方塊的位置,按照ZYX編碼儲存。
    •  sections:區塊中所有子區塊的資訊。
      • :一個子區塊的資訊。
        •  biome:子區塊內的生態域資訊。
          •  data:記錄子區塊內64個生態域,編碼格式見方塊儲存格式。如果子區塊內只存在一種生態域,則此項不存在。
          •  palette:生態域的集合,用於記錄int與生態域的映射。
            • :生態域的命名空間ID。
        •  block_states:子區塊內的方塊狀態資訊。
          •  data:記錄子區塊內4096個方塊狀態,編碼格式見方塊儲存格式。如果子區塊內只存在一個方塊狀態,則此項不存在。
          •  palette:方塊狀態的集合,用於記錄int與方塊狀態的映射。
            • :一個方塊狀態。
              • 方塊狀態
        •  BlockLight:儲存子區塊內4096個方塊光照亮度資訊,含有2048個byte,編碼格式見亮度格式。可能不存在。
        •  SkyLight:儲存子區塊內4096個天空光照亮度資訊,含有2048個byte,編碼格式見亮度格式。可能不存在。
        •  Y:子區塊的索引。
    •  Status:定義了該區塊目前在世界生成中的狀態。是這些值的其中之一:empty(尚未進行區塊生成)、structure_starts(生成結構範圍)、structure_references(生成結構標記)、biomes(填充生態域)、noise(填充初始雜訊地形)、surface(應用地表規則)、carvers(進行洞穴雕刻)、features(生成地物)、initialize_light(初始化光照計算)、light(計算光照)、spawn(生成初始實體)和full(區塊生成完畢)。
    •  structures:此區塊中的結構資料。
      •  References:包含 starts中結構的區塊座標。
        •  <結構的命名空間ID>:包含此結構的區塊座標。每一個long都是一個區塊位置,其中X座標儲存在低32位元,Z座標儲存在高32位元。
      •  starts:按類型儲存的還沒有生成完畢的結構,完全生成好的結構會被從這個標籤中移除。
        •  <結構的命名空間ID>:一項結構和它生成時需要的資料。
          •  Children:組成此結構的、還未被生成的結構片段。
            • :結構片段資料。如果此片段已經生成,則被刪除。
          •  ChunkX:結構的起始區塊X座標。如果結構已經生成則無此標籤。
          •  ChunkZ:結構的起始區塊Z座標。如果結構已經生成則無此標籤。
          •  id:結構的命名空間ID。如果結構已經生成,則為INVALID
          •  references:與此結構關聯的標記資訊。
    •  UpgradeData:區塊升級資料。可能不存在。
      •  Indices:需要更新升級的位置,包含了一個區塊中所有子區塊的資訊。
        •  <子區塊序號>:子區塊中需要更新升級的方塊位置資訊。每個int都代表了一個位置,位置使用YZX編碼
      •  neighbor_block_ticks:升級資料中儲存的將進行的方塊計劃刻。
      •  neighbor_fluid_ticks:升級資料中儲存的將進行的流體計劃刻。
      •  Sides:其中的二進制位表示是否對某一方向上的方塊進行更新升級,從低位到高位分別表示北、東北、東、東南、南、西南、西、西北。
    •  xPos:此區塊的X座標。
    •  yPos:此區塊中最低子區塊的索引。
    •  zPos:此區塊的Z座標。

方塊位置編碼[]

在Anvil檔案格式中,區塊被進一步劃分為「子區塊」。子區塊是一個16x16x16大小的區域,含有4096個方塊。方塊在子區塊中的位置被按照YZX來排序以此達到壓縮的目的。

座標系如下:

  • X 向東增加,向西減少;
  • Y 向上增加,向下減少;
  • Z 向南增加,向北減少。

下面的代碼給出了方塊的子區塊位置與其YZX編碼的轉換關係:

public static int toYZX(int x, int y, int z) {
	return y << 8 | z << 4 | x;
}

方塊儲存格式[]

在子區塊中每個方塊都有它們對應的方塊狀態。在平坦化後,方塊狀態與數字形式ID被拆離,也就不能像之前直接使用 Blocks Add陣列進行直接的方塊狀態ID表示。因此,在平坦化後,子區塊儲存方塊狀態使用了「調色板」用於儲存方塊狀態與數字的映射,並將數字按照YZX編碼按順序儲存到 data中。

「調色板」,即 palette標籤,使用元素的索引作為對應方塊狀態的ID。這個ID僅在本子區塊有效,在其他子區塊可能代表其它的方塊狀態。調色板內的元素數量決定了最終ID的長度,影響最終儲存方塊狀態的 data標籤的長度。如果調色板內的方塊狀態只有一個,代表整個子區塊內只包含一種方塊狀態,此時 data標籤不存在,用來節省空間。如果調色板內方塊狀態小於等於16個,那麼編碼長度為4比特,每個long中最多儲存16個方塊狀態;如果調色板內方塊狀態大於16個,那麼編碼長度為比特,每個long中最多儲存個方塊狀態。方塊狀態寫入到 data標籤時,按照YZX編碼逐一寫入,儘量填滿每一個long,但是編碼不能橫跨兩個數字進行儲存。因此,如果調色板中方塊狀態的數量小於等於16,那麼 data標籤的長度就是256;如果數量為17~32, data標籤的長度就是342,以此類推。

和方塊狀態類似,生態域單元也使用類似的方式進行儲存。生態域單元與方塊狀態儲存的區別在於,它的編碼長度統一為比特,而其它部分都是相同的流程。

亮度格式[]

子區塊內的亮度資料也儲存在字節陣列中。因為亮度為0~15,所以只需要4比特就能記錄一個方塊的亮度,每個字節都能儲存兩個方塊的亮度。在寫入亮度資料時,每個方塊的亮度都按照YZX編碼的順序逐一寫入,組成一個2048長度的字節陣列。下方的代碼給出了從子區塊方塊位置取得亮度的方法:

public static int getLight(int x, int y, int z) {
	int yzx = toYZX(x, y, z);
    return (data[yzx >> 1] >> (4 * (yzx & 1))) & 0xF;
}

高度圖格式[]

高度圖儲存類似方塊狀態儲存,但是它只儲存水平方向上16x16的256個高度資訊。高度圖中高度是以世界最低高度極限開始計算的,所以不會有負值,要將高度正確的進行編碼,需要比特,其中h代表世界的總高度。對於主世界來說,總高度是384,需要使用9比特,每個long中可以儲存7個高度;對於地獄和終界,總高度是256,需要使用8比特,每個long中可以儲存8個高度。類似於方塊狀態儲存,儲存高度是儘量放在一個long中,但是不能跨數字儲存一個高度,因此主世界的高度表陣列長度為37,地獄和終界的高度表陣列長度為32。高度儲存從區塊水平座標(0,0)開始,橫向掃描一整行方塊然後開始掃描下一行,最終到(15,15)結束。

計劃刻格式[]

計劃刻代表方塊更新,它的作用是用於解釋在區塊儲存前的事情。事實上它是用於在重新載入世界時再次更新它們(包括紅石機械的更新,水、熔岩的流動,礫石檢查墜落等等)。但是計劃刻不會用於像檢查樹葉腐爛,農作物生長等需要隨機刻來更新的方塊,因為它們的更新不需要隨著區塊的載入而更新。對於地圖製作者來說,計劃刻可以用於在載入區塊的同時更新方塊。

  • 一個計劃刻
    •  i:方塊的命名空間ID,用於啟動正確的方塊更新步驟。
    •  p:計劃刻的處理優先級。如果多個計劃刻被安排入同一刻中,那麼p值較小的計劃刻會被優先處理。一共有7個優先級:-3(最高優先級,只用於紅石比較器和紅石中繼器)、-2(極高優先級,只用於紅石比較器和紅石中繼器)、-1(高優先級,只用於紅石比較器和紅石中繼器)、0(普通優先級)、1(低優先級,沒有任何方塊使用)、2(極低優先級,沒有任何方塊使用)、3(最低優先級,沒有任何方塊使用)。
    •  t:距離此計劃刻將要執行的倒計時。
    •  x:X座標。
    •  y:Y座標。
    •  z:Z座標。

方塊實體格式[]

方塊實體是對方塊狀態有窮集合的補充。所有方塊實體都有下面的標籤:

  • 一個方塊實體
    •  id:方塊實體ID。
    •  keepPacked:表示此方塊實體是否已經無效,關係到區塊將如何儲存這個方塊實體。此項不能透過/data取得。
    •  x:目前方塊實體的X座標。
    •  y:目前方塊實體的Y座標。
    •  z:目前方塊實體的Z座標。

下面為Java版中所有的方塊實體。

方塊實體ID 名稱
banner 旗幟
barrel 木桶
beacon 烽火台
bed
beehive 蜂窩蜂箱
bell
blast_furnace 高爐
brewing_stand 釀造台
brushable_block 可疑的方塊
calibrated_sculk_sensor 校準伏聆振測器
campfire 營火
chest 儲物箱
chiseled_bookshelf 浮雕書櫃
command_block 指令方塊
comparator 紅石比較器
conduit 海靈核心
crafter[新增:JE 1.20.3] 合成器
daylight_detector 日光感測器
decorated_pot 飾紋陶罐
dispenser 發射器
dropper 投擲器
enchanting_table 附魔台
end_gateway 終界折躍門
end_portal 終界傳送門
ender_chest 終界箱
furnace 熔爐
hanging_sign 懸掛式告示牌
hopper 漏斗
jigsaw 拼圖方塊
jukebox 唱片機
lectern 講台
mob_spawner 生怪磚
piston 移動中的活塞
sculk_catalyst 伏聆觸媒
sculk_sensor 伏聆振測器
sculk_shrieker 伏聆嘯口
shulker_box 界伏盒
sign 告示牌
skull 生物頭顱
smoker 煙燻爐
structure_block 結構方塊
trapped_chest 陷阱儲物箱

結構片段格式[]

結構片段是區塊生成時進行結構放置的單元。對於不同的結構,有不同的結構片段資料進行不同的結構放置。所有結構片段資料都有下面的標籤:

  • 結構片段資料根標籤。
    •  BB:結構片段的範圍。此陣列一共有6個int,分別代表了最小X、Y、Z座標和最大X、Y、Z座標。
    •  GD:生成深度,用於正確生成結構片段的位置與方向。
    •  id:結構片段的命名空間ID。
    •  O:結構片段的方向,從0到3分別對應南西北東。

目前Minecraft中有56種結構片段,其中24種沒有額外的標籤,它們分別是:

其餘結構片段的額外標籤在下文列出。

minecraft:mscorridor[]

此結構片段表示廢棄礦坑中的鐵軌區域生怪磚區域Mine Shaft Corridor) 。

  • 結構片段資料根標籤。
    •  hps:表示此走廊是否有洞穴蜘蛛生怪磚。
    •  hr:表示此走廊是否有鐵軌。
    •  Num:走廊長度。
    •  MST:廢棄礦坑的類型,0代表普通類型,1代表惡地類型。
    •  sc:表示此走廊是否有蜘蛛網。

minecraft:mscrossing[]

此結構片段表示廢棄礦坑中的交叉區域Mine Shaft Crossing) 。

  • 結構片段資料根標籤。
    •  D:此交叉區域的建構時的方向,從0到3分別對應南西北東,防止重複建立一塊結構片段。
    •  MST:廢棄礦坑的類型,0代表普通類型,1代表惡地類型。
    •  tf:表示此交叉區域是否有兩層。

minecraft:msroom[]

此結構片段表示廢棄礦坑中的房間區域(Mine Shaft Room) 。

  • 結構片段資料根標籤。
    •  Entrances:房間的入口。
      • :房間入口的範圍。此陣列一共有6個int,分別代表了最小X、Y、Z座標和最大X、Y、Z座標。
    •  MST:廢棄礦坑的類型,0代表普通類型,1代表惡地類型。

minecraft:msstairs[]

此結構片段表示廢棄礦坑中的階梯區域(Mine Shaft Stairs) 。

  • 結構片段資料根標籤。
    •  MST:廢棄礦坑的類型,0代表普通類型,1代表惡地類型。

minecraft:nebef[]

此結構片段表示地獄要塞橋樑的盡頭(Nether Fortress Bridge End Filler)。

  • 結構片段資料根標籤。
    •  Seed:生成結構片段時使用的種子。

minecraft:nesclt和minecraft:nescrt[]

此結構片段表示地獄要塞中的彎走廊Nether Fortress Castle Small Corridor Left/Right Turn)。

  • 結構片段資料根標籤。
    •  Chest:表示生成結構時是否加入戰利品箱。

minecraft:nemt[]

此結構片段表示地獄要塞中的瞭望台Nether Fortress Monster Throne)。

  • 結構片段資料根標籤。
    •  Mob:表示是否已經放置了烈焰使者生怪磚。

minecraft:shcc[]

此結構片段表示要塞中含戰利品祭壇的走廊(StrongHold Chest Corridor)。

  • 結構片段資料根標籤。
    •  Chest:表示是否已經放置了戰利品箱。
    •  EntryDoor:此走廊入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。

minecraft:shfc[]

此結構片段表示要塞中的走廊(StrongHold Filler Corridor)。

  • 結構片段資料根標籤。
    •  EntryDoor:此走廊入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。
    •  Steps:走廊長度。

minecraft:sh5c[]

此結構片段表示要塞中的五通道路口(StrongHold Five Crossing)。

  • 結構片段資料根標籤。
    •  EntryDoor:此走廊入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。
    •  leftHigh:表示五通道路口中是否在下面向下的階梯中有一個出口。
    •  leftLow:表示五通道路口中是否在下面向上的階梯中有一個出口。
    •  rightHigh:表示五通道路口中是否在上面向下的階梯中有一個出口。
    •  rightLow:表示五通道路口中是否在上面向上的階梯中有一個出口。

minecraft:shlt和minecraft:shrt[]

此結構片段表示要塞中的轉角(StrongHold Left/Right Turn)。

  • 結構片段資料根標籤。
    •  EntryDoor:此走廊入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。

minecraft:shli[]

此結構片段表示要塞中的圖書館StrongHold Library)。

  • 結構片段資料根標籤。
    •  EntryDoor:此圖書館入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。
    •  Tall:圖書館是否有通往上方的階梯。

minecraft:shpr[]

此結構片段表示要塞中的傳送門房間StrongHold Portal Room)。

  • 結構片段資料根標籤。
    •  EntryDoor:此圖書館入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。
    •  Mob:表示是否已經放置了蠹魚生怪磚。

minecraft:shph[]

此結構片段表示要塞中的牢房StrongHold Prison Hall)。

  • 結構片段資料根標籤。
    •  EntryDoor:此牢房入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。

minecraft:shrc[]

此結構片段表示要塞中的交叉房間(StrongHold Room Crossing)。

  • 結構片段資料根標籤。
    •  EntryDoor:此房間入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。
    •  Type:表示房間的類型。0-2分別代表石柱房噴泉房和階梯房;3、4代表空房間

minecraft:shsd和minecraft:shstart[]

此結構片段表示要塞中的旋轉階梯StrongHold Stairs Down/StrongHold Start)。

  • 結構片段資料根標籤。
    •  EntryDoor:此階梯入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。
    •  Source:表示此旋轉階梯是否為要塞的起點。

minecraft:shs[]

此結構片段表示要塞中的直走廊(StrongHold Straight)。

  • 結構片段資料根標籤。
    •  EntryDoor:此走廊入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。
    •  Left:表示在走廊左側是否有一個開口。
    •  Right:表示在走廊右側是否有一個開口。

minecraft:shssd[]

此結構片段表示要塞中的直階梯StrongHold Straight Stairs Down)。

  • 結構片段資料根標籤。
    •  EntryDoor:此階梯入口門的類型。可以為OPENING(開放入口)、WOOD_DOOR(木門)、GRATES(鐵柵欄)和IRON_DOOR(鐵門)。

minecraft:tejp[]

此結構片段表示叢林神廟Jungle Pyramid Piece)。

  • 結構片段資料根標籤。
    •  placedTrap1:表示是否已經放置走廊發射器發射箭的陷阱。
    •  placedTrap2:表示是否已經放置儲物箱發射器發射箭的陷阱。
    •  placedMainChest:表示是否已經放置主儲物箱。
    •  placedHiddenChest:表示是否已經放置隱藏儲物箱。

minecraft:orp[]

此結構片段表示海底廢墟Ocean Ruin)。

  • 結構片段資料根標籤。
    •  BiomeType:此遺蹟所處的海洋的溫度。可以為WARM(溫暖海域)和COLD(寒冷海域)。
    •  Integrity:此結構的完整度。
    •  IsLarge:表示此結構是否為大型廢墟。
    •  Rot:此結構放置時的旋轉角度,可以為NONE(不旋轉)、CLOCKWISE_90(順時針旋轉90度)、CLOCKWISE_180(旋轉180度)、COUNTERCLOCKWISE_90(逆時針旋轉90度)。
    •  Template:此結構使用的結構模板的命名空間ID。
    •  TPX:結構模板的X座標起始點。
    •  TPY:結構模板的Y座標起始點。
    •  TPZ:結構模板的Z座標起始點。

minecraft:iglu[]

此結構片段表示雪屋Igloo)。

  • 結構片段資料根標籤。
    •  Rot:此結構放置時的旋轉角度,可以為NONE(不旋轉)、CLOCKWISE_90(順時針旋轉90度)、CLOCKWISE_180(旋轉180度)、COUNTERCLOCKWISE_90(逆時針旋轉90度)。
    •  Template:此結構使用的結構模板的命名空間ID。
    •  TPX:結構模板的X座標起始點。
    •  TPY:結構模板的Y座標起始點。
    •  TPZ:結構模板的Z座標起始點。

minecraft:rupo[]

此結構片段表示廢棄傳送門Ruined Potral)。

  • 結構片段資料根標籤。
    •  Mirror:此結構放置時的採取的對稱方式,可以為NONE(不進行鏡像對稱)、LEFT_RIGHT(左右鏡像對稱)、FRONT_BACK(前後鏡像對稱)。
    •  Properties:廢棄傳送門的放置屬性。
      •  air_pocket:此廢棄傳送門是否含有空洞。
      •  cold:表示此廢棄傳送門是否已經冷卻,決定放置熔岩、岩漿塊和地獄石。
      •  mossiness:廢棄傳送門的廢棄程度,值越大結構中方塊的形式越破碎。
      •  overgrown:表示此廢棄傳送門是否生成樹葉。
      •  replace_with_blackstone:表示此廢棄傳送門中的一部分方塊是否替換為黑石。
      •  vines:表示此廢棄傳送門是否生成藤蔓。
    •  Rotation:此結構放置時的旋轉角度,可以為NONE(不旋轉)、CLOCKWISE_90(順時針旋轉90度)、CLOCKWISE_180(旋轉180度)、COUNTERCLOCKWISE_90(逆時針旋轉90度)。
    •  Template:此結構使用的結構模板的命名空間ID。
    •  TPX:結構模板的X座標起始點。
    •  TPY:結構模板的Y座標起始點。
    •  TPZ:結構模板的Z座標起始點。
    •  VerticalPlacement:廢棄傳送門的垂直放置模式,可以為on_land_surface(地表)、partly_buried(部分掩埋)、on_ocean_floor(海床上)、in_mountain(山中)、underground(地下)和in_nether(地獄)。

minecraft:tesh[]

此結構片段表示沼澤小屋Swampland Hut)。

  • 結構片段資料根標籤。
    •  Cat:表示是否已經在這個沼澤小屋裏生成黑貓。
    •  Depth:結構的深度。
    •  Height:結構的高度。
    •  HPos:為將結構放置在地面上而移動到的Y高度。若該結構未被移動則為-1。
    •  Width:結構的寬度。
    •  Witch:表示是否已經在這個沼澤小屋裏生成女巫。

minecraft:tedp[]

此結構片段表示沙漠神殿Desert Pyrmaid Piece)。

  • 結構片段資料根標籤。
    •  Depth:結構的深度。
    •  hasPlacedChest0:表示是否放置了南方的儲物箱。
    •  hasPlacedChest1:表示是否放置了西方的儲物箱。
    •  hasPlacedChest2:表示是否放置了北方的儲物箱。
    •  hasPlacedChest3:表示是否放置了東方的儲物箱。
    •  Height:結構的高度。
    •  HPos:為將結構放置在地面上而移動到的Y高度。若該結構未被移動則為-1。
    •  Width:結構的寬度。

minecraft:ecp[]

此結構片段表示終界城End City Piece)。

  • 結構片段資料根標籤。
    •  OW:表示在結構放置時是否只忽略結構內的結構方塊。
    •  Rot:此結構放置時的旋轉角度,可以為NONE(不旋轉)、CLOCKWISE_90(順時針旋轉90度)、CLOCKWISE_180(旋轉180度)、COUNTERCLOCKWISE_90(逆時針旋轉90度)。
    •  Template:此結構使用的結構模板的命名空間ID。
    •  TPX:結構模板的X座標起始點。
    •  TPY:結構模板的Y座標起始點。
    •  TPZ:結構模板的Z座標起始點。

minecraft:wmp[]

此結構片段表示綠林府邸Woodland Mansion Piece)。

  • 結構片段資料根標籤。
    •  Mi:此結構放置時的採取的對稱方式,可以為NONE(不進行鏡像對稱)、LEFT_RIGHT(左右鏡像對稱)、FRONT_BACK(前後鏡像對稱)。
    •  Rot:此結構放置時的旋轉角度,可以為NONE(不旋轉)、CLOCKWISE_90(順時針旋轉90度)、CLOCKWISE_180(旋轉180度)、COUNTERCLOCKWISE_90(逆時針旋轉90度)。
    •  Template:此結構使用的結構模板的命名空間ID。
    •  TPX:結構模板的X座標起始點。
    •  TPY:結構模板的Y座標起始點。
    •  TPZ:結構模板的Z座標起始點。

minecraft:shipwreck[]

此結構片段表示沉船Shipwreck Piece)。

  • 結構片段資料根標籤。
    •  isBeached:表示此沉船是否擱淺。
    •  Rot:此結構放置時的旋轉角度,可以為NONE(不旋轉)、CLOCKWISE_90(順時針旋轉90度)、CLOCKWISE_180(旋轉180度)、COUNTERCLOCKWISE_90(逆時針旋轉90度)。
    •  Template:此結構使用的結構模板的命名空間ID。
    •  TPX:結構模板的X座標起始點。
    •  TPY:結構模板的Y座標起始點。
    •  TPZ:結構模板的Z座標起始點。

minecraft:nefos[]

此結構片段表示地獄化石Nether Fossil)。

  • 結構片段資料根標籤。
    •  Rot:此結構放置時的旋轉角度,可以為NONE(不旋轉)、CLOCKWISE_90(順時針旋轉90度)、CLOCKWISE_180(旋轉180度)、COUNTERCLOCKWISE_90(逆時針旋轉90度)。
    •  Template:此結構使用的結構模板的命名空間ID。
    •  TPX:結構模板的X座標起始點。
    •  TPY:結構模板的Y座標起始點。
    •  TPZ:結構模板的Z座標起始點。

minecraft:jigsaw[]

此結構片段表示使用拼圖的結構。

  • 結構片段資料根標籤。
    •  ground_level_delta:為將結構放置在地面上而移動到的Y高度。
    •  junctions:連接點列表。
    •  pool_element:結構池的元素資訊。
    •  PosX:結構的X座標起始點。
    •  PosY:結構的Y座標起始點。
    •  PosZ:結構的Z座標起始點。
    •  rotation:此結構放置時的旋轉角度,可以為NONE(不旋轉)、CLOCKWISE_90(順時針旋轉90度)、CLOCKWISE_180(旋轉180度)、COUNTERCLOCKWISE_90(逆時針旋轉90度)。

歷史[]

區塊在Infdev中首次引入。在Beta 1.3中加入區域檔案格式之前,區塊都是獨立儲存在以Base36編碼的區塊位置為檔案名的.dat檔案裡,這種格式是Alpha檔案格式。區域檔案格式變更了這種儲存方式,它把一組32×32區塊儲存在以Base10編碼的座標命名的.mcr檔案裡,以減少Minecraft一次處理檔案的數量的方式來減少硬盤佔用。區域檔案格式的繼承者便是現在的格式——Anvil檔案格式,它只修改區塊格式。區域檔案技術仍然在使用,但其檔案擴展名被改成了.mca。

區域檔案格式到Anvil格式的主要修改是把區塊拆成子區塊。每個區塊被分成若干個16×16×16方塊組成的子區塊以便使完全空的區域不會被儲存。後者也已做好了支持0-4095的方塊ID的準備,而前者支持的ID為0-255。然而,Minecraft沒有為以物品形式存在的方塊做好完全的準備,在256-4095中的許多ID都已被物品佔用。直到平坦化後,方塊與數字ID拆離,從此不再因為ID而使區塊儲存出現問題。

Java版
1.3.112w21aMobSpawner中移除了MaxExperienceRemainingExperienceExperienceRegenTickExperienceRegenRateExperienceRegenAmount
1.4.212w34a加入實體WitherBoss
1.513w02a加入實體MinecartTNT
Minecart被棄用。
13w03a加入實體MinecartHopper
13w06a加入實體MinecartSpawner
1.6.113w16a加入實體EntityHorse
13w21aEntityHorse中移除了ArmorType
EntityHorse中移除了Saddle
1.6.1-preEntityHorse重新加入了Saddle
1.7.213w39a加入實體MinecartCommandBlock
1.814w02a為儲物箱加入了Lock
現在指定了NBT資料時不再使用物品ID。
FallingSand加入了Block,其使用了字母ID格式。
14w06a為所有實體加入了ShowParticles
為所有物品實體加入了PickupDelay
Age設定為-32768會使物品永不過期。
為所有生物移除了AttackTime
14w10aVillager加入了rewardExp
為所有可以飼養的生物加入了OwnerUUID
Skull加入了Owner
對物品展示框和畫進行了變更:加入了FacingTileXTileYTileZ現在表示物品裏面的方塊的座標而不是其放置的物品,同時棄用了DirectionDir
14w11a加入實體Endermite
Enderman加入了EndermiteCount
14w21a現在所有實體都有了CustomNameCustomNameVisible
14w25a加入實體Guardian
為告示牌加入了Text1Text2Text3Text4。告示牌現在不再有字元數量限制(16個),現在其限制取決於字元的寬度。
14w27a加入實體Rabbit。 為指令方塊告示牌加入了CommandStats
14w28aEnderman移除了EndermiteCount
14w30a為所有實體加入了Silent
14w32a為所有生物加入了NoAI
加入實體ArmorStand
14w32cArmorStand加入了NoBasePlate
1.915w31aLiving加入了標籤HandItemsArmorItemsHandDropChancesArmorDropChances。它們取代了DropChancesEquipment標籤。
ArmorStand加入了HandItemsArmorItems
Entity加入了Glowing
LivingBase加入了Team
EnderDragon加入了DragonPhase
加入實體Shulker,是SnowMan的子標籤。
加入實體ShulkerBullet,是Entity的子標籤。
加入實體DragonFireball,其擴展了FireballBase,但沒有獨有標籤。
加入實體TippedArrowSpectralArrow,是Arrow的子標籤。
加入方塊EndGatewayTileEntity
加入方塊Structure,是TileEntity的子標籤。
加入物品標籤Potion,是tag的子標籤。
15w32aTagsDataVersion標籤現在可應用於實體上。
FusePrimedTnt實體的標籤類型從「Byte」改為「Short」。
15w32c引入了實體擁有標籤的數量限制(1024個標籤)。在試圖超越此限制時會顯示錯誤:「不能向實體加入超過1024個標籤」。
15w33a加入實體AreaEffectCloud,其是Entity的子標籤。
EndGateway加入ExactTeleport並且重新命名LifeAge
ThrownPotion加入了Linger
Entity移除了DataVersion。該標籤現在只適用於Player以及LivingBase的子標籤。
Entity移除了UUID
LivingBase中的HealF現已棄用。
LivingBase中的LivingBase類型從「Short」變為「Float」。
ArmorStandLiving實體中移除了,該標籤的功能被早些時候加入的HandItemsArmorItems替代。
15w33cEnderCrystal加入了BeamTarget
15w34a指令方塊Control方塊實體加入了poweredconditional字節標籤。
FireballBase加入了lifepower
MobSpawner中的SpawnData加入了id
音階盒加入poweredMusic方塊實體。
15w35aZombie加入了VillagerProfession
15w37aMinecartHopper加入了Enabled
15w38aEntityHorse加入了SkeletonTrapSkeletonTrapTime
15w41a所有實體中的RidingPassengers替代。
向所有騎乘者加入了RootVehicle
Boat加入了Type
15w42aCauldron(釀造台)加入了Fuel
15w43aChestMinecartMinecartHopper加入了LootTableLootTableSeed
向所有生物加入了DeathLootTableDeathLootTableSeed
向所有火球(FireballBase)加入了lifepower
15w44aEnderCrystal加入了ShowBottom
15w44bArrow加入了PotionCustomPotionEffects
AreaEffectCloud加入了Potion
15w45aThrownPotion處移除了Linger。現在儲存的物品的ID包含minecraft:lingering_potion,藥水會滯留。
ThrownPotion現在會繪製其物品形式,即使那個物品不是藥水。
15w46aRabbitMoreCarrotTicks現在會在兔子吃一個胡蘿蔔時設定為40,但該標籤目前未被使用。
15w47aBeacon加入了PaymentItem
15w49aBeacon中移除了PaymentItem
為了使告示牌接受文字,所有4個標籤(「Text 1」、「Text 2」、「Text 3」和「Text 4」)都必須存在。
15w51bArmorStandDisabledSlots的原始值會自然變更。
1.1016w20a加入實體 PolarBear
Zombie加入了ZombieType,並且重新命名VillagerProfessionIsVillager。值若為6則表示其是屍殼殭屍。
一個值為2的SkeletonType 指向單獨的骷髏。
NoGravity擴展到所有的實體。
Structure加入poweredshowboundingboxshowair
16w21a加入FallFlying到怪物和武器選項
Structure加入integrityseed
1.10-pre1AreaEffectCloud加入ParticleParam1ParticleParam2
1.1116w32a馬按它們各自的類型被分成如下實體ID:horsedonkeymuleskeleton_horse以及zombie_horse 。從horse中移除了TypeHasReproducedChestedHorseItems 標籤已經僅僅適用於muledonkey、並且SkeletonTrapSkeletonTrapTime 也只適用於skeleton_horse
骷髏被分成了如下實體ID: skeletonstray以及wither_skeleton。從骷髏中刪除了所有的SkeletonType標籤。
殭屍被分成了如下實體IDzombiezombie_villager以及husk。從殭屍類型中移除了所有的ZombieType標籤、ConversionTime標籤和Profession標籤現只適用於zombie_villager
保衛者被分為了如下的實體IDguardianelder_guardian。從guardian中移除了Elder
沒有被使用的遊戲儲存IDMobMonster被移除。
Pumpkin字節標籤被加入到snowman
16w35abanner加入了CustomName
16w39a加入例如llamallama_spitvindication_illagervexevocation_fangsevocation_illager
shulker加入了Color
為物品加入了LocNameCustomPotionColor以及ColorMap
16w40avindication_illager加入了Johnny
從火球基類(地獄幽靈火球、烈焰使者火球(火焰彈)、龍炎彈和凋零頭顱)中刪除了xTileyTilezTileinTileinGround
16w41a標籤llama_spit已經在遊戲儲存實體中可用,
16w42a加入 critarrow
16w43a加入 OwnerUUIDLeastOwnerUUIDMostevocation_fangs
16w44a從魚鈎實體中刪除了標籤:xTileyTilezTileinTileinGround
1.11-pre1改變ench標籤使它至少具有一個TAG_compound 。
1.1217w13a加入了實體ParrotShoulderEntityLeft/ShoulderEntityRightseenCreditsrecipeBookRecipes
17w14a為成為了複合標籤的recipeBook加入了isFilteringCraftableisGuiOpenrecipes
為實體Zombie加入了ConversionPlayerLeastConversionPlayerMost
17w16a改進了指令中的NBT解析。
17w17arecipeBookUpdateLastExecutionLastExecution加入了toBeDisplayed
17w17b為可繁殖的實體加入了LoveCauseLeastLoveCauseMost
1.1317w47a物品中的damage標籤被移除,工具和盔甲現在使用Damage標籤,地圖使用map標籤,二者類型都是tag
終界使者的carriedcarriedData標籤被併入到carriedBlockState標籤中。
箭的inTileinData標籤被併入到inBlockState標籤中。
礦車的DisplayTileDisplayData標籤被併入到DisplayState標籤中。
掉落的方塊的BlockData標籤被併入到BlockState標籤中。
移動中的活塞的BlockIdBlockData標籤被併入到blockState標籤中。
移除了音階盒和花盆方塊實體。
陷阱儲物箱現在有了它們自己的方塊實體trapped_chest
從旗幟中移除了Base
從生物頭顱中移除了Rot
17w47a從唱片機中移除了Record
17w47b陷阱儲物箱不再擁有它們自己的方塊實體,轉而再次使用chest
18w01aThrowerOwner的類型從strings已被修改為有2個long類型的LM標籤的複合標籤。
18w02a由釣竿建立的浮標現在有了其實體IDfishing_bobber
畫的ID已被小寫化、命名空間化。
18w07a加入了turtletridentphantom實體。
turtle加入了HomePosXHomePosYHomePosZTravelPosXTravelPosYTravelPosZHasEgg
phantom加入了AXAYAZSize
18w15a加入了dolphin實體。
18w19apuffer_fish重新命名為pufferfish
18w20acod_mob重新命名為cod
salmon_mob重新命名為salmon
18w21adolphin加入了TreasurePosXTreasurePosYTreasurePosZGotFishCanFindTreasure
ench現已被重新命名為Enchantments
Enchantments不再接受數字ID,它現在接受字母ID。
pre5xp_orb重新命名為experience_orb
xp_bottle重新命名為experience_bottle
eye_of_ender_signal重新命名為eye_of_ender
ender_crystal重新命名為end_crystal
fireworks_rocket重新命名為firework_rocket
commandblock_minecart重新命名為command_block_minecart
villager_golem重新命名為iron_golem
evocation_fangs重新命名為evoker_fangs
evocation_illager重新命名為evoker
vindication_illager重新命名為vindicator
pre5illusion_illager重新命名為illusioner
1.1418w43a加入了illager_beastpandapillager實體。
18w45a移除了LIGHT_BLOCKING高度圖。
1.1519w36a每個區塊中 Level標籤中的 Biomes陣列現在包含1024個整數而不是256個,允許不同高度上的生態域有不同的值。
1.1821w37a現在生態域資料由子區塊儲存, Biomes被刪除。
21w39a CarvingMasks中的 AIR LIQUID改用
21w43a所有的標籤都從 Level標籤中提取出來。
 ToBeTicked TileTicks合併為 block_ticks
 LiquidsToBeTicked LiquidTicks合併為 fluid_ticks
 Entities重新命名為 entities
 Sections重新命名為 sections
 Starts重新命名為 starts
 Structures重新命名為 structures
 TileEntities重新命名為 block_entities
加入 yPos below_zero_retrogen blending_data標籤。
1.20.223w32a不再使用數值來儲存世界中的狀態效果
變更了狀態效果實例中的字段。
變更了方塊實體beacon的NBT格式。

語言

Advertisement