此条目需要更新。
条目中某些信息已经不符合当前版本情况。
该文章需要整理以符合样式标准。
请帮助优化文章样式来让它符合样式要求。
此特性为Java版独有。
地图不在物品中存储他们的信息,而是将其数据值对应保存的文件的地图数字(ID)。其数据放在此世界存档目录下的“data”目录下。每个地图都有它自己的与它ID相关联的文件,同时还有一个文件用于追踪最高的(=最近创建的)地图ID。
当在下界使用地图时,地图的渲染会像静止了一样,使它们完全不可读。
idcounts.dat文件包含了当前地图的最新ID。每个地图的文件名使用map_.dat的格式,是该地图的独有数字。
map_.dat格式
map_.dat文件是由GZip压缩的NBT文件。
:根标签。
data:地图信息。
scale:地图缩放(2scale 方块每像素,scale可以为0,表示地图是1:1缩放的)。预设值是3,最小值是0而最大值是4。
dimension: 0 = 主世界,-1 = 下界,1 = 末路之地,其他数值 = 该地图是静态图像。
trackingPosition:1(默认值)表示当地图在其中心坐标附近时位置箭头应被显示。0表示位置箭头永不显示。
unlimitedTracking:1(默认值)允许玩家位置指示器当玩家距地图中心远于320*(尺寸+1)格时在地图边缘以较小的点状形式呈现。设为0将使该点在上述条件下被隐去。
locked:如果地图被制图台锁定,则为1。
xCenter:地图在游戏世界里的X中心。
zCenter:地图在游戏世界里的Z中心。
banners:地图里的旗帜标记。该列表可能不存在或者是空值。
一个旗帜标记。
Color:旗帜的颜色。有效的值包括:white、orange、magenta、light_blue、yellow、lime、pink、gray、light_gray、cyan、purple、blue、brown、green、red和 black。
Name:旗帜的自定义名称,可能这个值不存在。
Pos:旗帜在世界上的位置。
X:旗帜的X坐标。
Y:旗帜的Y坐标。
Z:旗帜的Z坐标。
frames:列举了加入地图的地图标记者,可以是空的。
一个标记者。
EntityId:这个标记者的任意独一无二的值。
Rotation:标记者的旋转角,在0到360之间。
Pos:标记者在世界中的方块位置。
X:标记者的x坐标。
Y:标记者的y坐标。
Z:标记者的z坐标。
colors:颜色的宽度×高度的阵列(一个预设的128x128地图拥有16384个点)颜色可以通过以下方法存取:colorID = Colors[widthOffset + heightOffset * width],其中 (widthOffset==0, heightOffset==0) 的点是左上角的点。
DataVersion:地图创建时的版本。如果不存在,则默认为1343(Java版1.12.2)。
当这个结构载入时,颜色阵列就会转换成标准尺寸(如需要),这个结构就会以标准的高度和宽度储存。
idcounts.dat格式
这个文件追踪最新加入的地图。它被存储为原始的(未压缩的)NBT文件。
根标签。
Data
map: 最新的地图ID。
DataVersion
地图会使用一个颜色表对应颜色ID来储存颜色。
地图会根据方块的材质来为它们着色。每个材质都有一个基色,它会乘以135, 180, 220或255,再除以255来得到地图色。以下的每个基色都会与四个地图色相关联——将基色ID乘以4来得到第一个地图色ID。
ID
颜色
RGB
对应方块
1 GRASS
127, 178, 56
3 WOOL
199, 199, 199
4 FIRE
255, 0, 0
5 ICE
160, 160, 255
6 METAL
167, 167, 167
9 CLAY
164, 168, 184
黏土块、被虫蚀的方块(石头、圆石、石砖、苔石、苔石砖、裂石砖、錾制石砖)
11 STONE
112, 112, 112
12 WATER
64, 64, 255
14 QUARTZ
255, 252, 245
闪长岩、磨制闪长岩、白桦原木(侧面)、石英块(所有变种、所有台阶、所有楼梯)、海晶灯
30 GOLD
250, 238, 77
31 DIAMOND
92, 219, 213
钻石块、信标、海晶石砖(台阶、楼梯)、暗海晶石(台阶、楼梯)、潮涌核心
32 LAPIS
74, 128, 255
33 EMERALD
0, 217, 58
35 NETHER
112, 2, 0
下界岩、下界砖块(栅栏、台阶、楼梯、墙)、下界石英矿石、岩浆块、红色下界砖块(台阶、楼梯、墙)
36 TERRACOTTA_WHITE
209, 177, 161
37 TERRACOTTA_ORANGE
159, 82, 36
38 TERRACOTTA_MAGENTA
149, 87, 108
39 TERRACOTTA_LIGHT_BLUE
112, 108, 138
40 TERRACOTTA_YELLOW
186, 133, 36
41 TERRACOTTA_LIGHT_GREEN
103, 117, 53
42 TERRACOTTA_PINK
160, 77, 78
43 TERRACOTTA_GRAY
57, 41, 35
44 TERRACOTTA_LIGHT_GRAY
135, 107, 98
45 TERRACOTTA_CYAN
87, 92, 92
46 TERRACOTTA_PURPLE
122, 73, 88
47 TERRACOTTA_BLUE
76, 62, 92
48 TERRACOTTA_BROWN
76, 50, 35
49 TERRACOTTA_GREEN
76, 82, 42
50 TERRACOTTA_RED
142, 60, 46
51 TERRACOTTA_BLACK
37, 22, 16
上面的每个基色都有4个相关联的地图色。该转换将用红、绿和蓝分别乘上一个值再除以255,最后取整到一个整数。从13w42b开始,第四个基色变体将乘上135,得到一个较暗的颜色集合而不仅仅是第二个基色变体的副本。
地图色ID
R、G、B所乘的数
= 实际乘数
基色ID×4 + 0
180
0.71
基色ID×4 + 1
220
0.86
基色ID×4 + 2
255(相同的颜色)
1
基色ID×4 + 3
135
0.53
每个颜色的不同阴影,不包括水
1.12中每个地图颜色的不同阴影,不包括水
Redstonehelper在生存中使用了这种阶梯型的方法。
人们会用地图来创作像素画。默认的地图大小为128×128并会读取每一个方块为一种特定的颜色。通过以特定的排列放置方块,为创作像素画图像提供了可能。
创作地图像素画有两种方法:平面型和阶梯型。平面型方法涉及在一个平面上放置像素图像,最后创建出一个地板。平面型方法是两种方法中较简单的一种,但只提供了51色的调色板。而阶梯型方法提供了153色,但使用起来更加复杂了。在阶梯型方法中,方块需要被放置不同的高度来获得特定的颜色变化。一个方块的颜色会在比北边方块低的位置时变暗,而在比北边方块高的位置时变亮。
使用平面型方法时,可以使用以上列表中每个颜色组的第二个阴影。对于阶梯型方法,可以使用以上颜色组的前三个阴影。只有使用外部工具才能获得第四个阴影。
该页面仍需完善。
你可以帮助我们扩充关于该主题的更多信息。
原因:9
以下是一些用来处理地图的代码示例。
库名
语言
代码链接
MCModify
Java
minecraftmap
Python
mcmapimg
Python
此段落需要更新。
段落中某些信息已经不符合当前版本情况。
?当Notch第一次加入地图时,他没有使用NBT格式。
?加入了地图。
地图ID被限制为短整型的大小(32,768)。
?加入了下界颜色 "NETHER" (35),基色数量提升到36。
第四种颜色的乘数从 220 (0.86) 改为 135 (0.53)。
?基色数量提升到52。
地图ID不再使用短整型(32,767)而改用了整型(2,147,483,647),因为它们不再基于物品的损害值。
idcounts.dat现在使用整型(2,147,483,647)而不是短整型。
加入了DataVersion来保存map_.dat。(idcounts.dat仍然没有DataVersion)
加入了locked来保存map_.dat。