61 lapisLazuliBlock
= 55;
75 mossyStoneBricks
= 69;
76 crackedStoneBricks
= 70;
77 chiseledStokeBricks
= 71;
81 backgroundOakWood
= 75;
87 closedWoodenDoor1
= 81;
88 closedWoodenDoor2
= 82;
90 backgroundBirchWood
= 84;
92 backgroundSpruceWood
= 86;
94 redMushroomBlock1
= 88;
95 redMushroomBlock2
= 89;
96 brownMushroomBlock1
= 90;
97 brownMushroomBlock2
= 91;
99 backgroundOakFence
= 93;
100 backgroundOakWoodPlanks
= 94;
113 closedWoodenTrapdoor
= 107;
114 openWoodenTrapdoor
= 108;
122 redstoneLampOff
= 116;
123 redstoneLampOn
= 117;
124 backgroundObsidian
= 118;
131 burningFurnace
= 125;
134 function GetTexture(id
: integer) : integer;
135 function GetResistant(id
: integer) : integer;
136 function GetTool(id
: integer) : integer;
137 function GetLevel(id
: integer) : integer;
138 function GetLightAbsorbtion(id
: integer) : integer;
139 function GetLightEmission(id
: integer) : integer;
141 function IsTransporent(id
: integer) : boolean;
142 function IsForeground(id
: integer) : boolean;
143 function IsOverlapped(id
: integer) : boolean;
144 function IsSolid(id
: integer) : boolean;
154 bltex
, hp
, tool
, lvl
, abslight
, emmlight
, flags
: array [0..lastBlock
] of integer;
156 function GetTexture(id
: integer) : integer;
161 function GetResistant(id
: integer) : integer;
166 function GetTool(id
: integer) : integer;
171 function GetLevel(id
: integer) : integer;
176 function GetLightAbsorbtion(id
: integer) : integer;
178 result
:= abslight
[id
];
181 function GetLightEmission(id
: integer) : integer;
183 result
:= emmlight
[id
];
186 function IsTransporent(id
: integer) : boolean;
188 result
:= (flags
[id
] and (1 << 0)) <> 0;
191 function IsForeground(id
: integer) : boolean;
193 result
:= (flags
[id
] and (1 << 1)) <> 0;
196 function IsOverlapped(id
: integer) : boolean;
198 result
:= (flags
[id
] and (1 << 2)) <> 0;
201 function IsSolid(id
: integer) : boolean;
203 result
:= (flags
[id
] and (1 << 3)) <> 0;
206 procedure InitBlock(id
, xtex
, xhp
, xtool
, xlvl
, xabslight
, xemmlight
: integer; solid
, transporent
, foreground
, overlap
: boolean);
208 Assert((id
>= 0) and (id
<= lastBlock
));
213 abslight
[id
] := xabslight
;
214 emmlight
[id
] := xemmlight
;
216 if transporent
then flags
[id
] := flags
[id
] or (1 << 0);
217 if foreground
then flags
[id
] := flags
[id
] or (1 << 1);
218 if overlap
then flags
[id
] := flags
[id
] or (1 << 2);
219 if solid
then flags
[id
] := flags
[id
] or (1 << 3);
223 InitBlock(none
, 0, 0, 0, 0, 0, 0, false, true, false, true);
224 InitBlock(dirt
, 1, 9, 2, 0, 15, 0, true, false, false, false);
225 InitBlock(grass
, 2, 9, 2, 0, 15, 0, true, false, false, false);
226 InitBlock(stone
, 3, 60, 1, 1, 15, 0, true, false, false, false);
227 InitBlock(oakWoodPlanks
, 4, 30, 3, 0, 15, 0, true, false, false, false);
228 InitBlock(cobblestone
, 5, 60, 1, 1, 15, 0, true, false, false, false);
229 InitBlock(bedrock
, 6, 2147483647, 0, 0, 15, 0, true, false, false, false);
230 InitBlock(sand
, 7, 9, 2, 0, 15, 0, true, false, false, false);
231 InitBlock(gravel
, 8, 9, 2, 0, 15, 0, true, false, false, false);
232 InitBlock(oakWood
, 9, 30, 3, 0, 15, 0, true, false, false, false);
233 InitBlock(obsidian
, 10, 1000, 1, 5, 15, 0, true, false, false, false);
234 InitBlock(bookshelf
, 11, 24, 3, 0, 0, 0, false, false, false, false);
235 InitBlock(mossStone
, 12, 40, 1, 1, 15, 0, true, false, false, false);
236 InitBlock(blockOfIron
, 13, 40, 1, 2, 15, 0, true, false, false, false);
237 InitBlock(blockOfGold
, 14, 60, 1, 3, 15, 0, true, false, false, false);
238 InitBlock(blockOfDiamond
, 15, 60, 1, 3, 15, 0, true, false, false, false);
239 InitBlock(goldOre
, 16, 65, 1, 3, 15, 0, true, false, false, false);
240 InitBlock(ironOre
, 17, 65, 1, 2, 15, 0, true, false, false, false);
241 InitBlock(coalOre
, 18, 65, 1, 1, 15, 0, true, false, false, false);
242 InitBlock(diamondOre
, 19, 65, 1, 3, 15, 0, true, false, false, false);
243 InitBlock(redstoneOre
, 20, 65, 1, 3, 15, 6, true, false, false, false);
244 InitBlock(oakLeaves
, 21, 3, 4, 1, 1, 0, true, false, false, false);
245 InitBlock(redFlower
, 22, 0, 0, 0, 0, 0, false, true, false, true);
246 InitBlock(yellowFlower
, 23, 0, 0, 0, 0, 0, false, true, false, true);
247 InitBlock(redMooshroom
, 24, 0, 0, 0, 0, 0, false, true, false, true);
248 InitBlock(brownMooshroom
, 25, 0, 0, 0, 0, 0, false, true, false, true);
249 InitBlock(torch
, 26, 0, 0, 0, 0, 14, false, true, false, false);
250 InitBlock(tnt
, 27, 0, 0, 0, 15, 0, true, false, false, false);
251 InitBlock(chest
, 28, 39, 3, 0, 0, 0, false, false, false, false);
252 InitBlock(craftingTable
, 29, 39, 3, 0, 0, 0, false, false, false, false);
253 InitBlock(cactus
, 30, 6, 0, 0, 0, 0, true, true, false, false);
254 InitBlock(glass
, 31, 6, 0, 1, 1, 0, true, true, false, false);
255 InitBlock(wool1
, 32, 12, 0, 0, 0, 0, false, false, false, false);
256 InitBlock(wool2
, 33, 12, 0, 0, 0, 0, false, false, false, false);
257 InitBlock(wool3
, 34, 12, 0, 0, 0, 0, false, false, false, false);
258 InitBlock(wool4
, 35, 12, 0, 0, 0, 0, false, false, false, false);
259 InitBlock(wool5
, 36, 12, 0, 0, 0, 0, false, false, false, false);
260 InitBlock(wool6
, 37, 12, 0, 0, 0, 0, false, false, false, false);
261 InitBlock(wool7
, 38, 12, 0, 0, 0, 0, false, false, false, false);
262 InitBlock(wool8
, 39, 12, 0, 0, 0, 0, false, false, false, false);
263 InitBlock(wool9
, 40, 12, 0, 0, 0, 0, false, false, false, false);
264 InitBlock(wool10
, 41, 12, 0, 0, 0, 0, false, false, false, false);
265 InitBlock(wool11
, 42, 12, 0, 0, 0, 0, false, false, false, false);
266 InitBlock(wool12
, 43, 12, 0, 0, 0, 0, false, false, false, false);
267 InitBlock(wool13
, 44, 12, 0, 0, 0, 0, false, false, false, false);
268 InitBlock(wool14
, 45, 12, 0, 0, 0, 0, false, false, false, false);
269 InitBlock(wool15
, 46, 12, 0, 0, 0, 0, false, false, false, false);
270 InitBlock(wool16
, 47, 12, 0, 0, 0, 0, false, false, false, false);
271 InitBlock(snow
, 48, 9, 2, 0, 15, 0, true, false, false, false);
272 InitBlock(ladder
, 49, 6, 0, 0, 0, 0, false, true, false, false);
273 InitBlock(water
, 50, 2147483647, 0, 0, 1, 0, false, true, true, true);
274 InitBlock(lava
, 55, 2147483647, 0, 0, 15, 15, false, true, true, true);
275 InitBlock(oakSapling
, 60, 0, 0, 0, 0, 0, false, true, false, true);
276 InitBlock(sponge
, 61, 9, 0, 0, 15, 0, true, false, false, false);
277 InitBlock(lapisLazuliOre
, 62, 65, 1, 2, 15, 0, true, false, false, false);
278 InitBlock(lapisLazuliBlock
, 63, 65, 1, 2, 15, 0, true, false, false, false);
279 InitBlock(sandstone
, 64, 50, 1, 1, 15, 0, true, false, false, false);
280 InitBlock(tallGrass
, 65, 0, 4, 1, 0, 0, false, true, false, true);
281 InitBlock(deadBush
, 66, 0, 4, 1, 0, 0, false, true, false, true);
282 InitBlock(cobweb
, 67, 60, 4, 1, 0, 0, false, true, false, true);
283 InitBlock(bricks
, 68, 60, 1, 1, 15, 0, true, false, false, false);
284 InitBlock(snowBlock
, 69, 3, 2, 0, 15, 0, true, false, false, false);
285 InitBlock(ice
, 70, 8, 1, 6, 2, 0, true, true, false, false);
286 InitBlock(snowLayer
, 71, 2, 2, 1, 1, 0, false, true, true, true);
287 InitBlock(clayBlock
, 72, 9, 2, 0, 15, 0, true, false, false, false);
288 InitBlock(sugarCane
, 73, 0, 0, 0, 0, 0, false, true, true, true);
289 InitBlock(pumpkin
, 74, 15, 3, 0, 1, 0, true, false, false, false);
290 InitBlock(jackLantern
, 75, 15, 3, 0, 1, 15, true, false, false, false);
291 InitBlock(stoneBricks
, 76, 60, 1, 1, 15, 0, true, false, false, false);
292 InitBlock(mossyStoneBricks
, 77, 60, 1, 1, 15, 0, true, false, false, false);
293 InitBlock(crackedStoneBricks
, 78, 60, 1, 1, 15, 0, true, false, false, false);
294 InitBlock(chiseledStokeBricks
, 79, 60, 1, 1, 15, 0, true, false, false, false);
295 InitBlock(ironBras
, 80, 60, 1, 1, 0, 0, false, true, true, false);
296 InitBlock(melonBlock
, 81, 15, 0, 0, 15, 0, true, false, false, false);
297 InitBlock(mycelium
, 82, 8, 2, 0, 15, 0, true, false, false, false);
298 InitBlock(backgroundOakWood
, 98, 30, 3, 0, 0, 0, false, false, false, false);
299 InitBlock(spawner
, 83, 75, 0, 0, 0, 0, false, true, false, false);
300 InitBlock(bed1
, 84, 3, 0, 0, 0, 0, false, true, false, false);
301 InitBlock(bed2
, 85, 3, 0, 0, 0, 0, false, true, false, false);
302 InitBlock(openWoodenDoor1
, 86, 30, 3, 0, 0, 0, false, true, false, false);
303 InitBlock(openWoodenDoor2
, 102, 30, 3, 0, 0, 0, false, true, false, false);
304 InitBlock(closedWoodenDoor1
, 88, 30, 3, 0, 0, 0, true, true, true, false);
305 InitBlock(closedWoodenDoor2
, 104, 30, 3, 0, 0, 0, true, true, true, false);
306 InitBlock(birchWood
, 90, 30, 3, 0, 0, 0, true, false, false, false);
307 InitBlock(backgroundBirchWood
, 99, 30, 3, 0, 0, 0, false, false, false, false);
308 InitBlock(spruceWood
, 91, 30, 3, 0, 0, 0, true, false, false, false);
309 InitBlock(backgroundSpruceWood
, 100, 30, 3, 0, 0, 0, false, false, false, false);
310 InitBlock(spruceLeaves
, 92, 3, 4, 1, 1, 0, true, false, false, false);
311 InitBlock(redMushroomBlock1
, 93, 3, 3, 0, 2, 0, true, false, false, false);
312 InitBlock(redMushroomBlock2
, 95, 3, 3, 0, 0, 0, false, false, false, false);
313 InitBlock(brownMushroomBlock1
, 94, 3, 3, 0, 2, 0, true, false, false, false);
314 InitBlock(brownMushroomBlock2
, 95, 3, 3, 0, 0, 0, false, false, false, false);
315 InitBlock(oakFence
, 96, 30, 3, 0, 0, 0, true, true, false, false);
316 InitBlock(backgroundOakFence
, 101, 30, 3, 0, 0, 0, false, true, false, false);
317 InitBlock(backgroundOakWoodPlanks
, 97, 30, 3, 0, 0, 0, false, false, false, false);
318 InitBlock(painting1
, 106, 0, 0, 0, 0, 0, false, true, false, true);
319 InitBlock(painting2
, 107, 0, 0, 0, 0, 0, false, true, false, true);
320 InitBlock(painting3
, 108, 0, 0, 0, 0, 0, false, true, false, true);
321 InitBlock(painting4
, 109, 0, 0, 0, 0, 0, false, true, false, true);
322 InitBlock(painting5
, 110, 0, 0, 0, 0, 0, false, true, false, true);
323 InitBlock(painting6
, 111, 0, 0, 0, 0, 0, false, true, false, true);
324 InitBlock(painting7
, 112, 0, 0, 0, 0, 0, false, true, false, true);
325 InitBlock(giftChest
, 113, 30, 3, 0, 0, 15, false, false, false, false);
326 InitBlock(vines
, 114, 3, 4, 1, 0, 0, false, true, true, true);
327 InitBlock(sign
, 115, 15, 0, 0, 0, 0, false, true, false, false);
328 InitBlock(redstoneTorch
, 116, 0, 0, 0, 0, 7, false, true, false, true);
329 InitBlock(furnace
, 117, 40, 3, 0, 0, 0, false, false, false, false);
330 InitBlock(closedWoodenTrapdoor
, 118, 30, 3, 0, 0, 0, true, true, true, false);
331 InitBlock(openWoodenTrapdoor
, 119, 30, 3, 0, 0, 0, false, true, false, false);
332 InitBlock(netherrack
, 120, 30, 1, 1, 15, 0, true, false, false, false);
333 InitBlock(netherPortal
, 129, 2147483647, 0, 0, 0, 11, false, true, true, false);
334 InitBlock(glowstone
, 121, 10, 1, 0, 0, 15, true, false, false, false);
335 InitBlock(birchLeaves
, 135, 3, 4, 1, 1, 0, true, false, false, false);
336 InitBlock(soulSand
, 122, 9, 2, 0, 15, 0, true, false, false, false);
337 InitBlock(birchSapling
, 123, 0, 0, 0, 0, 0, false, true, false, true);
338 InitBlock(spruceSapling
, 124, 0, 0, 0, 0, 0, false, true, false, true);
339 InitBlock(redstoneLampOff
, 125, 10, 1, 0, 0, 0, true, false, false, false);
340 InitBlock(redstoneLampOn
, 126, 10, 1, 0, 0, 15, true, false, false, false);
341 InitBlock(backgroundObsidian
, 127, 1000, 1, 5, 15, 0, false, false, false, false);
342 InitBlock(glassPlane
, 128, 6, 0, 1, 1, 0, false, true, false, false);
343 InitBlock(farmland
, 136, 9, 2, 0, 15, 0, true, false, false, false);
344 InitBlock(cake
, 137, 9, 0, 0, 0, 0, false, true, false, false);
345 InitBlock(wheat
, 138, 1, 0, 0, 0, 0, false, true, false, true);
346 InitBlock(melonStem
, 139, 1, 0, 0, 0, 0, false, true, false, true);
347 InitBlock(pumpkinStem
, 139, 1, 0, 0, 0, 0, false, true, false, true);
348 InitBlock(burningFurnace
, 134, 40, 3, 0, 0, 15, false, false, false, false);