Beautymine – Update & NBT Reader

I started to work on Beautymine again by implementing a fully working NBT (Named Binary Tag) reader.

nbtreader1

Sample dumps:

Level.dat dump:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
TAG_COMPOUND(""): 1 entries
{
	TAG_COMPOUND("Data"): 36 entries
	{
		TAG_LONG("RandomSeed"): 6069523395707597033
		TAG_STRING("generatorName"): default
		TAG_DOUBLE("BorderCenterZ"): 0
		TAG_BYTE("Difficulty"): 2
		TAG_LONG("BorderSizeLerpTime"): 0
		TAG_BYTE("raining"): 0
		TAG_LONG("Time"): 852
		TAG_INT("GameType"): 0
		TAG_BYTE("MapFeatures"): 1
		TAG_DOUBLE("BorderCenterX"): 0
		TAG_DOUBLE("BorderDamagePerBlock"): 0.2
		TAG_DOUBLE("BorderWarningBlocks"): 5
		TAG_DOUBLE("BorderSizeLerpTarget"): 6e+007
		TAG_LONG("DayTime"): 852
		TAG_BYTE("initialized"): 1
		TAG_BYTE("allowCommands"): 0
		TAG_LONG("SizeOnDisk"): 0
		TAG_COMPOUND("GameRules"): 15 entries
		{
			TAG_STRING("doTileDrops"): true
			TAG_STRING("doFireTick"): true
			TAG_STRING("reducedDebugInfo"): false
			TAG_STRING("naturalRegeneration"): true
			TAG_STRING("doMobLoot"): true
			TAG_STRING("keepInventory"): false
			TAG_STRING("doEntityDrops"): true
			TAG_STRING("mobGriefing"): true
			TAG_STRING("randomTickSpeed"): 3
			TAG_STRING("commandBlockOutput"): true
			TAG_STRING("doMobSpawning"): true
			TAG_STRING("logAdminCommands"): true
			TAG_STRING("sendCommandFeedback"): true
			TAG_STRING("doDaylightCycle"): true
			TAG_STRING("showDeathMessages"): true
		}
		TAG_COMPOUND("Player"): 35 entries
		{
			TAG_INT("HurtByTimestamp"): 0
			TAG_SHORT("SleepTimer"): 0
			TAG_LIST("Attributes"): 4 entries of type TAG_COMPOUND
			{
				TAG_COMPOUND(""): 2 entries
				{
					TAG_DOUBLE("Base"): 20
					TAG_STRING("Name"): generic.maxHealth
				}
				TAG_COMPOUND(""): 2 entries
				{
					TAG_DOUBLE("Base"): 0
					TAG_STRING("Name"): generic.knockbackResistance
				}
				TAG_COMPOUND(""): 2 entries
				{
					TAG_DOUBLE("Base"): 0.1
					TAG_STRING("Name"): generic.movementSpeed
				}
				TAG_COMPOUND(""): 2 entries
				{
					TAG_DOUBLE("Base"): 1
					TAG_STRING("Name"): generic.attackDamage
				}
			}
			TAG_BYTE("Invulnerable"): 0
			TAG_INT("PortalCooldown"): 0
			TAG_FLOAT("AbsorptionAmount"): 0
			TAG_COMPOUND("abilities"): 7 entries
			{
				TAG_BYTE("invulnerable"): 0
				TAG_BYTE("mayfly"): 0
				TAG_BYTE("instabuild"): 0
				TAG_FLOAT("walkSpeed"): 0.1
				TAG_BYTE("mayBuild"): 1
				TAG_BYTE("flying"): 0
				TAG_FLOAT("flySpeed"): 0.05
			}
			TAG_FLOAT("FallDistance"): 0
			TAG_SHORT("DeathTime"): 0
			TAG_INT("XpSeed"): 0
			TAG_FLOAT("HealF"): 20
			TAG_INT("XpTotal"): 0
			TAG_INT("playerGameType"): 0
			TAG_LIST("Motion"): 3 entries of type TAG_DOUBLE
			{
				TAG_DOUBLE(""): 0
				TAG_DOUBLE(""): -0.0784
				TAG_DOUBLE(""): 0
			}
			TAG_LONG("UUIDLeast"): -5449757056182179933
			TAG_SHORT("Health"): 20
			TAG_FLOAT("foodSaturationLevel"): 5
			TAG_SHORT("Air"): 300
			TAG_BYTE("OnGround"): 1
			TAG_INT("Dimension"): 0
			TAG_LIST("Rotation"): 2 entries of type TAG_FLOAT
			{
				TAG_FLOAT(""): -51.8999
				TAG_FLOAT(""): 14.4
			}
			TAG_INT("XpLevel"): 0
			TAG_INT("Score"): 0
			TAG_LONG("UUIDMost"): 4868346027275340658
			TAG_BYTE("Sleeping"): 0
			TAG_LIST("Pos"): 3 entries of type TAG_DOUBLE
			{
				TAG_DOUBLE(""): -203.739
				TAG_DOUBLE(""): 73
				TAG_DOUBLE(""): 247.604
			}
			TAG_SHORT("Fire"): -20
			TAG_FLOAT("XpP"): 0
			TAG_LIST("EnderItems"): 0 entries of type TAG_END
			{
			}
			TAG_INT("foodLevel"): 20
			TAG_FLOAT("foodExhaustionLevel"): 1.9867
			TAG_SHORT("HurtTime"): 0
			TAG_INT("SelectedItemSlot"): 0
			TAG_LIST("Inventory"): 0 entries of type TAG_END
			{
			}
			TAG_INT("foodTickTimer"): 0
		}
		TAG_INT("SpawnY"): 64
		TAG_INT("rainTime"): 61328
		TAG_INT("thunderTime"): 118297
		TAG_INT("SpawnZ"): 240
		TAG_BYTE("hardcore"): 0
		TAG_BYTE("DifficultyLocked"): 0
		TAG_INT("SpawnX"): -216
		TAG_INT("clearWeatherTime"): 0
		TAG_BYTE("thundering"): 0
		TAG_INT("generatorVersion"): 1
		TAG_INT("version"): 19133
		TAG_DOUBLE("BorderSafeZone"): 5
		TAG_STRING("generatorOptions"): 
		TAG_LONG("LastPlayed"): 1423848173120
		TAG_DOUBLE("BorderWarningTime"): 15
		TAG_STRING("LevelName"): Beautymine
		TAG_DOUBLE("BorderSize"): 6e+007
	}
}

Chunk[0,22] dump:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
TAG_COMPOUND(""): 1 entries
{
	TAG_COMPOUND("Level"): 12 entries
	{
		TAG_BYTE("LightPopulated"): 0
		TAG_INT("zPos"): 22
		TAG_INT_ARRAY("HeightMap"): [256 integers]
		TAG_LIST("Sections"): 6 entries of type TAG_COMPOUND
		{
			TAG_COMPOUND(""): 5 entries
			{
				TAG_BYTE_ARRAY("Blocks"): [4096 bytes]
				TAG_BYTE_ARRAY("SkyLight"): [2048 bytes]
				TAG_BYTE("Y"): 0
				TAG_BYTE_ARRAY("BlockLight"): [2048 bytes]
				TAG_BYTE_ARRAY("Data"): [2048 bytes]
			}
			TAG_COMPOUND(""): 5 entries
			{
				TAG_BYTE_ARRAY("Blocks"): [4096 bytes]
				TAG_BYTE_ARRAY("SkyLight"): [2048 bytes]
				TAG_BYTE("Y"): 1
				TAG_BYTE_ARRAY("BlockLight"): [2048 bytes]
				TAG_BYTE_ARRAY("Data"): [2048 bytes]
			}
			TAG_COMPOUND(""): 5 entries
			{
				TAG_BYTE_ARRAY("Blocks"): [4096 bytes]
				TAG_BYTE_ARRAY("SkyLight"): [2048 bytes]
				TAG_BYTE("Y"): 2
				TAG_BYTE_ARRAY("BlockLight"): [2048 bytes]
				TAG_BYTE_ARRAY("Data"): [2048 bytes]
			}
			TAG_COMPOUND(""): 5 entries
			{
				TAG_BYTE_ARRAY("Blocks"): [4096 bytes]
				TAG_BYTE_ARRAY("SkyLight"): [2048 bytes]
				TAG_BYTE("Y"): 3
				TAG_BYTE_ARRAY("BlockLight"): [2048 bytes]
				TAG_BYTE_ARRAY("Data"): [2048 bytes]
			}
			TAG_COMPOUND(""): 5 entries
			{
				TAG_BYTE_ARRAY("Blocks"): [4096 bytes]
				TAG_BYTE_ARRAY("SkyLight"): [2048 bytes]
				TAG_BYTE("Y"): 4
				TAG_BYTE_ARRAY("BlockLight"): [2048 bytes]
				TAG_BYTE_ARRAY("Data"): [2048 bytes]
			}
			TAG_COMPOUND(""): 5 entries
			{
				TAG_BYTE_ARRAY("Blocks"): [4096 bytes]
				TAG_BYTE_ARRAY("SkyLight"): [2048 bytes]
				TAG_BYTE("Y"): 5
				TAG_BYTE_ARRAY("BlockLight"): [2048 bytes]
				TAG_BYTE_ARRAY("Data"): [2048 bytes]
			}
		}
		TAG_LONG("LastUpdate"): 852
		TAG_BYTE("V"): 1
		TAG_BYTE_ARRAY("Biomes"): [256 bytes]
		TAG_LONG("InhabitedTime"): 0
		TAG_INT("xPos"): 0
		TAG_BYTE("TerrainPopulated"): 0
		TAG_LIST("TileEntities"): 0 entries of type TAG_END
		{
		}
		TAG_LIST("Entities"): 0 entries of type TAG_END
		{
		}
	}
}

Leave a message

Your email address will not be published. Required fields are marked *

*