minerender 2.1.0-alpha.37 → 2.1.0-alpha.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -48077,6 +48077,7 @@ return ${compiler2.callType("value", tagType)}
48077
48077
  var index_browser_exports = {};
48078
48078
  __export(index_browser_exports, {
48079
48079
  AXES: () => AXES,
48080
+ AnvilParser: () => AnvilParser,
48080
48081
  ArchiveAssetSource: () => ArchiveAssetSource,
48081
48082
  AssetKey: () => AssetKey,
48082
48083
  AssetLoadError: () => AssetLoadError,
@@ -48096,6 +48097,7 @@ return ${compiler2.callType("value", tagType)}
48096
48097
  BrowserCache: () => BrowserCache,
48097
48098
  BrowserEnv: () => BrowserEnv,
48098
48099
  CUBE_FACES: () => CUBE_FACES,
48100
+ CUBE_FACE_OFFSETS: () => CUBE_FACE_OFFSETS,
48099
48101
  Caching: () => Caching,
48100
48102
  CanvasImage: () => CanvasImage,
48101
48103
  Chunk: () => Chunk,
@@ -48129,6 +48131,7 @@ return ${compiler2.callType("value", tagType)}
48129
48131
  MineRenderWorld: () => MineRenderWorld,
48130
48132
  MinecraftCubeTexture: () => MinecraftCubeTexture,
48131
48133
  MinecraftFaceUV: () => MinecraftFaceUV,
48134
+ ModelCulling: () => ModelCulling,
48132
48135
  ModelGenerator: () => ModelGenerator,
48133
48136
  ModelMerger: () => ModelMerger,
48134
48137
  ModelObject: () => ModelObject,
@@ -68052,6 +68055,14 @@ return ${compiler2.callType("value", tagType)}
68052
68055
  return CubeFaceIndex2;
68053
68056
  })(CubeFaceIndex || {});
68054
68057
  var CUBE_FACES = Object.values(CubeFace);
68058
+ var CUBE_FACE_OFFSETS = [
68059
+ [1, 0, 0],
68060
+ [-1, 0, 0],
68061
+ [0, 1, 0],
68062
+ [0, -1, 0],
68063
+ [0, 0, 1],
68064
+ [0, 0, -1]
68065
+ ];
68055
68066
 
68056
68067
  // src/Disposable.ts
68057
68068
  init_dirname();
@@ -70443,11 +70454,17 @@ return ${compiler2.callType("value", tagType)}
70443
70454
  init_dirname();
70444
70455
  init_buffer2();
70445
70456
  init_process2();
70457
+ init_buffer();
70446
70458
  var NBTHelper = class {
70447
- static async fromBuffer(buffer2) {
70459
+ static async fromBuffer(data, format2) {
70460
+ const buffer2 = Buffer.from(data instanceof Uint8Array ? data : new Uint8Array(data));
70448
70461
  const prismarineNbt = await Promise.resolve().then(() => __toESM(require_nbt2()));
70449
- const { parsed, type, metadata } = await prismarineNbt.parse(buffer2);
70450
- return parsed;
70462
+ const { parsed, type, metadata } = await prismarineNbt.parse(buffer2, format2);
70463
+ return Object.assign(parsed, {
70464
+ format: type,
70465
+ metadata,
70466
+ compression: buffer2[0] === 31 && buffer2[1] === 139 ? "gzip" : "none"
70467
+ });
70451
70468
  }
70452
70469
  };
70453
70470
 
@@ -80707,6 +80724,9 @@ ${key}` : key;
80707
80724
  const textureMap = {};
80708
80725
  const metaMap = {};
80709
80726
  const model = { ...originalModel };
80727
+ if (originalModel.elements) {
80728
+ model.elements = originalModel.elements.map((element) => ({ ...element }));
80729
+ }
80710
80730
  const isItemModel = !("elements" in model);
80711
80731
  console.debug(p8, "Creating Atlas for", model.key);
80712
80732
  if (model.textures) {
@@ -82275,6 +82295,44 @@ ${key}` : key;
82275
82295
  return Array.isArray(obj) && obj.length === 4;
82276
82296
  }
82277
82297
 
82298
+ // src/model/ModelCulling.ts
82299
+ init_dirname();
82300
+ init_buffer2();
82301
+ init_process2();
82302
+ var ModelCulling = class {
82303
+ static toLocalMask(worldMask, rotation) {
82304
+ let localMask = 0;
82305
+ for (const [localFace, offset] of CUBE_FACE_OFFSETS.entries()) {
82306
+ const normal = new Vector3(...offset).applyEuler(rotation);
82307
+ const worldFace = CUBE_FACE_OFFSETS.findIndex(([x4, y5, z4]) => Math.abs(normal.x - x4) < 1e-6 && Math.abs(normal.y - y5) < 1e-6 && Math.abs(normal.z - z4) < 1e-6);
82308
+ if (worldFace < 0) return 0;
82309
+ if (worldMask & 1 << worldFace) localMask |= 1 << localFace;
82310
+ }
82311
+ return localMask;
82312
+ }
82313
+ static isOpaqueFullCube(atlas) {
82314
+ if (!atlas || atlas.hasTransparency !== false || atlas.model.elements?.length !== 1) return false;
82315
+ const element = atlas.model.elements[0];
82316
+ if (element.from.length !== 3 || !element.from.every((value) => value === 0) || element.to.length !== 3 || !element.to.every((value) => value === 16) || element.rotation && element.rotation.angle !== 0 || element.mappedUv?.length !== 48 || !element.mappedUv.every(Number.isFinite)) return false;
82317
+ if (!(atlas.image.width > 0 && atlas.image.height > 0)) return false;
82318
+ return CUBE_FACES.every((face, faceIndex) => {
82319
+ const texture = element.faces[face]?.texture;
82320
+ if (!texture?.startsWith("#")) return false;
82321
+ const key = texture.slice(1);
82322
+ const position = atlas.positions[key];
82323
+ const size = atlas.sizes[key];
82324
+ if (position?.length !== 2 || !position.every(Number.isFinite) || size?.length !== 2 || !size.every((value) => value > 0 && Number.isFinite(value))) return false;
82325
+ for (let vertex2 = 0; vertex2 < 4; vertex2++) {
82326
+ const uvIndex = (faceIndex * 4 + vertex2) * 2;
82327
+ const x4 = element.mappedUv[uvIndex] * atlas.image.width;
82328
+ const y5 = (1 - element.mappedUv[uvIndex + 1]) * atlas.image.height;
82329
+ if (x4 < position[0] - 1e-6 || x4 > position[0] + size[0] + 1e-6 || y5 < position[1] - 1e-6 || y5 > position[1] + size[1] + 1e-6) return false;
82330
+ }
82331
+ return true;
82332
+ });
82333
+ }
82334
+ };
82335
+
82278
82336
  // src/model/ModelElement.ts
82279
82337
  init_dirname();
82280
82338
  init_buffer2();
@@ -82960,6 +83018,9 @@ ${key}` : key;
82960
83018
  get textureAtlas() {
82961
83019
  return this.atlas;
82962
83020
  }
83021
+ get isOpaqueFullCube() {
83022
+ return !this.options.displayPosition && ModelCulling.isOpaqueFullCube(this.atlas);
83023
+ }
82963
83024
  //TODO: support for replacing textures
82964
83025
  async loadTextures() {
82965
83026
  this.atlas = await UVMapper.getAtlas(this.originalModel);
@@ -82973,6 +83034,15 @@ ${key}` : key;
82973
83034
  if (this.atlas.model.elements) {
82974
83035
  this.atlas.model.elements?.forEach((el) => {
82975
83036
  const elGeo = this._getBoxGeometryFromElement(el).clone();
83037
+ if (this.options.cullMask) {
83038
+ const indices = Array.from(elGeo.getIndex().array);
83039
+ elGeo.setIndex(indices.filter((_4, index) => {
83040
+ const face = CUBE_FACES[Math.floor(index / 6)];
83041
+ const direction = CUBE_FACES.findIndex((name2) => name2 === el.faces[face]?.cullface);
83042
+ return direction < 0 || !(this.options.cullMask & 1 << direction);
83043
+ }));
83044
+ elGeo.clearGroups();
83045
+ }
82976
83046
  if (this.options.uvLockRotation) {
82977
83047
  UVMapper.lockUvs(elGeo, el.faces, this.atlas, new Euler(...this.options.uvLockRotation));
82978
83048
  }
@@ -83096,6 +83166,7 @@ ${key}` : key;
83096
83166
  this._instanceModel = [];
83097
83167
  this._variants = [];
83098
83168
  this._models = [];
83169
+ this._cullMask = 0;
83099
83170
  this.options = (0, import_ts_deepmerge6.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
83100
83171
  }
83101
83172
  async init() {
@@ -83129,12 +83200,69 @@ ${key}` : key;
83129
83200
  super.removeFromScene();
83130
83201
  }
83131
83202
  clearModels() {
83132
- for (const model of this._models.splice(0)) {
83203
+ this.removeModels(this._models.splice(0));
83204
+ this._isInstanced = false;
83205
+ this._instanceCounter = 0;
83206
+ }
83207
+ removeModels(models) {
83208
+ for (const model of models) {
83133
83209
  model.removeFromScene();
83134
83210
  if (!isInstanceReference(model)) model.dispose();
83135
83211
  }
83136
- this._isInstanced = false;
83137
- this._instanceCounter = 0;
83212
+ }
83213
+ get isOccluding() {
83214
+ return this._models.some((model) => {
83215
+ const object = isInstanceReference(model) ? model.instanceable : model;
83216
+ return object.isOpaqueFullCube && this.getModelCullMask(model, 63) === 63;
83217
+ });
83218
+ }
83219
+ getModelMatrix(model) {
83220
+ if (isInstanceReference(model)) return model.getMatrix();
83221
+ if (model.matrixAutoUpdate) model.updateMatrix();
83222
+ return model.matrix.clone();
83223
+ }
83224
+ getModelCullMask(model, worldMask) {
83225
+ const object = isInstanceReference(model) ? model.instanceable : model;
83226
+ if (object.options.displayPosition) return 0;
83227
+ const position = new Vector3();
83228
+ const rotation = new Quaternion();
83229
+ const scale = new Vector3();
83230
+ this.getModelMatrix(model).decompose(position, rotation, scale);
83231
+ if (position.distanceToSquared(this.position) > 1e-10 || scale.distanceToSquared(new Vector3(1, 1, 1)) > 1e-10) return 0;
83232
+ return ModelCulling.toLocalMask(worldMask, new Euler().setFromQuaternion(rotation));
83233
+ }
83234
+ async setCullMask(worldMask) {
83235
+ worldMask &= 63;
83236
+ const replacements = [];
83237
+ try {
83238
+ for (const model of this._models) {
83239
+ const object = isInstanceReference(model) ? model.instanceable : model;
83240
+ const cullMask = this.getModelCullMask(model, worldMask);
83241
+ if (cullMask === (object.options.cullMask ?? 0)) {
83242
+ replacements.push(model);
83243
+ continue;
83244
+ }
83245
+ const matrix = this.getModelMatrix(model);
83246
+ const replacement = await this.scene.addModel(object.originalModel, { ...object.options, cullMask });
83247
+ replacements.push(replacement);
83248
+ if (isInstanceReference(replacement)) {
83249
+ replacement.setMatrix(matrix);
83250
+ } else {
83251
+ replacement.matrix.copy(matrix);
83252
+ matrix.decompose(replacement.position, replacement.quaternion, replacement.scale);
83253
+ replacement.matrixAutoUpdate = object.matrixAutoUpdate;
83254
+ replacement.visible = object.visible;
83255
+ }
83256
+ }
83257
+ } catch (error) {
83258
+ this.removeModels(replacements.filter((model) => !this._models.includes(model)));
83259
+ throw error;
83260
+ }
83261
+ const previous = this._models;
83262
+ this._models = replacements;
83263
+ this._cullMask = worldMask;
83264
+ this.removeModels(previous.filter((model) => !replacements.includes(model)));
83265
+ this.notifyDirty();
83138
83266
  }
83139
83267
  get state() {
83140
83268
  return this._state;
@@ -83227,7 +83355,8 @@ ${key}` : key;
83227
83355
  const options = {
83228
83356
  ...this.options,
83229
83357
  tints: model ? await BlockTints.get(this.blockState.key, this.state, model, this.options.tints) : this.options.tints,
83230
- uvLockRotation: variant.uvlock && (rotation.x !== 0 || rotation.y !== 0) ? [rotation.x, rotation.y, rotation.z] : void 0
83358
+ uvLockRotation: variant.uvlock && (rotation.x !== 0 || rotation.y !== 0) ? [rotation.x, rotation.y, rotation.z] : void 0,
83359
+ cullMask: this.options.displayPosition ? 0 : ModelCulling.toLocalMask(this._cullMask, rotation)
83231
83360
  };
83232
83361
  const obj = await this.scene.addModel(model, options);
83233
83362
  if (isInstanceReference(obj) || obj.isInstanced) {
@@ -83356,11 +83485,1781 @@ ${key}` : key;
83356
83485
  init_dirname();
83357
83486
  init_buffer2();
83358
83487
  init_process2();
83488
+
83489
+ // src/model/multiblock/legacyBlocks.json
83490
+ var legacyBlocks_default = {
83491
+ __comment: "Block mappings from res/idsToNames.json (WorldEdit legacy.json); block names and cauldrons updated for Minecraft 1.21.11. Source: https://github.com/sk89q/WorldEdit/blob/master/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/legacy.json",
83492
+ blocks: {
83493
+ "0:0": "minecraft:air",
83494
+ "1:0": "minecraft:stone",
83495
+ "1:1": "minecraft:granite",
83496
+ "1:2": "minecraft:polished_granite",
83497
+ "1:3": "minecraft:diorite",
83498
+ "1:4": "minecraft:polished_diorite",
83499
+ "1:5": "minecraft:andesite",
83500
+ "1:6": "minecraft:polished_andesite",
83501
+ "2:0": "minecraft:grass_block[snowy=false]",
83502
+ "3:0": "minecraft:dirt",
83503
+ "3:1": "minecraft:coarse_dirt",
83504
+ "3:2": "minecraft:podzol[snowy=false]",
83505
+ "4:0": "minecraft:cobblestone",
83506
+ "5:0": "minecraft:oak_planks",
83507
+ "5:1": "minecraft:spruce_planks",
83508
+ "5:2": "minecraft:birch_planks",
83509
+ "5:3": "minecraft:jungle_planks",
83510
+ "5:4": "minecraft:acacia_planks",
83511
+ "5:5": "minecraft:dark_oak_planks",
83512
+ "6:0": "minecraft:oak_sapling[stage=0]",
83513
+ "6:1": "minecraft:spruce_sapling[stage=0]",
83514
+ "6:2": "minecraft:birch_sapling[stage=0]",
83515
+ "6:3": "minecraft:jungle_sapling[stage=0]",
83516
+ "6:4": "minecraft:acacia_sapling[stage=0]",
83517
+ "6:5": "minecraft:dark_oak_sapling[stage=0]",
83518
+ "6:8": "minecraft:oak_sapling[stage=1]",
83519
+ "6:9": "minecraft:spruce_sapling[stage=1]",
83520
+ "6:10": "minecraft:birch_sapling[stage=1]",
83521
+ "6:11": "minecraft:jungle_sapling[stage=1]",
83522
+ "6:12": "minecraft:acacia_sapling[stage=1]",
83523
+ "6:13": "minecraft:dark_oak_sapling[stage=1]",
83524
+ "7:0": "minecraft:bedrock",
83525
+ "8:0": "minecraft:water[level=0]",
83526
+ "8:1": "minecraft:water[level=1]",
83527
+ "8:2": "minecraft:water[level=2]",
83528
+ "8:3": "minecraft:water[level=3]",
83529
+ "8:4": "minecraft:water[level=4]",
83530
+ "8:5": "minecraft:water[level=5]",
83531
+ "8:6": "minecraft:water[level=6]",
83532
+ "8:7": "minecraft:water[level=7]",
83533
+ "8:8": "minecraft:water[level=8]",
83534
+ "8:9": "minecraft:water[level=9]",
83535
+ "8:10": "minecraft:water[level=10]",
83536
+ "8:11": "minecraft:water[level=11]",
83537
+ "8:12": "minecraft:water[level=12]",
83538
+ "8:13": "minecraft:water[level=13]",
83539
+ "8:14": "minecraft:water[level=14]",
83540
+ "8:15": "minecraft:water[level=15]",
83541
+ "9:0": "minecraft:water[level=0]",
83542
+ "9:1": "minecraft:water[level=1]",
83543
+ "9:2": "minecraft:water[level=2]",
83544
+ "9:3": "minecraft:water[level=3]",
83545
+ "9:4": "minecraft:water[level=4]",
83546
+ "9:5": "minecraft:water[level=5]",
83547
+ "9:6": "minecraft:water[level=6]",
83548
+ "9:7": "minecraft:water[level=7]",
83549
+ "9:8": "minecraft:water[level=8]",
83550
+ "9:9": "minecraft:water[level=9]",
83551
+ "9:10": "minecraft:water[level=10]",
83552
+ "9:11": "minecraft:water[level=11]",
83553
+ "9:12": "minecraft:water[level=12]",
83554
+ "9:13": "minecraft:water[level=13]",
83555
+ "9:14": "minecraft:water[level=14]",
83556
+ "9:15": "minecraft:water[level=15]",
83557
+ "10:0": "minecraft:lava[level=0]",
83558
+ "10:1": "minecraft:lava[level=1]",
83559
+ "10:2": "minecraft:lava[level=2]",
83560
+ "10:3": "minecraft:lava[level=3]",
83561
+ "10:4": "minecraft:lava[level=4]",
83562
+ "10:5": "minecraft:lava[level=5]",
83563
+ "10:6": "minecraft:lava[level=6]",
83564
+ "10:7": "minecraft:lava[level=7]",
83565
+ "10:8": "minecraft:lava[level=8]",
83566
+ "10:9": "minecraft:lava[level=9]",
83567
+ "10:10": "minecraft:lava[level=10]",
83568
+ "10:11": "minecraft:lava[level=11]",
83569
+ "10:12": "minecraft:lava[level=12]",
83570
+ "10:13": "minecraft:lava[level=13]",
83571
+ "10:14": "minecraft:lava[level=14]",
83572
+ "10:15": "minecraft:lava[level=15]",
83573
+ "11:0": "minecraft:lava[level=0]",
83574
+ "11:1": "minecraft:lava[level=1]",
83575
+ "11:2": "minecraft:lava[level=2]",
83576
+ "11:3": "minecraft:lava[level=3]",
83577
+ "11:4": "minecraft:lava[level=4]",
83578
+ "11:5": "minecraft:lava[level=5]",
83579
+ "11:6": "minecraft:lava[level=6]",
83580
+ "11:7": "minecraft:lava[level=7]",
83581
+ "11:8": "minecraft:lava[level=8]",
83582
+ "11:9": "minecraft:lava[level=9]",
83583
+ "11:10": "minecraft:lava[level=10]",
83584
+ "11:11": "minecraft:lava[level=11]",
83585
+ "11:12": "minecraft:lava[level=12]",
83586
+ "11:13": "minecraft:lava[level=13]",
83587
+ "11:14": "minecraft:lava[level=14]",
83588
+ "11:15": "minecraft:lava[level=15]",
83589
+ "12:0": "minecraft:sand",
83590
+ "12:1": "minecraft:red_sand",
83591
+ "13:0": "minecraft:gravel",
83592
+ "14:0": "minecraft:gold_ore",
83593
+ "15:0": "minecraft:iron_ore",
83594
+ "16:0": "minecraft:coal_ore",
83595
+ "17:0": "minecraft:oak_log[axis=y]",
83596
+ "17:1": "minecraft:spruce_log[axis=y]",
83597
+ "17:2": "minecraft:birch_log[axis=y]",
83598
+ "17:3": "minecraft:jungle_log[axis=y]",
83599
+ "17:4": "minecraft:oak_log[axis=x]",
83600
+ "17:5": "minecraft:spruce_log[axis=x]",
83601
+ "17:6": "minecraft:birch_log[axis=x]",
83602
+ "17:7": "minecraft:jungle_log[axis=x]",
83603
+ "17:8": "minecraft:oak_log[axis=z]",
83604
+ "17:9": "minecraft:spruce_log[axis=z]",
83605
+ "17:10": "minecraft:birch_log[axis=z]",
83606
+ "17:11": "minecraft:jungle_log[axis=z]",
83607
+ "17:12": "minecraft:oak_wood",
83608
+ "17:13": "minecraft:spruce_wood",
83609
+ "17:14": "minecraft:birch_wood",
83610
+ "17:15": "minecraft:jungle_wood",
83611
+ "18:0": "minecraft:oak_leaves[persistent=false,distance=1]",
83612
+ "18:1": "minecraft:spruce_leaves[persistent=false,distance=1]",
83613
+ "18:2": "minecraft:birch_leaves[persistent=false,distance=1]",
83614
+ "18:3": "minecraft:jungle_leaves[persistent=false,distance=1]",
83615
+ "18:4": "minecraft:oak_leaves[persistent=true,distance=1]",
83616
+ "18:5": "minecraft:spruce_leaves[persistent=true,distance=1]",
83617
+ "18:6": "minecraft:birch_leaves[persistent=true,distance=1]",
83618
+ "18:7": "minecraft:jungle_leaves[persistent=true,distance=1]",
83619
+ "18:8": "minecraft:oak_leaves[persistent=false,distance=1]",
83620
+ "18:9": "minecraft:spruce_leaves[persistent=false,distance=1]",
83621
+ "18:10": "minecraft:birch_leaves[persistent=false,distance=1]",
83622
+ "18:11": "minecraft:jungle_leaves[persistent=false,distance=1]",
83623
+ "18:12": "minecraft:oak_leaves[persistent=true,distance=1]",
83624
+ "18:13": "minecraft:spruce_leaves[persistent=true,distance=1]",
83625
+ "18:14": "minecraft:birch_leaves[persistent=true,distance=1]",
83626
+ "18:15": "minecraft:jungle_leaves[persistent=true,distance=1]",
83627
+ "19:0": "minecraft:sponge",
83628
+ "19:1": "minecraft:wet_sponge",
83629
+ "20:0": "minecraft:glass",
83630
+ "21:0": "minecraft:lapis_ore",
83631
+ "22:0": "minecraft:lapis_block",
83632
+ "23:0": "minecraft:dispenser[triggered=false,facing=down]",
83633
+ "23:1": "minecraft:dispenser[triggered=false,facing=up]",
83634
+ "23:2": "minecraft:dispenser[triggered=false,facing=north]",
83635
+ "23:3": "minecraft:dispenser[triggered=false,facing=south]",
83636
+ "23:4": "minecraft:dispenser[triggered=false,facing=west]",
83637
+ "23:5": "minecraft:dispenser[triggered=false,facing=east]",
83638
+ "23:8": "minecraft:dispenser[triggered=true,facing=down]",
83639
+ "23:9": "minecraft:dispenser[triggered=true,facing=up]",
83640
+ "23:10": "minecraft:dispenser[triggered=true,facing=north]",
83641
+ "23:11": "minecraft:dispenser[triggered=true,facing=south]",
83642
+ "23:12": "minecraft:dispenser[triggered=true,facing=west]",
83643
+ "23:13": "minecraft:dispenser[triggered=true,facing=east]",
83644
+ "24:0": "minecraft:sandstone",
83645
+ "24:1": "minecraft:chiseled_sandstone",
83646
+ "24:2": "minecraft:cut_sandstone",
83647
+ "25:0": "minecraft:note_block",
83648
+ "26:0": "minecraft:red_bed[part=foot,facing=south,occupied=false]",
83649
+ "26:1": "minecraft:red_bed[part=foot,facing=west,occupied=false]",
83650
+ "26:2": "minecraft:red_bed[part=foot,facing=north,occupied=false]",
83651
+ "26:3": "minecraft:red_bed[part=foot,facing=east,occupied=false]",
83652
+ "26:4": "minecraft:red_bed[part=foot,facing=south,occupied=true]",
83653
+ "26:5": "minecraft:red_bed[part=foot,facing=west,occupied=true]",
83654
+ "26:6": "minecraft:red_bed[part=foot,facing=north,occupied=true]",
83655
+ "26:7": "minecraft:red_bed[part=foot,facing=east,occupied=true]",
83656
+ "26:8": "minecraft:red_bed[part=head,facing=south,occupied=false]",
83657
+ "26:9": "minecraft:red_bed[part=head,facing=west,occupied=false]",
83658
+ "26:10": "minecraft:red_bed[part=head,facing=north,occupied=false]",
83659
+ "26:11": "minecraft:red_bed[part=head,facing=east,occupied=false]",
83660
+ "26:12": "minecraft:red_bed[part=head,facing=south,occupied=true]",
83661
+ "26:13": "minecraft:red_bed[part=head,facing=west,occupied=true]",
83662
+ "26:14": "minecraft:red_bed[part=head,facing=north,occupied=true]",
83663
+ "26:15": "minecraft:red_bed[part=head,facing=east,occupied=true]",
83664
+ "27:0": "minecraft:powered_rail[shape=north_south,powered=false]",
83665
+ "27:1": "minecraft:powered_rail[shape=east_west,powered=false]",
83666
+ "27:2": "minecraft:powered_rail[shape=ascending_east,powered=false]",
83667
+ "27:3": "minecraft:powered_rail[shape=ascending_west,powered=false]",
83668
+ "27:4": "minecraft:powered_rail[shape=ascending_north,powered=false]",
83669
+ "27:5": "minecraft:powered_rail[shape=ascending_south,powered=false]",
83670
+ "27:8": "minecraft:powered_rail[shape=north_south,powered=true]",
83671
+ "27:9": "minecraft:powered_rail[shape=east_west,powered=true]",
83672
+ "27:10": "minecraft:powered_rail[shape=ascending_east,powered=true]",
83673
+ "27:11": "minecraft:powered_rail[shape=ascending_west,powered=true]",
83674
+ "27:12": "minecraft:powered_rail[shape=ascending_north,powered=true]",
83675
+ "27:13": "minecraft:powered_rail[shape=ascending_south,powered=true]",
83676
+ "28:0": "minecraft:detector_rail[shape=north_south,powered=false]",
83677
+ "28:1": "minecraft:detector_rail[shape=east_west,powered=false]",
83678
+ "28:2": "minecraft:detector_rail[shape=ascending_east,powered=false]",
83679
+ "28:3": "minecraft:detector_rail[shape=ascending_west,powered=false]",
83680
+ "28:4": "minecraft:detector_rail[shape=ascending_north,powered=false]",
83681
+ "28:5": "minecraft:detector_rail[shape=ascending_south,powered=false]",
83682
+ "28:8": "minecraft:detector_rail[shape=north_south,powered=true]",
83683
+ "28:9": "minecraft:detector_rail[shape=east_west,powered=true]",
83684
+ "28:10": "minecraft:detector_rail[shape=ascending_east,powered=true]",
83685
+ "28:11": "minecraft:detector_rail[shape=ascending_west,powered=true]",
83686
+ "28:12": "minecraft:detector_rail[shape=ascending_north,powered=true]",
83687
+ "28:13": "minecraft:detector_rail[shape=ascending_south,powered=true]",
83688
+ "29:0": "minecraft:sticky_piston[facing=down,extended=false]",
83689
+ "29:1": "minecraft:sticky_piston[facing=up,extended=false]",
83690
+ "29:2": "minecraft:sticky_piston[facing=north,extended=false]",
83691
+ "29:3": "minecraft:sticky_piston[facing=south,extended=false]",
83692
+ "29:4": "minecraft:sticky_piston[facing=west,extended=false]",
83693
+ "29:5": "minecraft:sticky_piston[facing=east,extended=false]",
83694
+ "29:8": "minecraft:sticky_piston[facing=down,extended=true]",
83695
+ "29:9": "minecraft:sticky_piston[facing=up,extended=true]",
83696
+ "29:10": "minecraft:sticky_piston[facing=north,extended=true]",
83697
+ "29:11": "minecraft:sticky_piston[facing=south,extended=true]",
83698
+ "29:12": "minecraft:sticky_piston[facing=west,extended=true]",
83699
+ "29:13": "minecraft:sticky_piston[facing=east,extended=true]",
83700
+ "30:0": "minecraft:cobweb",
83701
+ "31:0": "minecraft:dead_bush",
83702
+ "31:1": "minecraft:short_grass",
83703
+ "31:2": "minecraft:fern",
83704
+ "32:0": "minecraft:dead_bush",
83705
+ "33:0": "minecraft:piston[facing=down,extended=false]",
83706
+ "33:1": "minecraft:piston[facing=up,extended=false]",
83707
+ "33:2": "minecraft:piston[facing=north,extended=false]",
83708
+ "33:3": "minecraft:piston[facing=south,extended=false]",
83709
+ "33:4": "minecraft:piston[facing=west,extended=false]",
83710
+ "33:5": "minecraft:piston[facing=east,extended=false]",
83711
+ "33:8": "minecraft:piston[facing=down,extended=true]",
83712
+ "33:9": "minecraft:piston[facing=up,extended=true]",
83713
+ "33:10": "minecraft:piston[facing=north,extended=true]",
83714
+ "33:11": "minecraft:piston[facing=south,extended=true]",
83715
+ "33:12": "minecraft:piston[facing=west,extended=true]",
83716
+ "33:13": "minecraft:piston[facing=east,extended=true]",
83717
+ "34:0": "minecraft:piston_head[short=false,facing=down,type=normal]",
83718
+ "34:1": "minecraft:piston_head[short=false,facing=up,type=normal]",
83719
+ "34:2": "minecraft:piston_head[short=false,facing=north,type=normal]",
83720
+ "34:3": "minecraft:piston_head[short=false,facing=south,type=normal]",
83721
+ "34:4": "minecraft:piston_head[short=false,facing=west,type=normal]",
83722
+ "34:5": "minecraft:piston_head[short=false,facing=east,type=normal]",
83723
+ "34:8": "minecraft:piston_head[short=false,facing=down,type=sticky]",
83724
+ "34:9": "minecraft:piston_head[short=false,facing=up,type=sticky]",
83725
+ "34:10": "minecraft:piston_head[short=false,facing=north,type=sticky]",
83726
+ "34:11": "minecraft:piston_head[short=false,facing=south,type=sticky]",
83727
+ "34:12": "minecraft:piston_head[short=false,facing=west,type=sticky]",
83728
+ "34:13": "minecraft:piston_head[short=false,facing=east,type=sticky]",
83729
+ "35:0": "minecraft:white_wool",
83730
+ "35:1": "minecraft:orange_wool",
83731
+ "35:2": "minecraft:magenta_wool",
83732
+ "35:3": "minecraft:light_blue_wool",
83733
+ "35:4": "minecraft:yellow_wool",
83734
+ "35:5": "minecraft:lime_wool",
83735
+ "35:6": "minecraft:pink_wool",
83736
+ "35:7": "minecraft:gray_wool",
83737
+ "35:8": "minecraft:light_gray_wool",
83738
+ "35:9": "minecraft:cyan_wool",
83739
+ "35:10": "minecraft:purple_wool",
83740
+ "35:11": "minecraft:blue_wool",
83741
+ "35:12": "minecraft:brown_wool",
83742
+ "35:13": "minecraft:green_wool",
83743
+ "35:14": "minecraft:red_wool",
83744
+ "35:15": "minecraft:black_wool",
83745
+ "36:0": "minecraft:moving_piston[facing=down,type=normal]",
83746
+ "36:1": "minecraft:moving_piston[facing=up,type=normal]",
83747
+ "36:2": "minecraft:moving_piston[facing=north,type=normal]",
83748
+ "36:3": "minecraft:moving_piston[facing=south,type=normal]",
83749
+ "36:4": "minecraft:moving_piston[facing=west,type=normal]",
83750
+ "36:5": "minecraft:moving_piston[facing=east,type=normal]",
83751
+ "36:8": "minecraft:moving_piston[facing=down,type=sticky]",
83752
+ "36:9": "minecraft:moving_piston[facing=up,type=sticky]",
83753
+ "36:10": "minecraft:moving_piston[facing=north,type=sticky]",
83754
+ "36:11": "minecraft:moving_piston[facing=south,type=sticky]",
83755
+ "36:12": "minecraft:moving_piston[facing=west,type=sticky]",
83756
+ "36:13": "minecraft:moving_piston[facing=east,type=sticky]",
83757
+ "37:0": "minecraft:dandelion",
83758
+ "38:0": "minecraft:poppy",
83759
+ "38:1": "minecraft:blue_orchid",
83760
+ "38:2": "minecraft:allium",
83761
+ "38:3": "minecraft:azure_bluet",
83762
+ "38:4": "minecraft:red_tulip",
83763
+ "38:5": "minecraft:orange_tulip",
83764
+ "38:6": "minecraft:white_tulip",
83765
+ "38:7": "minecraft:pink_tulip",
83766
+ "38:8": "minecraft:oxeye_daisy",
83767
+ "39:0": "minecraft:brown_mushroom",
83768
+ "40:0": "minecraft:red_mushroom",
83769
+ "41:0": "minecraft:gold_block",
83770
+ "42:0": "minecraft:iron_block",
83771
+ "43:0": "minecraft:stone_slab[type=double]",
83772
+ "43:1": "minecraft:sandstone_slab[type=double]",
83773
+ "43:2": "minecraft:petrified_oak_slab[type=double]",
83774
+ "43:3": "minecraft:cobblestone_slab[type=double]",
83775
+ "43:4": "minecraft:brick_slab[type=double]",
83776
+ "43:5": "minecraft:stone_brick_slab[type=double]",
83777
+ "43:6": "minecraft:nether_brick_slab[type=double]",
83778
+ "43:7": "minecraft:quartz_slab[type=double]",
83779
+ "43:8": "minecraft:smooth_stone",
83780
+ "43:9": "minecraft:smooth_sandstone",
83781
+ "43:10": "minecraft:petrified_oak_slab[type=double]",
83782
+ "43:11": "minecraft:cobblestone_slab[type=double]",
83783
+ "43:12": "minecraft:brick_slab[type=double]",
83784
+ "43:13": "minecraft:stone_brick_slab[type=double]",
83785
+ "43:14": "minecraft:nether_brick_slab[type=double]",
83786
+ "43:15": "minecraft:smooth_quartz",
83787
+ "44:0": "minecraft:stone_slab[type=bottom]",
83788
+ "44:1": "minecraft:sandstone_slab[type=bottom]",
83789
+ "44:2": "minecraft:petrified_oak_slab[type=bottom]",
83790
+ "44:3": "minecraft:cobblestone_slab[type=bottom]",
83791
+ "44:4": "minecraft:brick_slab[type=bottom]",
83792
+ "44:5": "minecraft:stone_brick_slab[type=bottom]",
83793
+ "44:6": "minecraft:nether_brick_slab[type=bottom]",
83794
+ "44:7": "minecraft:quartz_slab[type=bottom]",
83795
+ "44:8": "minecraft:stone_slab[type=top]",
83796
+ "44:9": "minecraft:sandstone_slab[type=top]",
83797
+ "44:10": "minecraft:petrified_oak_slab[type=top]",
83798
+ "44:11": "minecraft:cobblestone_slab[type=top]",
83799
+ "44:12": "minecraft:brick_slab[type=top]",
83800
+ "44:13": "minecraft:stone_brick_slab[type=top]",
83801
+ "44:14": "minecraft:nether_brick_slab[type=top]",
83802
+ "44:15": "minecraft:quartz_slab[type=top]",
83803
+ "45:0": "minecraft:bricks",
83804
+ "46:0": "minecraft:tnt[unstable=false]",
83805
+ "46:1": "minecraft:tnt[unstable=true]",
83806
+ "47:0": "minecraft:bookshelf",
83807
+ "48:0": "minecraft:mossy_cobblestone",
83808
+ "49:0": "minecraft:obsidian",
83809
+ "50:1": "minecraft:wall_torch[facing=east]",
83810
+ "50:2": "minecraft:wall_torch[facing=west]",
83811
+ "50:3": "minecraft:wall_torch[facing=south]",
83812
+ "50:4": "minecraft:wall_torch[facing=north]",
83813
+ "50:5": "minecraft:torch",
83814
+ "51:0": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=0]",
83815
+ "51:1": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=1]",
83816
+ "51:2": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=2]",
83817
+ "51:3": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=3]",
83818
+ "51:4": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=4]",
83819
+ "51:5": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=5]",
83820
+ "51:6": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=6]",
83821
+ "51:7": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=7]",
83822
+ "51:8": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=8]",
83823
+ "51:9": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=9]",
83824
+ "51:10": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=10]",
83825
+ "51:11": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=11]",
83826
+ "51:12": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=12]",
83827
+ "51:13": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=13]",
83828
+ "51:14": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=14]",
83829
+ "51:15": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=15]",
83830
+ "52:0": "minecraft:spawner",
83831
+ "53:0": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=east]",
83832
+ "53:1": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=west]",
83833
+ "53:2": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=south]",
83834
+ "53:3": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=north]",
83835
+ "53:4": "minecraft:oak_stairs[half=top,shape=outer_right,facing=east]",
83836
+ "53:5": "minecraft:oak_stairs[half=top,shape=outer_right,facing=west]",
83837
+ "53:6": "minecraft:oak_stairs[half=top,shape=outer_right,facing=south]",
83838
+ "53:7": "minecraft:oak_stairs[half=top,shape=outer_right,facing=north]",
83839
+ "54:2": "minecraft:chest[facing=north,type=single]",
83840
+ "54:3": "minecraft:chest[facing=south,type=single]",
83841
+ "54:4": "minecraft:chest[facing=west,type=single]",
83842
+ "54:5": "minecraft:chest[facing=east,type=single]",
83843
+ "55:0": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=0]",
83844
+ "55:1": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=1]",
83845
+ "55:2": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=2]",
83846
+ "55:3": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=3]",
83847
+ "55:4": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=4]",
83848
+ "55:5": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=5]",
83849
+ "55:6": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=6]",
83850
+ "55:7": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=7]",
83851
+ "55:8": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=8]",
83852
+ "55:9": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=9]",
83853
+ "55:10": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=10]",
83854
+ "55:11": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=11]",
83855
+ "55:12": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=12]",
83856
+ "55:13": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=13]",
83857
+ "55:14": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=14]",
83858
+ "55:15": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=15]",
83859
+ "56:0": "minecraft:diamond_ore",
83860
+ "57:0": "minecraft:diamond_block",
83861
+ "58:0": "minecraft:crafting_table",
83862
+ "59:0": "minecraft:wheat[age=0]",
83863
+ "59:1": "minecraft:wheat[age=1]",
83864
+ "59:2": "minecraft:wheat[age=2]",
83865
+ "59:3": "minecraft:wheat[age=3]",
83866
+ "59:4": "minecraft:wheat[age=4]",
83867
+ "59:5": "minecraft:wheat[age=5]",
83868
+ "59:6": "minecraft:wheat[age=6]",
83869
+ "59:7": "minecraft:wheat[age=7]",
83870
+ "60:0": "minecraft:farmland[moisture=0]",
83871
+ "60:1": "minecraft:farmland[moisture=1]",
83872
+ "60:2": "minecraft:farmland[moisture=2]",
83873
+ "60:3": "minecraft:farmland[moisture=3]",
83874
+ "60:4": "minecraft:farmland[moisture=4]",
83875
+ "60:5": "minecraft:farmland[moisture=5]",
83876
+ "60:6": "minecraft:farmland[moisture=6]",
83877
+ "60:7": "minecraft:farmland[moisture=7]",
83878
+ "61:2": "minecraft:furnace[facing=north,lit=false]",
83879
+ "61:3": "minecraft:furnace[facing=south,lit=false]",
83880
+ "61:4": "minecraft:furnace[facing=west,lit=false]",
83881
+ "61:5": "minecraft:furnace[facing=east,lit=false]",
83882
+ "62:2": "minecraft:furnace[facing=north,lit=true]",
83883
+ "62:3": "minecraft:furnace[facing=south,lit=true]",
83884
+ "62:4": "minecraft:furnace[facing=west,lit=true]",
83885
+ "62:5": "minecraft:furnace[facing=east,lit=true]",
83886
+ "63:0": "minecraft:oak_sign[rotation=0]",
83887
+ "63:1": "minecraft:oak_sign[rotation=1]",
83888
+ "63:2": "minecraft:oak_sign[rotation=2]",
83889
+ "63:3": "minecraft:oak_sign[rotation=3]",
83890
+ "63:4": "minecraft:oak_sign[rotation=4]",
83891
+ "63:5": "minecraft:oak_sign[rotation=5]",
83892
+ "63:6": "minecraft:oak_sign[rotation=6]",
83893
+ "63:7": "minecraft:oak_sign[rotation=7]",
83894
+ "63:8": "minecraft:oak_sign[rotation=8]",
83895
+ "63:9": "minecraft:oak_sign[rotation=9]",
83896
+ "63:10": "minecraft:oak_sign[rotation=10]",
83897
+ "63:11": "minecraft:oak_sign[rotation=11]",
83898
+ "63:12": "minecraft:oak_sign[rotation=12]",
83899
+ "63:13": "minecraft:oak_sign[rotation=13]",
83900
+ "63:14": "minecraft:oak_sign[rotation=14]",
83901
+ "63:15": "minecraft:oak_sign[rotation=15]",
83902
+ "64:0": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
83903
+ "64:1": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
83904
+ "64:2": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
83905
+ "64:3": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
83906
+ "64:4": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
83907
+ "64:5": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
83908
+ "64:6": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
83909
+ "64:7": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
83910
+ "64:8": "minecraft:oak_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
83911
+ "64:9": "minecraft:oak_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
83912
+ "64:10": "minecraft:oak_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
83913
+ "64:11": "minecraft:oak_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
83914
+ "65:2": "minecraft:ladder[facing=north]",
83915
+ "65:3": "minecraft:ladder[facing=south]",
83916
+ "65:4": "minecraft:ladder[facing=west]",
83917
+ "65:5": "minecraft:ladder[facing=east]",
83918
+ "66:0": "minecraft:rail[shape=north_south]",
83919
+ "66:1": "minecraft:rail[shape=east_west]",
83920
+ "66:2": "minecraft:rail[shape=ascending_east]",
83921
+ "66:3": "minecraft:rail[shape=ascending_west]",
83922
+ "66:4": "minecraft:rail[shape=ascending_north]",
83923
+ "66:5": "minecraft:rail[shape=ascending_south]",
83924
+ "66:6": "minecraft:rail[shape=south_east]",
83925
+ "66:7": "minecraft:rail[shape=south_west]",
83926
+ "66:8": "minecraft:rail[shape=north_west]",
83927
+ "66:9": "minecraft:rail[shape=north_east]",
83928
+ "67:0": "minecraft:cobblestone_stairs[half=bottom,shape=outer_right,facing=east]",
83929
+ "67:1": "minecraft:cobblestone_stairs[half=bottom,shape=outer_right,facing=west]",
83930
+ "67:2": "minecraft:cobblestone_stairs[half=bottom,shape=outer_right,facing=south]",
83931
+ "67:3": "minecraft:cobblestone_stairs[half=bottom,shape=outer_right,facing=north]",
83932
+ "67:4": "minecraft:cobblestone_stairs[half=top,shape=outer_right,facing=east]",
83933
+ "67:5": "minecraft:cobblestone_stairs[half=top,shape=outer_right,facing=west]",
83934
+ "67:6": "minecraft:cobblestone_stairs[half=top,shape=outer_right,facing=south]",
83935
+ "67:7": "minecraft:cobblestone_stairs[half=top,shape=outer_right,facing=north]",
83936
+ "68:2": "minecraft:oak_wall_sign[facing=north]",
83937
+ "68:3": "minecraft:oak_wall_sign[facing=south]",
83938
+ "68:4": "minecraft:oak_wall_sign[facing=west]",
83939
+ "68:5": "minecraft:oak_wall_sign[facing=east]",
83940
+ "69:0": "minecraft:lever[powered=false,facing=north,face=ceiling]",
83941
+ "69:1": "minecraft:lever[powered=false,facing=east,face=wall]",
83942
+ "69:2": "minecraft:lever[powered=false,facing=west,face=wall]",
83943
+ "69:3": "minecraft:lever[powered=false,facing=south,face=wall]",
83944
+ "69:4": "minecraft:lever[powered=false,facing=north,face=wall]",
83945
+ "69:5": "minecraft:lever[powered=false,facing=east,face=floor]",
83946
+ "69:6": "minecraft:lever[powered=false,facing=north,face=floor]",
83947
+ "69:7": "minecraft:lever[powered=false,facing=east,face=ceiling]",
83948
+ "69:8": "minecraft:lever[powered=true,facing=north,face=ceiling]",
83949
+ "69:9": "minecraft:lever[powered=true,facing=east,face=wall]",
83950
+ "69:10": "minecraft:lever[powered=true,facing=west,face=wall]",
83951
+ "69:11": "minecraft:lever[powered=true,facing=south,face=wall]",
83952
+ "69:12": "minecraft:lever[powered=true,facing=north,face=wall]",
83953
+ "69:13": "minecraft:lever[powered=true,facing=east,face=floor]",
83954
+ "69:14": "minecraft:lever[powered=true,facing=north,face=floor]",
83955
+ "69:15": "minecraft:lever[powered=true,facing=east,face=ceiling]",
83956
+ "70:0": "minecraft:stone_pressure_plate[powered=false]",
83957
+ "70:1": "minecraft:stone_pressure_plate[powered=true]",
83958
+ "71:0": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
83959
+ "71:1": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
83960
+ "71:2": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
83961
+ "71:3": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
83962
+ "71:4": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
83963
+ "71:5": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
83964
+ "71:6": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
83965
+ "71:7": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
83966
+ "71:8": "minecraft:iron_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
83967
+ "71:9": "minecraft:iron_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
83968
+ "71:10": "minecraft:iron_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
83969
+ "71:11": "minecraft:iron_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
83970
+ "72:0": "minecraft:oak_pressure_plate[powered=false]",
83971
+ "72:1": "minecraft:oak_pressure_plate[powered=true]",
83972
+ "73:0": "minecraft:redstone_ore[lit=false]",
83973
+ "74:0": "minecraft:redstone_ore[lit=true]",
83974
+ "75:1": "minecraft:redstone_wall_torch[facing=east,lit=false]",
83975
+ "75:2": "minecraft:redstone_wall_torch[facing=west,lit=false]",
83976
+ "75:3": "minecraft:redstone_wall_torch[facing=south,lit=false]",
83977
+ "75:4": "minecraft:redstone_wall_torch[facing=north,lit=false]",
83978
+ "75:5": "minecraft:redstone_torch[lit=false]",
83979
+ "76:1": "minecraft:redstone_wall_torch[facing=east,lit=true]",
83980
+ "76:2": "minecraft:redstone_wall_torch[facing=west,lit=true]",
83981
+ "76:3": "minecraft:redstone_wall_torch[facing=south,lit=true]",
83982
+ "76:4": "minecraft:redstone_wall_torch[facing=north,lit=true]",
83983
+ "76:5": "minecraft:redstone_torch[lit=true]",
83984
+ "77:0": "minecraft:stone_button[powered=false,facing=east,face=ceiling]",
83985
+ "77:1": "minecraft:stone_button[powered=false,facing=east,face=wall]",
83986
+ "77:2": "minecraft:stone_button[powered=false,facing=west,face=wall]",
83987
+ "77:3": "minecraft:stone_button[powered=false,facing=south,face=wall]",
83988
+ "77:4": "minecraft:stone_button[powered=false,facing=north,face=wall]",
83989
+ "77:5": "minecraft:stone_button[powered=false,facing=east,face=floor]",
83990
+ "77:8": "minecraft:stone_button[powered=true,facing=south,face=ceiling]",
83991
+ "77:9": "minecraft:stone_button[powered=true,facing=east,face=wall]",
83992
+ "77:10": "minecraft:stone_button[powered=true,facing=west,face=wall]",
83993
+ "77:11": "minecraft:stone_button[powered=true,facing=south,face=wall]",
83994
+ "77:12": "minecraft:stone_button[powered=true,facing=north,face=wall]",
83995
+ "77:13": "minecraft:stone_button[powered=true,facing=south,face=floor]",
83996
+ "78:0": "minecraft:snow[layers=1]",
83997
+ "78:1": "minecraft:snow[layers=2]",
83998
+ "78:2": "minecraft:snow[layers=3]",
83999
+ "78:3": "minecraft:snow[layers=4]",
84000
+ "78:4": "minecraft:snow[layers=5]",
84001
+ "78:5": "minecraft:snow[layers=6]",
84002
+ "78:6": "minecraft:snow[layers=7]",
84003
+ "78:7": "minecraft:snow[layers=8]",
84004
+ "79:0": "minecraft:ice",
84005
+ "80:0": "minecraft:snow_block",
84006
+ "81:0": "minecraft:cactus[age=0]",
84007
+ "81:1": "minecraft:cactus[age=1]",
84008
+ "81:2": "minecraft:cactus[age=2]",
84009
+ "81:3": "minecraft:cactus[age=3]",
84010
+ "81:4": "minecraft:cactus[age=4]",
84011
+ "81:5": "minecraft:cactus[age=5]",
84012
+ "81:6": "minecraft:cactus[age=6]",
84013
+ "81:7": "minecraft:cactus[age=7]",
84014
+ "81:8": "minecraft:cactus[age=8]",
84015
+ "81:9": "minecraft:cactus[age=9]",
84016
+ "81:10": "minecraft:cactus[age=10]",
84017
+ "81:11": "minecraft:cactus[age=11]",
84018
+ "81:12": "minecraft:cactus[age=12]",
84019
+ "81:13": "minecraft:cactus[age=13]",
84020
+ "81:14": "minecraft:cactus[age=14]",
84021
+ "81:15": "minecraft:cactus[age=15]",
84022
+ "82:0": "minecraft:clay",
84023
+ "83:0": "minecraft:sugar_cane[age=0]",
84024
+ "83:1": "minecraft:sugar_cane[age=1]",
84025
+ "83:2": "minecraft:sugar_cane[age=2]",
84026
+ "83:3": "minecraft:sugar_cane[age=3]",
84027
+ "83:4": "minecraft:sugar_cane[age=4]",
84028
+ "83:5": "minecraft:sugar_cane[age=5]",
84029
+ "83:6": "minecraft:sugar_cane[age=6]",
84030
+ "83:7": "minecraft:sugar_cane[age=7]",
84031
+ "83:8": "minecraft:sugar_cane[age=8]",
84032
+ "83:9": "minecraft:sugar_cane[age=9]",
84033
+ "83:10": "minecraft:sugar_cane[age=10]",
84034
+ "83:11": "minecraft:sugar_cane[age=11]",
84035
+ "83:12": "minecraft:sugar_cane[age=12]",
84036
+ "83:13": "minecraft:sugar_cane[age=13]",
84037
+ "83:14": "minecraft:sugar_cane[age=14]",
84038
+ "83:15": "minecraft:sugar_cane[age=15]",
84039
+ "84:0": "minecraft:jukebox[has_record=false]",
84040
+ "84:1": "minecraft:jukebox[has_record=true]",
84041
+ "85:0": "minecraft:oak_fence[east=false,south=false,north=false,west=false]",
84042
+ "86:0": "minecraft:carved_pumpkin[facing=south]",
84043
+ "86:1": "minecraft:carved_pumpkin[facing=west]",
84044
+ "86:2": "minecraft:carved_pumpkin[facing=north]",
84045
+ "86:3": "minecraft:carved_pumpkin[facing=east]",
84046
+ "87:0": "minecraft:netherrack",
84047
+ "88:0": "minecraft:soul_sand",
84048
+ "89:0": "minecraft:glowstone",
84049
+ "90:1": "minecraft:nether_portal[axis=x]",
84050
+ "90:2": "minecraft:nether_portal[axis=z]",
84051
+ "91:0": "minecraft:jack_o_lantern[facing=south]",
84052
+ "91:1": "minecraft:jack_o_lantern[facing=west]",
84053
+ "91:2": "minecraft:jack_o_lantern[facing=north]",
84054
+ "91:3": "minecraft:jack_o_lantern[facing=east]",
84055
+ "92:0": "minecraft:cake[bites=0]",
84056
+ "92:1": "minecraft:cake[bites=1]",
84057
+ "92:2": "minecraft:cake[bites=2]",
84058
+ "92:3": "minecraft:cake[bites=3]",
84059
+ "92:4": "minecraft:cake[bites=4]",
84060
+ "92:5": "minecraft:cake[bites=5]",
84061
+ "92:6": "minecraft:cake[bites=6]",
84062
+ "93:0": "minecraft:repeater[delay=1,facing=south,locked=false,powered=false]",
84063
+ "93:1": "minecraft:repeater[delay=1,facing=west,locked=false,powered=false]",
84064
+ "93:2": "minecraft:repeater[delay=1,facing=north,locked=false,powered=false]",
84065
+ "93:3": "minecraft:repeater[delay=1,facing=east,locked=false,powered=false]",
84066
+ "93:4": "minecraft:repeater[delay=2,facing=south,locked=false,powered=false]",
84067
+ "93:5": "minecraft:repeater[delay=2,facing=west,locked=false,powered=false]",
84068
+ "93:6": "minecraft:repeater[delay=2,facing=north,locked=false,powered=false]",
84069
+ "93:7": "minecraft:repeater[delay=2,facing=east,locked=false,powered=false]",
84070
+ "93:8": "minecraft:repeater[delay=3,facing=south,locked=false,powered=false]",
84071
+ "93:9": "minecraft:repeater[delay=3,facing=west,locked=false,powered=false]",
84072
+ "93:10": "minecraft:repeater[delay=3,facing=north,locked=false,powered=false]",
84073
+ "93:11": "minecraft:repeater[delay=3,facing=east,locked=false,powered=false]",
84074
+ "93:12": "minecraft:repeater[delay=4,facing=south,locked=false,powered=false]",
84075
+ "93:13": "minecraft:repeater[delay=4,facing=west,locked=false,powered=false]",
84076
+ "93:14": "minecraft:repeater[delay=4,facing=north,locked=false,powered=false]",
84077
+ "93:15": "minecraft:repeater[delay=4,facing=east,locked=false,powered=false]",
84078
+ "94:0": "minecraft:repeater[delay=1,facing=south,locked=false,powered=true]",
84079
+ "94:1": "minecraft:repeater[delay=1,facing=west,locked=false,powered=true]",
84080
+ "94:2": "minecraft:repeater[delay=1,facing=north,locked=false,powered=true]",
84081
+ "94:3": "minecraft:repeater[delay=1,facing=east,locked=false,powered=true]",
84082
+ "94:4": "minecraft:repeater[delay=2,facing=south,locked=false,powered=true]",
84083
+ "94:5": "minecraft:repeater[delay=2,facing=west,locked=false,powered=true]",
84084
+ "94:6": "minecraft:repeater[delay=2,facing=north,locked=false,powered=true]",
84085
+ "94:7": "minecraft:repeater[delay=2,facing=east,locked=false,powered=true]",
84086
+ "94:8": "minecraft:repeater[delay=3,facing=south,locked=false,powered=true]",
84087
+ "94:9": "minecraft:repeater[delay=3,facing=west,locked=false,powered=true]",
84088
+ "94:10": "minecraft:repeater[delay=3,facing=north,locked=false,powered=true]",
84089
+ "94:11": "minecraft:repeater[delay=3,facing=east,locked=false,powered=true]",
84090
+ "94:12": "minecraft:repeater[delay=4,facing=south,locked=false,powered=true]",
84091
+ "94:13": "minecraft:repeater[delay=4,facing=west,locked=false,powered=true]",
84092
+ "94:14": "minecraft:repeater[delay=4,facing=north,locked=false,powered=true]",
84093
+ "94:15": "minecraft:repeater[delay=4,facing=east,locked=false,powered=true]",
84094
+ "95:0": "minecraft:white_stained_glass",
84095
+ "95:1": "minecraft:orange_stained_glass",
84096
+ "95:2": "minecraft:magenta_stained_glass",
84097
+ "95:3": "minecraft:light_blue_stained_glass",
84098
+ "95:4": "minecraft:yellow_stained_glass",
84099
+ "95:5": "minecraft:lime_stained_glass",
84100
+ "95:6": "minecraft:pink_stained_glass",
84101
+ "95:7": "minecraft:gray_stained_glass",
84102
+ "95:8": "minecraft:light_gray_stained_glass",
84103
+ "95:9": "minecraft:cyan_stained_glass",
84104
+ "95:10": "minecraft:purple_stained_glass",
84105
+ "95:11": "minecraft:blue_stained_glass",
84106
+ "95:12": "minecraft:brown_stained_glass",
84107
+ "95:13": "minecraft:green_stained_glass",
84108
+ "95:14": "minecraft:red_stained_glass",
84109
+ "95:15": "minecraft:black_stained_glass",
84110
+ "96:0": "minecraft:oak_trapdoor[half=bottom,facing=north,open=false,powered=false]",
84111
+ "96:1": "minecraft:oak_trapdoor[half=bottom,facing=south,open=false,powered=false]",
84112
+ "96:2": "minecraft:oak_trapdoor[half=bottom,facing=west,open=false,powered=false]",
84113
+ "96:3": "minecraft:oak_trapdoor[half=bottom,facing=east,open=false,powered=false]",
84114
+ "96:4": "minecraft:oak_trapdoor[half=bottom,facing=north,open=true,powered=true]",
84115
+ "96:5": "minecraft:oak_trapdoor[half=bottom,facing=south,open=true,powered=true]",
84116
+ "96:6": "minecraft:oak_trapdoor[half=bottom,facing=west,open=true,powered=true]",
84117
+ "96:7": "minecraft:oak_trapdoor[half=bottom,facing=east,open=true,powered=true]",
84118
+ "96:8": "minecraft:oak_trapdoor[half=top,facing=north,open=false,powered=false]",
84119
+ "96:9": "minecraft:oak_trapdoor[half=top,facing=south,open=false,powered=false]",
84120
+ "96:10": "minecraft:oak_trapdoor[half=top,facing=west,open=false,powered=false]",
84121
+ "96:11": "minecraft:oak_trapdoor[half=top,facing=east,open=false,powered=false]",
84122
+ "96:12": "minecraft:oak_trapdoor[half=top,facing=north,open=true,powered=true]",
84123
+ "96:13": "minecraft:oak_trapdoor[half=top,facing=south,open=true,powered=true]",
84124
+ "96:14": "minecraft:oak_trapdoor[half=top,facing=west,open=true,powered=true]",
84125
+ "96:15": "minecraft:oak_trapdoor[half=top,facing=east,open=true,powered=true]",
84126
+ "97:0": "minecraft:infested_stone",
84127
+ "97:1": "minecraft:infested_cobblestone",
84128
+ "97:2": "minecraft:infested_stone_bricks",
84129
+ "97:3": "minecraft:infested_mossy_stone_bricks",
84130
+ "97:4": "minecraft:infested_cracked_stone_bricks",
84131
+ "97:5": "minecraft:infested_chiseled_stone_bricks",
84132
+ "98:0": "minecraft:stone_bricks",
84133
+ "98:1": "minecraft:mossy_stone_bricks",
84134
+ "98:2": "minecraft:cracked_stone_bricks",
84135
+ "98:3": "minecraft:chiseled_stone_bricks",
84136
+ "99:0": "minecraft:brown_mushroom_block[north=false,east=false,south=false,west=false,up=false,down=false]",
84137
+ "99:1": "minecraft:brown_mushroom_block[north=true,east=false,south=false,west=true,up=true,down=false]",
84138
+ "99:2": "minecraft:brown_mushroom_block[north=true,east=false,south=false,west=false,up=true,down=false]",
84139
+ "99:3": "minecraft:brown_mushroom_block[north=true,east=true,south=false,west=false,up=true,down=false]",
84140
+ "99:4": "minecraft:brown_mushroom_block[north=false,east=false,south=false,west=true,up=true,down=false]",
84141
+ "99:5": "minecraft:brown_mushroom_block[north=false,east=false,south=false,west=false,up=true,down=false]",
84142
+ "99:6": "minecraft:brown_mushroom_block[north=false,east=true,south=false,west=false,up=true,down=false]",
84143
+ "99:7": "minecraft:brown_mushroom_block[north=false,east=false,south=true,west=true,up=true,down=false]",
84144
+ "99:8": "minecraft:brown_mushroom_block[north=false,east=false,south=true,west=false,up=true,down=false]",
84145
+ "99:9": "minecraft:brown_mushroom_block[north=false,east=true,south=true,west=false,up=true,down=false]",
84146
+ "99:10": "minecraft:mushroom_stem[north=true,east=true,south=true,west=true,up=false,down=false]",
84147
+ "99:14": "minecraft:brown_mushroom_block[north=true,east=true,south=true,west=true,up=true,down=true]",
84148
+ "99:15": "minecraft:mushroom_stem[north=true,east=true,south=true,west=true,up=true,down=true]",
84149
+ "100:0": "minecraft:red_mushroom_block[north=false,east=false,south=false,west=false,up=false,down=false]",
84150
+ "100:1": "minecraft:red_mushroom_block[north=true,east=false,south=false,west=true,up=true,down=false]",
84151
+ "100:2": "minecraft:red_mushroom_block[north=true,east=false,south=false,west=false,up=true,down=false]",
84152
+ "100:3": "minecraft:red_mushroom_block[north=true,east=true,south=false,west=false,up=true,down=false]",
84153
+ "100:4": "minecraft:red_mushroom_block[north=false,east=false,south=false,west=true,up=true,down=false]",
84154
+ "100:5": "minecraft:red_mushroom_block[north=false,east=false,south=false,west=false,up=true,down=false]",
84155
+ "100:6": "minecraft:red_mushroom_block[north=false,east=true,south=false,west=false,up=true,down=false]",
84156
+ "100:7": "minecraft:red_mushroom_block[north=false,east=false,south=true,west=true,up=true,down=false]",
84157
+ "100:8": "minecraft:red_mushroom_block[north=false,east=false,south=true,west=false,up=true,down=false]",
84158
+ "100:9": "minecraft:red_mushroom_block[north=false,east=true,south=true,west=false,up=true,down=false]",
84159
+ "100:10": "minecraft:mushroom_stem[north=true,east=true,south=true,west=true,up=false,down=false]",
84160
+ "100:14": "minecraft:red_mushroom_block[north=true,east=true,south=true,west=true,up=true,down=true]",
84161
+ "100:15": "minecraft:mushroom_stem[north=true,east=true,south=true,west=true,up=true,down=true]",
84162
+ "101:0": "minecraft:iron_bars[east=false,south=false,north=false,west=false]",
84163
+ "102:0": "minecraft:glass_pane[east=false,south=false,north=false,west=false]",
84164
+ "103:0": "minecraft:melon",
84165
+ "104:0": "minecraft:pumpkin_stem[age=0]",
84166
+ "104:1": "minecraft:pumpkin_stem[age=1]",
84167
+ "104:2": "minecraft:pumpkin_stem[age=2]",
84168
+ "104:3": "minecraft:pumpkin_stem[age=3]",
84169
+ "104:4": "minecraft:pumpkin_stem[age=4]",
84170
+ "104:5": "minecraft:pumpkin_stem[age=5]",
84171
+ "104:6": "minecraft:pumpkin_stem[age=6]",
84172
+ "104:7": "minecraft:pumpkin_stem[age=7]",
84173
+ "105:0": "minecraft:melon_stem[age=0]",
84174
+ "105:1": "minecraft:melon_stem[age=1]",
84175
+ "105:2": "minecraft:melon_stem[age=2]",
84176
+ "105:3": "minecraft:melon_stem[age=3]",
84177
+ "105:4": "minecraft:melon_stem[age=4]",
84178
+ "105:5": "minecraft:melon_stem[age=5]",
84179
+ "105:6": "minecraft:melon_stem[age=6]",
84180
+ "105:7": "minecraft:melon_stem[age=7]",
84181
+ "106:0": "minecraft:vine[east=false,south=false,north=false,west=false,up=false]",
84182
+ "106:1": "minecraft:vine[east=false,south=true,north=false,west=false,up=false]",
84183
+ "106:2": "minecraft:vine[east=false,south=false,north=false,west=true,up=false]",
84184
+ "106:3": "minecraft:vine[east=false,south=true,north=false,west=true,up=false]",
84185
+ "106:4": "minecraft:vine[east=false,south=false,north=true,west=false,up=false]",
84186
+ "106:5": "minecraft:vine[east=false,south=true,north=true,west=false,up=false]",
84187
+ "106:6": "minecraft:vine[east=false,south=false,north=true,west=true,up=false]",
84188
+ "106:7": "minecraft:vine[east=false,south=true,north=true,west=true,up=false]",
84189
+ "106:8": "minecraft:vine[east=true,south=false,north=false,west=false,up=false]",
84190
+ "106:9": "minecraft:vine[east=true,south=true,north=false,west=false,up=false]",
84191
+ "106:10": "minecraft:vine[east=true,south=false,north=false,west=true,up=false]",
84192
+ "106:11": "minecraft:vine[east=true,south=true,north=false,west=true,up=false]",
84193
+ "106:12": "minecraft:vine[east=true,south=false,north=true,west=false,up=false]",
84194
+ "106:13": "minecraft:vine[east=true,south=true,north=true,west=false,up=false]",
84195
+ "106:14": "minecraft:vine[east=true,south=false,north=true,west=true,up=false]",
84196
+ "106:15": "minecraft:vine[east=true,south=true,north=true,west=true,up=false]",
84197
+ "107:0": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
84198
+ "107:1": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
84199
+ "107:2": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
84200
+ "107:3": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
84201
+ "107:4": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
84202
+ "107:5": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
84203
+ "107:6": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
84204
+ "107:7": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
84205
+ "107:8": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
84206
+ "107:9": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
84207
+ "107:10": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
84208
+ "107:11": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
84209
+ "107:12": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
84210
+ "107:13": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
84211
+ "107:14": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
84212
+ "107:15": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
84213
+ "108:0": "minecraft:brick_stairs[half=bottom,shape=outer_right,facing=east]",
84214
+ "108:1": "minecraft:brick_stairs[half=bottom,shape=outer_right,facing=west]",
84215
+ "108:2": "minecraft:brick_stairs[half=bottom,shape=outer_right,facing=south]",
84216
+ "108:3": "minecraft:brick_stairs[half=bottom,shape=outer_right,facing=north]",
84217
+ "108:4": "minecraft:brick_stairs[half=top,shape=outer_right,facing=east]",
84218
+ "108:5": "minecraft:brick_stairs[half=top,shape=outer_right,facing=west]",
84219
+ "108:6": "minecraft:brick_stairs[half=top,shape=outer_right,facing=south]",
84220
+ "108:7": "minecraft:brick_stairs[half=top,shape=outer_right,facing=north]",
84221
+ "109:0": "minecraft:stone_brick_stairs[half=bottom,shape=outer_right,facing=east]",
84222
+ "109:1": "minecraft:stone_brick_stairs[half=bottom,shape=outer_right,facing=west]",
84223
+ "109:2": "minecraft:stone_brick_stairs[half=bottom,shape=outer_right,facing=south]",
84224
+ "109:3": "minecraft:stone_brick_stairs[half=bottom,shape=outer_right,facing=north]",
84225
+ "109:4": "minecraft:stone_brick_stairs[half=top,shape=outer_right,facing=east]",
84226
+ "109:5": "minecraft:stone_brick_stairs[half=top,shape=outer_right,facing=west]",
84227
+ "109:6": "minecraft:stone_brick_stairs[half=top,shape=outer_right,facing=south]",
84228
+ "109:7": "minecraft:stone_brick_stairs[half=top,shape=outer_right,facing=north]",
84229
+ "110:0": "minecraft:mycelium[snowy=false]",
84230
+ "111:0": "minecraft:lily_pad",
84231
+ "112:0": "minecraft:nether_bricks",
84232
+ "113:0": "minecraft:nether_brick_fence[east=false,south=false,north=false,west=false]",
84233
+ "114:0": "minecraft:nether_brick_stairs[half=bottom,shape=outer_right,facing=east]",
84234
+ "114:1": "minecraft:nether_brick_stairs[half=bottom,shape=outer_right,facing=west]",
84235
+ "114:2": "minecraft:nether_brick_stairs[half=bottom,shape=outer_right,facing=south]",
84236
+ "114:3": "minecraft:nether_brick_stairs[half=bottom,shape=outer_right,facing=north]",
84237
+ "114:4": "minecraft:nether_brick_stairs[half=top,shape=outer_right,facing=east]",
84238
+ "114:5": "minecraft:nether_brick_stairs[half=top,shape=outer_right,facing=west]",
84239
+ "114:6": "minecraft:nether_brick_stairs[half=top,shape=outer_right,facing=south]",
84240
+ "114:7": "minecraft:nether_brick_stairs[half=top,shape=outer_right,facing=north]",
84241
+ "115:0": "minecraft:nether_wart[age=0]",
84242
+ "115:1": "minecraft:nether_wart[age=1]",
84243
+ "115:2": "minecraft:nether_wart[age=2]",
84244
+ "115:3": "minecraft:nether_wart[age=3]",
84245
+ "116:0": "minecraft:enchanting_table",
84246
+ "117:0": "minecraft:brewing_stand[has_bottle_0=false,has_bottle_1=false,has_bottle_2=false]",
84247
+ "117:1": "minecraft:brewing_stand[has_bottle_0=true,has_bottle_1=false,has_bottle_2=false]",
84248
+ "117:2": "minecraft:brewing_stand[has_bottle_0=false,has_bottle_1=true,has_bottle_2=false]",
84249
+ "117:3": "minecraft:brewing_stand[has_bottle_0=true,has_bottle_1=true,has_bottle_2=false]",
84250
+ "117:4": "minecraft:brewing_stand[has_bottle_0=false,has_bottle_1=false,has_bottle_2=true]",
84251
+ "117:5": "minecraft:brewing_stand[has_bottle_0=true,has_bottle_1=false,has_bottle_2=true]",
84252
+ "117:6": "minecraft:brewing_stand[has_bottle_0=false,has_bottle_1=true,has_bottle_2=true]",
84253
+ "117:7": "minecraft:brewing_stand[has_bottle_0=true,has_bottle_1=true,has_bottle_2=true]",
84254
+ "118:0": "minecraft:cauldron",
84255
+ "118:1": "minecraft:water_cauldron[level=1]",
84256
+ "118:2": "minecraft:water_cauldron[level=2]",
84257
+ "118:3": "minecraft:water_cauldron[level=3]",
84258
+ "119:0": "minecraft:end_portal",
84259
+ "120:0": "minecraft:end_portal_frame[eye=false,facing=south]",
84260
+ "120:1": "minecraft:end_portal_frame[eye=false,facing=west]",
84261
+ "120:2": "minecraft:end_portal_frame[eye=false,facing=north]",
84262
+ "120:3": "minecraft:end_portal_frame[eye=false,facing=east]",
84263
+ "120:4": "minecraft:end_portal_frame[eye=true,facing=south]",
84264
+ "120:5": "minecraft:end_portal_frame[eye=true,facing=west]",
84265
+ "120:6": "minecraft:end_portal_frame[eye=true,facing=north]",
84266
+ "120:7": "minecraft:end_portal_frame[eye=true,facing=east]",
84267
+ "121:0": "minecraft:end_stone",
84268
+ "122:0": "minecraft:dragon_egg",
84269
+ "123:0": "minecraft:redstone_lamp[lit=false]",
84270
+ "124:0": "minecraft:redstone_lamp[lit=true]",
84271
+ "125:0": "minecraft:oak_slab[type=double]",
84272
+ "125:1": "minecraft:spruce_slab[type=double]",
84273
+ "125:2": "minecraft:birch_slab[type=double]",
84274
+ "125:3": "minecraft:jungle_slab[type=double]",
84275
+ "125:4": "minecraft:acacia_slab[type=double]",
84276
+ "125:5": "minecraft:dark_oak_slab[type=double]",
84277
+ "126:0": "minecraft:oak_slab[type=bottom]",
84278
+ "126:1": "minecraft:spruce_slab[type=bottom]",
84279
+ "126:2": "minecraft:birch_slab[type=bottom]",
84280
+ "126:3": "minecraft:jungle_slab[type=bottom]",
84281
+ "126:4": "minecraft:acacia_slab[type=bottom]",
84282
+ "126:5": "minecraft:dark_oak_slab[type=bottom]",
84283
+ "126:8": "minecraft:oak_slab[type=top]",
84284
+ "126:9": "minecraft:spruce_slab[type=top]",
84285
+ "126:10": "minecraft:birch_slab[type=top]",
84286
+ "126:11": "minecraft:jungle_slab[type=top]",
84287
+ "126:12": "minecraft:acacia_slab[type=top]",
84288
+ "126:13": "minecraft:dark_oak_slab[type=top]",
84289
+ "127:0": "minecraft:cocoa[facing=south,age=0]",
84290
+ "127:1": "minecraft:cocoa[facing=west,age=0]",
84291
+ "127:2": "minecraft:cocoa[facing=north,age=0]",
84292
+ "127:3": "minecraft:cocoa[facing=east,age=0]",
84293
+ "127:4": "minecraft:cocoa[facing=south,age=1]",
84294
+ "127:5": "minecraft:cocoa[facing=west,age=1]",
84295
+ "127:6": "minecraft:cocoa[facing=north,age=1]",
84296
+ "127:7": "minecraft:cocoa[facing=east,age=1]",
84297
+ "127:8": "minecraft:cocoa[facing=south,age=2]",
84298
+ "127:9": "minecraft:cocoa[facing=west,age=2]",
84299
+ "127:10": "minecraft:cocoa[facing=north,age=2]",
84300
+ "127:11": "minecraft:cocoa[facing=east,age=2]",
84301
+ "128:0": "minecraft:sandstone_stairs[half=bottom,shape=outer_right,facing=east]",
84302
+ "128:1": "minecraft:sandstone_stairs[half=bottom,shape=outer_right,facing=west]",
84303
+ "128:2": "minecraft:sandstone_stairs[half=bottom,shape=outer_right,facing=south]",
84304
+ "128:3": "minecraft:sandstone_stairs[half=bottom,shape=outer_right,facing=north]",
84305
+ "128:4": "minecraft:sandstone_stairs[half=top,shape=outer_right,facing=east]",
84306
+ "128:5": "minecraft:sandstone_stairs[half=top,shape=outer_right,facing=west]",
84307
+ "128:6": "minecraft:sandstone_stairs[half=top,shape=outer_right,facing=south]",
84308
+ "128:7": "minecraft:sandstone_stairs[half=top,shape=outer_right,facing=north]",
84309
+ "129:0": "minecraft:emerald_ore",
84310
+ "130:2": "minecraft:ender_chest[facing=north]",
84311
+ "130:3": "minecraft:ender_chest[facing=south]",
84312
+ "130:4": "minecraft:ender_chest[facing=west]",
84313
+ "130:5": "minecraft:ender_chest[facing=east]",
84314
+ "131:0": "minecraft:tripwire_hook[powered=false,attached=false,facing=south]",
84315
+ "131:1": "minecraft:tripwire_hook[powered=false,attached=false,facing=west]",
84316
+ "131:2": "minecraft:tripwire_hook[powered=false,attached=false,facing=north]",
84317
+ "131:3": "minecraft:tripwire_hook[powered=false,attached=false,facing=east]",
84318
+ "131:4": "minecraft:tripwire_hook[powered=false,attached=true,facing=south]",
84319
+ "131:5": "minecraft:tripwire_hook[powered=false,attached=true,facing=west]",
84320
+ "131:6": "minecraft:tripwire_hook[powered=false,attached=true,facing=north]",
84321
+ "131:7": "minecraft:tripwire_hook[powered=false,attached=true,facing=east]",
84322
+ "131:8": "minecraft:tripwire_hook[powered=true,attached=false,facing=south]",
84323
+ "131:9": "minecraft:tripwire_hook[powered=true,attached=false,facing=west]",
84324
+ "131:10": "minecraft:tripwire_hook[powered=true,attached=false,facing=north]",
84325
+ "131:11": "minecraft:tripwire_hook[powered=true,attached=false,facing=east]",
84326
+ "131:12": "minecraft:tripwire_hook[powered=true,attached=true,facing=south]",
84327
+ "131:13": "minecraft:tripwire_hook[powered=true,attached=true,facing=west]",
84328
+ "131:14": "minecraft:tripwire_hook[powered=true,attached=true,facing=north]",
84329
+ "131:15": "minecraft:tripwire_hook[powered=true,attached=true,facing=east]",
84330
+ "132:0": "minecraft:tripwire[disarmed=false,east=false,powered=false,south=false,north=false,west=false,attached=false]",
84331
+ "132:1": "minecraft:tripwire[disarmed=false,east=false,powered=true,south=false,north=false,west=false,attached=false]",
84332
+ "132:4": "minecraft:tripwire[disarmed=false,east=false,powered=false,south=false,north=false,west=false,attached=true]",
84333
+ "132:5": "minecraft:tripwire[disarmed=false,east=false,powered=true,south=false,north=false,west=false,attached=true]",
84334
+ "132:8": "minecraft:tripwire[disarmed=true,east=false,powered=false,south=false,north=false,west=false,attached=false]",
84335
+ "132:9": "minecraft:tripwire[disarmed=true,east=false,powered=true,south=false,north=false,west=false,attached=false]",
84336
+ "132:12": "minecraft:tripwire[disarmed=true,east=false,powered=false,south=false,north=false,west=false,attached=true]",
84337
+ "132:13": "minecraft:tripwire[disarmed=true,east=false,powered=true,south=false,north=false,west=false,attached=true]",
84338
+ "133:0": "minecraft:emerald_block",
84339
+ "134:0": "minecraft:spruce_stairs[half=bottom,shape=outer_right,facing=east]",
84340
+ "134:1": "minecraft:spruce_stairs[half=bottom,shape=outer_right,facing=west]",
84341
+ "134:2": "minecraft:spruce_stairs[half=bottom,shape=outer_right,facing=south]",
84342
+ "134:3": "minecraft:spruce_stairs[half=bottom,shape=outer_right,facing=north]",
84343
+ "134:4": "minecraft:spruce_stairs[half=top,shape=outer_right,facing=east]",
84344
+ "134:5": "minecraft:spruce_stairs[half=top,shape=outer_right,facing=west]",
84345
+ "134:6": "minecraft:spruce_stairs[half=top,shape=outer_right,facing=south]",
84346
+ "134:7": "minecraft:spruce_stairs[half=top,shape=outer_right,facing=north]",
84347
+ "135:0": "minecraft:birch_stairs[half=bottom,shape=outer_right,facing=east]",
84348
+ "135:1": "minecraft:birch_stairs[half=bottom,shape=outer_right,facing=west]",
84349
+ "135:2": "minecraft:birch_stairs[half=bottom,shape=outer_right,facing=south]",
84350
+ "135:3": "minecraft:birch_stairs[half=bottom,shape=outer_right,facing=north]",
84351
+ "135:4": "minecraft:birch_stairs[half=top,shape=outer_right,facing=east]",
84352
+ "135:5": "minecraft:birch_stairs[half=top,shape=outer_right,facing=west]",
84353
+ "135:6": "minecraft:birch_stairs[half=top,shape=outer_right,facing=south]",
84354
+ "135:7": "minecraft:birch_stairs[half=top,shape=outer_right,facing=north]",
84355
+ "136:0": "minecraft:jungle_stairs[half=bottom,shape=outer_right,facing=east]",
84356
+ "136:1": "minecraft:jungle_stairs[half=bottom,shape=outer_right,facing=west]",
84357
+ "136:2": "minecraft:jungle_stairs[half=bottom,shape=outer_right,facing=south]",
84358
+ "136:3": "minecraft:jungle_stairs[half=bottom,shape=outer_right,facing=north]",
84359
+ "136:4": "minecraft:jungle_stairs[half=top,shape=outer_right,facing=east]",
84360
+ "136:5": "minecraft:jungle_stairs[half=top,shape=outer_right,facing=west]",
84361
+ "136:6": "minecraft:jungle_stairs[half=top,shape=outer_right,facing=south]",
84362
+ "136:7": "minecraft:jungle_stairs[half=top,shape=outer_right,facing=north]",
84363
+ "137:0": "minecraft:command_block[conditional=false,facing=down]",
84364
+ "137:1": "minecraft:command_block[conditional=false,facing=up]",
84365
+ "137:2": "minecraft:command_block[conditional=false,facing=north]",
84366
+ "137:3": "minecraft:command_block[conditional=false,facing=south]",
84367
+ "137:4": "minecraft:command_block[conditional=false,facing=west]",
84368
+ "137:5": "minecraft:command_block[conditional=false,facing=east]",
84369
+ "137:8": "minecraft:command_block[conditional=true,facing=down]",
84370
+ "137:9": "minecraft:command_block[conditional=true,facing=up]",
84371
+ "137:10": "minecraft:command_block[conditional=true,facing=north]",
84372
+ "137:11": "minecraft:command_block[conditional=true,facing=south]",
84373
+ "137:12": "minecraft:command_block[conditional=true,facing=west]",
84374
+ "137:13": "minecraft:command_block[conditional=true,facing=east]",
84375
+ "138:0": "minecraft:beacon",
84376
+ "139:0": "minecraft:cobblestone_wall[east=false,south=false,north=false,west=false,up=false]",
84377
+ "139:1": "minecraft:mossy_cobblestone_wall[east=false,south=false,north=false,west=false,up=false]",
84378
+ "140:0": "minecraft:flower_pot",
84379
+ "140:1": "minecraft:potted_poppy",
84380
+ "140:2": "minecraft:potted_dandelion",
84381
+ "140:3": "minecraft:potted_oak_sapling",
84382
+ "140:4": "minecraft:potted_spruce_sapling",
84383
+ "140:5": "minecraft:potted_birch_sapling",
84384
+ "140:6": "minecraft:potted_jungle_sapling",
84385
+ "140:7": "minecraft:potted_red_mushroom",
84386
+ "140:8": "minecraft:potted_brown_mushroom",
84387
+ "140:9": "minecraft:potted_cactus",
84388
+ "140:10": "minecraft:potted_dead_bush",
84389
+ "140:11": "minecraft:potted_fern",
84390
+ "140:12": "minecraft:potted_acacia_sapling",
84391
+ "140:13": "minecraft:potted_dark_oak_sapling",
84392
+ "140:14": "minecraft:potted_blue_orchid",
84393
+ "140:15": "minecraft:potted_allium",
84394
+ "141:0": "minecraft:carrots[age=0]",
84395
+ "141:1": "minecraft:carrots[age=1]",
84396
+ "141:2": "minecraft:carrots[age=2]",
84397
+ "141:3": "minecraft:carrots[age=3]",
84398
+ "141:4": "minecraft:carrots[age=4]",
84399
+ "141:5": "minecraft:carrots[age=5]",
84400
+ "141:6": "minecraft:carrots[age=6]",
84401
+ "141:7": "minecraft:carrots[age=7]",
84402
+ "142:0": "minecraft:potatoes[age=0]",
84403
+ "142:1": "minecraft:potatoes[age=1]",
84404
+ "142:2": "minecraft:potatoes[age=2]",
84405
+ "142:3": "minecraft:potatoes[age=3]",
84406
+ "142:4": "minecraft:potatoes[age=4]",
84407
+ "142:5": "minecraft:potatoes[age=5]",
84408
+ "142:6": "minecraft:potatoes[age=6]",
84409
+ "142:7": "minecraft:potatoes[age=7]",
84410
+ "143:0": "minecraft:oak_button[powered=false,facing=east,face=ceiling]",
84411
+ "143:1": "minecraft:oak_button[powered=false,facing=east,face=wall]",
84412
+ "143:2": "minecraft:oak_button[powered=false,facing=west,face=wall]",
84413
+ "143:3": "minecraft:oak_button[powered=false,facing=south,face=wall]",
84414
+ "143:4": "minecraft:oak_button[powered=false,facing=north,face=wall]",
84415
+ "143:5": "minecraft:oak_button[powered=false,facing=east,face=floor]",
84416
+ "143:8": "minecraft:oak_button[powered=true,facing=south,face=ceiling]",
84417
+ "143:9": "minecraft:oak_button[powered=true,facing=east,face=wall]",
84418
+ "143:10": "minecraft:oak_button[powered=true,facing=west,face=wall]",
84419
+ "143:11": "minecraft:oak_button[powered=true,facing=south,face=wall]",
84420
+ "143:12": "minecraft:oak_button[powered=true,facing=north,face=wall]",
84421
+ "143:13": "minecraft:oak_button[powered=true,facing=south,face=floor]",
84422
+ "144:0": "minecraft:skeleton_skull[rotation=0]",
84423
+ "144:1": "minecraft:skeleton_skull[rotation=4]",
84424
+ "144:2": "minecraft:skeleton_wall_skull[facing=north]",
84425
+ "144:3": "minecraft:skeleton_wall_skull[facing=south]",
84426
+ "144:4": "minecraft:skeleton_wall_skull[facing=west]",
84427
+ "144:5": "minecraft:skeleton_wall_skull[facing=east]",
84428
+ "144:8": "minecraft:skeleton_skull[rotation=8]",
84429
+ "144:9": "minecraft:skeleton_skull[rotation=12]",
84430
+ "144:10": "minecraft:skeleton_wall_skull[facing=north]",
84431
+ "144:11": "minecraft:skeleton_wall_skull[facing=south]",
84432
+ "144:12": "minecraft:skeleton_wall_skull[facing=west]",
84433
+ "144:13": "minecraft:skeleton_wall_skull[facing=east]",
84434
+ "145:0": "minecraft:anvil[facing=south]",
84435
+ "145:1": "minecraft:anvil[facing=west]",
84436
+ "145:2": "minecraft:anvil[facing=north]",
84437
+ "145:3": "minecraft:anvil[facing=east]",
84438
+ "145:4": "minecraft:chipped_anvil[facing=south]",
84439
+ "145:5": "minecraft:chipped_anvil[facing=west]",
84440
+ "145:6": "minecraft:chipped_anvil[facing=north]",
84441
+ "145:7": "minecraft:chipped_anvil[facing=east]",
84442
+ "145:8": "minecraft:damaged_anvil[facing=south]",
84443
+ "145:9": "minecraft:damaged_anvil[facing=west]",
84444
+ "145:10": "minecraft:damaged_anvil[facing=north]",
84445
+ "145:11": "minecraft:damaged_anvil[facing=east]",
84446
+ "146:2": "minecraft:trapped_chest[facing=north,type=single]",
84447
+ "146:3": "minecraft:trapped_chest[facing=south,type=single]",
84448
+ "146:4": "minecraft:trapped_chest[facing=west,type=single]",
84449
+ "146:5": "minecraft:trapped_chest[facing=east,type=single]",
84450
+ "147:0": "minecraft:light_weighted_pressure_plate[power=0]",
84451
+ "147:1": "minecraft:light_weighted_pressure_plate[power=1]",
84452
+ "147:2": "minecraft:light_weighted_pressure_plate[power=2]",
84453
+ "147:3": "minecraft:light_weighted_pressure_plate[power=3]",
84454
+ "147:4": "minecraft:light_weighted_pressure_plate[power=4]",
84455
+ "147:5": "minecraft:light_weighted_pressure_plate[power=5]",
84456
+ "147:6": "minecraft:light_weighted_pressure_plate[power=6]",
84457
+ "147:7": "minecraft:light_weighted_pressure_plate[power=7]",
84458
+ "147:8": "minecraft:light_weighted_pressure_plate[power=8]",
84459
+ "147:9": "minecraft:light_weighted_pressure_plate[power=9]",
84460
+ "147:10": "minecraft:light_weighted_pressure_plate[power=10]",
84461
+ "147:11": "minecraft:light_weighted_pressure_plate[power=11]",
84462
+ "147:12": "minecraft:light_weighted_pressure_plate[power=12]",
84463
+ "147:13": "minecraft:light_weighted_pressure_plate[power=13]",
84464
+ "147:14": "minecraft:light_weighted_pressure_plate[power=14]",
84465
+ "147:15": "minecraft:light_weighted_pressure_plate[power=15]",
84466
+ "148:0": "minecraft:heavy_weighted_pressure_plate[power=0]",
84467
+ "148:1": "minecraft:heavy_weighted_pressure_plate[power=1]",
84468
+ "148:2": "minecraft:heavy_weighted_pressure_plate[power=2]",
84469
+ "148:3": "minecraft:heavy_weighted_pressure_plate[power=3]",
84470
+ "148:4": "minecraft:heavy_weighted_pressure_plate[power=4]",
84471
+ "148:5": "minecraft:heavy_weighted_pressure_plate[power=5]",
84472
+ "148:6": "minecraft:heavy_weighted_pressure_plate[power=6]",
84473
+ "148:7": "minecraft:heavy_weighted_pressure_plate[power=7]",
84474
+ "148:8": "minecraft:heavy_weighted_pressure_plate[power=8]",
84475
+ "148:9": "minecraft:heavy_weighted_pressure_plate[power=9]",
84476
+ "148:10": "minecraft:heavy_weighted_pressure_plate[power=10]",
84477
+ "148:11": "minecraft:heavy_weighted_pressure_plate[power=11]",
84478
+ "148:12": "minecraft:heavy_weighted_pressure_plate[power=12]",
84479
+ "148:13": "minecraft:heavy_weighted_pressure_plate[power=13]",
84480
+ "148:14": "minecraft:heavy_weighted_pressure_plate[power=14]",
84481
+ "148:15": "minecraft:heavy_weighted_pressure_plate[power=15]",
84482
+ "149:0": "minecraft:comparator[mode=compare,powered=false,facing=south]",
84483
+ "149:1": "minecraft:comparator[mode=compare,powered=false,facing=west]",
84484
+ "149:2": "minecraft:comparator[mode=compare,powered=false,facing=north]",
84485
+ "149:3": "minecraft:comparator[mode=compare,powered=false,facing=east]",
84486
+ "149:4": "minecraft:comparator[mode=subtract,powered=false,facing=south]",
84487
+ "149:5": "minecraft:comparator[mode=subtract,powered=false,facing=west]",
84488
+ "149:6": "minecraft:comparator[mode=subtract,powered=false,facing=north]",
84489
+ "149:7": "minecraft:comparator[mode=subtract,powered=false,facing=east]",
84490
+ "149:8": "minecraft:comparator[mode=compare,powered=false,facing=south]",
84491
+ "149:9": "minecraft:comparator[mode=compare,powered=false,facing=west]",
84492
+ "149:10": "minecraft:comparator[mode=compare,powered=false,facing=north]",
84493
+ "149:11": "minecraft:comparator[mode=compare,powered=false,facing=east]",
84494
+ "149:12": "minecraft:comparator[mode=subtract,powered=false,facing=south]",
84495
+ "149:13": "minecraft:comparator[mode=subtract,powered=false,facing=west]",
84496
+ "149:14": "minecraft:comparator[mode=subtract,powered=false,facing=north]",
84497
+ "149:15": "minecraft:comparator[mode=subtract,powered=false,facing=east]",
84498
+ "150:0": "minecraft:comparator[mode=compare,powered=true,facing=south]",
84499
+ "150:1": "minecraft:comparator[mode=compare,powered=true,facing=west]",
84500
+ "150:2": "minecraft:comparator[mode=compare,powered=true,facing=north]",
84501
+ "150:3": "minecraft:comparator[mode=compare,powered=true,facing=east]",
84502
+ "150:4": "minecraft:comparator[mode=subtract,powered=true,facing=south]",
84503
+ "150:5": "minecraft:comparator[mode=subtract,powered=true,facing=west]",
84504
+ "150:6": "minecraft:comparator[mode=subtract,powered=true,facing=north]",
84505
+ "150:7": "minecraft:comparator[mode=subtract,powered=true,facing=east]",
84506
+ "150:8": "minecraft:comparator[mode=compare,powered=true,facing=south]",
84507
+ "150:9": "minecraft:comparator[mode=compare,powered=true,facing=west]",
84508
+ "150:10": "minecraft:comparator[mode=compare,powered=true,facing=north]",
84509
+ "150:11": "minecraft:comparator[mode=compare,powered=true,facing=east]",
84510
+ "150:12": "minecraft:comparator[mode=subtract,powered=true,facing=south]",
84511
+ "150:13": "minecraft:comparator[mode=subtract,powered=true,facing=west]",
84512
+ "150:14": "minecraft:comparator[mode=subtract,powered=true,facing=north]",
84513
+ "150:15": "minecraft:comparator[mode=subtract,powered=true,facing=east]",
84514
+ "151:0": "minecraft:daylight_detector[inverted=false,power=0]",
84515
+ "151:1": "minecraft:daylight_detector[inverted=false,power=1]",
84516
+ "151:2": "minecraft:daylight_detector[inverted=false,power=2]",
84517
+ "151:3": "minecraft:daylight_detector[inverted=false,power=3]",
84518
+ "151:4": "minecraft:daylight_detector[inverted=false,power=4]",
84519
+ "151:5": "minecraft:daylight_detector[inverted=false,power=5]",
84520
+ "151:6": "minecraft:daylight_detector[inverted=false,power=6]",
84521
+ "151:7": "minecraft:daylight_detector[inverted=false,power=7]",
84522
+ "151:8": "minecraft:daylight_detector[inverted=false,power=8]",
84523
+ "151:9": "minecraft:daylight_detector[inverted=false,power=9]",
84524
+ "151:10": "minecraft:daylight_detector[inverted=false,power=10]",
84525
+ "151:11": "minecraft:daylight_detector[inverted=false,power=11]",
84526
+ "151:12": "minecraft:daylight_detector[inverted=false,power=12]",
84527
+ "151:13": "minecraft:daylight_detector[inverted=false,power=13]",
84528
+ "151:14": "minecraft:daylight_detector[inverted=false,power=14]",
84529
+ "151:15": "minecraft:daylight_detector[inverted=false,power=15]",
84530
+ "152:0": "minecraft:redstone_block",
84531
+ "153:0": "minecraft:nether_quartz_ore",
84532
+ "154:0": "minecraft:hopper[facing=down,enabled=true]",
84533
+ "154:2": "minecraft:hopper[facing=north,enabled=true]",
84534
+ "154:3": "minecraft:hopper[facing=south,enabled=true]",
84535
+ "154:4": "minecraft:hopper[facing=west,enabled=true]",
84536
+ "154:5": "minecraft:hopper[facing=east,enabled=true]",
84537
+ "154:8": "minecraft:hopper[facing=down,enabled=false]",
84538
+ "154:10": "minecraft:hopper[facing=north,enabled=false]",
84539
+ "154:11": "minecraft:hopper[facing=south,enabled=false]",
84540
+ "154:12": "minecraft:hopper[facing=west,enabled=false]",
84541
+ "154:13": "minecraft:hopper[facing=east,enabled=false]",
84542
+ "155:0": "minecraft:quartz_block",
84543
+ "155:1": "minecraft:chiseled_quartz_block",
84544
+ "155:2": "minecraft:quartz_pillar[axis=y]",
84545
+ "155:3": "minecraft:quartz_pillar[axis=x]",
84546
+ "155:4": "minecraft:quartz_pillar[axis=z]",
84547
+ "155:6": "minecraft:quartz_pillar[axis=x]",
84548
+ "155:10": "minecraft:quartz_pillar[axis=z]",
84549
+ "156:0": "minecraft:quartz_stairs[half=bottom,shape=outer_right,facing=east]",
84550
+ "156:1": "minecraft:quartz_stairs[half=bottom,shape=outer_right,facing=west]",
84551
+ "156:2": "minecraft:quartz_stairs[half=bottom,shape=outer_right,facing=south]",
84552
+ "156:3": "minecraft:quartz_stairs[half=bottom,shape=outer_right,facing=north]",
84553
+ "156:4": "minecraft:quartz_stairs[half=top,shape=outer_right,facing=east]",
84554
+ "156:5": "minecraft:quartz_stairs[half=top,shape=outer_right,facing=west]",
84555
+ "156:6": "minecraft:quartz_stairs[half=top,shape=outer_right,facing=south]",
84556
+ "156:7": "minecraft:quartz_stairs[half=top,shape=outer_right,facing=north]",
84557
+ "157:0": "minecraft:activator_rail[shape=north_south,powered=false]",
84558
+ "157:1": "minecraft:activator_rail[shape=east_west,powered=false]",
84559
+ "157:2": "minecraft:activator_rail[shape=ascending_east,powered=false]",
84560
+ "157:3": "minecraft:activator_rail[shape=ascending_west,powered=false]",
84561
+ "157:4": "minecraft:activator_rail[shape=ascending_north,powered=false]",
84562
+ "157:5": "minecraft:activator_rail[shape=ascending_south,powered=false]",
84563
+ "157:8": "minecraft:activator_rail[shape=north_south,powered=true]",
84564
+ "157:9": "minecraft:activator_rail[shape=east_west,powered=true]",
84565
+ "157:10": "minecraft:activator_rail[shape=ascending_east,powered=true]",
84566
+ "157:11": "minecraft:activator_rail[shape=ascending_west,powered=true]",
84567
+ "157:12": "minecraft:activator_rail[shape=ascending_north,powered=true]",
84568
+ "157:13": "minecraft:activator_rail[shape=ascending_south,powered=true]",
84569
+ "158:0": "minecraft:dropper[triggered=false,facing=down]",
84570
+ "158:1": "minecraft:dropper[triggered=false,facing=up]",
84571
+ "158:2": "minecraft:dropper[triggered=false,facing=north]",
84572
+ "158:3": "minecraft:dropper[triggered=false,facing=south]",
84573
+ "158:4": "minecraft:dropper[triggered=false,facing=west]",
84574
+ "158:5": "minecraft:dropper[triggered=false,facing=east]",
84575
+ "158:8": "minecraft:dropper[triggered=true,facing=down]",
84576
+ "158:9": "minecraft:dropper[triggered=true,facing=up]",
84577
+ "158:10": "minecraft:dropper[triggered=true,facing=north]",
84578
+ "158:11": "minecraft:dropper[triggered=true,facing=south]",
84579
+ "158:12": "minecraft:dropper[triggered=true,facing=west]",
84580
+ "158:13": "minecraft:dropper[triggered=true,facing=east]",
84581
+ "159:0": "minecraft:white_terracotta",
84582
+ "159:1": "minecraft:orange_terracotta",
84583
+ "159:2": "minecraft:magenta_terracotta",
84584
+ "159:3": "minecraft:light_blue_terracotta",
84585
+ "159:4": "minecraft:yellow_terracotta",
84586
+ "159:5": "minecraft:lime_terracotta",
84587
+ "159:6": "minecraft:pink_terracotta",
84588
+ "159:7": "minecraft:gray_terracotta",
84589
+ "159:8": "minecraft:light_gray_terracotta",
84590
+ "159:9": "minecraft:cyan_terracotta",
84591
+ "159:10": "minecraft:purple_terracotta",
84592
+ "159:11": "minecraft:blue_terracotta",
84593
+ "159:12": "minecraft:brown_terracotta",
84594
+ "159:13": "minecraft:green_terracotta",
84595
+ "159:14": "minecraft:red_terracotta",
84596
+ "159:15": "minecraft:black_terracotta",
84597
+ "160:0": "minecraft:white_stained_glass_pane[east=false,south=false,north=false,west=false]",
84598
+ "160:1": "minecraft:orange_stained_glass_pane[east=false,south=false,north=false,west=false]",
84599
+ "160:2": "minecraft:magenta_stained_glass_pane[east=false,south=false,north=false,west=false]",
84600
+ "160:3": "minecraft:light_blue_stained_glass_pane[east=false,south=false,north=false,west=false]",
84601
+ "160:4": "minecraft:yellow_stained_glass_pane[east=false,south=false,north=false,west=false]",
84602
+ "160:5": "minecraft:lime_stained_glass_pane[east=false,south=false,north=false,west=false]",
84603
+ "160:6": "minecraft:pink_stained_glass_pane[east=false,south=false,north=false,west=false]",
84604
+ "160:7": "minecraft:gray_stained_glass_pane[east=false,south=false,north=false,west=false]",
84605
+ "160:8": "minecraft:light_gray_stained_glass_pane[east=false,south=false,north=false,west=false]",
84606
+ "160:9": "minecraft:cyan_stained_glass_pane[east=false,south=false,north=false,west=false]",
84607
+ "160:10": "minecraft:purple_stained_glass_pane[east=false,south=false,north=false,west=false]",
84608
+ "160:11": "minecraft:blue_stained_glass_pane[east=false,south=false,north=false,west=false]",
84609
+ "160:12": "minecraft:brown_stained_glass_pane[east=false,south=false,north=false,west=false]",
84610
+ "160:13": "minecraft:green_stained_glass_pane[east=false,south=false,north=false,west=false]",
84611
+ "160:14": "minecraft:red_stained_glass_pane[east=false,south=false,north=false,west=false]",
84612
+ "160:15": "minecraft:black_stained_glass_pane[east=false,south=false,north=false,west=false]",
84613
+ "161:0": "minecraft:acacia_leaves[persistent=false,distance=1]",
84614
+ "161:1": "minecraft:dark_oak_leaves[persistent=false,distance=1]",
84615
+ "161:4": "minecraft:acacia_leaves[persistent=true,distance=1]",
84616
+ "161:5": "minecraft:dark_oak_leaves[persistent=true,distance=1]",
84617
+ "161:8": "minecraft:acacia_leaves[persistent=false,distance=1]",
84618
+ "161:9": "minecraft:dark_oak_leaves[persistent=false,distance=1]",
84619
+ "161:12": "minecraft:acacia_leaves[persistent=true,distance=1]",
84620
+ "161:13": "minecraft:dark_oak_leaves[persistent=true,distance=1]",
84621
+ "162:0": "minecraft:acacia_log[axis=y]",
84622
+ "162:1": "minecraft:dark_oak_log[axis=y]",
84623
+ "162:4": "minecraft:acacia_log[axis=x]",
84624
+ "162:5": "minecraft:dark_oak_log[axis=x]",
84625
+ "162:8": "minecraft:acacia_log[axis=z]",
84626
+ "162:9": "minecraft:dark_oak_log[axis=z]",
84627
+ "162:12": "minecraft:acacia_wood",
84628
+ "162:13": "minecraft:dark_oak_wood",
84629
+ "163:0": "minecraft:acacia_stairs[half=bottom,shape=outer_right,facing=east]",
84630
+ "163:1": "minecraft:acacia_stairs[half=bottom,shape=outer_right,facing=west]",
84631
+ "163:2": "minecraft:acacia_stairs[half=bottom,shape=outer_right,facing=south]",
84632
+ "163:3": "minecraft:acacia_stairs[half=bottom,shape=outer_right,facing=north]",
84633
+ "163:4": "minecraft:acacia_stairs[half=top,shape=outer_right,facing=east]",
84634
+ "163:5": "minecraft:acacia_stairs[half=top,shape=outer_right,facing=west]",
84635
+ "163:6": "minecraft:acacia_stairs[half=top,shape=outer_right,facing=south]",
84636
+ "163:7": "minecraft:acacia_stairs[half=top,shape=outer_right,facing=north]",
84637
+ "164:0": "minecraft:dark_oak_stairs[half=bottom,shape=outer_right,facing=east]",
84638
+ "164:1": "minecraft:dark_oak_stairs[half=bottom,shape=outer_right,facing=west]",
84639
+ "164:2": "minecraft:dark_oak_stairs[half=bottom,shape=outer_right,facing=south]",
84640
+ "164:3": "minecraft:dark_oak_stairs[half=bottom,shape=outer_right,facing=north]",
84641
+ "164:4": "minecraft:dark_oak_stairs[half=top,shape=outer_right,facing=east]",
84642
+ "164:5": "minecraft:dark_oak_stairs[half=top,shape=outer_right,facing=west]",
84643
+ "164:6": "minecraft:dark_oak_stairs[half=top,shape=outer_right,facing=south]",
84644
+ "164:7": "minecraft:dark_oak_stairs[half=top,shape=outer_right,facing=north]",
84645
+ "165:0": "minecraft:slime_block",
84646
+ "166:0": "minecraft:barrier",
84647
+ "167:0": "minecraft:iron_trapdoor[half=bottom,facing=north,open=false]",
84648
+ "167:1": "minecraft:iron_trapdoor[half=bottom,facing=south,open=false]",
84649
+ "167:2": "minecraft:iron_trapdoor[half=bottom,facing=west,open=false]",
84650
+ "167:3": "minecraft:iron_trapdoor[half=bottom,facing=east,open=false]",
84651
+ "167:4": "minecraft:iron_trapdoor[half=bottom,facing=north,open=true]",
84652
+ "167:5": "minecraft:iron_trapdoor[half=bottom,facing=south,open=true]",
84653
+ "167:6": "minecraft:iron_trapdoor[half=bottom,facing=west,open=true]",
84654
+ "167:7": "minecraft:iron_trapdoor[half=bottom,facing=east,open=true]",
84655
+ "167:8": "minecraft:iron_trapdoor[half=top,facing=north,open=false]",
84656
+ "167:9": "minecraft:iron_trapdoor[half=top,facing=south,open=false]",
84657
+ "167:10": "minecraft:iron_trapdoor[half=top,facing=west,open=false]",
84658
+ "167:11": "minecraft:iron_trapdoor[half=top,facing=east,open=false]",
84659
+ "167:12": "minecraft:iron_trapdoor[half=top,facing=north,open=true]",
84660
+ "167:13": "minecraft:iron_trapdoor[half=top,facing=south,open=true]",
84661
+ "167:14": "minecraft:iron_trapdoor[half=top,facing=west,open=true]",
84662
+ "167:15": "minecraft:iron_trapdoor[half=top,facing=east,open=true]",
84663
+ "168:0": "minecraft:prismarine",
84664
+ "168:1": "minecraft:prismarine_bricks",
84665
+ "168:2": "minecraft:dark_prismarine",
84666
+ "169:0": "minecraft:sea_lantern",
84667
+ "170:0": "minecraft:hay_block[axis=y]",
84668
+ "170:4": "minecraft:hay_block[axis=x]",
84669
+ "170:8": "minecraft:hay_block[axis=z]",
84670
+ "171:0": "minecraft:white_carpet",
84671
+ "171:1": "minecraft:orange_carpet",
84672
+ "171:2": "minecraft:magenta_carpet",
84673
+ "171:3": "minecraft:light_blue_carpet",
84674
+ "171:4": "minecraft:yellow_carpet",
84675
+ "171:5": "minecraft:lime_carpet",
84676
+ "171:6": "minecraft:pink_carpet",
84677
+ "171:7": "minecraft:gray_carpet",
84678
+ "171:8": "minecraft:light_gray_carpet",
84679
+ "171:9": "minecraft:cyan_carpet",
84680
+ "171:10": "minecraft:purple_carpet",
84681
+ "171:11": "minecraft:blue_carpet",
84682
+ "171:12": "minecraft:brown_carpet",
84683
+ "171:13": "minecraft:green_carpet",
84684
+ "171:14": "minecraft:red_carpet",
84685
+ "171:15": "minecraft:black_carpet",
84686
+ "172:0": "minecraft:terracotta",
84687
+ "173:0": "minecraft:coal_block",
84688
+ "174:0": "minecraft:packed_ice",
84689
+ "175:0": "minecraft:sunflower[half=lower]",
84690
+ "175:1": "minecraft:lilac[half=lower]",
84691
+ "175:2": "minecraft:tall_grass[half=lower]",
84692
+ "175:3": "minecraft:large_fern[half=lower]",
84693
+ "175:4": "minecraft:rose_bush[half=lower]",
84694
+ "175:5": "minecraft:peony[half=lower]",
84695
+ "175:8": "minecraft:sunflower[half=upper]",
84696
+ "175:9": "minecraft:lilac[half=upper]",
84697
+ "175:10": "minecraft:tall_grass[half=upper]",
84698
+ "175:11": "minecraft:large_fern[half=upper]",
84699
+ "175:12": "minecraft:rose_bush[half=upper]",
84700
+ "175:13": "minecraft:peony[half=upper]",
84701
+ "176:0": "minecraft:white_banner[rotation=0]",
84702
+ "176:1": "minecraft:white_banner[rotation=1]",
84703
+ "176:2": "minecraft:white_banner[rotation=2]",
84704
+ "176:3": "minecraft:white_banner[rotation=3]",
84705
+ "176:4": "minecraft:white_banner[rotation=4]",
84706
+ "176:5": "minecraft:white_banner[rotation=5]",
84707
+ "176:6": "minecraft:white_banner[rotation=6]",
84708
+ "176:7": "minecraft:white_banner[rotation=7]",
84709
+ "176:8": "minecraft:white_banner[rotation=8]",
84710
+ "176:9": "minecraft:white_banner[rotation=9]",
84711
+ "176:10": "minecraft:white_banner[rotation=10]",
84712
+ "176:11": "minecraft:white_banner[rotation=11]",
84713
+ "176:12": "minecraft:white_banner[rotation=12]",
84714
+ "176:13": "minecraft:white_banner[rotation=13]",
84715
+ "176:14": "minecraft:white_banner[rotation=14]",
84716
+ "176:15": "minecraft:white_banner[rotation=15]",
84717
+ "177:2": "minecraft:white_wall_banner[facing=north]",
84718
+ "177:3": "minecraft:white_wall_banner[facing=south]",
84719
+ "177:4": "minecraft:white_wall_banner[facing=west]",
84720
+ "177:5": "minecraft:white_wall_banner[facing=east]",
84721
+ "178:0": "minecraft:daylight_detector[inverted=true,power=0]",
84722
+ "178:1": "minecraft:daylight_detector[inverted=true,power=1]",
84723
+ "178:2": "minecraft:daylight_detector[inverted=true,power=2]",
84724
+ "178:3": "minecraft:daylight_detector[inverted=true,power=3]",
84725
+ "178:4": "minecraft:daylight_detector[inverted=true,power=4]",
84726
+ "178:5": "minecraft:daylight_detector[inverted=true,power=5]",
84727
+ "178:6": "minecraft:daylight_detector[inverted=true,power=6]",
84728
+ "178:7": "minecraft:daylight_detector[inverted=true,power=7]",
84729
+ "178:8": "minecraft:daylight_detector[inverted=true,power=8]",
84730
+ "178:9": "minecraft:daylight_detector[inverted=true,power=9]",
84731
+ "178:10": "minecraft:daylight_detector[inverted=true,power=10]",
84732
+ "178:11": "minecraft:daylight_detector[inverted=true,power=11]",
84733
+ "178:12": "minecraft:daylight_detector[inverted=true,power=12]",
84734
+ "178:13": "minecraft:daylight_detector[inverted=true,power=13]",
84735
+ "178:14": "minecraft:daylight_detector[inverted=true,power=14]",
84736
+ "178:15": "minecraft:daylight_detector[inverted=true,power=15]",
84737
+ "179:0": "minecraft:red_sandstone",
84738
+ "179:1": "minecraft:chiseled_red_sandstone",
84739
+ "179:2": "minecraft:cut_red_sandstone",
84740
+ "180:0": "minecraft:red_sandstone_stairs[half=bottom,shape=outer_right,facing=east]",
84741
+ "180:1": "minecraft:red_sandstone_stairs[half=bottom,shape=outer_right,facing=west]",
84742
+ "180:2": "minecraft:red_sandstone_stairs[half=bottom,shape=outer_right,facing=south]",
84743
+ "180:3": "minecraft:red_sandstone_stairs[half=bottom,shape=outer_right,facing=north]",
84744
+ "180:4": "minecraft:red_sandstone_stairs[half=top,shape=outer_right,facing=east]",
84745
+ "180:5": "minecraft:red_sandstone_stairs[half=top,shape=outer_right,facing=west]",
84746
+ "180:6": "minecraft:red_sandstone_stairs[half=top,shape=outer_right,facing=south]",
84747
+ "180:7": "minecraft:red_sandstone_stairs[half=top,shape=outer_right,facing=north]",
84748
+ "181:0": "minecraft:red_sandstone_slab[type=double]",
84749
+ "181:8": "minecraft:smooth_red_sandstone",
84750
+ "182:0": "minecraft:red_sandstone_slab[type=bottom]",
84751
+ "182:8": "minecraft:red_sandstone_slab[type=top]",
84752
+ "183:0": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
84753
+ "183:1": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
84754
+ "183:2": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
84755
+ "183:3": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
84756
+ "183:4": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
84757
+ "183:5": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
84758
+ "183:6": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
84759
+ "183:7": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
84760
+ "183:8": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
84761
+ "183:9": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
84762
+ "183:10": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
84763
+ "183:11": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
84764
+ "183:12": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
84765
+ "183:13": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
84766
+ "183:14": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
84767
+ "183:15": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
84768
+ "184:0": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
84769
+ "184:1": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
84770
+ "184:2": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
84771
+ "184:3": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
84772
+ "184:4": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
84773
+ "184:5": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
84774
+ "184:6": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
84775
+ "184:7": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
84776
+ "184:8": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
84777
+ "184:9": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
84778
+ "184:10": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
84779
+ "184:11": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
84780
+ "184:12": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
84781
+ "184:13": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
84782
+ "184:14": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
84783
+ "184:15": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
84784
+ "185:0": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
84785
+ "185:1": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
84786
+ "185:2": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
84787
+ "185:3": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
84788
+ "185:4": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
84789
+ "185:5": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
84790
+ "185:6": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
84791
+ "185:7": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
84792
+ "185:8": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
84793
+ "185:9": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
84794
+ "185:10": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
84795
+ "185:11": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
84796
+ "185:12": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
84797
+ "185:13": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
84798
+ "185:14": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
84799
+ "185:15": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
84800
+ "186:0": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
84801
+ "186:1": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
84802
+ "186:2": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
84803
+ "186:3": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
84804
+ "186:4": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
84805
+ "186:5": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
84806
+ "186:6": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
84807
+ "186:7": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
84808
+ "186:8": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
84809
+ "186:9": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
84810
+ "186:10": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
84811
+ "186:11": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
84812
+ "186:12": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
84813
+ "186:13": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
84814
+ "186:14": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
84815
+ "186:15": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
84816
+ "187:0": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
84817
+ "187:1": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
84818
+ "187:2": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
84819
+ "187:3": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
84820
+ "187:4": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
84821
+ "187:5": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
84822
+ "187:6": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
84823
+ "187:7": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
84824
+ "187:8": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
84825
+ "187:9": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
84826
+ "187:10": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
84827
+ "187:11": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
84828
+ "187:12": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
84829
+ "187:13": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
84830
+ "187:14": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
84831
+ "187:15": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
84832
+ "188:0": "minecraft:spruce_fence[east=false,south=false,north=false,west=false]",
84833
+ "189:0": "minecraft:birch_fence[east=false,south=false,north=false,west=false]",
84834
+ "190:0": "minecraft:jungle_fence[east=false,south=false,north=false,west=false]",
84835
+ "191:0": "minecraft:dark_oak_fence[east=false,south=false,north=false,west=false]",
84836
+ "192:0": "minecraft:acacia_fence[east=false,south=false,north=false,west=false]",
84837
+ "193:0": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
84838
+ "193:1": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
84839
+ "193:2": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
84840
+ "193:3": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
84841
+ "193:4": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
84842
+ "193:5": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
84843
+ "193:6": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
84844
+ "193:7": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
84845
+ "193:8": "minecraft:spruce_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
84846
+ "193:9": "minecraft:spruce_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
84847
+ "193:10": "minecraft:spruce_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
84848
+ "193:11": "minecraft:spruce_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
84849
+ "194:0": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
84850
+ "194:1": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
84851
+ "194:2": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
84852
+ "194:3": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
84853
+ "194:4": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
84854
+ "194:5": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
84855
+ "194:6": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
84856
+ "194:7": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
84857
+ "194:8": "minecraft:birch_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
84858
+ "194:9": "minecraft:birch_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
84859
+ "194:10": "minecraft:birch_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
84860
+ "194:11": "minecraft:birch_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
84861
+ "195:0": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
84862
+ "195:1": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
84863
+ "195:2": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
84864
+ "195:3": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
84865
+ "195:4": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
84866
+ "195:5": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
84867
+ "195:6": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
84868
+ "195:7": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
84869
+ "195:8": "minecraft:jungle_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
84870
+ "195:9": "minecraft:jungle_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
84871
+ "195:10": "minecraft:jungle_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
84872
+ "195:11": "minecraft:jungle_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
84873
+ "196:0": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
84874
+ "196:1": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
84875
+ "196:2": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
84876
+ "196:3": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
84877
+ "196:4": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
84878
+ "196:5": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
84879
+ "196:6": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
84880
+ "196:7": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
84881
+ "196:8": "minecraft:acacia_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
84882
+ "196:9": "minecraft:acacia_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
84883
+ "196:10": "minecraft:acacia_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
84884
+ "196:11": "minecraft:acacia_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
84885
+ "197:0": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
84886
+ "197:1": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
84887
+ "197:2": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
84888
+ "197:3": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
84889
+ "197:4": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
84890
+ "197:5": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
84891
+ "197:6": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
84892
+ "197:7": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
84893
+ "197:8": "minecraft:dark_oak_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
84894
+ "197:9": "minecraft:dark_oak_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
84895
+ "197:10": "minecraft:dark_oak_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
84896
+ "197:11": "minecraft:dark_oak_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
84897
+ "198:0": "minecraft:end_rod[facing=down]",
84898
+ "198:1": "minecraft:end_rod[facing=up]",
84899
+ "198:2": "minecraft:end_rod[facing=north]",
84900
+ "198:3": "minecraft:end_rod[facing=south]",
84901
+ "198:4": "minecraft:end_rod[facing=west]",
84902
+ "198:5": "minecraft:end_rod[facing=east]",
84903
+ "199:0": "minecraft:chorus_plant[east=false,south=false,north=false,west=false,up=false,down=false]",
84904
+ "200:0": "minecraft:chorus_flower[age=0]",
84905
+ "200:1": "minecraft:chorus_flower[age=1]",
84906
+ "200:2": "minecraft:chorus_flower[age=2]",
84907
+ "200:3": "minecraft:chorus_flower[age=3]",
84908
+ "200:4": "minecraft:chorus_flower[age=4]",
84909
+ "200:5": "minecraft:chorus_flower[age=5]",
84910
+ "201:0": "minecraft:purpur_block",
84911
+ "202:0": "minecraft:purpur_pillar[axis=y]",
84912
+ "202:4": "minecraft:purpur_pillar[axis=x]",
84913
+ "202:8": "minecraft:purpur_pillar[axis=z]",
84914
+ "203:0": "minecraft:purpur_stairs[half=bottom,shape=outer_right,facing=east]",
84915
+ "203:1": "minecraft:purpur_stairs[half=bottom,shape=outer_right,facing=west]",
84916
+ "203:2": "minecraft:purpur_stairs[half=bottom,shape=outer_right,facing=south]",
84917
+ "203:3": "minecraft:purpur_stairs[half=bottom,shape=outer_right,facing=north]",
84918
+ "203:4": "minecraft:purpur_stairs[half=top,shape=outer_right,facing=east]",
84919
+ "203:5": "minecraft:purpur_stairs[half=top,shape=outer_right,facing=west]",
84920
+ "203:6": "minecraft:purpur_stairs[half=top,shape=outer_right,facing=south]",
84921
+ "203:7": "minecraft:purpur_stairs[half=top,shape=outer_right,facing=north]",
84922
+ "204:0": "minecraft:purpur_slab[type=double]",
84923
+ "205:0": "minecraft:purpur_slab[type=bottom]",
84924
+ "205:8": "minecraft:purpur_slab[type=top]",
84925
+ "206:0": "minecraft:end_stone_bricks",
84926
+ "207:0": "minecraft:beetroots[age=0]",
84927
+ "207:1": "minecraft:beetroots[age=1]",
84928
+ "207:2": "minecraft:beetroots[age=2]",
84929
+ "207:3": "minecraft:beetroots[age=3]",
84930
+ "208:0": "minecraft:dirt_path",
84931
+ "209:0": "minecraft:end_gateway",
84932
+ "210:0": "minecraft:repeating_command_block[conditional=false,facing=down]",
84933
+ "210:1": "minecraft:repeating_command_block[conditional=false,facing=up]",
84934
+ "210:2": "minecraft:repeating_command_block[conditional=false,facing=north]",
84935
+ "210:3": "minecraft:repeating_command_block[conditional=false,facing=south]",
84936
+ "210:4": "minecraft:repeating_command_block[conditional=false,facing=west]",
84937
+ "210:5": "minecraft:repeating_command_block[conditional=false,facing=east]",
84938
+ "210:8": "minecraft:repeating_command_block[conditional=true,facing=down]",
84939
+ "210:9": "minecraft:repeating_command_block[conditional=true,facing=up]",
84940
+ "210:10": "minecraft:repeating_command_block[conditional=true,facing=north]",
84941
+ "210:11": "minecraft:repeating_command_block[conditional=true,facing=south]",
84942
+ "210:12": "minecraft:repeating_command_block[conditional=true,facing=west]",
84943
+ "210:13": "minecraft:repeating_command_block[conditional=true,facing=east]",
84944
+ "211:0": "minecraft:chain_command_block[conditional=false,facing=down]",
84945
+ "211:1": "minecraft:chain_command_block[conditional=false,facing=up]",
84946
+ "211:2": "minecraft:chain_command_block[conditional=false,facing=north]",
84947
+ "211:3": "minecraft:chain_command_block[conditional=false,facing=south]",
84948
+ "211:4": "minecraft:chain_command_block[conditional=false,facing=west]",
84949
+ "211:5": "minecraft:chain_command_block[conditional=false,facing=east]",
84950
+ "211:8": "minecraft:chain_command_block[conditional=true,facing=down]",
84951
+ "211:9": "minecraft:chain_command_block[conditional=true,facing=up]",
84952
+ "211:10": "minecraft:chain_command_block[conditional=true,facing=north]",
84953
+ "211:11": "minecraft:chain_command_block[conditional=true,facing=south]",
84954
+ "211:12": "minecraft:chain_command_block[conditional=true,facing=west]",
84955
+ "211:13": "minecraft:chain_command_block[conditional=true,facing=east]",
84956
+ "212:0": "minecraft:frosted_ice[age=0]",
84957
+ "212:1": "minecraft:frosted_ice[age=1]",
84958
+ "212:2": "minecraft:frosted_ice[age=2]",
84959
+ "212:3": "minecraft:frosted_ice[age=3]",
84960
+ "213:0": "minecraft:magma_block",
84961
+ "214:0": "minecraft:nether_wart_block",
84962
+ "215:0": "minecraft:red_nether_bricks",
84963
+ "216:0": "minecraft:bone_block[axis=y]",
84964
+ "216:4": "minecraft:bone_block[axis=x]",
84965
+ "216:8": "minecraft:bone_block[axis=z]",
84966
+ "217:0": "minecraft:structure_void",
84967
+ "218:0": "minecraft:observer[powered=false,facing=down]",
84968
+ "218:1": "minecraft:observer[powered=false,facing=up]",
84969
+ "218:2": "minecraft:observer[powered=false,facing=north]",
84970
+ "218:3": "minecraft:observer[powered=false,facing=south]",
84971
+ "218:4": "minecraft:observer[powered=false,facing=west]",
84972
+ "218:5": "minecraft:observer[powered=false,facing=east]",
84973
+ "218:8": "minecraft:observer[powered=true,facing=down]",
84974
+ "218:9": "minecraft:observer[powered=true,facing=up]",
84975
+ "218:10": "minecraft:observer[powered=true,facing=north]",
84976
+ "218:11": "minecraft:observer[powered=true,facing=south]",
84977
+ "218:12": "minecraft:observer[powered=true,facing=west]",
84978
+ "218:13": "minecraft:observer[powered=true,facing=east]",
84979
+ "219:0": "minecraft:white_shulker_box[facing=down]",
84980
+ "219:1": "minecraft:white_shulker_box[facing=up]",
84981
+ "219:2": "minecraft:white_shulker_box[facing=north]",
84982
+ "219:3": "minecraft:white_shulker_box[facing=south]",
84983
+ "219:4": "minecraft:white_shulker_box[facing=west]",
84984
+ "219:5": "minecraft:white_shulker_box[facing=east]",
84985
+ "220:0": "minecraft:orange_shulker_box[facing=down]",
84986
+ "220:1": "minecraft:orange_shulker_box[facing=up]",
84987
+ "220:2": "minecraft:orange_shulker_box[facing=north]",
84988
+ "220:3": "minecraft:orange_shulker_box[facing=south]",
84989
+ "220:4": "minecraft:orange_shulker_box[facing=west]",
84990
+ "220:5": "minecraft:orange_shulker_box[facing=east]",
84991
+ "221:0": "minecraft:magenta_shulker_box[facing=down]",
84992
+ "221:1": "minecraft:magenta_shulker_box[facing=up]",
84993
+ "221:2": "minecraft:magenta_shulker_box[facing=north]",
84994
+ "221:3": "minecraft:magenta_shulker_box[facing=south]",
84995
+ "221:4": "minecraft:magenta_shulker_box[facing=west]",
84996
+ "221:5": "minecraft:magenta_shulker_box[facing=east]",
84997
+ "222:0": "minecraft:light_blue_shulker_box[facing=down]",
84998
+ "222:1": "minecraft:light_blue_shulker_box[facing=up]",
84999
+ "222:2": "minecraft:light_blue_shulker_box[facing=north]",
85000
+ "222:3": "minecraft:light_blue_shulker_box[facing=south]",
85001
+ "222:4": "minecraft:light_blue_shulker_box[facing=west]",
85002
+ "222:5": "minecraft:light_blue_shulker_box[facing=east]",
85003
+ "223:0": "minecraft:yellow_shulker_box[facing=down]",
85004
+ "223:1": "minecraft:yellow_shulker_box[facing=up]",
85005
+ "223:2": "minecraft:yellow_shulker_box[facing=north]",
85006
+ "223:3": "minecraft:yellow_shulker_box[facing=south]",
85007
+ "223:4": "minecraft:yellow_shulker_box[facing=west]",
85008
+ "223:5": "minecraft:yellow_shulker_box[facing=east]",
85009
+ "224:0": "minecraft:lime_shulker_box[facing=down]",
85010
+ "224:1": "minecraft:lime_shulker_box[facing=up]",
85011
+ "224:2": "minecraft:lime_shulker_box[facing=north]",
85012
+ "224:3": "minecraft:lime_shulker_box[facing=south]",
85013
+ "224:4": "minecraft:lime_shulker_box[facing=west]",
85014
+ "224:5": "minecraft:lime_shulker_box[facing=east]",
85015
+ "225:0": "minecraft:pink_shulker_box[facing=down]",
85016
+ "225:1": "minecraft:pink_shulker_box[facing=up]",
85017
+ "225:2": "minecraft:pink_shulker_box[facing=north]",
85018
+ "225:3": "minecraft:pink_shulker_box[facing=south]",
85019
+ "225:4": "minecraft:pink_shulker_box[facing=west]",
85020
+ "225:5": "minecraft:pink_shulker_box[facing=east]",
85021
+ "226:0": "minecraft:gray_shulker_box[facing=down]",
85022
+ "226:1": "minecraft:gray_shulker_box[facing=up]",
85023
+ "226:2": "minecraft:gray_shulker_box[facing=north]",
85024
+ "226:3": "minecraft:gray_shulker_box[facing=south]",
85025
+ "226:4": "minecraft:gray_shulker_box[facing=west]",
85026
+ "226:5": "minecraft:gray_shulker_box[facing=east]",
85027
+ "227:0": "minecraft:light_gray_shulker_box[facing=down]",
85028
+ "227:1": "minecraft:light_gray_shulker_box[facing=up]",
85029
+ "227:2": "minecraft:light_gray_shulker_box[facing=north]",
85030
+ "227:3": "minecraft:light_gray_shulker_box[facing=south]",
85031
+ "227:4": "minecraft:light_gray_shulker_box[facing=west]",
85032
+ "227:5": "minecraft:light_gray_shulker_box[facing=east]",
85033
+ "228:0": "minecraft:cyan_shulker_box[facing=down]",
85034
+ "228:1": "minecraft:cyan_shulker_box[facing=up]",
85035
+ "228:2": "minecraft:cyan_shulker_box[facing=north]",
85036
+ "228:3": "minecraft:cyan_shulker_box[facing=south]",
85037
+ "228:4": "minecraft:cyan_shulker_box[facing=west]",
85038
+ "228:5": "minecraft:cyan_shulker_box[facing=east]",
85039
+ "229:0": "minecraft:purple_shulker_box[facing=down]",
85040
+ "229:1": "minecraft:purple_shulker_box[facing=up]",
85041
+ "229:2": "minecraft:purple_shulker_box[facing=north]",
85042
+ "229:3": "minecraft:purple_shulker_box[facing=south]",
85043
+ "229:4": "minecraft:purple_shulker_box[facing=west]",
85044
+ "229:5": "minecraft:purple_shulker_box[facing=east]",
85045
+ "230:0": "minecraft:blue_shulker_box[facing=down]",
85046
+ "230:1": "minecraft:blue_shulker_box[facing=up]",
85047
+ "230:2": "minecraft:blue_shulker_box[facing=north]",
85048
+ "230:3": "minecraft:blue_shulker_box[facing=south]",
85049
+ "230:4": "minecraft:blue_shulker_box[facing=west]",
85050
+ "230:5": "minecraft:blue_shulker_box[facing=east]",
85051
+ "231:0": "minecraft:brown_shulker_box[facing=down]",
85052
+ "231:1": "minecraft:brown_shulker_box[facing=up]",
85053
+ "231:2": "minecraft:brown_shulker_box[facing=north]",
85054
+ "231:3": "minecraft:brown_shulker_box[facing=south]",
85055
+ "231:4": "minecraft:brown_shulker_box[facing=west]",
85056
+ "231:5": "minecraft:brown_shulker_box[facing=east]",
85057
+ "232:0": "minecraft:green_shulker_box[facing=down]",
85058
+ "232:1": "minecraft:green_shulker_box[facing=up]",
85059
+ "232:2": "minecraft:green_shulker_box[facing=north]",
85060
+ "232:3": "minecraft:green_shulker_box[facing=south]",
85061
+ "232:4": "minecraft:green_shulker_box[facing=west]",
85062
+ "232:5": "minecraft:green_shulker_box[facing=east]",
85063
+ "233:0": "minecraft:red_shulker_box[facing=down]",
85064
+ "233:1": "minecraft:red_shulker_box[facing=up]",
85065
+ "233:2": "minecraft:red_shulker_box[facing=north]",
85066
+ "233:3": "minecraft:red_shulker_box[facing=south]",
85067
+ "233:4": "minecraft:red_shulker_box[facing=west]",
85068
+ "233:5": "minecraft:red_shulker_box[facing=east]",
85069
+ "234:0": "minecraft:black_shulker_box[facing=down]",
85070
+ "234:1": "minecraft:black_shulker_box[facing=up]",
85071
+ "234:2": "minecraft:black_shulker_box[facing=north]",
85072
+ "234:3": "minecraft:black_shulker_box[facing=south]",
85073
+ "234:4": "minecraft:black_shulker_box[facing=west]",
85074
+ "234:5": "minecraft:black_shulker_box[facing=east]",
85075
+ "235:0": "minecraft:white_glazed_terracotta[facing=south]",
85076
+ "235:1": "minecraft:white_glazed_terracotta[facing=west]",
85077
+ "235:2": "minecraft:white_glazed_terracotta[facing=north]",
85078
+ "235:3": "minecraft:white_glazed_terracotta[facing=east]",
85079
+ "236:0": "minecraft:orange_glazed_terracotta[facing=south]",
85080
+ "236:1": "minecraft:orange_glazed_terracotta[facing=west]",
85081
+ "236:2": "minecraft:orange_glazed_terracotta[facing=north]",
85082
+ "236:3": "minecraft:orange_glazed_terracotta[facing=east]",
85083
+ "237:0": "minecraft:magenta_glazed_terracotta[facing=south]",
85084
+ "237:1": "minecraft:magenta_glazed_terracotta[facing=west]",
85085
+ "237:2": "minecraft:magenta_glazed_terracotta[facing=north]",
85086
+ "237:3": "minecraft:magenta_glazed_terracotta[facing=east]",
85087
+ "238:0": "minecraft:light_blue_glazed_terracotta[facing=south]",
85088
+ "238:1": "minecraft:light_blue_glazed_terracotta[facing=west]",
85089
+ "238:2": "minecraft:light_blue_glazed_terracotta[facing=north]",
85090
+ "238:3": "minecraft:light_blue_glazed_terracotta[facing=east]",
85091
+ "239:0": "minecraft:yellow_glazed_terracotta[facing=south]",
85092
+ "239:1": "minecraft:yellow_glazed_terracotta[facing=west]",
85093
+ "239:2": "minecraft:yellow_glazed_terracotta[facing=north]",
85094
+ "239:3": "minecraft:yellow_glazed_terracotta[facing=east]",
85095
+ "240:0": "minecraft:lime_glazed_terracotta[facing=south]",
85096
+ "240:1": "minecraft:lime_glazed_terracotta[facing=west]",
85097
+ "240:2": "minecraft:lime_glazed_terracotta[facing=north]",
85098
+ "240:3": "minecraft:lime_glazed_terracotta[facing=east]",
85099
+ "241:0": "minecraft:pink_glazed_terracotta[facing=south]",
85100
+ "241:1": "minecraft:pink_glazed_terracotta[facing=west]",
85101
+ "241:2": "minecraft:pink_glazed_terracotta[facing=north]",
85102
+ "241:3": "minecraft:pink_glazed_terracotta[facing=east]",
85103
+ "242:0": "minecraft:gray_glazed_terracotta[facing=south]",
85104
+ "242:1": "minecraft:gray_glazed_terracotta[facing=west]",
85105
+ "242:2": "minecraft:gray_glazed_terracotta[facing=north]",
85106
+ "242:3": "minecraft:gray_glazed_terracotta[facing=east]",
85107
+ "243:0": "minecraft:light_gray_glazed_terracotta[facing=south]",
85108
+ "243:1": "minecraft:light_gray_glazed_terracotta[facing=west]",
85109
+ "243:2": "minecraft:light_gray_glazed_terracotta[facing=north]",
85110
+ "243:3": "minecraft:light_gray_glazed_terracotta[facing=east]",
85111
+ "244:0": "minecraft:cyan_glazed_terracotta[facing=south]",
85112
+ "244:1": "minecraft:cyan_glazed_terracotta[facing=west]",
85113
+ "244:2": "minecraft:cyan_glazed_terracotta[facing=north]",
85114
+ "244:3": "minecraft:cyan_glazed_terracotta[facing=east]",
85115
+ "245:0": "minecraft:purple_glazed_terracotta[facing=south]",
85116
+ "245:1": "minecraft:purple_glazed_terracotta[facing=west]",
85117
+ "245:2": "minecraft:purple_glazed_terracotta[facing=north]",
85118
+ "245:3": "minecraft:purple_glazed_terracotta[facing=east]",
85119
+ "246:0": "minecraft:blue_glazed_terracotta[facing=south]",
85120
+ "246:1": "minecraft:blue_glazed_terracotta[facing=west]",
85121
+ "246:2": "minecraft:blue_glazed_terracotta[facing=north]",
85122
+ "246:3": "minecraft:blue_glazed_terracotta[facing=east]",
85123
+ "247:0": "minecraft:brown_glazed_terracotta[facing=south]",
85124
+ "247:1": "minecraft:brown_glazed_terracotta[facing=west]",
85125
+ "247:2": "minecraft:brown_glazed_terracotta[facing=north]",
85126
+ "247:3": "minecraft:brown_glazed_terracotta[facing=east]",
85127
+ "248:0": "minecraft:green_glazed_terracotta[facing=south]",
85128
+ "248:1": "minecraft:green_glazed_terracotta[facing=west]",
85129
+ "248:2": "minecraft:green_glazed_terracotta[facing=north]",
85130
+ "248:3": "minecraft:green_glazed_terracotta[facing=east]",
85131
+ "249:0": "minecraft:red_glazed_terracotta[facing=south]",
85132
+ "249:1": "minecraft:red_glazed_terracotta[facing=west]",
85133
+ "249:2": "minecraft:red_glazed_terracotta[facing=north]",
85134
+ "249:3": "minecraft:red_glazed_terracotta[facing=east]",
85135
+ "250:0": "minecraft:black_glazed_terracotta[facing=south]",
85136
+ "250:1": "minecraft:black_glazed_terracotta[facing=west]",
85137
+ "250:2": "minecraft:black_glazed_terracotta[facing=north]",
85138
+ "250:3": "minecraft:black_glazed_terracotta[facing=east]",
85139
+ "251:0": "minecraft:white_concrete",
85140
+ "251:1": "minecraft:orange_concrete",
85141
+ "251:2": "minecraft:magenta_concrete",
85142
+ "251:3": "minecraft:light_blue_concrete",
85143
+ "251:4": "minecraft:yellow_concrete",
85144
+ "251:5": "minecraft:lime_concrete",
85145
+ "251:6": "minecraft:pink_concrete",
85146
+ "251:7": "minecraft:gray_concrete",
85147
+ "251:8": "minecraft:light_gray_concrete",
85148
+ "251:9": "minecraft:cyan_concrete",
85149
+ "251:10": "minecraft:purple_concrete",
85150
+ "251:11": "minecraft:blue_concrete",
85151
+ "251:12": "minecraft:brown_concrete",
85152
+ "251:13": "minecraft:green_concrete",
85153
+ "251:14": "minecraft:red_concrete",
85154
+ "251:15": "minecraft:black_concrete",
85155
+ "252:0": "minecraft:white_concrete_powder",
85156
+ "252:1": "minecraft:orange_concrete_powder",
85157
+ "252:2": "minecraft:magenta_concrete_powder",
85158
+ "252:3": "minecraft:light_blue_concrete_powder",
85159
+ "252:4": "minecraft:yellow_concrete_powder",
85160
+ "252:5": "minecraft:lime_concrete_powder",
85161
+ "252:6": "minecraft:pink_concrete_powder",
85162
+ "252:7": "minecraft:gray_concrete_powder",
85163
+ "252:8": "minecraft:light_gray_concrete_powder",
85164
+ "252:9": "minecraft:cyan_concrete_powder",
85165
+ "252:10": "minecraft:purple_concrete_powder",
85166
+ "252:11": "minecraft:blue_concrete_powder",
85167
+ "252:12": "minecraft:brown_concrete_powder",
85168
+ "252:13": "minecraft:green_concrete_powder",
85169
+ "252:14": "minecraft:red_concrete_powder",
85170
+ "252:15": "minecraft:black_concrete_powder",
85171
+ "255:0": "minecraft:structure_block[mode=save]",
85172
+ "255:1": "minecraft:structure_block[mode=load]",
85173
+ "255:2": "minecraft:structure_block[mode=corner]",
85174
+ "255:3": "minecraft:structure_block[mode=data]"
85175
+ }
85176
+ };
85177
+
85178
+ // src/model/multiblock/SchematicParser.ts
83359
85179
  var SchematicParser = class {
83360
- static async parse() {
83361
- return Promise.resolve({});
85180
+ static async parse(nbt) {
85181
+ const tags = nbt.value;
85182
+ if (tags.Materials?.type !== "string" || tags.Materials.value !== "Alpha") {
85183
+ throw new MineRenderError("Schematic Materials must be Alpha");
85184
+ }
85185
+ const size = ["Width", "Height", "Length"].map((name2) => {
85186
+ const tag = tags[name2];
85187
+ if (tag?.type !== "short" || !Number.isInteger(tag.value) || tag.value <= 0 || tag.value > 32767) {
85188
+ throw new MineRenderError(`Schematic ${name2} must be a positive short`);
85189
+ }
85190
+ return tag.value;
85191
+ });
85192
+ const [width, height, length] = size;
85193
+ const volume = width * height * length;
85194
+ const ids = tags.Blocks;
85195
+ const data = tags.Data;
85196
+ if (ids?.type !== "byteArray" || data?.type !== "byteArray" || !Array.isArray(ids.value) || !Array.isArray(data.value) || ids.value.length !== volume || data.value.length !== volume) {
85197
+ throw new MineRenderError(`Schematic Blocks and Data must contain ${volume} bytes`);
85198
+ }
85199
+ const addBlocks = tags.AddBlocks;
85200
+ if (addBlocks && (addBlocks.type !== "byteArray" || !Array.isArray(addBlocks.value))) {
85201
+ throw new MineRenderError("Schematic AddBlocks must be a byte array");
85202
+ }
85203
+ const tileEntities = /* @__PURE__ */ new Map();
85204
+ for (const tile of compoundList(tags, "TileEntities")) {
85205
+ const position = ["x", "y", "z"].map((axis, i4) => {
85206
+ const coordinate = tile[axis];
85207
+ if (coordinate?.type !== "int" || !Number.isInteger(coordinate.value) || coordinate.value < 0 || coordinate.value >= size[i4]) {
85208
+ throw new MineRenderError("Schematic TileEntities position is outside its dimensions");
85209
+ }
85210
+ return coordinate.value;
85211
+ });
85212
+ const [x4, y5, z4] = position;
85213
+ tileEntities.set((y5 * length + z4) * width + x4, { type: "compound", value: tile });
85214
+ }
85215
+ const blocks = [];
85216
+ const mapping = legacyBlocks_default.blocks;
85217
+ for (let index = 0; index < volume; index++) {
85218
+ const packed = addBlocks?.value[index >> 1] ?? 0;
85219
+ const high = packed >> (index & 1) * 4 & 15;
85220
+ const id = high << 8 | ids.value[index] & 255;
85221
+ const metadata = data.value[index] & 255;
85222
+ const mapped = mapping[`${id}:${metadata}`];
85223
+ if (!mapped) throw new MineRenderError(`Unsupported legacy block ${id}:${metadata} at schematic index ${index}`);
85224
+ const [type, state] = mapped.split("[");
85225
+ if (type === "minecraft:air") continue;
85226
+ const properties = {};
85227
+ if (state) {
85228
+ for (const property of state.slice(0, -1).split(",")) {
85229
+ const [key, value] = property.split("=");
85230
+ properties[key] = value;
85231
+ }
85232
+ }
85233
+ blocks.push({
85234
+ type,
85235
+ properties,
85236
+ position: [index % width, Math.floor(index / (width * length)), Math.floor(index / width) % length],
85237
+ nbt: tileEntities.get(index)
85238
+ });
85239
+ }
85240
+ const entities = compoundList(tags, "Entities").map((entity) => {
85241
+ const pos = entity.Pos;
85242
+ if (pos?.type !== "list" || pos.value.type !== "double" || pos.value.value.length !== 3 || !pos.value.value.every(Number.isFinite)) {
85243
+ throw new MineRenderError("Schematic entity Pos must contain three doubles");
85244
+ }
85245
+ return { position: [...pos.value.value], nbt: { type: "compound", value: entity } };
85246
+ });
85247
+ const dataVersion = tags.DataVersion;
85248
+ if (dataVersion && (dataVersion.type !== "int" || !Number.isInteger(dataVersion.value))) {
85249
+ throw new MineRenderError("Schematic DataVersion must be an int");
85250
+ }
85251
+ return { size, blocks, entities, dataVersion: dataVersion?.value };
83362
85252
  }
83363
85253
  };
85254
+ function compoundList(tags, name2) {
85255
+ const tag = tags[name2];
85256
+ if (!tag) return [];
85257
+ if (tag.type === "list" && Array.isArray(tag.value.value)) {
85258
+ if (tag.value.value.length === 0) return [];
85259
+ if (tag.value.type === "compound") return tag.value.value;
85260
+ }
85261
+ throw new MineRenderError(`Schematic ${name2} must be a compound list`);
85262
+ }
83364
85263
 
83365
85264
  // src/model/multiblock/StructureParser.ts
83366
85265
  init_dirname();
@@ -83373,13 +85272,16 @@ ${key}` : key;
83373
85272
  if ("palette" in nbt) {
83374
85273
  palette = nbt.palette;
83375
85274
  } else if ("palettes" in nbt) {
83376
- palette = nbt.palettes[paletteIndex ?? 0];
85275
+ const selected = nbt.palettes.value.value[paletteIndex ?? 0];
85276
+ if (!selected) throw new MineRenderError(`Structure palette ${paletteIndex ?? 0} does not exist`);
85277
+ palette = { type: "list", value: selected };
83377
85278
  } else {
83378
85279
  throw new MineRenderError("Structure does not have palette(s)");
83379
85280
  }
83380
85281
  const blocks = nbt.blocks.value.value.map((block) => {
83381
85282
  const state = palette.value.value[block.state.value];
83382
- if (state.Name.value === "minecraft:air") return void 0;
85283
+ if (!state) throw new MineRenderError(`Structure palette index ${block.state.value} does not exist`);
85284
+ if (["minecraft:air", "minecraft:cave_air", "minecraft:void_air"].includes(state.Name.value)) return void 0;
83383
85285
  const props = {};
83384
85286
  for (let k4 in state.Properties?.value) {
83385
85287
  props[k4] = state.Properties.value[k4].value;
@@ -83393,7 +85295,13 @@ ${key}` : key;
83393
85295
  }).filter((m4) => typeof m4 !== "undefined");
83394
85296
  return {
83395
85297
  blocks,
83396
- size: nbt.size.value.value
85298
+ size: nbt.size.value.value,
85299
+ dataVersion: nbt.DataVersion?.value,
85300
+ entities: (nbt.entities?.value.value ?? []).map((entity) => ({
85301
+ position: entity.pos.value.value,
85302
+ blockPosition: entity.blockPos.value.value,
85303
+ nbt: entity.nbt
85304
+ }))
83397
85305
  };
83398
85306
  }
83399
85307
  };
@@ -84539,11 +86447,12 @@ ${key}` : key;
84539
86447
  console.log("instanceMeshes + key");
84540
86448
  let key = asset.key.serialize();
84541
86449
  if (isModelObject(obj)) {
84542
- const { displayPosition, uvLockRotation, tints } = obj.options;
86450
+ const { displayPosition, uvLockRotation, tints, cullMask } = obj.options;
84543
86451
  if (displayPosition) key += `|display:${displayPosition}`;
84544
86452
  if (uvLockRotation) key += `|uvlock:${uvLockRotation.join(",")}`;
84545
86453
  const palette = Object.entries(tints ?? {}).sort(([a4], [b4]) => Number(a4) - Number(b4));
84546
86454
  if (palette.length) key += `|tints:${JSON.stringify(palette)}`;
86455
+ if (cullMask) key += `|cull:${cullMask}`;
84547
86456
  }
84548
86457
  return this.instanceManager.getOrCreate(key, async () => {
84549
86458
  obj.scene = this;
@@ -87534,12 +89443,7 @@ uniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuf
87534
89443
  init_buffer2();
87535
89444
  init_process2();
87536
89445
 
87537
- // src/world/BlockInfo.ts
87538
- init_dirname();
87539
- init_buffer2();
87540
- init_process2();
87541
-
87542
- // src/world/Chunk.ts
89446
+ // src/world/AnvilParser.ts
87543
89447
  init_dirname();
87544
89448
  init_buffer2();
87545
89449
  init_process2();
@@ -87628,6 +89532,187 @@ uniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuf
87628
89532
  }
87629
89533
  };
87630
89534
 
89535
+ // src/world/AnvilParser.ts
89536
+ var AnvilParser = class {
89537
+ static getChunkList(data) {
89538
+ return this.locations(this.bytes(data)).map(({ x: x4, z: z4 }) => ({ x: x4, z: z4 }));
89539
+ }
89540
+ static async parse(data) {
89541
+ const bytes = this.bytes(data);
89542
+ const chunks = [];
89543
+ for (const location of this.locations(bytes)) chunks.push(await this.readChunk(bytes, location));
89544
+ return { chunks };
89545
+ }
89546
+ static async parseChunk(data, localX, localZ) {
89547
+ if (![localX, localZ].every((value) => Number.isInteger(value) && value >= 0 && value < 32)) {
89548
+ throw new RangeError("Region-local chunk coordinates must be integers from 0 to 31");
89549
+ }
89550
+ const bytes = this.bytes(data);
89551
+ const location = this.locations(bytes).find(({ x: x4, z: z4 }) => x4 === localX && z4 === localZ);
89552
+ return location ? this.readChunk(bytes, location) : void 0;
89553
+ }
89554
+ static bytes(data) {
89555
+ return data instanceof Uint8Array ? data : new Uint8Array(data);
89556
+ }
89557
+ static locations(data) {
89558
+ if (data.byteLength < 8192) throw new MineRenderError("Anvil region header is truncated");
89559
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
89560
+ const locations = [];
89561
+ for (let index = 0; index < 1024; index++) {
89562
+ const entry = view.getUint32(index * 4);
89563
+ if (entry === 0) continue;
89564
+ const sector = entry >>> 8;
89565
+ const count = entry & 255;
89566
+ if (sector < 2 || count === 0 || (sector + count) * 4096 > data.byteLength) {
89567
+ throw new MineRenderError(`Invalid Anvil sector allocation at chunk ${index % 32},${Math.floor(index / 32)}`);
89568
+ }
89569
+ const offset = sector * 4096;
89570
+ const length = view.getUint32(offset);
89571
+ if (length < 1 || length + 4 > count * 4096) {
89572
+ throw new MineRenderError(`Invalid Anvil chunk payload length at sector ${sector}`);
89573
+ }
89574
+ locations.push({ x: index % 32, z: Math.floor(index / 32), offset, length });
89575
+ }
89576
+ return locations;
89577
+ }
89578
+ static async readChunk(data, location) {
89579
+ const compression = data[location.offset + 4];
89580
+ if (compression & 128) throw new MineRenderError("External Anvil .mcc chunks are not supported");
89581
+ if (compression !== 1 && compression !== 2 && compression !== 3) {
89582
+ throw new MineRenderError(`Unsupported Anvil compression ${compression}${compression === 4 ? " (LZ4)" : ""}`);
89583
+ }
89584
+ let payload = data.subarray(location.offset + 5, location.offset + 4 + location.length);
89585
+ if (compression !== 3) {
89586
+ const stream = new Blob([payload]).stream().pipeThrough(new DecompressionStream(compression === 1 ? "gzip" : "deflate"));
89587
+ payload = new Uint8Array(await new Response(stream).arrayBuffer());
89588
+ }
89589
+ const nbt = await NBTHelper.fromBuffer(payload, "big");
89590
+ const root = nbt.value;
89591
+ const level = root.Level?.type === "compound" ? root.Level.value : root;
89592
+ const dataVersion = root.DataVersion?.type === "int" ? root.DataVersion.value : void 0;
89593
+ const chunk = {
89594
+ x: this.integer(level.xPos, "xPos"),
89595
+ z: this.integer(level.zPos, "zPos"),
89596
+ dataVersion,
89597
+ sections: []
89598
+ };
89599
+ if ((chunk.x % 32 + 32) % 32 !== location.x || (chunk.z % 32 + 32) % 32 !== location.z) {
89600
+ throw new MineRenderError("Anvil chunk coordinates do not match its region location");
89601
+ }
89602
+ for (const section of this.compounds(level.sections ?? level.Sections, "sections")) {
89603
+ const y5 = this.integer(section.Y, "section Y");
89604
+ if (section.Blocks || section.Data || section.Add) {
89605
+ throw new MineRenderError("Numeric Anvil block IDs before Minecraft 1.13 are not supported");
89606
+ }
89607
+ if (section.block_states && section.block_states.type !== "compound") {
89608
+ throw new MineRenderError("Anvil block_states must be a compound");
89609
+ }
89610
+ const modern = section.block_states?.type === "compound" ? section.block_states.value : void 0;
89611
+ const paletteTag = modern ? modern.palette : section.Palette;
89612
+ const palette = paletteTag?.type === "list" && paletteTag.value.type === "string" ? paletteTag.value.value : this.compounds(paletteTag, "block palette");
89613
+ const data2 = new ChunkData();
89614
+ if (palette.length) {
89615
+ const states = palette.map((entry) => this.block(entry));
89616
+ const indices = this.unpack(modern ? modern.data : section.BlockStates, states.length, !!modern, dataVersion);
89617
+ for (let index = 0; index < 4096; index++) {
89618
+ const state = states[indices[index]];
89619
+ if (!state) throw new MineRenderError(`Anvil palette index ${indices[index]} is out of range`);
89620
+ if (!ChunkData.isAir(state)) data2.set(index, state);
89621
+ }
89622
+ } else if (modern || section.Palette || section.BlockStates) {
89623
+ throw new MineRenderError("Anvil section has block states without a palette");
89624
+ }
89625
+ if (chunk.sections.some((section2) => section2.y === y5)) throw new MineRenderError(`Duplicate Anvil section Y ${y5}`);
89626
+ chunk.sections.push({ y: y5, data: data2 });
89627
+ }
89628
+ for (const entry of this.compounds(level.block_entities ?? level.TileEntities, "block entities")) {
89629
+ const x4 = this.integer(entry.x, "block entity x") - chunk.x * 16;
89630
+ const y5 = this.integer(entry.y, "block entity y");
89631
+ const z4 = this.integer(entry.z, "block entity z") - chunk.z * 16;
89632
+ const sectionY = Math.floor(y5 / 16);
89633
+ const section = chunk.sections.find((section2) => section2.y === sectionY);
89634
+ if (!section || x4 < 0 || x4 >= 16 || z4 < 0 || z4 >= 16) continue;
89635
+ const index = x4 + z4 * 16 + (y5 - sectionY * 16) * 256;
89636
+ const block = section.data.get(index);
89637
+ if (block) section.data.set(index, { ...block, nbt: { type: "compound", value: entry } });
89638
+ }
89639
+ const entities = this.compounds(level.entities ?? level.Entities, "entities");
89640
+ if (entities.length) {
89641
+ chunk.entities = entities.map((value) => {
89642
+ const position = value.Pos;
89643
+ if (position?.type !== "list" || position.value.type !== "double" || position.value.value.length !== 3 || !position.value.value.every(Number.isFinite)) {
89644
+ throw new MineRenderError("Anvil entity Pos must contain three coordinates");
89645
+ }
89646
+ return { position: [...position.value.value], nbt: { type: "compound", value } };
89647
+ });
89648
+ }
89649
+ return chunk;
89650
+ }
89651
+ static compounds(tag, name2) {
89652
+ if (!tag) return [];
89653
+ if (tag.type !== "list" || tag.value.type !== "compound" && tag.value.value.length !== 0) {
89654
+ throw new MineRenderError(`Anvil ${name2} must be a compound list`);
89655
+ }
89656
+ return tag.value.value;
89657
+ }
89658
+ static integer(tag, name2) {
89659
+ if (!tag || typeof tag.value !== "number" || !Number.isInteger(tag.value)) {
89660
+ throw new MineRenderError(`Anvil ${name2} must be an integer`);
89661
+ }
89662
+ return tag.value;
89663
+ }
89664
+ static block(entry) {
89665
+ if (typeof entry === "string") entry = { id: { type: "string", value: entry } };
89666
+ if (Object.keys(entry).length === 1 && entry[""]?.type === "string") entry = { id: entry[""] };
89667
+ const name2 = entry.id ?? entry.Name;
89668
+ const properties = entry.properties ?? entry.Properties;
89669
+ if (name2?.type !== "string" || !name2.value) throw new MineRenderError("Anvil palette entry has no block name");
89670
+ const block = { type: name2.value };
89671
+ if (properties?.type === "compound") {
89672
+ block.properties = {};
89673
+ for (const [key, value] of Object.entries(properties.value)) {
89674
+ if (value?.type !== "string") throw new MineRenderError("Anvil block properties must be strings");
89675
+ block.properties[key] = value.value;
89676
+ }
89677
+ }
89678
+ return block;
89679
+ }
89680
+ static unpack(tag, paletteSize, modern, dataVersion) {
89681
+ const indices = new Uint16Array(4096);
89682
+ if (paletteSize === 1 && (!tag || tag.type === "longArray" && tag.value.length === 0)) return indices;
89683
+ if (tag?.type !== "longArray") throw new MineRenderError("Anvil section is missing its block-state long array");
89684
+ const bits2 = Math.max(4, Math.ceil(Math.log2(paletteSize)));
89685
+ if (paletteSize > 4096) throw new MineRenderError("Anvil block palette exceeds 4096 entries");
89686
+ if (!modern && dataVersion === void 0 && 64 % bits2 !== 0) {
89687
+ throw new MineRenderError("Anvil DataVersion is required to decode this block-state layout");
89688
+ }
89689
+ const padded = modern || (dataVersion ?? 0) >= 2527;
89690
+ const perLong = Math.floor(64 / bits2);
89691
+ const expected = padded ? Math.ceil(4096 / perLong) : Math.ceil(4096 * bits2 / 64);
89692
+ if (tag.value.length !== expected) throw new MineRenderError(`Invalid Anvil block-state array length: expected ${expected}`);
89693
+ const words = tag.value.map(([high, low]) => BigInt(high >>> 0) << 32n | BigInt(low >>> 0));
89694
+ const mask = (1n << BigInt(bits2)) - 1n;
89695
+ for (let index = 0; index < 4096; index++) {
89696
+ const word = padded ? Math.floor(index / perLong) : Math.floor(index * bits2 / 64);
89697
+ const shift = padded ? index % perLong * bits2 : index * bits2 % 64;
89698
+ let value = words[word] >> BigInt(shift);
89699
+ if (!padded && shift + bits2 > 64) value |= words[word + 1] << BigInt(64 - shift);
89700
+ indices[index] = Number(value & mask);
89701
+ }
89702
+ return indices;
89703
+ }
89704
+ };
89705
+
89706
+ // src/world/BlockInfo.ts
89707
+ init_dirname();
89708
+ init_buffer2();
89709
+ init_process2();
89710
+
89711
+ // src/world/Chunk.ts
89712
+ init_dirname();
89713
+ init_buffer2();
89714
+ init_process2();
89715
+
87631
89716
  // src/world/MineRenderWorld.ts
87632
89717
  init_dirname();
87633
89718
  init_buffer2();
@@ -87635,6 +89720,7 @@ uniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuf
87635
89720
  var MineRenderWorld = class {
87636
89721
  constructor(scene) {
87637
89722
  this._chunks = /* @__PURE__ */ new Map();
89723
+ this.pendingCulling = /* @__PURE__ */ new Map();
87638
89724
  this.scene = scene;
87639
89725
  }
87640
89726
  getBlockAt(posOrX, y5, z4) {
@@ -87694,17 +89780,78 @@ uniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuf
87694
89780
  if (!executor) queue2.stop();
87695
89781
  }
87696
89782
  }
89783
+ /** Replaces one chunk column's blocks. Entity NBT remains available on the parsed chunk. */
89784
+ async placeChunk(chunk, executor) {
89785
+ const previous = [...this._chunks.entries()].filter(([, section]) => section.x === chunk.x && section.z === chunk.z);
89786
+ for (const [key, section] of previous) {
89787
+ this._chunks.delete(key);
89788
+ await section.dispose();
89789
+ }
89790
+ for (const section of chunk.sections) {
89791
+ const blocks = [];
89792
+ for (let index = 0; index < 4096; index++) {
89793
+ const block = section.data.get(index);
89794
+ if (block) blocks.push({
89795
+ ...block,
89796
+ position: [
89797
+ chunk.x * 16 + index % 16,
89798
+ section.y * 16 + Math.floor(index / 256),
89799
+ chunk.z * 16 + Math.floor(index / 16) % 16
89800
+ ]
89801
+ });
89802
+ }
89803
+ await this.placeMultiBlock({ size: [16, 16, 16], blocks }, true, executor);
89804
+ }
89805
+ }
87697
89806
  async clear() {
87698
- for (const chunk of this._chunks.values()) {
89807
+ await this.culling;
89808
+ const chunks = [...this._chunks.values()];
89809
+ this._chunks.clear();
89810
+ for (const chunk of chunks) {
87699
89811
  await chunk.dispose();
87700
89812
  }
87701
- this._chunks.clear();
89813
+ }
89814
+ updateCulling(positions) {
89815
+ for (const pos of positions) {
89816
+ this.pendingCulling.set(pos.toArray().join(","), pos.clone());
89817
+ for (const offset of CUBE_FACE_OFFSETS) {
89818
+ const neighbor = pos.clone().add(new Vector3(...offset));
89819
+ this.pendingCulling.set(neighbor.toArray().join(","), neighbor);
89820
+ }
89821
+ }
89822
+ return this.culling ?? (this.culling = Promise.resolve().then(async () => {
89823
+ try {
89824
+ while (this.pendingCulling.size) {
89825
+ const batch = [...this.pendingCulling.values()];
89826
+ this.pendingCulling.clear();
89827
+ for (const pos of batch) {
89828
+ const block = this.getBlockAt(pos)?.object;
89829
+ if (!block) continue;
89830
+ let mask = 0;
89831
+ for (const [face, offset] of CUBE_FACE_OFFSETS.entries()) {
89832
+ if (this.getBlockAt(pos.clone().add(new Vector3(...offset)))?.object.isOccluding) {
89833
+ mask |= 1 << face;
89834
+ }
89835
+ }
89836
+ await block.setCullMask(mask);
89837
+ }
89838
+ }
89839
+ } finally {
89840
+ this.culling = void 0;
89841
+ }
89842
+ }));
87702
89843
  }
87703
89844
  getOrCreateChunkAt(pos) {
87704
89845
  const key = this.worldPosToChunkKey(pos);
87705
89846
  let chunk = this._chunks.get(key);
87706
89847
  if (typeof chunk === "undefined") {
87707
- chunk = new Chunk(this.scene, Math.floor(pos.x / 16), Math.floor(pos.y / 16), Math.floor(pos.z / 16));
89848
+ chunk = new Chunk(
89849
+ this.scene,
89850
+ Math.floor(pos.x / 16),
89851
+ Math.floor(pos.y / 16),
89852
+ Math.floor(pos.z / 16),
89853
+ (positions) => this.updateCulling(positions)
89854
+ );
87708
89855
  this._chunks.set(key, chunk);
87709
89856
  }
87710
89857
  return chunk;
@@ -87741,7 +89888,8 @@ uniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuf
87741
89888
 
87742
89889
  // src/world/Chunk.ts
87743
89890
  var Chunk = class _Chunk {
87744
- constructor(scene, x4, y5, z4) {
89891
+ constructor(scene, x4, y5, z4, onBlocksChanged) {
89892
+ this.onBlocksChanged = onBlocksChanged;
87745
89893
  this.data = new ChunkData();
87746
89894
  this.renderedBlocks = /* @__PURE__ */ new Map();
87747
89895
  this.scene = scene;
@@ -87784,10 +89932,10 @@ uniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuf
87784
89932
  const readBlock = this.data.snapshot(index);
87785
89933
  this.renderedBlocks.get(index)?.object.removeFromScene();
87786
89934
  this.renderedBlocks.delete(index);
87787
- if (!readBlock) return void 0;
87788
- const stored = readBlock();
87789
89935
  let object;
87790
89936
  try {
89937
+ if (!readBlock) return void 0;
89938
+ const stored = readBlock();
87791
89939
  const blockState = await BlockStates.get(AssetKey.parse("blockstates", stored.type));
87792
89940
  if (!blockState) {
87793
89941
  this.data.set(index, void 0);
@@ -87809,12 +89957,18 @@ uniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuf
87809
89957
  this.data.set(index, void 0);
87810
89958
  object?.removeFromScene();
87811
89959
  throw error;
89960
+ } finally {
89961
+ await this.onBlocksChanged?.([worldPos]);
87812
89962
  }
87813
89963
  }
87814
89964
  async clear() {
89965
+ const positions = [...this.renderedBlocks.keys()].map((index) => this.chunkPosToWorldPos(
89966
+ new Vector3(index % 16, Math.floor(index / 256), Math.floor(index / 16) % 16)
89967
+ ));
87815
89968
  for (const info of this.renderedBlocks.values()) info.object.removeFromScene();
87816
89969
  this.renderedBlocks.clear();
87817
89970
  this.data.clear();
89971
+ await this.onBlocksChanged?.(positions);
87818
89972
  }
87819
89973
  async dispose() {
87820
89974
  await this.clear();