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/browser/index.d.mts +117 -25
- package/dist/browser/index.d.ts +117 -25
- package/dist/browser/index.js +2266 -121
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +2208 -63
- package/dist/browser/index.mjs.map +1 -1
- package/dist/bundle.js +2179 -25
- package/dist/bundle.js.map +1 -1
- package/dist/node/index.d.mts +117 -25
- package/dist/node/index.d.ts +117 -25
- package/dist/node/index.js +2269 -121
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +2208 -63
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/node/index.js
CHANGED
|
@@ -125,6 +125,7 @@ var require_dist = __commonJS({
|
|
|
125
125
|
var index_node_exports = {};
|
|
126
126
|
__export(index_node_exports, {
|
|
127
127
|
AXES: () => AXES,
|
|
128
|
+
AnvilParser: () => AnvilParser,
|
|
128
129
|
ArchiveAssetSource: () => ArchiveAssetSource,
|
|
129
130
|
AssetKey: () => AssetKey,
|
|
130
131
|
AssetLoadError: () => AssetLoadError,
|
|
@@ -142,6 +143,7 @@ __export(index_node_exports, {
|
|
|
142
143
|
BlockTints: () => BlockTints,
|
|
143
144
|
BrowserArchiveProxy: () => BrowserArchiveProxy,
|
|
144
145
|
CUBE_FACES: () => CUBE_FACES,
|
|
146
|
+
CUBE_FACE_OFFSETS: () => CUBE_FACE_OFFSETS,
|
|
145
147
|
Caching: () => Caching,
|
|
146
148
|
CanvasImage: () => CanvasImage,
|
|
147
149
|
Chunk: () => Chunk,
|
|
@@ -175,6 +177,7 @@ __export(index_node_exports, {
|
|
|
175
177
|
MineRenderWorld: () => MineRenderWorld,
|
|
176
178
|
MinecraftCubeTexture: () => MinecraftCubeTexture,
|
|
177
179
|
MinecraftFaceUV: () => MinecraftFaceUV,
|
|
180
|
+
ModelCulling: () => ModelCulling,
|
|
178
181
|
ModelGenerator: () => ModelGenerator,
|
|
179
182
|
ModelMerger: () => ModelMerger,
|
|
180
183
|
ModelObject: () => ModelObject,
|
|
@@ -436,6 +439,14 @@ var CubeFaceIndex = /* @__PURE__ */ ((CubeFaceIndex2) => {
|
|
|
436
439
|
return CubeFaceIndex2;
|
|
437
440
|
})(CubeFaceIndex || {});
|
|
438
441
|
var CUBE_FACES = Object.values(CubeFace);
|
|
442
|
+
var CUBE_FACE_OFFSETS = [
|
|
443
|
+
[1, 0, 0],
|
|
444
|
+
[-1, 0, 0],
|
|
445
|
+
[0, 1, 0],
|
|
446
|
+
[0, -1, 0],
|
|
447
|
+
[0, 0, 1],
|
|
448
|
+
[0, 0, -1]
|
|
449
|
+
];
|
|
439
450
|
|
|
440
451
|
// src/Disposable.ts
|
|
441
452
|
function isDisposable(obj) {
|
|
@@ -1777,11 +1788,17 @@ function isOrthographicCamera(obj) {
|
|
|
1777
1788
|
}
|
|
1778
1789
|
|
|
1779
1790
|
// src/nbt/NBTHelper.ts
|
|
1791
|
+
var import_buffer2 = require("buffer");
|
|
1780
1792
|
var NBTHelper = class {
|
|
1781
|
-
static async fromBuffer(
|
|
1793
|
+
static async fromBuffer(data, format) {
|
|
1794
|
+
const buffer = import_buffer2.Buffer.from(data instanceof Uint8Array ? data : new Uint8Array(data));
|
|
1782
1795
|
const prismarineNbt = await import("prismarine-nbt");
|
|
1783
|
-
const { parsed, type, metadata } = await prismarineNbt.parse(buffer);
|
|
1784
|
-
return parsed
|
|
1796
|
+
const { parsed, type, metadata } = await prismarineNbt.parse(buffer, format);
|
|
1797
|
+
return Object.assign(parsed, {
|
|
1798
|
+
format: type,
|
|
1799
|
+
metadata,
|
|
1800
|
+
compression: buffer[0] === 31 && buffer[1] === 139 ? "gzip" : "none"
|
|
1801
|
+
});
|
|
1785
1802
|
}
|
|
1786
1803
|
};
|
|
1787
1804
|
|
|
@@ -2586,6 +2603,9 @@ var UVMapper = class {
|
|
|
2586
2603
|
const textureMap = {};
|
|
2587
2604
|
const metaMap = {};
|
|
2588
2605
|
const model = { ...originalModel };
|
|
2606
|
+
if (originalModel.elements) {
|
|
2607
|
+
model.elements = originalModel.elements.map((element) => ({ ...element }));
|
|
2608
|
+
}
|
|
2589
2609
|
const isItemModel = !("elements" in model);
|
|
2590
2610
|
console.debug(p5, "Creating Atlas for", model.key);
|
|
2591
2611
|
if (model.textures) {
|
|
@@ -4007,6 +4027,42 @@ function isQuadArray(obj) {
|
|
|
4007
4027
|
return Array.isArray(obj) && obj.length === 4;
|
|
4008
4028
|
}
|
|
4009
4029
|
|
|
4030
|
+
// src/model/ModelCulling.ts
|
|
4031
|
+
var import_three16 = require("three");
|
|
4032
|
+
var ModelCulling = class {
|
|
4033
|
+
static toLocalMask(worldMask, rotation) {
|
|
4034
|
+
let localMask = 0;
|
|
4035
|
+
for (const [localFace, offset] of CUBE_FACE_OFFSETS.entries()) {
|
|
4036
|
+
const normal = new import_three16.Vector3(...offset).applyEuler(rotation);
|
|
4037
|
+
const worldFace = CUBE_FACE_OFFSETS.findIndex(([x, y, z]) => Math.abs(normal.x - x) < 1e-6 && Math.abs(normal.y - y) < 1e-6 && Math.abs(normal.z - z) < 1e-6);
|
|
4038
|
+
if (worldFace < 0) return 0;
|
|
4039
|
+
if (worldMask & 1 << worldFace) localMask |= 1 << localFace;
|
|
4040
|
+
}
|
|
4041
|
+
return localMask;
|
|
4042
|
+
}
|
|
4043
|
+
static isOpaqueFullCube(atlas) {
|
|
4044
|
+
if (!atlas || atlas.hasTransparency !== false || atlas.model.elements?.length !== 1) return false;
|
|
4045
|
+
const element = atlas.model.elements[0];
|
|
4046
|
+
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;
|
|
4047
|
+
if (!(atlas.image.width > 0 && atlas.image.height > 0)) return false;
|
|
4048
|
+
return CUBE_FACES.every((face, faceIndex) => {
|
|
4049
|
+
const texture = element.faces[face]?.texture;
|
|
4050
|
+
if (!texture?.startsWith("#")) return false;
|
|
4051
|
+
const key = texture.slice(1);
|
|
4052
|
+
const position = atlas.positions[key];
|
|
4053
|
+
const size = atlas.sizes[key];
|
|
4054
|
+
if (position?.length !== 2 || !position.every(Number.isFinite) || size?.length !== 2 || !size.every((value) => value > 0 && Number.isFinite(value))) return false;
|
|
4055
|
+
for (let vertex = 0; vertex < 4; vertex++) {
|
|
4056
|
+
const uvIndex = (faceIndex * 4 + vertex) * 2;
|
|
4057
|
+
const x = element.mappedUv[uvIndex] * atlas.image.width;
|
|
4058
|
+
const y = (1 - element.mappedUv[uvIndex + 1]) * atlas.image.height;
|
|
4059
|
+
if (x < position[0] - 1e-6 || x > position[0] + size[0] + 1e-6 || y < position[1] - 1e-6 || y > position[1] + size[1] + 1e-6) return false;
|
|
4060
|
+
}
|
|
4061
|
+
return true;
|
|
4062
|
+
});
|
|
4063
|
+
}
|
|
4064
|
+
};
|
|
4065
|
+
|
|
4010
4066
|
// src/model/block/blockTints.json
|
|
4011
4067
|
var blockTints_default = {
|
|
4012
4068
|
"minecraft:large_fern": { source: "grass" },
|
|
@@ -4093,10 +4149,10 @@ var BlockTints = class {
|
|
|
4093
4149
|
};
|
|
4094
4150
|
|
|
4095
4151
|
// src/model/scene/ModelObject.ts
|
|
4096
|
-
var
|
|
4152
|
+
var import_three18 = require("three");
|
|
4097
4153
|
|
|
4098
4154
|
// src/three/BufferGeometryUtils.js
|
|
4099
|
-
var
|
|
4155
|
+
var import_three17 = require("three");
|
|
4100
4156
|
function computeTangents(geometry) {
|
|
4101
4157
|
geometry.computeTangents();
|
|
4102
4158
|
console.warn("THREE.BufferGeometryUtils: .computeTangents() has been removed. Use BufferGeometry.computeTangents() instead.");
|
|
@@ -4108,7 +4164,7 @@ function mergeBufferGeometries(geometries, useGroups = false) {
|
|
|
4108
4164
|
const attributes = {};
|
|
4109
4165
|
const morphAttributes = {};
|
|
4110
4166
|
const morphTargetsRelative = geometries[0].morphTargetsRelative;
|
|
4111
|
-
const mergedGeometry = new
|
|
4167
|
+
const mergedGeometry = new import_three17.BufferGeometry();
|
|
4112
4168
|
let offset = 0;
|
|
4113
4169
|
for (let i = 0; i < geometries.length; ++i) {
|
|
4114
4170
|
const geometry = geometries[i];
|
|
@@ -4232,7 +4288,7 @@ function mergeBufferAttributes(attributes) {
|
|
|
4232
4288
|
array.set(attributes[i].array, offset);
|
|
4233
4289
|
offset += attributes[i].array.length;
|
|
4234
4290
|
}
|
|
4235
|
-
return new
|
|
4291
|
+
return new import_three17.BufferAttribute(array, itemSize, normalized);
|
|
4236
4292
|
}
|
|
4237
4293
|
function interleaveAttributes(attributes) {
|
|
4238
4294
|
let TypedArray;
|
|
@@ -4248,7 +4304,7 @@ function interleaveAttributes(attributes) {
|
|
|
4248
4304
|
arrayLength += attribute.array.length;
|
|
4249
4305
|
stride += attribute.itemSize;
|
|
4250
4306
|
}
|
|
4251
|
-
const interleavedBuffer = new
|
|
4307
|
+
const interleavedBuffer = new import_three17.InterleavedBuffer(new TypedArray(arrayLength), stride);
|
|
4252
4308
|
let offset = 0;
|
|
4253
4309
|
const res = [];
|
|
4254
4310
|
const getters = ["getX", "getY", "getZ", "getW"];
|
|
@@ -4257,7 +4313,7 @@ function interleaveAttributes(attributes) {
|
|
|
4257
4313
|
const attribute = attributes[j];
|
|
4258
4314
|
const itemSize = attribute.itemSize;
|
|
4259
4315
|
const count = attribute.count;
|
|
4260
|
-
const iba = new
|
|
4316
|
+
const iba = new import_three17.InterleavedBufferAttribute(interleavedBuffer, itemSize, offset, attribute.normalized);
|
|
4261
4317
|
res.push(iba);
|
|
4262
4318
|
offset += itemSize;
|
|
4263
4319
|
for (let c = 0; c < count; c++) {
|
|
@@ -4341,13 +4397,13 @@ function mergeVertices(geometry, tolerance = 1e-4) {
|
|
|
4341
4397
|
const name = attributeNames[i];
|
|
4342
4398
|
const oldAttribute = geometry.getAttribute(name);
|
|
4343
4399
|
const buffer = new oldAttribute.array.constructor(attrArrays[name]);
|
|
4344
|
-
const attribute = new
|
|
4400
|
+
const attribute = new import_three17.BufferAttribute(buffer, oldAttribute.itemSize, oldAttribute.normalized);
|
|
4345
4401
|
result.setAttribute(name, attribute);
|
|
4346
4402
|
if (name in morphAttrsArrays) {
|
|
4347
4403
|
for (let j = 0; j < morphAttrsArrays[name].length; j++) {
|
|
4348
4404
|
const oldMorphAttribute = geometry.morphAttributes[name][j];
|
|
4349
4405
|
const buffer2 = new oldMorphAttribute.array.constructor(morphAttrsArrays[name][j]);
|
|
4350
|
-
const morphAttribute = new
|
|
4406
|
+
const morphAttribute = new import_three17.BufferAttribute(buffer2, oldMorphAttribute.itemSize, oldMorphAttribute.normalized);
|
|
4351
4407
|
result.morphAttributes[name][j] = morphAttribute;
|
|
4352
4408
|
}
|
|
4353
4409
|
}
|
|
@@ -4356,11 +4412,11 @@ function mergeVertices(geometry, tolerance = 1e-4) {
|
|
|
4356
4412
|
return result;
|
|
4357
4413
|
}
|
|
4358
4414
|
function toTrianglesDrawMode(geometry, drawMode) {
|
|
4359
|
-
if (drawMode ===
|
|
4415
|
+
if (drawMode === import_three17.TrianglesDrawMode) {
|
|
4360
4416
|
console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles.");
|
|
4361
4417
|
return geometry;
|
|
4362
4418
|
}
|
|
4363
|
-
if (drawMode ===
|
|
4419
|
+
if (drawMode === import_three17.TriangleFanDrawMode || drawMode === import_three17.TriangleStripDrawMode) {
|
|
4364
4420
|
let index = geometry.getIndex();
|
|
4365
4421
|
if (index === null) {
|
|
4366
4422
|
const indices = [];
|
|
@@ -4378,7 +4434,7 @@ function toTrianglesDrawMode(geometry, drawMode) {
|
|
|
4378
4434
|
}
|
|
4379
4435
|
const numberOfTriangles = index.count - 2;
|
|
4380
4436
|
const newIndices = [];
|
|
4381
|
-
if (drawMode ===
|
|
4437
|
+
if (drawMode === import_three17.TriangleFanDrawMode) {
|
|
4382
4438
|
for (let i = 1; i <= numberOfTriangles; i++) {
|
|
4383
4439
|
newIndices.push(index.getX(0));
|
|
4384
4440
|
newIndices.push(index.getX(i));
|
|
@@ -4414,15 +4470,15 @@ function computeMorphedAttributes(object) {
|
|
|
4414
4470
|
console.error("THREE.BufferGeometryUtils: Geometry is not of type BufferGeometry.");
|
|
4415
4471
|
return null;
|
|
4416
4472
|
}
|
|
4417
|
-
const _vA = new
|
|
4418
|
-
const _vB = new
|
|
4419
|
-
const _vC = new
|
|
4420
|
-
const _tempA = new
|
|
4421
|
-
const _tempB = new
|
|
4422
|
-
const _tempC = new
|
|
4423
|
-
const _morphA = new
|
|
4424
|
-
const _morphB = new
|
|
4425
|
-
const _morphC = new
|
|
4473
|
+
const _vA = new import_three17.Vector3();
|
|
4474
|
+
const _vB = new import_three17.Vector3();
|
|
4475
|
+
const _vC = new import_three17.Vector3();
|
|
4476
|
+
const _tempA = new import_three17.Vector3();
|
|
4477
|
+
const _tempB = new import_three17.Vector3();
|
|
4478
|
+
const _tempC = new import_three17.Vector3();
|
|
4479
|
+
const _morphA = new import_three17.Vector3();
|
|
4480
|
+
const _morphB = new import_three17.Vector3();
|
|
4481
|
+
const _morphC = new import_three17.Vector3();
|
|
4426
4482
|
function _calculateMorphedAttributeData(object2, material2, attribute, morphAttribute, morphTargetsRelative2, a2, b2, c2, modifiedAttributeArray) {
|
|
4427
4483
|
_vA.fromBufferAttribute(attribute, a2);
|
|
4428
4484
|
_vB.fromBufferAttribute(attribute, b2);
|
|
@@ -4617,8 +4673,8 @@ function computeMorphedAttributes(object) {
|
|
|
4617
4673
|
}
|
|
4618
4674
|
}
|
|
4619
4675
|
}
|
|
4620
|
-
const morphedPositionAttribute = new
|
|
4621
|
-
const morphedNormalAttribute = new
|
|
4676
|
+
const morphedPositionAttribute = new import_three17.Float32BufferAttribute(modifiedPosition, 3);
|
|
4677
|
+
const morphedNormalAttribute = new import_three17.Float32BufferAttribute(modifiedNormal, 3);
|
|
4622
4678
|
return {
|
|
4623
4679
|
positionAttribute,
|
|
4624
4680
|
normalAttribute,
|
|
@@ -4651,6 +4707,9 @@ var ModelObject = class _ModelObject extends SceneObject {
|
|
|
4651
4707
|
get textureAtlas() {
|
|
4652
4708
|
return this.atlas;
|
|
4653
4709
|
}
|
|
4710
|
+
get isOpaqueFullCube() {
|
|
4711
|
+
return !this.options.displayPosition && ModelCulling.isOpaqueFullCube(this.atlas);
|
|
4712
|
+
}
|
|
4654
4713
|
//TODO: support for replacing textures
|
|
4655
4714
|
async loadTextures() {
|
|
4656
4715
|
this.atlas = await UVMapper.getAtlas(this.originalModel);
|
|
@@ -4664,8 +4723,17 @@ var ModelObject = class _ModelObject extends SceneObject {
|
|
|
4664
4723
|
if (this.atlas.model.elements) {
|
|
4665
4724
|
this.atlas.model.elements?.forEach((el) => {
|
|
4666
4725
|
const elGeo = this._getBoxGeometryFromElement(el).clone();
|
|
4726
|
+
if (this.options.cullMask) {
|
|
4727
|
+
const indices = Array.from(elGeo.getIndex().array);
|
|
4728
|
+
elGeo.setIndex(indices.filter((_, index) => {
|
|
4729
|
+
const face = CUBE_FACES[Math.floor(index / 6)];
|
|
4730
|
+
const direction = CUBE_FACES.findIndex((name) => name === el.faces[face]?.cullface);
|
|
4731
|
+
return direction < 0 || !(this.options.cullMask & 1 << direction);
|
|
4732
|
+
}));
|
|
4733
|
+
elGeo.clearGroups();
|
|
4734
|
+
}
|
|
4667
4735
|
if (this.options.uvLockRotation) {
|
|
4668
|
-
UVMapper.lockUvs(elGeo, el.faces, this.atlas, new
|
|
4736
|
+
UVMapper.lockUvs(elGeo, el.faces, this.atlas, new import_three18.Euler(...this.options.uvLockRotation));
|
|
4669
4737
|
}
|
|
4670
4738
|
if (this.options.tints) {
|
|
4671
4739
|
const colors = new Float32Array(elGeo.getAttribute("position").count * 3).fill(1);
|
|
@@ -4674,19 +4742,19 @@ var ModelObject = class _ModelObject extends SceneObject {
|
|
|
4674
4742
|
if (tintIndex === void 0 || tintIndex < 0) continue;
|
|
4675
4743
|
const tint = this.options.tints[tintIndex];
|
|
4676
4744
|
if (tint === void 0) continue;
|
|
4677
|
-
const color = new
|
|
4745
|
+
const color = new import_three18.Color(tint);
|
|
4678
4746
|
for (let vertex = 0; vertex < 4; vertex++) {
|
|
4679
4747
|
color.toArray(colors, (faceIndex * 4 + vertex) * 3);
|
|
4680
4748
|
}
|
|
4681
4749
|
}
|
|
4682
|
-
elGeo.setAttribute("color", new
|
|
4750
|
+
elGeo.setAttribute("color", new import_three18.BufferAttribute(colors, 3));
|
|
4683
4751
|
}
|
|
4684
|
-
elGeo.applyMatrix4(new
|
|
4685
|
-
elGeo.applyMatrix4(new
|
|
4752
|
+
elGeo.applyMatrix4(new import_three18.Matrix4().makeTranslation((el.to[0] - el.from[0]) / 2, (el.to[1] - el.from[1]) / 2, (el.to[2] - el.from[2]) / 2));
|
|
4753
|
+
elGeo.applyMatrix4(new import_three18.Matrix4().makeTranslation(el.from[0], el.from[1], el.from[2]));
|
|
4686
4754
|
if (el.rotation) {
|
|
4687
4755
|
applyElementRotation(el.rotation, elGeo);
|
|
4688
4756
|
}
|
|
4689
|
-
elGeo.applyMatrix4(new
|
|
4757
|
+
elGeo.applyMatrix4(new import_three18.Matrix4().makeTranslation(-8, -8, -8));
|
|
4690
4758
|
if (displayTransform) DisplayTransforms.apply(elGeo, displayTransform);
|
|
4691
4759
|
if (this.options.mergeMeshes) {
|
|
4692
4760
|
allGeos.push(elGeo);
|
|
@@ -4708,7 +4776,7 @@ var ModelObject = class _ModelObject extends SceneObject {
|
|
|
4708
4776
|
if (allGeos.length > 0) {
|
|
4709
4777
|
combinedGeo = mergeBufferGeometries(allGeos);
|
|
4710
4778
|
} else {
|
|
4711
|
-
combinedGeo = new
|
|
4779
|
+
combinedGeo = new import_three18.BoxGeometry(16, 16, 16);
|
|
4712
4780
|
if (displayTransform) DisplayTransforms.apply(combinedGeo, displayTransform);
|
|
4713
4781
|
}
|
|
4714
4782
|
combinedGeo.computeBoundingBox();
|
|
@@ -4761,7 +4829,7 @@ function isModelObject(obj) {
|
|
|
4761
4829
|
|
|
4762
4830
|
// src/model/block/scene/BlockObject.ts
|
|
4763
4831
|
var import_ts_deepmerge6 = __toESM(require_dist());
|
|
4764
|
-
var
|
|
4832
|
+
var import_three19 = require("three");
|
|
4765
4833
|
var p10 = prefix("BlockObject");
|
|
4766
4834
|
function matchesCondition(condition, state) {
|
|
4767
4835
|
return Object.entries(condition).every(([key, value]) => {
|
|
@@ -4786,6 +4854,7 @@ var BlockObject = class _BlockObject extends SceneObject {
|
|
|
4786
4854
|
this._instanceModel = [];
|
|
4787
4855
|
this._variants = [];
|
|
4788
4856
|
this._models = [];
|
|
4857
|
+
this._cullMask = 0;
|
|
4789
4858
|
this.options = (0, import_ts_deepmerge6.default)({}, _BlockObject.DEFAULT_OPTIONS, options ?? {});
|
|
4790
4859
|
}
|
|
4791
4860
|
static {
|
|
@@ -4824,12 +4893,69 @@ var BlockObject = class _BlockObject extends SceneObject {
|
|
|
4824
4893
|
super.removeFromScene();
|
|
4825
4894
|
}
|
|
4826
4895
|
clearModels() {
|
|
4827
|
-
|
|
4896
|
+
this.removeModels(this._models.splice(0));
|
|
4897
|
+
this._isInstanced = false;
|
|
4898
|
+
this._instanceCounter = 0;
|
|
4899
|
+
}
|
|
4900
|
+
removeModels(models) {
|
|
4901
|
+
for (const model of models) {
|
|
4828
4902
|
model.removeFromScene();
|
|
4829
4903
|
if (!isInstanceReference(model)) model.dispose();
|
|
4830
4904
|
}
|
|
4831
|
-
|
|
4832
|
-
|
|
4905
|
+
}
|
|
4906
|
+
get isOccluding() {
|
|
4907
|
+
return this._models.some((model) => {
|
|
4908
|
+
const object = isInstanceReference(model) ? model.instanceable : model;
|
|
4909
|
+
return object.isOpaqueFullCube && this.getModelCullMask(model, 63) === 63;
|
|
4910
|
+
});
|
|
4911
|
+
}
|
|
4912
|
+
getModelMatrix(model) {
|
|
4913
|
+
if (isInstanceReference(model)) return model.getMatrix();
|
|
4914
|
+
if (model.matrixAutoUpdate) model.updateMatrix();
|
|
4915
|
+
return model.matrix.clone();
|
|
4916
|
+
}
|
|
4917
|
+
getModelCullMask(model, worldMask) {
|
|
4918
|
+
const object = isInstanceReference(model) ? model.instanceable : model;
|
|
4919
|
+
if (object.options.displayPosition) return 0;
|
|
4920
|
+
const position = new import_three19.Vector3();
|
|
4921
|
+
const rotation = new import_three19.Quaternion();
|
|
4922
|
+
const scale = new import_three19.Vector3();
|
|
4923
|
+
this.getModelMatrix(model).decompose(position, rotation, scale);
|
|
4924
|
+
if (position.distanceToSquared(this.position) > 1e-10 || scale.distanceToSquared(new import_three19.Vector3(1, 1, 1)) > 1e-10) return 0;
|
|
4925
|
+
return ModelCulling.toLocalMask(worldMask, new import_three19.Euler().setFromQuaternion(rotation));
|
|
4926
|
+
}
|
|
4927
|
+
async setCullMask(worldMask) {
|
|
4928
|
+
worldMask &= 63;
|
|
4929
|
+
const replacements = [];
|
|
4930
|
+
try {
|
|
4931
|
+
for (const model of this._models) {
|
|
4932
|
+
const object = isInstanceReference(model) ? model.instanceable : model;
|
|
4933
|
+
const cullMask = this.getModelCullMask(model, worldMask);
|
|
4934
|
+
if (cullMask === (object.options.cullMask ?? 0)) {
|
|
4935
|
+
replacements.push(model);
|
|
4936
|
+
continue;
|
|
4937
|
+
}
|
|
4938
|
+
const matrix = this.getModelMatrix(model);
|
|
4939
|
+
const replacement = await this.scene.addModel(object.originalModel, { ...object.options, cullMask });
|
|
4940
|
+
replacements.push(replacement);
|
|
4941
|
+
if (isInstanceReference(replacement)) {
|
|
4942
|
+
replacement.setMatrix(matrix);
|
|
4943
|
+
} else {
|
|
4944
|
+
replacement.matrix.copy(matrix);
|
|
4945
|
+
matrix.decompose(replacement.position, replacement.quaternion, replacement.scale);
|
|
4946
|
+
replacement.matrixAutoUpdate = object.matrixAutoUpdate;
|
|
4947
|
+
replacement.visible = object.visible;
|
|
4948
|
+
}
|
|
4949
|
+
}
|
|
4950
|
+
} catch (error) {
|
|
4951
|
+
this.removeModels(replacements.filter((model) => !this._models.includes(model)));
|
|
4952
|
+
throw error;
|
|
4953
|
+
}
|
|
4954
|
+
const previous = this._models;
|
|
4955
|
+
this._models = replacements;
|
|
4956
|
+
this._cullMask = worldMask;
|
|
4957
|
+
this.removeModels(previous.filter((model) => !replacements.includes(model)));
|
|
4958
|
+
this.notifyDirty();
|
|
4833
4959
|
}
|
|
4834
4960
|
get state() {
|
|
4835
4961
|
return this._state;
|
|
@@ -4909,7 +5035,7 @@ var BlockObject = class _BlockObject extends SceneObject {
|
|
|
4909
5035
|
await this.createVariant(variant);
|
|
4910
5036
|
}
|
|
4911
5037
|
async createVariant(variant) {
|
|
4912
|
-
const rotation = new
|
|
5038
|
+
const rotation = new import_three19.Euler();
|
|
4913
5039
|
if (typeof variant.x !== "undefined") {
|
|
4914
5040
|
rotation.x = toRadians(clampRotationDegrees(variant.x));
|
|
4915
5041
|
}
|
|
@@ -4922,7 +5048,8 @@ var BlockObject = class _BlockObject extends SceneObject {
|
|
|
4922
5048
|
const options = {
|
|
4923
5049
|
...this.options,
|
|
4924
5050
|
tints: model ? await BlockTints.get(this.blockState.key, this.state, model, this.options.tints) : this.options.tints,
|
|
4925
|
-
uvLockRotation: variant.uvlock && (rotation.x !== 0 || rotation.y !== 0) ? [rotation.x, rotation.y, rotation.z] : void 0
|
|
5051
|
+
uvLockRotation: variant.uvlock && (rotation.x !== 0 || rotation.y !== 0) ? [rotation.x, rotation.y, rotation.z] : void 0,
|
|
5052
|
+
cullMask: this.options.displayPosition ? 0 : ModelCulling.toLocalMask(this._cullMask, rotation)
|
|
4926
5053
|
};
|
|
4927
5054
|
const obj = await this.scene.addModel(model, options);
|
|
4928
5055
|
if (isInstanceReference(obj) || obj.isInstanced) {
|
|
@@ -4999,7 +5126,7 @@ var BlockObject = class _BlockObject extends SceneObject {
|
|
|
4999
5126
|
setPositionRotationScaleAt(index, position, rotation, scale) {
|
|
5000
5127
|
super.setPositionRotationScaleAt(index, position, rotation, scale);
|
|
5001
5128
|
}
|
|
5002
|
-
getMatrixAt(index, matrix = new
|
|
5129
|
+
getMatrixAt(index, matrix = new import_three19.Matrix4()) {
|
|
5003
5130
|
if (!this.isInstanced) throw new MineRenderError("Object is not instanced");
|
|
5004
5131
|
const child = this._models[0];
|
|
5005
5132
|
if (child && isModelObject(child)) {
|
|
@@ -5033,12 +5160,1780 @@ function isBlockObject(obj) {
|
|
|
5033
5160
|
return obj.isBlockObject;
|
|
5034
5161
|
}
|
|
5035
5162
|
|
|
5163
|
+
// src/model/multiblock/legacyBlocks.json
|
|
5164
|
+
var legacyBlocks_default = {
|
|
5165
|
+
__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",
|
|
5166
|
+
blocks: {
|
|
5167
|
+
"0:0": "minecraft:air",
|
|
5168
|
+
"1:0": "minecraft:stone",
|
|
5169
|
+
"1:1": "minecraft:granite",
|
|
5170
|
+
"1:2": "minecraft:polished_granite",
|
|
5171
|
+
"1:3": "minecraft:diorite",
|
|
5172
|
+
"1:4": "minecraft:polished_diorite",
|
|
5173
|
+
"1:5": "minecraft:andesite",
|
|
5174
|
+
"1:6": "minecraft:polished_andesite",
|
|
5175
|
+
"2:0": "minecraft:grass_block[snowy=false]",
|
|
5176
|
+
"3:0": "minecraft:dirt",
|
|
5177
|
+
"3:1": "minecraft:coarse_dirt",
|
|
5178
|
+
"3:2": "minecraft:podzol[snowy=false]",
|
|
5179
|
+
"4:0": "minecraft:cobblestone",
|
|
5180
|
+
"5:0": "minecraft:oak_planks",
|
|
5181
|
+
"5:1": "minecraft:spruce_planks",
|
|
5182
|
+
"5:2": "minecraft:birch_planks",
|
|
5183
|
+
"5:3": "minecraft:jungle_planks",
|
|
5184
|
+
"5:4": "minecraft:acacia_planks",
|
|
5185
|
+
"5:5": "minecraft:dark_oak_planks",
|
|
5186
|
+
"6:0": "minecraft:oak_sapling[stage=0]",
|
|
5187
|
+
"6:1": "minecraft:spruce_sapling[stage=0]",
|
|
5188
|
+
"6:2": "minecraft:birch_sapling[stage=0]",
|
|
5189
|
+
"6:3": "minecraft:jungle_sapling[stage=0]",
|
|
5190
|
+
"6:4": "minecraft:acacia_sapling[stage=0]",
|
|
5191
|
+
"6:5": "minecraft:dark_oak_sapling[stage=0]",
|
|
5192
|
+
"6:8": "minecraft:oak_sapling[stage=1]",
|
|
5193
|
+
"6:9": "minecraft:spruce_sapling[stage=1]",
|
|
5194
|
+
"6:10": "minecraft:birch_sapling[stage=1]",
|
|
5195
|
+
"6:11": "minecraft:jungle_sapling[stage=1]",
|
|
5196
|
+
"6:12": "minecraft:acacia_sapling[stage=1]",
|
|
5197
|
+
"6:13": "minecraft:dark_oak_sapling[stage=1]",
|
|
5198
|
+
"7:0": "minecraft:bedrock",
|
|
5199
|
+
"8:0": "minecraft:water[level=0]",
|
|
5200
|
+
"8:1": "minecraft:water[level=1]",
|
|
5201
|
+
"8:2": "minecraft:water[level=2]",
|
|
5202
|
+
"8:3": "minecraft:water[level=3]",
|
|
5203
|
+
"8:4": "minecraft:water[level=4]",
|
|
5204
|
+
"8:5": "minecraft:water[level=5]",
|
|
5205
|
+
"8:6": "minecraft:water[level=6]",
|
|
5206
|
+
"8:7": "minecraft:water[level=7]",
|
|
5207
|
+
"8:8": "minecraft:water[level=8]",
|
|
5208
|
+
"8:9": "minecraft:water[level=9]",
|
|
5209
|
+
"8:10": "minecraft:water[level=10]",
|
|
5210
|
+
"8:11": "minecraft:water[level=11]",
|
|
5211
|
+
"8:12": "minecraft:water[level=12]",
|
|
5212
|
+
"8:13": "minecraft:water[level=13]",
|
|
5213
|
+
"8:14": "minecraft:water[level=14]",
|
|
5214
|
+
"8:15": "minecraft:water[level=15]",
|
|
5215
|
+
"9:0": "minecraft:water[level=0]",
|
|
5216
|
+
"9:1": "minecraft:water[level=1]",
|
|
5217
|
+
"9:2": "minecraft:water[level=2]",
|
|
5218
|
+
"9:3": "minecraft:water[level=3]",
|
|
5219
|
+
"9:4": "minecraft:water[level=4]",
|
|
5220
|
+
"9:5": "minecraft:water[level=5]",
|
|
5221
|
+
"9:6": "minecraft:water[level=6]",
|
|
5222
|
+
"9:7": "minecraft:water[level=7]",
|
|
5223
|
+
"9:8": "minecraft:water[level=8]",
|
|
5224
|
+
"9:9": "minecraft:water[level=9]",
|
|
5225
|
+
"9:10": "minecraft:water[level=10]",
|
|
5226
|
+
"9:11": "minecraft:water[level=11]",
|
|
5227
|
+
"9:12": "minecraft:water[level=12]",
|
|
5228
|
+
"9:13": "minecraft:water[level=13]",
|
|
5229
|
+
"9:14": "minecraft:water[level=14]",
|
|
5230
|
+
"9:15": "minecraft:water[level=15]",
|
|
5231
|
+
"10:0": "minecraft:lava[level=0]",
|
|
5232
|
+
"10:1": "minecraft:lava[level=1]",
|
|
5233
|
+
"10:2": "minecraft:lava[level=2]",
|
|
5234
|
+
"10:3": "minecraft:lava[level=3]",
|
|
5235
|
+
"10:4": "minecraft:lava[level=4]",
|
|
5236
|
+
"10:5": "minecraft:lava[level=5]",
|
|
5237
|
+
"10:6": "minecraft:lava[level=6]",
|
|
5238
|
+
"10:7": "minecraft:lava[level=7]",
|
|
5239
|
+
"10:8": "minecraft:lava[level=8]",
|
|
5240
|
+
"10:9": "minecraft:lava[level=9]",
|
|
5241
|
+
"10:10": "minecraft:lava[level=10]",
|
|
5242
|
+
"10:11": "minecraft:lava[level=11]",
|
|
5243
|
+
"10:12": "minecraft:lava[level=12]",
|
|
5244
|
+
"10:13": "minecraft:lava[level=13]",
|
|
5245
|
+
"10:14": "minecraft:lava[level=14]",
|
|
5246
|
+
"10:15": "minecraft:lava[level=15]",
|
|
5247
|
+
"11:0": "minecraft:lava[level=0]",
|
|
5248
|
+
"11:1": "minecraft:lava[level=1]",
|
|
5249
|
+
"11:2": "minecraft:lava[level=2]",
|
|
5250
|
+
"11:3": "minecraft:lava[level=3]",
|
|
5251
|
+
"11:4": "minecraft:lava[level=4]",
|
|
5252
|
+
"11:5": "minecraft:lava[level=5]",
|
|
5253
|
+
"11:6": "minecraft:lava[level=6]",
|
|
5254
|
+
"11:7": "minecraft:lava[level=7]",
|
|
5255
|
+
"11:8": "minecraft:lava[level=8]",
|
|
5256
|
+
"11:9": "minecraft:lava[level=9]",
|
|
5257
|
+
"11:10": "minecraft:lava[level=10]",
|
|
5258
|
+
"11:11": "minecraft:lava[level=11]",
|
|
5259
|
+
"11:12": "minecraft:lava[level=12]",
|
|
5260
|
+
"11:13": "minecraft:lava[level=13]",
|
|
5261
|
+
"11:14": "minecraft:lava[level=14]",
|
|
5262
|
+
"11:15": "minecraft:lava[level=15]",
|
|
5263
|
+
"12:0": "minecraft:sand",
|
|
5264
|
+
"12:1": "minecraft:red_sand",
|
|
5265
|
+
"13:0": "minecraft:gravel",
|
|
5266
|
+
"14:0": "minecraft:gold_ore",
|
|
5267
|
+
"15:0": "minecraft:iron_ore",
|
|
5268
|
+
"16:0": "minecraft:coal_ore",
|
|
5269
|
+
"17:0": "minecraft:oak_log[axis=y]",
|
|
5270
|
+
"17:1": "minecraft:spruce_log[axis=y]",
|
|
5271
|
+
"17:2": "minecraft:birch_log[axis=y]",
|
|
5272
|
+
"17:3": "minecraft:jungle_log[axis=y]",
|
|
5273
|
+
"17:4": "minecraft:oak_log[axis=x]",
|
|
5274
|
+
"17:5": "minecraft:spruce_log[axis=x]",
|
|
5275
|
+
"17:6": "minecraft:birch_log[axis=x]",
|
|
5276
|
+
"17:7": "minecraft:jungle_log[axis=x]",
|
|
5277
|
+
"17:8": "minecraft:oak_log[axis=z]",
|
|
5278
|
+
"17:9": "minecraft:spruce_log[axis=z]",
|
|
5279
|
+
"17:10": "minecraft:birch_log[axis=z]",
|
|
5280
|
+
"17:11": "minecraft:jungle_log[axis=z]",
|
|
5281
|
+
"17:12": "minecraft:oak_wood",
|
|
5282
|
+
"17:13": "minecraft:spruce_wood",
|
|
5283
|
+
"17:14": "minecraft:birch_wood",
|
|
5284
|
+
"17:15": "minecraft:jungle_wood",
|
|
5285
|
+
"18:0": "minecraft:oak_leaves[persistent=false,distance=1]",
|
|
5286
|
+
"18:1": "minecraft:spruce_leaves[persistent=false,distance=1]",
|
|
5287
|
+
"18:2": "minecraft:birch_leaves[persistent=false,distance=1]",
|
|
5288
|
+
"18:3": "minecraft:jungle_leaves[persistent=false,distance=1]",
|
|
5289
|
+
"18:4": "minecraft:oak_leaves[persistent=true,distance=1]",
|
|
5290
|
+
"18:5": "minecraft:spruce_leaves[persistent=true,distance=1]",
|
|
5291
|
+
"18:6": "minecraft:birch_leaves[persistent=true,distance=1]",
|
|
5292
|
+
"18:7": "minecraft:jungle_leaves[persistent=true,distance=1]",
|
|
5293
|
+
"18:8": "minecraft:oak_leaves[persistent=false,distance=1]",
|
|
5294
|
+
"18:9": "minecraft:spruce_leaves[persistent=false,distance=1]",
|
|
5295
|
+
"18:10": "minecraft:birch_leaves[persistent=false,distance=1]",
|
|
5296
|
+
"18:11": "minecraft:jungle_leaves[persistent=false,distance=1]",
|
|
5297
|
+
"18:12": "minecraft:oak_leaves[persistent=true,distance=1]",
|
|
5298
|
+
"18:13": "minecraft:spruce_leaves[persistent=true,distance=1]",
|
|
5299
|
+
"18:14": "minecraft:birch_leaves[persistent=true,distance=1]",
|
|
5300
|
+
"18:15": "minecraft:jungle_leaves[persistent=true,distance=1]",
|
|
5301
|
+
"19:0": "minecraft:sponge",
|
|
5302
|
+
"19:1": "minecraft:wet_sponge",
|
|
5303
|
+
"20:0": "minecraft:glass",
|
|
5304
|
+
"21:0": "minecraft:lapis_ore",
|
|
5305
|
+
"22:0": "minecraft:lapis_block",
|
|
5306
|
+
"23:0": "minecraft:dispenser[triggered=false,facing=down]",
|
|
5307
|
+
"23:1": "minecraft:dispenser[triggered=false,facing=up]",
|
|
5308
|
+
"23:2": "minecraft:dispenser[triggered=false,facing=north]",
|
|
5309
|
+
"23:3": "minecraft:dispenser[triggered=false,facing=south]",
|
|
5310
|
+
"23:4": "minecraft:dispenser[triggered=false,facing=west]",
|
|
5311
|
+
"23:5": "minecraft:dispenser[triggered=false,facing=east]",
|
|
5312
|
+
"23:8": "minecraft:dispenser[triggered=true,facing=down]",
|
|
5313
|
+
"23:9": "minecraft:dispenser[triggered=true,facing=up]",
|
|
5314
|
+
"23:10": "minecraft:dispenser[triggered=true,facing=north]",
|
|
5315
|
+
"23:11": "minecraft:dispenser[triggered=true,facing=south]",
|
|
5316
|
+
"23:12": "minecraft:dispenser[triggered=true,facing=west]",
|
|
5317
|
+
"23:13": "minecraft:dispenser[triggered=true,facing=east]",
|
|
5318
|
+
"24:0": "minecraft:sandstone",
|
|
5319
|
+
"24:1": "minecraft:chiseled_sandstone",
|
|
5320
|
+
"24:2": "minecraft:cut_sandstone",
|
|
5321
|
+
"25:0": "minecraft:note_block",
|
|
5322
|
+
"26:0": "minecraft:red_bed[part=foot,facing=south,occupied=false]",
|
|
5323
|
+
"26:1": "minecraft:red_bed[part=foot,facing=west,occupied=false]",
|
|
5324
|
+
"26:2": "minecraft:red_bed[part=foot,facing=north,occupied=false]",
|
|
5325
|
+
"26:3": "minecraft:red_bed[part=foot,facing=east,occupied=false]",
|
|
5326
|
+
"26:4": "minecraft:red_bed[part=foot,facing=south,occupied=true]",
|
|
5327
|
+
"26:5": "minecraft:red_bed[part=foot,facing=west,occupied=true]",
|
|
5328
|
+
"26:6": "minecraft:red_bed[part=foot,facing=north,occupied=true]",
|
|
5329
|
+
"26:7": "minecraft:red_bed[part=foot,facing=east,occupied=true]",
|
|
5330
|
+
"26:8": "minecraft:red_bed[part=head,facing=south,occupied=false]",
|
|
5331
|
+
"26:9": "minecraft:red_bed[part=head,facing=west,occupied=false]",
|
|
5332
|
+
"26:10": "minecraft:red_bed[part=head,facing=north,occupied=false]",
|
|
5333
|
+
"26:11": "minecraft:red_bed[part=head,facing=east,occupied=false]",
|
|
5334
|
+
"26:12": "minecraft:red_bed[part=head,facing=south,occupied=true]",
|
|
5335
|
+
"26:13": "minecraft:red_bed[part=head,facing=west,occupied=true]",
|
|
5336
|
+
"26:14": "minecraft:red_bed[part=head,facing=north,occupied=true]",
|
|
5337
|
+
"26:15": "minecraft:red_bed[part=head,facing=east,occupied=true]",
|
|
5338
|
+
"27:0": "minecraft:powered_rail[shape=north_south,powered=false]",
|
|
5339
|
+
"27:1": "minecraft:powered_rail[shape=east_west,powered=false]",
|
|
5340
|
+
"27:2": "minecraft:powered_rail[shape=ascending_east,powered=false]",
|
|
5341
|
+
"27:3": "minecraft:powered_rail[shape=ascending_west,powered=false]",
|
|
5342
|
+
"27:4": "minecraft:powered_rail[shape=ascending_north,powered=false]",
|
|
5343
|
+
"27:5": "minecraft:powered_rail[shape=ascending_south,powered=false]",
|
|
5344
|
+
"27:8": "minecraft:powered_rail[shape=north_south,powered=true]",
|
|
5345
|
+
"27:9": "minecraft:powered_rail[shape=east_west,powered=true]",
|
|
5346
|
+
"27:10": "minecraft:powered_rail[shape=ascending_east,powered=true]",
|
|
5347
|
+
"27:11": "minecraft:powered_rail[shape=ascending_west,powered=true]",
|
|
5348
|
+
"27:12": "minecraft:powered_rail[shape=ascending_north,powered=true]",
|
|
5349
|
+
"27:13": "minecraft:powered_rail[shape=ascending_south,powered=true]",
|
|
5350
|
+
"28:0": "minecraft:detector_rail[shape=north_south,powered=false]",
|
|
5351
|
+
"28:1": "minecraft:detector_rail[shape=east_west,powered=false]",
|
|
5352
|
+
"28:2": "minecraft:detector_rail[shape=ascending_east,powered=false]",
|
|
5353
|
+
"28:3": "minecraft:detector_rail[shape=ascending_west,powered=false]",
|
|
5354
|
+
"28:4": "minecraft:detector_rail[shape=ascending_north,powered=false]",
|
|
5355
|
+
"28:5": "minecraft:detector_rail[shape=ascending_south,powered=false]",
|
|
5356
|
+
"28:8": "minecraft:detector_rail[shape=north_south,powered=true]",
|
|
5357
|
+
"28:9": "minecraft:detector_rail[shape=east_west,powered=true]",
|
|
5358
|
+
"28:10": "minecraft:detector_rail[shape=ascending_east,powered=true]",
|
|
5359
|
+
"28:11": "minecraft:detector_rail[shape=ascending_west,powered=true]",
|
|
5360
|
+
"28:12": "minecraft:detector_rail[shape=ascending_north,powered=true]",
|
|
5361
|
+
"28:13": "minecraft:detector_rail[shape=ascending_south,powered=true]",
|
|
5362
|
+
"29:0": "minecraft:sticky_piston[facing=down,extended=false]",
|
|
5363
|
+
"29:1": "minecraft:sticky_piston[facing=up,extended=false]",
|
|
5364
|
+
"29:2": "minecraft:sticky_piston[facing=north,extended=false]",
|
|
5365
|
+
"29:3": "minecraft:sticky_piston[facing=south,extended=false]",
|
|
5366
|
+
"29:4": "minecraft:sticky_piston[facing=west,extended=false]",
|
|
5367
|
+
"29:5": "minecraft:sticky_piston[facing=east,extended=false]",
|
|
5368
|
+
"29:8": "minecraft:sticky_piston[facing=down,extended=true]",
|
|
5369
|
+
"29:9": "minecraft:sticky_piston[facing=up,extended=true]",
|
|
5370
|
+
"29:10": "minecraft:sticky_piston[facing=north,extended=true]",
|
|
5371
|
+
"29:11": "minecraft:sticky_piston[facing=south,extended=true]",
|
|
5372
|
+
"29:12": "minecraft:sticky_piston[facing=west,extended=true]",
|
|
5373
|
+
"29:13": "minecraft:sticky_piston[facing=east,extended=true]",
|
|
5374
|
+
"30:0": "minecraft:cobweb",
|
|
5375
|
+
"31:0": "minecraft:dead_bush",
|
|
5376
|
+
"31:1": "minecraft:short_grass",
|
|
5377
|
+
"31:2": "minecraft:fern",
|
|
5378
|
+
"32:0": "minecraft:dead_bush",
|
|
5379
|
+
"33:0": "minecraft:piston[facing=down,extended=false]",
|
|
5380
|
+
"33:1": "minecraft:piston[facing=up,extended=false]",
|
|
5381
|
+
"33:2": "minecraft:piston[facing=north,extended=false]",
|
|
5382
|
+
"33:3": "minecraft:piston[facing=south,extended=false]",
|
|
5383
|
+
"33:4": "minecraft:piston[facing=west,extended=false]",
|
|
5384
|
+
"33:5": "minecraft:piston[facing=east,extended=false]",
|
|
5385
|
+
"33:8": "minecraft:piston[facing=down,extended=true]",
|
|
5386
|
+
"33:9": "minecraft:piston[facing=up,extended=true]",
|
|
5387
|
+
"33:10": "minecraft:piston[facing=north,extended=true]",
|
|
5388
|
+
"33:11": "minecraft:piston[facing=south,extended=true]",
|
|
5389
|
+
"33:12": "minecraft:piston[facing=west,extended=true]",
|
|
5390
|
+
"33:13": "minecraft:piston[facing=east,extended=true]",
|
|
5391
|
+
"34:0": "minecraft:piston_head[short=false,facing=down,type=normal]",
|
|
5392
|
+
"34:1": "minecraft:piston_head[short=false,facing=up,type=normal]",
|
|
5393
|
+
"34:2": "minecraft:piston_head[short=false,facing=north,type=normal]",
|
|
5394
|
+
"34:3": "minecraft:piston_head[short=false,facing=south,type=normal]",
|
|
5395
|
+
"34:4": "minecraft:piston_head[short=false,facing=west,type=normal]",
|
|
5396
|
+
"34:5": "minecraft:piston_head[short=false,facing=east,type=normal]",
|
|
5397
|
+
"34:8": "minecraft:piston_head[short=false,facing=down,type=sticky]",
|
|
5398
|
+
"34:9": "minecraft:piston_head[short=false,facing=up,type=sticky]",
|
|
5399
|
+
"34:10": "minecraft:piston_head[short=false,facing=north,type=sticky]",
|
|
5400
|
+
"34:11": "minecraft:piston_head[short=false,facing=south,type=sticky]",
|
|
5401
|
+
"34:12": "minecraft:piston_head[short=false,facing=west,type=sticky]",
|
|
5402
|
+
"34:13": "minecraft:piston_head[short=false,facing=east,type=sticky]",
|
|
5403
|
+
"35:0": "minecraft:white_wool",
|
|
5404
|
+
"35:1": "minecraft:orange_wool",
|
|
5405
|
+
"35:2": "minecraft:magenta_wool",
|
|
5406
|
+
"35:3": "minecraft:light_blue_wool",
|
|
5407
|
+
"35:4": "minecraft:yellow_wool",
|
|
5408
|
+
"35:5": "minecraft:lime_wool",
|
|
5409
|
+
"35:6": "minecraft:pink_wool",
|
|
5410
|
+
"35:7": "minecraft:gray_wool",
|
|
5411
|
+
"35:8": "minecraft:light_gray_wool",
|
|
5412
|
+
"35:9": "minecraft:cyan_wool",
|
|
5413
|
+
"35:10": "minecraft:purple_wool",
|
|
5414
|
+
"35:11": "minecraft:blue_wool",
|
|
5415
|
+
"35:12": "minecraft:brown_wool",
|
|
5416
|
+
"35:13": "minecraft:green_wool",
|
|
5417
|
+
"35:14": "minecraft:red_wool",
|
|
5418
|
+
"35:15": "minecraft:black_wool",
|
|
5419
|
+
"36:0": "minecraft:moving_piston[facing=down,type=normal]",
|
|
5420
|
+
"36:1": "minecraft:moving_piston[facing=up,type=normal]",
|
|
5421
|
+
"36:2": "minecraft:moving_piston[facing=north,type=normal]",
|
|
5422
|
+
"36:3": "minecraft:moving_piston[facing=south,type=normal]",
|
|
5423
|
+
"36:4": "minecraft:moving_piston[facing=west,type=normal]",
|
|
5424
|
+
"36:5": "minecraft:moving_piston[facing=east,type=normal]",
|
|
5425
|
+
"36:8": "minecraft:moving_piston[facing=down,type=sticky]",
|
|
5426
|
+
"36:9": "minecraft:moving_piston[facing=up,type=sticky]",
|
|
5427
|
+
"36:10": "minecraft:moving_piston[facing=north,type=sticky]",
|
|
5428
|
+
"36:11": "minecraft:moving_piston[facing=south,type=sticky]",
|
|
5429
|
+
"36:12": "minecraft:moving_piston[facing=west,type=sticky]",
|
|
5430
|
+
"36:13": "minecraft:moving_piston[facing=east,type=sticky]",
|
|
5431
|
+
"37:0": "minecraft:dandelion",
|
|
5432
|
+
"38:0": "minecraft:poppy",
|
|
5433
|
+
"38:1": "minecraft:blue_orchid",
|
|
5434
|
+
"38:2": "minecraft:allium",
|
|
5435
|
+
"38:3": "minecraft:azure_bluet",
|
|
5436
|
+
"38:4": "minecraft:red_tulip",
|
|
5437
|
+
"38:5": "minecraft:orange_tulip",
|
|
5438
|
+
"38:6": "minecraft:white_tulip",
|
|
5439
|
+
"38:7": "minecraft:pink_tulip",
|
|
5440
|
+
"38:8": "minecraft:oxeye_daisy",
|
|
5441
|
+
"39:0": "minecraft:brown_mushroom",
|
|
5442
|
+
"40:0": "minecraft:red_mushroom",
|
|
5443
|
+
"41:0": "minecraft:gold_block",
|
|
5444
|
+
"42:0": "minecraft:iron_block",
|
|
5445
|
+
"43:0": "minecraft:stone_slab[type=double]",
|
|
5446
|
+
"43:1": "minecraft:sandstone_slab[type=double]",
|
|
5447
|
+
"43:2": "minecraft:petrified_oak_slab[type=double]",
|
|
5448
|
+
"43:3": "minecraft:cobblestone_slab[type=double]",
|
|
5449
|
+
"43:4": "minecraft:brick_slab[type=double]",
|
|
5450
|
+
"43:5": "minecraft:stone_brick_slab[type=double]",
|
|
5451
|
+
"43:6": "minecraft:nether_brick_slab[type=double]",
|
|
5452
|
+
"43:7": "minecraft:quartz_slab[type=double]",
|
|
5453
|
+
"43:8": "minecraft:smooth_stone",
|
|
5454
|
+
"43:9": "minecraft:smooth_sandstone",
|
|
5455
|
+
"43:10": "minecraft:petrified_oak_slab[type=double]",
|
|
5456
|
+
"43:11": "minecraft:cobblestone_slab[type=double]",
|
|
5457
|
+
"43:12": "minecraft:brick_slab[type=double]",
|
|
5458
|
+
"43:13": "minecraft:stone_brick_slab[type=double]",
|
|
5459
|
+
"43:14": "minecraft:nether_brick_slab[type=double]",
|
|
5460
|
+
"43:15": "minecraft:smooth_quartz",
|
|
5461
|
+
"44:0": "minecraft:stone_slab[type=bottom]",
|
|
5462
|
+
"44:1": "minecraft:sandstone_slab[type=bottom]",
|
|
5463
|
+
"44:2": "minecraft:petrified_oak_slab[type=bottom]",
|
|
5464
|
+
"44:3": "minecraft:cobblestone_slab[type=bottom]",
|
|
5465
|
+
"44:4": "minecraft:brick_slab[type=bottom]",
|
|
5466
|
+
"44:5": "minecraft:stone_brick_slab[type=bottom]",
|
|
5467
|
+
"44:6": "minecraft:nether_brick_slab[type=bottom]",
|
|
5468
|
+
"44:7": "minecraft:quartz_slab[type=bottom]",
|
|
5469
|
+
"44:8": "minecraft:stone_slab[type=top]",
|
|
5470
|
+
"44:9": "minecraft:sandstone_slab[type=top]",
|
|
5471
|
+
"44:10": "minecraft:petrified_oak_slab[type=top]",
|
|
5472
|
+
"44:11": "minecraft:cobblestone_slab[type=top]",
|
|
5473
|
+
"44:12": "minecraft:brick_slab[type=top]",
|
|
5474
|
+
"44:13": "minecraft:stone_brick_slab[type=top]",
|
|
5475
|
+
"44:14": "minecraft:nether_brick_slab[type=top]",
|
|
5476
|
+
"44:15": "minecraft:quartz_slab[type=top]",
|
|
5477
|
+
"45:0": "minecraft:bricks",
|
|
5478
|
+
"46:0": "minecraft:tnt[unstable=false]",
|
|
5479
|
+
"46:1": "minecraft:tnt[unstable=true]",
|
|
5480
|
+
"47:0": "minecraft:bookshelf",
|
|
5481
|
+
"48:0": "minecraft:mossy_cobblestone",
|
|
5482
|
+
"49:0": "minecraft:obsidian",
|
|
5483
|
+
"50:1": "minecraft:wall_torch[facing=east]",
|
|
5484
|
+
"50:2": "minecraft:wall_torch[facing=west]",
|
|
5485
|
+
"50:3": "minecraft:wall_torch[facing=south]",
|
|
5486
|
+
"50:4": "minecraft:wall_torch[facing=north]",
|
|
5487
|
+
"50:5": "minecraft:torch",
|
|
5488
|
+
"51:0": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=0]",
|
|
5489
|
+
"51:1": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=1]",
|
|
5490
|
+
"51:2": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=2]",
|
|
5491
|
+
"51:3": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=3]",
|
|
5492
|
+
"51:4": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=4]",
|
|
5493
|
+
"51:5": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=5]",
|
|
5494
|
+
"51:6": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=6]",
|
|
5495
|
+
"51:7": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=7]",
|
|
5496
|
+
"51:8": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=8]",
|
|
5497
|
+
"51:9": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=9]",
|
|
5498
|
+
"51:10": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=10]",
|
|
5499
|
+
"51:11": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=11]",
|
|
5500
|
+
"51:12": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=12]",
|
|
5501
|
+
"51:13": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=13]",
|
|
5502
|
+
"51:14": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=14]",
|
|
5503
|
+
"51:15": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=15]",
|
|
5504
|
+
"52:0": "minecraft:spawner",
|
|
5505
|
+
"53:0": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
5506
|
+
"53:1": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
5507
|
+
"53:2": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
5508
|
+
"53:3": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
5509
|
+
"53:4": "minecraft:oak_stairs[half=top,shape=outer_right,facing=east]",
|
|
5510
|
+
"53:5": "minecraft:oak_stairs[half=top,shape=outer_right,facing=west]",
|
|
5511
|
+
"53:6": "minecraft:oak_stairs[half=top,shape=outer_right,facing=south]",
|
|
5512
|
+
"53:7": "minecraft:oak_stairs[half=top,shape=outer_right,facing=north]",
|
|
5513
|
+
"54:2": "minecraft:chest[facing=north,type=single]",
|
|
5514
|
+
"54:3": "minecraft:chest[facing=south,type=single]",
|
|
5515
|
+
"54:4": "minecraft:chest[facing=west,type=single]",
|
|
5516
|
+
"54:5": "minecraft:chest[facing=east,type=single]",
|
|
5517
|
+
"55:0": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=0]",
|
|
5518
|
+
"55:1": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=1]",
|
|
5519
|
+
"55:2": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=2]",
|
|
5520
|
+
"55:3": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=3]",
|
|
5521
|
+
"55:4": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=4]",
|
|
5522
|
+
"55:5": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=5]",
|
|
5523
|
+
"55:6": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=6]",
|
|
5524
|
+
"55:7": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=7]",
|
|
5525
|
+
"55:8": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=8]",
|
|
5526
|
+
"55:9": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=9]",
|
|
5527
|
+
"55:10": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=10]",
|
|
5528
|
+
"55:11": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=11]",
|
|
5529
|
+
"55:12": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=12]",
|
|
5530
|
+
"55:13": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=13]",
|
|
5531
|
+
"55:14": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=14]",
|
|
5532
|
+
"55:15": "minecraft:redstone_wire[east=none,south=none,north=none,west=none,power=15]",
|
|
5533
|
+
"56:0": "minecraft:diamond_ore",
|
|
5534
|
+
"57:0": "minecraft:diamond_block",
|
|
5535
|
+
"58:0": "minecraft:crafting_table",
|
|
5536
|
+
"59:0": "minecraft:wheat[age=0]",
|
|
5537
|
+
"59:1": "minecraft:wheat[age=1]",
|
|
5538
|
+
"59:2": "minecraft:wheat[age=2]",
|
|
5539
|
+
"59:3": "minecraft:wheat[age=3]",
|
|
5540
|
+
"59:4": "minecraft:wheat[age=4]",
|
|
5541
|
+
"59:5": "minecraft:wheat[age=5]",
|
|
5542
|
+
"59:6": "minecraft:wheat[age=6]",
|
|
5543
|
+
"59:7": "minecraft:wheat[age=7]",
|
|
5544
|
+
"60:0": "minecraft:farmland[moisture=0]",
|
|
5545
|
+
"60:1": "minecraft:farmland[moisture=1]",
|
|
5546
|
+
"60:2": "minecraft:farmland[moisture=2]",
|
|
5547
|
+
"60:3": "minecraft:farmland[moisture=3]",
|
|
5548
|
+
"60:4": "minecraft:farmland[moisture=4]",
|
|
5549
|
+
"60:5": "minecraft:farmland[moisture=5]",
|
|
5550
|
+
"60:6": "minecraft:farmland[moisture=6]",
|
|
5551
|
+
"60:7": "minecraft:farmland[moisture=7]",
|
|
5552
|
+
"61:2": "minecraft:furnace[facing=north,lit=false]",
|
|
5553
|
+
"61:3": "minecraft:furnace[facing=south,lit=false]",
|
|
5554
|
+
"61:4": "minecraft:furnace[facing=west,lit=false]",
|
|
5555
|
+
"61:5": "minecraft:furnace[facing=east,lit=false]",
|
|
5556
|
+
"62:2": "minecraft:furnace[facing=north,lit=true]",
|
|
5557
|
+
"62:3": "minecraft:furnace[facing=south,lit=true]",
|
|
5558
|
+
"62:4": "minecraft:furnace[facing=west,lit=true]",
|
|
5559
|
+
"62:5": "minecraft:furnace[facing=east,lit=true]",
|
|
5560
|
+
"63:0": "minecraft:oak_sign[rotation=0]",
|
|
5561
|
+
"63:1": "minecraft:oak_sign[rotation=1]",
|
|
5562
|
+
"63:2": "minecraft:oak_sign[rotation=2]",
|
|
5563
|
+
"63:3": "minecraft:oak_sign[rotation=3]",
|
|
5564
|
+
"63:4": "minecraft:oak_sign[rotation=4]",
|
|
5565
|
+
"63:5": "minecraft:oak_sign[rotation=5]",
|
|
5566
|
+
"63:6": "minecraft:oak_sign[rotation=6]",
|
|
5567
|
+
"63:7": "minecraft:oak_sign[rotation=7]",
|
|
5568
|
+
"63:8": "minecraft:oak_sign[rotation=8]",
|
|
5569
|
+
"63:9": "minecraft:oak_sign[rotation=9]",
|
|
5570
|
+
"63:10": "minecraft:oak_sign[rotation=10]",
|
|
5571
|
+
"63:11": "minecraft:oak_sign[rotation=11]",
|
|
5572
|
+
"63:12": "minecraft:oak_sign[rotation=12]",
|
|
5573
|
+
"63:13": "minecraft:oak_sign[rotation=13]",
|
|
5574
|
+
"63:14": "minecraft:oak_sign[rotation=14]",
|
|
5575
|
+
"63:15": "minecraft:oak_sign[rotation=15]",
|
|
5576
|
+
"64:0": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
|
|
5577
|
+
"64:1": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
|
|
5578
|
+
"64:2": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
|
|
5579
|
+
"64:3": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
|
|
5580
|
+
"64:4": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
|
|
5581
|
+
"64:5": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
|
|
5582
|
+
"64:6": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
|
|
5583
|
+
"64:7": "minecraft:oak_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
|
|
5584
|
+
"64:8": "minecraft:oak_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
|
|
5585
|
+
"64:9": "minecraft:oak_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
|
|
5586
|
+
"64:10": "minecraft:oak_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
|
|
5587
|
+
"64:11": "minecraft:oak_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
|
|
5588
|
+
"65:2": "minecraft:ladder[facing=north]",
|
|
5589
|
+
"65:3": "minecraft:ladder[facing=south]",
|
|
5590
|
+
"65:4": "minecraft:ladder[facing=west]",
|
|
5591
|
+
"65:5": "minecraft:ladder[facing=east]",
|
|
5592
|
+
"66:0": "minecraft:rail[shape=north_south]",
|
|
5593
|
+
"66:1": "minecraft:rail[shape=east_west]",
|
|
5594
|
+
"66:2": "minecraft:rail[shape=ascending_east]",
|
|
5595
|
+
"66:3": "minecraft:rail[shape=ascending_west]",
|
|
5596
|
+
"66:4": "minecraft:rail[shape=ascending_north]",
|
|
5597
|
+
"66:5": "minecraft:rail[shape=ascending_south]",
|
|
5598
|
+
"66:6": "minecraft:rail[shape=south_east]",
|
|
5599
|
+
"66:7": "minecraft:rail[shape=south_west]",
|
|
5600
|
+
"66:8": "minecraft:rail[shape=north_west]",
|
|
5601
|
+
"66:9": "minecraft:rail[shape=north_east]",
|
|
5602
|
+
"67:0": "minecraft:cobblestone_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
5603
|
+
"67:1": "minecraft:cobblestone_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
5604
|
+
"67:2": "minecraft:cobblestone_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
5605
|
+
"67:3": "minecraft:cobblestone_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
5606
|
+
"67:4": "minecraft:cobblestone_stairs[half=top,shape=outer_right,facing=east]",
|
|
5607
|
+
"67:5": "minecraft:cobblestone_stairs[half=top,shape=outer_right,facing=west]",
|
|
5608
|
+
"67:6": "minecraft:cobblestone_stairs[half=top,shape=outer_right,facing=south]",
|
|
5609
|
+
"67:7": "minecraft:cobblestone_stairs[half=top,shape=outer_right,facing=north]",
|
|
5610
|
+
"68:2": "minecraft:oak_wall_sign[facing=north]",
|
|
5611
|
+
"68:3": "minecraft:oak_wall_sign[facing=south]",
|
|
5612
|
+
"68:4": "minecraft:oak_wall_sign[facing=west]",
|
|
5613
|
+
"68:5": "minecraft:oak_wall_sign[facing=east]",
|
|
5614
|
+
"69:0": "minecraft:lever[powered=false,facing=north,face=ceiling]",
|
|
5615
|
+
"69:1": "minecraft:lever[powered=false,facing=east,face=wall]",
|
|
5616
|
+
"69:2": "minecraft:lever[powered=false,facing=west,face=wall]",
|
|
5617
|
+
"69:3": "minecraft:lever[powered=false,facing=south,face=wall]",
|
|
5618
|
+
"69:4": "minecraft:lever[powered=false,facing=north,face=wall]",
|
|
5619
|
+
"69:5": "minecraft:lever[powered=false,facing=east,face=floor]",
|
|
5620
|
+
"69:6": "minecraft:lever[powered=false,facing=north,face=floor]",
|
|
5621
|
+
"69:7": "minecraft:lever[powered=false,facing=east,face=ceiling]",
|
|
5622
|
+
"69:8": "minecraft:lever[powered=true,facing=north,face=ceiling]",
|
|
5623
|
+
"69:9": "minecraft:lever[powered=true,facing=east,face=wall]",
|
|
5624
|
+
"69:10": "minecraft:lever[powered=true,facing=west,face=wall]",
|
|
5625
|
+
"69:11": "minecraft:lever[powered=true,facing=south,face=wall]",
|
|
5626
|
+
"69:12": "minecraft:lever[powered=true,facing=north,face=wall]",
|
|
5627
|
+
"69:13": "minecraft:lever[powered=true,facing=east,face=floor]",
|
|
5628
|
+
"69:14": "minecraft:lever[powered=true,facing=north,face=floor]",
|
|
5629
|
+
"69:15": "minecraft:lever[powered=true,facing=east,face=ceiling]",
|
|
5630
|
+
"70:0": "minecraft:stone_pressure_plate[powered=false]",
|
|
5631
|
+
"70:1": "minecraft:stone_pressure_plate[powered=true]",
|
|
5632
|
+
"71:0": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
|
|
5633
|
+
"71:1": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
|
|
5634
|
+
"71:2": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
|
|
5635
|
+
"71:3": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
|
|
5636
|
+
"71:4": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
|
|
5637
|
+
"71:5": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
|
|
5638
|
+
"71:6": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
|
|
5639
|
+
"71:7": "minecraft:iron_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
|
|
5640
|
+
"71:8": "minecraft:iron_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
|
|
5641
|
+
"71:9": "minecraft:iron_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
|
|
5642
|
+
"71:10": "minecraft:iron_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
|
|
5643
|
+
"71:11": "minecraft:iron_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
|
|
5644
|
+
"72:0": "minecraft:oak_pressure_plate[powered=false]",
|
|
5645
|
+
"72:1": "minecraft:oak_pressure_plate[powered=true]",
|
|
5646
|
+
"73:0": "minecraft:redstone_ore[lit=false]",
|
|
5647
|
+
"74:0": "minecraft:redstone_ore[lit=true]",
|
|
5648
|
+
"75:1": "minecraft:redstone_wall_torch[facing=east,lit=false]",
|
|
5649
|
+
"75:2": "minecraft:redstone_wall_torch[facing=west,lit=false]",
|
|
5650
|
+
"75:3": "minecraft:redstone_wall_torch[facing=south,lit=false]",
|
|
5651
|
+
"75:4": "minecraft:redstone_wall_torch[facing=north,lit=false]",
|
|
5652
|
+
"75:5": "minecraft:redstone_torch[lit=false]",
|
|
5653
|
+
"76:1": "minecraft:redstone_wall_torch[facing=east,lit=true]",
|
|
5654
|
+
"76:2": "minecraft:redstone_wall_torch[facing=west,lit=true]",
|
|
5655
|
+
"76:3": "minecraft:redstone_wall_torch[facing=south,lit=true]",
|
|
5656
|
+
"76:4": "minecraft:redstone_wall_torch[facing=north,lit=true]",
|
|
5657
|
+
"76:5": "minecraft:redstone_torch[lit=true]",
|
|
5658
|
+
"77:0": "minecraft:stone_button[powered=false,facing=east,face=ceiling]",
|
|
5659
|
+
"77:1": "minecraft:stone_button[powered=false,facing=east,face=wall]",
|
|
5660
|
+
"77:2": "minecraft:stone_button[powered=false,facing=west,face=wall]",
|
|
5661
|
+
"77:3": "minecraft:stone_button[powered=false,facing=south,face=wall]",
|
|
5662
|
+
"77:4": "minecraft:stone_button[powered=false,facing=north,face=wall]",
|
|
5663
|
+
"77:5": "minecraft:stone_button[powered=false,facing=east,face=floor]",
|
|
5664
|
+
"77:8": "minecraft:stone_button[powered=true,facing=south,face=ceiling]",
|
|
5665
|
+
"77:9": "minecraft:stone_button[powered=true,facing=east,face=wall]",
|
|
5666
|
+
"77:10": "minecraft:stone_button[powered=true,facing=west,face=wall]",
|
|
5667
|
+
"77:11": "minecraft:stone_button[powered=true,facing=south,face=wall]",
|
|
5668
|
+
"77:12": "minecraft:stone_button[powered=true,facing=north,face=wall]",
|
|
5669
|
+
"77:13": "minecraft:stone_button[powered=true,facing=south,face=floor]",
|
|
5670
|
+
"78:0": "minecraft:snow[layers=1]",
|
|
5671
|
+
"78:1": "minecraft:snow[layers=2]",
|
|
5672
|
+
"78:2": "minecraft:snow[layers=3]",
|
|
5673
|
+
"78:3": "minecraft:snow[layers=4]",
|
|
5674
|
+
"78:4": "minecraft:snow[layers=5]",
|
|
5675
|
+
"78:5": "minecraft:snow[layers=6]",
|
|
5676
|
+
"78:6": "minecraft:snow[layers=7]",
|
|
5677
|
+
"78:7": "minecraft:snow[layers=8]",
|
|
5678
|
+
"79:0": "minecraft:ice",
|
|
5679
|
+
"80:0": "minecraft:snow_block",
|
|
5680
|
+
"81:0": "minecraft:cactus[age=0]",
|
|
5681
|
+
"81:1": "minecraft:cactus[age=1]",
|
|
5682
|
+
"81:2": "minecraft:cactus[age=2]",
|
|
5683
|
+
"81:3": "minecraft:cactus[age=3]",
|
|
5684
|
+
"81:4": "minecraft:cactus[age=4]",
|
|
5685
|
+
"81:5": "minecraft:cactus[age=5]",
|
|
5686
|
+
"81:6": "minecraft:cactus[age=6]",
|
|
5687
|
+
"81:7": "minecraft:cactus[age=7]",
|
|
5688
|
+
"81:8": "minecraft:cactus[age=8]",
|
|
5689
|
+
"81:9": "minecraft:cactus[age=9]",
|
|
5690
|
+
"81:10": "minecraft:cactus[age=10]",
|
|
5691
|
+
"81:11": "minecraft:cactus[age=11]",
|
|
5692
|
+
"81:12": "minecraft:cactus[age=12]",
|
|
5693
|
+
"81:13": "minecraft:cactus[age=13]",
|
|
5694
|
+
"81:14": "minecraft:cactus[age=14]",
|
|
5695
|
+
"81:15": "minecraft:cactus[age=15]",
|
|
5696
|
+
"82:0": "minecraft:clay",
|
|
5697
|
+
"83:0": "minecraft:sugar_cane[age=0]",
|
|
5698
|
+
"83:1": "minecraft:sugar_cane[age=1]",
|
|
5699
|
+
"83:2": "minecraft:sugar_cane[age=2]",
|
|
5700
|
+
"83:3": "minecraft:sugar_cane[age=3]",
|
|
5701
|
+
"83:4": "minecraft:sugar_cane[age=4]",
|
|
5702
|
+
"83:5": "minecraft:sugar_cane[age=5]",
|
|
5703
|
+
"83:6": "minecraft:sugar_cane[age=6]",
|
|
5704
|
+
"83:7": "minecraft:sugar_cane[age=7]",
|
|
5705
|
+
"83:8": "minecraft:sugar_cane[age=8]",
|
|
5706
|
+
"83:9": "minecraft:sugar_cane[age=9]",
|
|
5707
|
+
"83:10": "minecraft:sugar_cane[age=10]",
|
|
5708
|
+
"83:11": "minecraft:sugar_cane[age=11]",
|
|
5709
|
+
"83:12": "minecraft:sugar_cane[age=12]",
|
|
5710
|
+
"83:13": "minecraft:sugar_cane[age=13]",
|
|
5711
|
+
"83:14": "minecraft:sugar_cane[age=14]",
|
|
5712
|
+
"83:15": "minecraft:sugar_cane[age=15]",
|
|
5713
|
+
"84:0": "minecraft:jukebox[has_record=false]",
|
|
5714
|
+
"84:1": "minecraft:jukebox[has_record=true]",
|
|
5715
|
+
"85:0": "minecraft:oak_fence[east=false,south=false,north=false,west=false]",
|
|
5716
|
+
"86:0": "minecraft:carved_pumpkin[facing=south]",
|
|
5717
|
+
"86:1": "minecraft:carved_pumpkin[facing=west]",
|
|
5718
|
+
"86:2": "minecraft:carved_pumpkin[facing=north]",
|
|
5719
|
+
"86:3": "minecraft:carved_pumpkin[facing=east]",
|
|
5720
|
+
"87:0": "minecraft:netherrack",
|
|
5721
|
+
"88:0": "minecraft:soul_sand",
|
|
5722
|
+
"89:0": "minecraft:glowstone",
|
|
5723
|
+
"90:1": "minecraft:nether_portal[axis=x]",
|
|
5724
|
+
"90:2": "minecraft:nether_portal[axis=z]",
|
|
5725
|
+
"91:0": "minecraft:jack_o_lantern[facing=south]",
|
|
5726
|
+
"91:1": "minecraft:jack_o_lantern[facing=west]",
|
|
5727
|
+
"91:2": "minecraft:jack_o_lantern[facing=north]",
|
|
5728
|
+
"91:3": "minecraft:jack_o_lantern[facing=east]",
|
|
5729
|
+
"92:0": "minecraft:cake[bites=0]",
|
|
5730
|
+
"92:1": "minecraft:cake[bites=1]",
|
|
5731
|
+
"92:2": "minecraft:cake[bites=2]",
|
|
5732
|
+
"92:3": "minecraft:cake[bites=3]",
|
|
5733
|
+
"92:4": "minecraft:cake[bites=4]",
|
|
5734
|
+
"92:5": "minecraft:cake[bites=5]",
|
|
5735
|
+
"92:6": "minecraft:cake[bites=6]",
|
|
5736
|
+
"93:0": "minecraft:repeater[delay=1,facing=south,locked=false,powered=false]",
|
|
5737
|
+
"93:1": "minecraft:repeater[delay=1,facing=west,locked=false,powered=false]",
|
|
5738
|
+
"93:2": "minecraft:repeater[delay=1,facing=north,locked=false,powered=false]",
|
|
5739
|
+
"93:3": "minecraft:repeater[delay=1,facing=east,locked=false,powered=false]",
|
|
5740
|
+
"93:4": "minecraft:repeater[delay=2,facing=south,locked=false,powered=false]",
|
|
5741
|
+
"93:5": "minecraft:repeater[delay=2,facing=west,locked=false,powered=false]",
|
|
5742
|
+
"93:6": "minecraft:repeater[delay=2,facing=north,locked=false,powered=false]",
|
|
5743
|
+
"93:7": "minecraft:repeater[delay=2,facing=east,locked=false,powered=false]",
|
|
5744
|
+
"93:8": "minecraft:repeater[delay=3,facing=south,locked=false,powered=false]",
|
|
5745
|
+
"93:9": "minecraft:repeater[delay=3,facing=west,locked=false,powered=false]",
|
|
5746
|
+
"93:10": "minecraft:repeater[delay=3,facing=north,locked=false,powered=false]",
|
|
5747
|
+
"93:11": "minecraft:repeater[delay=3,facing=east,locked=false,powered=false]",
|
|
5748
|
+
"93:12": "minecraft:repeater[delay=4,facing=south,locked=false,powered=false]",
|
|
5749
|
+
"93:13": "minecraft:repeater[delay=4,facing=west,locked=false,powered=false]",
|
|
5750
|
+
"93:14": "minecraft:repeater[delay=4,facing=north,locked=false,powered=false]",
|
|
5751
|
+
"93:15": "minecraft:repeater[delay=4,facing=east,locked=false,powered=false]",
|
|
5752
|
+
"94:0": "minecraft:repeater[delay=1,facing=south,locked=false,powered=true]",
|
|
5753
|
+
"94:1": "minecraft:repeater[delay=1,facing=west,locked=false,powered=true]",
|
|
5754
|
+
"94:2": "minecraft:repeater[delay=1,facing=north,locked=false,powered=true]",
|
|
5755
|
+
"94:3": "minecraft:repeater[delay=1,facing=east,locked=false,powered=true]",
|
|
5756
|
+
"94:4": "minecraft:repeater[delay=2,facing=south,locked=false,powered=true]",
|
|
5757
|
+
"94:5": "minecraft:repeater[delay=2,facing=west,locked=false,powered=true]",
|
|
5758
|
+
"94:6": "minecraft:repeater[delay=2,facing=north,locked=false,powered=true]",
|
|
5759
|
+
"94:7": "minecraft:repeater[delay=2,facing=east,locked=false,powered=true]",
|
|
5760
|
+
"94:8": "minecraft:repeater[delay=3,facing=south,locked=false,powered=true]",
|
|
5761
|
+
"94:9": "minecraft:repeater[delay=3,facing=west,locked=false,powered=true]",
|
|
5762
|
+
"94:10": "minecraft:repeater[delay=3,facing=north,locked=false,powered=true]",
|
|
5763
|
+
"94:11": "minecraft:repeater[delay=3,facing=east,locked=false,powered=true]",
|
|
5764
|
+
"94:12": "minecraft:repeater[delay=4,facing=south,locked=false,powered=true]",
|
|
5765
|
+
"94:13": "minecraft:repeater[delay=4,facing=west,locked=false,powered=true]",
|
|
5766
|
+
"94:14": "minecraft:repeater[delay=4,facing=north,locked=false,powered=true]",
|
|
5767
|
+
"94:15": "minecraft:repeater[delay=4,facing=east,locked=false,powered=true]",
|
|
5768
|
+
"95:0": "minecraft:white_stained_glass",
|
|
5769
|
+
"95:1": "minecraft:orange_stained_glass",
|
|
5770
|
+
"95:2": "minecraft:magenta_stained_glass",
|
|
5771
|
+
"95:3": "minecraft:light_blue_stained_glass",
|
|
5772
|
+
"95:4": "minecraft:yellow_stained_glass",
|
|
5773
|
+
"95:5": "minecraft:lime_stained_glass",
|
|
5774
|
+
"95:6": "minecraft:pink_stained_glass",
|
|
5775
|
+
"95:7": "minecraft:gray_stained_glass",
|
|
5776
|
+
"95:8": "minecraft:light_gray_stained_glass",
|
|
5777
|
+
"95:9": "minecraft:cyan_stained_glass",
|
|
5778
|
+
"95:10": "minecraft:purple_stained_glass",
|
|
5779
|
+
"95:11": "minecraft:blue_stained_glass",
|
|
5780
|
+
"95:12": "minecraft:brown_stained_glass",
|
|
5781
|
+
"95:13": "minecraft:green_stained_glass",
|
|
5782
|
+
"95:14": "minecraft:red_stained_glass",
|
|
5783
|
+
"95:15": "minecraft:black_stained_glass",
|
|
5784
|
+
"96:0": "minecraft:oak_trapdoor[half=bottom,facing=north,open=false,powered=false]",
|
|
5785
|
+
"96:1": "minecraft:oak_trapdoor[half=bottom,facing=south,open=false,powered=false]",
|
|
5786
|
+
"96:2": "minecraft:oak_trapdoor[half=bottom,facing=west,open=false,powered=false]",
|
|
5787
|
+
"96:3": "minecraft:oak_trapdoor[half=bottom,facing=east,open=false,powered=false]",
|
|
5788
|
+
"96:4": "minecraft:oak_trapdoor[half=bottom,facing=north,open=true,powered=true]",
|
|
5789
|
+
"96:5": "minecraft:oak_trapdoor[half=bottom,facing=south,open=true,powered=true]",
|
|
5790
|
+
"96:6": "minecraft:oak_trapdoor[half=bottom,facing=west,open=true,powered=true]",
|
|
5791
|
+
"96:7": "minecraft:oak_trapdoor[half=bottom,facing=east,open=true,powered=true]",
|
|
5792
|
+
"96:8": "minecraft:oak_trapdoor[half=top,facing=north,open=false,powered=false]",
|
|
5793
|
+
"96:9": "minecraft:oak_trapdoor[half=top,facing=south,open=false,powered=false]",
|
|
5794
|
+
"96:10": "minecraft:oak_trapdoor[half=top,facing=west,open=false,powered=false]",
|
|
5795
|
+
"96:11": "minecraft:oak_trapdoor[half=top,facing=east,open=false,powered=false]",
|
|
5796
|
+
"96:12": "minecraft:oak_trapdoor[half=top,facing=north,open=true,powered=true]",
|
|
5797
|
+
"96:13": "minecraft:oak_trapdoor[half=top,facing=south,open=true,powered=true]",
|
|
5798
|
+
"96:14": "minecraft:oak_trapdoor[half=top,facing=west,open=true,powered=true]",
|
|
5799
|
+
"96:15": "minecraft:oak_trapdoor[half=top,facing=east,open=true,powered=true]",
|
|
5800
|
+
"97:0": "minecraft:infested_stone",
|
|
5801
|
+
"97:1": "minecraft:infested_cobblestone",
|
|
5802
|
+
"97:2": "minecraft:infested_stone_bricks",
|
|
5803
|
+
"97:3": "minecraft:infested_mossy_stone_bricks",
|
|
5804
|
+
"97:4": "minecraft:infested_cracked_stone_bricks",
|
|
5805
|
+
"97:5": "minecraft:infested_chiseled_stone_bricks",
|
|
5806
|
+
"98:0": "minecraft:stone_bricks",
|
|
5807
|
+
"98:1": "minecraft:mossy_stone_bricks",
|
|
5808
|
+
"98:2": "minecraft:cracked_stone_bricks",
|
|
5809
|
+
"98:3": "minecraft:chiseled_stone_bricks",
|
|
5810
|
+
"99:0": "minecraft:brown_mushroom_block[north=false,east=false,south=false,west=false,up=false,down=false]",
|
|
5811
|
+
"99:1": "minecraft:brown_mushroom_block[north=true,east=false,south=false,west=true,up=true,down=false]",
|
|
5812
|
+
"99:2": "minecraft:brown_mushroom_block[north=true,east=false,south=false,west=false,up=true,down=false]",
|
|
5813
|
+
"99:3": "minecraft:brown_mushroom_block[north=true,east=true,south=false,west=false,up=true,down=false]",
|
|
5814
|
+
"99:4": "minecraft:brown_mushroom_block[north=false,east=false,south=false,west=true,up=true,down=false]",
|
|
5815
|
+
"99:5": "minecraft:brown_mushroom_block[north=false,east=false,south=false,west=false,up=true,down=false]",
|
|
5816
|
+
"99:6": "minecraft:brown_mushroom_block[north=false,east=true,south=false,west=false,up=true,down=false]",
|
|
5817
|
+
"99:7": "minecraft:brown_mushroom_block[north=false,east=false,south=true,west=true,up=true,down=false]",
|
|
5818
|
+
"99:8": "minecraft:brown_mushroom_block[north=false,east=false,south=true,west=false,up=true,down=false]",
|
|
5819
|
+
"99:9": "minecraft:brown_mushroom_block[north=false,east=true,south=true,west=false,up=true,down=false]",
|
|
5820
|
+
"99:10": "minecraft:mushroom_stem[north=true,east=true,south=true,west=true,up=false,down=false]",
|
|
5821
|
+
"99:14": "minecraft:brown_mushroom_block[north=true,east=true,south=true,west=true,up=true,down=true]",
|
|
5822
|
+
"99:15": "minecraft:mushroom_stem[north=true,east=true,south=true,west=true,up=true,down=true]",
|
|
5823
|
+
"100:0": "minecraft:red_mushroom_block[north=false,east=false,south=false,west=false,up=false,down=false]",
|
|
5824
|
+
"100:1": "minecraft:red_mushroom_block[north=true,east=false,south=false,west=true,up=true,down=false]",
|
|
5825
|
+
"100:2": "minecraft:red_mushroom_block[north=true,east=false,south=false,west=false,up=true,down=false]",
|
|
5826
|
+
"100:3": "minecraft:red_mushroom_block[north=true,east=true,south=false,west=false,up=true,down=false]",
|
|
5827
|
+
"100:4": "minecraft:red_mushroom_block[north=false,east=false,south=false,west=true,up=true,down=false]",
|
|
5828
|
+
"100:5": "minecraft:red_mushroom_block[north=false,east=false,south=false,west=false,up=true,down=false]",
|
|
5829
|
+
"100:6": "minecraft:red_mushroom_block[north=false,east=true,south=false,west=false,up=true,down=false]",
|
|
5830
|
+
"100:7": "minecraft:red_mushroom_block[north=false,east=false,south=true,west=true,up=true,down=false]",
|
|
5831
|
+
"100:8": "minecraft:red_mushroom_block[north=false,east=false,south=true,west=false,up=true,down=false]",
|
|
5832
|
+
"100:9": "minecraft:red_mushroom_block[north=false,east=true,south=true,west=false,up=true,down=false]",
|
|
5833
|
+
"100:10": "minecraft:mushroom_stem[north=true,east=true,south=true,west=true,up=false,down=false]",
|
|
5834
|
+
"100:14": "minecraft:red_mushroom_block[north=true,east=true,south=true,west=true,up=true,down=true]",
|
|
5835
|
+
"100:15": "minecraft:mushroom_stem[north=true,east=true,south=true,west=true,up=true,down=true]",
|
|
5836
|
+
"101:0": "minecraft:iron_bars[east=false,south=false,north=false,west=false]",
|
|
5837
|
+
"102:0": "minecraft:glass_pane[east=false,south=false,north=false,west=false]",
|
|
5838
|
+
"103:0": "minecraft:melon",
|
|
5839
|
+
"104:0": "minecraft:pumpkin_stem[age=0]",
|
|
5840
|
+
"104:1": "minecraft:pumpkin_stem[age=1]",
|
|
5841
|
+
"104:2": "minecraft:pumpkin_stem[age=2]",
|
|
5842
|
+
"104:3": "minecraft:pumpkin_stem[age=3]",
|
|
5843
|
+
"104:4": "minecraft:pumpkin_stem[age=4]",
|
|
5844
|
+
"104:5": "minecraft:pumpkin_stem[age=5]",
|
|
5845
|
+
"104:6": "minecraft:pumpkin_stem[age=6]",
|
|
5846
|
+
"104:7": "minecraft:pumpkin_stem[age=7]",
|
|
5847
|
+
"105:0": "minecraft:melon_stem[age=0]",
|
|
5848
|
+
"105:1": "minecraft:melon_stem[age=1]",
|
|
5849
|
+
"105:2": "minecraft:melon_stem[age=2]",
|
|
5850
|
+
"105:3": "minecraft:melon_stem[age=3]",
|
|
5851
|
+
"105:4": "minecraft:melon_stem[age=4]",
|
|
5852
|
+
"105:5": "minecraft:melon_stem[age=5]",
|
|
5853
|
+
"105:6": "minecraft:melon_stem[age=6]",
|
|
5854
|
+
"105:7": "minecraft:melon_stem[age=7]",
|
|
5855
|
+
"106:0": "minecraft:vine[east=false,south=false,north=false,west=false,up=false]",
|
|
5856
|
+
"106:1": "minecraft:vine[east=false,south=true,north=false,west=false,up=false]",
|
|
5857
|
+
"106:2": "minecraft:vine[east=false,south=false,north=false,west=true,up=false]",
|
|
5858
|
+
"106:3": "minecraft:vine[east=false,south=true,north=false,west=true,up=false]",
|
|
5859
|
+
"106:4": "minecraft:vine[east=false,south=false,north=true,west=false,up=false]",
|
|
5860
|
+
"106:5": "minecraft:vine[east=false,south=true,north=true,west=false,up=false]",
|
|
5861
|
+
"106:6": "minecraft:vine[east=false,south=false,north=true,west=true,up=false]",
|
|
5862
|
+
"106:7": "minecraft:vine[east=false,south=true,north=true,west=true,up=false]",
|
|
5863
|
+
"106:8": "minecraft:vine[east=true,south=false,north=false,west=false,up=false]",
|
|
5864
|
+
"106:9": "minecraft:vine[east=true,south=true,north=false,west=false,up=false]",
|
|
5865
|
+
"106:10": "minecraft:vine[east=true,south=false,north=false,west=true,up=false]",
|
|
5866
|
+
"106:11": "minecraft:vine[east=true,south=true,north=false,west=true,up=false]",
|
|
5867
|
+
"106:12": "minecraft:vine[east=true,south=false,north=true,west=false,up=false]",
|
|
5868
|
+
"106:13": "minecraft:vine[east=true,south=true,north=true,west=false,up=false]",
|
|
5869
|
+
"106:14": "minecraft:vine[east=true,south=false,north=true,west=true,up=false]",
|
|
5870
|
+
"106:15": "minecraft:vine[east=true,south=true,north=true,west=true,up=false]",
|
|
5871
|
+
"107:0": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
|
|
5872
|
+
"107:1": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
|
|
5873
|
+
"107:2": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
|
|
5874
|
+
"107:3": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
|
|
5875
|
+
"107:4": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
|
|
5876
|
+
"107:5": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
|
|
5877
|
+
"107:6": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
|
|
5878
|
+
"107:7": "minecraft:oak_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
|
|
5879
|
+
"107:8": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
|
|
5880
|
+
"107:9": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
|
|
5881
|
+
"107:10": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
|
|
5882
|
+
"107:11": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
|
|
5883
|
+
"107:12": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
|
|
5884
|
+
"107:13": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
|
|
5885
|
+
"107:14": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
|
|
5886
|
+
"107:15": "minecraft:oak_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
|
|
5887
|
+
"108:0": "minecraft:brick_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
5888
|
+
"108:1": "minecraft:brick_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
5889
|
+
"108:2": "minecraft:brick_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
5890
|
+
"108:3": "minecraft:brick_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
5891
|
+
"108:4": "minecraft:brick_stairs[half=top,shape=outer_right,facing=east]",
|
|
5892
|
+
"108:5": "minecraft:brick_stairs[half=top,shape=outer_right,facing=west]",
|
|
5893
|
+
"108:6": "minecraft:brick_stairs[half=top,shape=outer_right,facing=south]",
|
|
5894
|
+
"108:7": "minecraft:brick_stairs[half=top,shape=outer_right,facing=north]",
|
|
5895
|
+
"109:0": "minecraft:stone_brick_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
5896
|
+
"109:1": "minecraft:stone_brick_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
5897
|
+
"109:2": "minecraft:stone_brick_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
5898
|
+
"109:3": "minecraft:stone_brick_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
5899
|
+
"109:4": "minecraft:stone_brick_stairs[half=top,shape=outer_right,facing=east]",
|
|
5900
|
+
"109:5": "minecraft:stone_brick_stairs[half=top,shape=outer_right,facing=west]",
|
|
5901
|
+
"109:6": "minecraft:stone_brick_stairs[half=top,shape=outer_right,facing=south]",
|
|
5902
|
+
"109:7": "minecraft:stone_brick_stairs[half=top,shape=outer_right,facing=north]",
|
|
5903
|
+
"110:0": "minecraft:mycelium[snowy=false]",
|
|
5904
|
+
"111:0": "minecraft:lily_pad",
|
|
5905
|
+
"112:0": "minecraft:nether_bricks",
|
|
5906
|
+
"113:0": "minecraft:nether_brick_fence[east=false,south=false,north=false,west=false]",
|
|
5907
|
+
"114:0": "minecraft:nether_brick_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
5908
|
+
"114:1": "minecraft:nether_brick_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
5909
|
+
"114:2": "minecraft:nether_brick_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
5910
|
+
"114:3": "minecraft:nether_brick_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
5911
|
+
"114:4": "minecraft:nether_brick_stairs[half=top,shape=outer_right,facing=east]",
|
|
5912
|
+
"114:5": "minecraft:nether_brick_stairs[half=top,shape=outer_right,facing=west]",
|
|
5913
|
+
"114:6": "minecraft:nether_brick_stairs[half=top,shape=outer_right,facing=south]",
|
|
5914
|
+
"114:7": "minecraft:nether_brick_stairs[half=top,shape=outer_right,facing=north]",
|
|
5915
|
+
"115:0": "minecraft:nether_wart[age=0]",
|
|
5916
|
+
"115:1": "minecraft:nether_wart[age=1]",
|
|
5917
|
+
"115:2": "minecraft:nether_wart[age=2]",
|
|
5918
|
+
"115:3": "minecraft:nether_wart[age=3]",
|
|
5919
|
+
"116:0": "minecraft:enchanting_table",
|
|
5920
|
+
"117:0": "minecraft:brewing_stand[has_bottle_0=false,has_bottle_1=false,has_bottle_2=false]",
|
|
5921
|
+
"117:1": "minecraft:brewing_stand[has_bottle_0=true,has_bottle_1=false,has_bottle_2=false]",
|
|
5922
|
+
"117:2": "minecraft:brewing_stand[has_bottle_0=false,has_bottle_1=true,has_bottle_2=false]",
|
|
5923
|
+
"117:3": "minecraft:brewing_stand[has_bottle_0=true,has_bottle_1=true,has_bottle_2=false]",
|
|
5924
|
+
"117:4": "minecraft:brewing_stand[has_bottle_0=false,has_bottle_1=false,has_bottle_2=true]",
|
|
5925
|
+
"117:5": "minecraft:brewing_stand[has_bottle_0=true,has_bottle_1=false,has_bottle_2=true]",
|
|
5926
|
+
"117:6": "minecraft:brewing_stand[has_bottle_0=false,has_bottle_1=true,has_bottle_2=true]",
|
|
5927
|
+
"117:7": "minecraft:brewing_stand[has_bottle_0=true,has_bottle_1=true,has_bottle_2=true]",
|
|
5928
|
+
"118:0": "minecraft:cauldron",
|
|
5929
|
+
"118:1": "minecraft:water_cauldron[level=1]",
|
|
5930
|
+
"118:2": "minecraft:water_cauldron[level=2]",
|
|
5931
|
+
"118:3": "minecraft:water_cauldron[level=3]",
|
|
5932
|
+
"119:0": "minecraft:end_portal",
|
|
5933
|
+
"120:0": "minecraft:end_portal_frame[eye=false,facing=south]",
|
|
5934
|
+
"120:1": "minecraft:end_portal_frame[eye=false,facing=west]",
|
|
5935
|
+
"120:2": "minecraft:end_portal_frame[eye=false,facing=north]",
|
|
5936
|
+
"120:3": "minecraft:end_portal_frame[eye=false,facing=east]",
|
|
5937
|
+
"120:4": "minecraft:end_portal_frame[eye=true,facing=south]",
|
|
5938
|
+
"120:5": "minecraft:end_portal_frame[eye=true,facing=west]",
|
|
5939
|
+
"120:6": "minecraft:end_portal_frame[eye=true,facing=north]",
|
|
5940
|
+
"120:7": "minecraft:end_portal_frame[eye=true,facing=east]",
|
|
5941
|
+
"121:0": "minecraft:end_stone",
|
|
5942
|
+
"122:0": "minecraft:dragon_egg",
|
|
5943
|
+
"123:0": "minecraft:redstone_lamp[lit=false]",
|
|
5944
|
+
"124:0": "minecraft:redstone_lamp[lit=true]",
|
|
5945
|
+
"125:0": "minecraft:oak_slab[type=double]",
|
|
5946
|
+
"125:1": "minecraft:spruce_slab[type=double]",
|
|
5947
|
+
"125:2": "minecraft:birch_slab[type=double]",
|
|
5948
|
+
"125:3": "minecraft:jungle_slab[type=double]",
|
|
5949
|
+
"125:4": "minecraft:acacia_slab[type=double]",
|
|
5950
|
+
"125:5": "minecraft:dark_oak_slab[type=double]",
|
|
5951
|
+
"126:0": "minecraft:oak_slab[type=bottom]",
|
|
5952
|
+
"126:1": "minecraft:spruce_slab[type=bottom]",
|
|
5953
|
+
"126:2": "minecraft:birch_slab[type=bottom]",
|
|
5954
|
+
"126:3": "minecraft:jungle_slab[type=bottom]",
|
|
5955
|
+
"126:4": "minecraft:acacia_slab[type=bottom]",
|
|
5956
|
+
"126:5": "minecraft:dark_oak_slab[type=bottom]",
|
|
5957
|
+
"126:8": "minecraft:oak_slab[type=top]",
|
|
5958
|
+
"126:9": "minecraft:spruce_slab[type=top]",
|
|
5959
|
+
"126:10": "minecraft:birch_slab[type=top]",
|
|
5960
|
+
"126:11": "minecraft:jungle_slab[type=top]",
|
|
5961
|
+
"126:12": "minecraft:acacia_slab[type=top]",
|
|
5962
|
+
"126:13": "minecraft:dark_oak_slab[type=top]",
|
|
5963
|
+
"127:0": "minecraft:cocoa[facing=south,age=0]",
|
|
5964
|
+
"127:1": "minecraft:cocoa[facing=west,age=0]",
|
|
5965
|
+
"127:2": "minecraft:cocoa[facing=north,age=0]",
|
|
5966
|
+
"127:3": "minecraft:cocoa[facing=east,age=0]",
|
|
5967
|
+
"127:4": "minecraft:cocoa[facing=south,age=1]",
|
|
5968
|
+
"127:5": "minecraft:cocoa[facing=west,age=1]",
|
|
5969
|
+
"127:6": "minecraft:cocoa[facing=north,age=1]",
|
|
5970
|
+
"127:7": "minecraft:cocoa[facing=east,age=1]",
|
|
5971
|
+
"127:8": "minecraft:cocoa[facing=south,age=2]",
|
|
5972
|
+
"127:9": "minecraft:cocoa[facing=west,age=2]",
|
|
5973
|
+
"127:10": "minecraft:cocoa[facing=north,age=2]",
|
|
5974
|
+
"127:11": "minecraft:cocoa[facing=east,age=2]",
|
|
5975
|
+
"128:0": "minecraft:sandstone_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
5976
|
+
"128:1": "minecraft:sandstone_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
5977
|
+
"128:2": "minecraft:sandstone_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
5978
|
+
"128:3": "minecraft:sandstone_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
5979
|
+
"128:4": "minecraft:sandstone_stairs[half=top,shape=outer_right,facing=east]",
|
|
5980
|
+
"128:5": "minecraft:sandstone_stairs[half=top,shape=outer_right,facing=west]",
|
|
5981
|
+
"128:6": "minecraft:sandstone_stairs[half=top,shape=outer_right,facing=south]",
|
|
5982
|
+
"128:7": "minecraft:sandstone_stairs[half=top,shape=outer_right,facing=north]",
|
|
5983
|
+
"129:0": "minecraft:emerald_ore",
|
|
5984
|
+
"130:2": "minecraft:ender_chest[facing=north]",
|
|
5985
|
+
"130:3": "minecraft:ender_chest[facing=south]",
|
|
5986
|
+
"130:4": "minecraft:ender_chest[facing=west]",
|
|
5987
|
+
"130:5": "minecraft:ender_chest[facing=east]",
|
|
5988
|
+
"131:0": "minecraft:tripwire_hook[powered=false,attached=false,facing=south]",
|
|
5989
|
+
"131:1": "minecraft:tripwire_hook[powered=false,attached=false,facing=west]",
|
|
5990
|
+
"131:2": "minecraft:tripwire_hook[powered=false,attached=false,facing=north]",
|
|
5991
|
+
"131:3": "minecraft:tripwire_hook[powered=false,attached=false,facing=east]",
|
|
5992
|
+
"131:4": "minecraft:tripwire_hook[powered=false,attached=true,facing=south]",
|
|
5993
|
+
"131:5": "minecraft:tripwire_hook[powered=false,attached=true,facing=west]",
|
|
5994
|
+
"131:6": "minecraft:tripwire_hook[powered=false,attached=true,facing=north]",
|
|
5995
|
+
"131:7": "minecraft:tripwire_hook[powered=false,attached=true,facing=east]",
|
|
5996
|
+
"131:8": "minecraft:tripwire_hook[powered=true,attached=false,facing=south]",
|
|
5997
|
+
"131:9": "minecraft:tripwire_hook[powered=true,attached=false,facing=west]",
|
|
5998
|
+
"131:10": "minecraft:tripwire_hook[powered=true,attached=false,facing=north]",
|
|
5999
|
+
"131:11": "minecraft:tripwire_hook[powered=true,attached=false,facing=east]",
|
|
6000
|
+
"131:12": "minecraft:tripwire_hook[powered=true,attached=true,facing=south]",
|
|
6001
|
+
"131:13": "minecraft:tripwire_hook[powered=true,attached=true,facing=west]",
|
|
6002
|
+
"131:14": "minecraft:tripwire_hook[powered=true,attached=true,facing=north]",
|
|
6003
|
+
"131:15": "minecraft:tripwire_hook[powered=true,attached=true,facing=east]",
|
|
6004
|
+
"132:0": "minecraft:tripwire[disarmed=false,east=false,powered=false,south=false,north=false,west=false,attached=false]",
|
|
6005
|
+
"132:1": "minecraft:tripwire[disarmed=false,east=false,powered=true,south=false,north=false,west=false,attached=false]",
|
|
6006
|
+
"132:4": "minecraft:tripwire[disarmed=false,east=false,powered=false,south=false,north=false,west=false,attached=true]",
|
|
6007
|
+
"132:5": "minecraft:tripwire[disarmed=false,east=false,powered=true,south=false,north=false,west=false,attached=true]",
|
|
6008
|
+
"132:8": "minecraft:tripwire[disarmed=true,east=false,powered=false,south=false,north=false,west=false,attached=false]",
|
|
6009
|
+
"132:9": "minecraft:tripwire[disarmed=true,east=false,powered=true,south=false,north=false,west=false,attached=false]",
|
|
6010
|
+
"132:12": "minecraft:tripwire[disarmed=true,east=false,powered=false,south=false,north=false,west=false,attached=true]",
|
|
6011
|
+
"132:13": "minecraft:tripwire[disarmed=true,east=false,powered=true,south=false,north=false,west=false,attached=true]",
|
|
6012
|
+
"133:0": "minecraft:emerald_block",
|
|
6013
|
+
"134:0": "minecraft:spruce_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
6014
|
+
"134:1": "minecraft:spruce_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
6015
|
+
"134:2": "minecraft:spruce_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
6016
|
+
"134:3": "minecraft:spruce_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
6017
|
+
"134:4": "minecraft:spruce_stairs[half=top,shape=outer_right,facing=east]",
|
|
6018
|
+
"134:5": "minecraft:spruce_stairs[half=top,shape=outer_right,facing=west]",
|
|
6019
|
+
"134:6": "minecraft:spruce_stairs[half=top,shape=outer_right,facing=south]",
|
|
6020
|
+
"134:7": "minecraft:spruce_stairs[half=top,shape=outer_right,facing=north]",
|
|
6021
|
+
"135:0": "minecraft:birch_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
6022
|
+
"135:1": "minecraft:birch_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
6023
|
+
"135:2": "minecraft:birch_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
6024
|
+
"135:3": "minecraft:birch_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
6025
|
+
"135:4": "minecraft:birch_stairs[half=top,shape=outer_right,facing=east]",
|
|
6026
|
+
"135:5": "minecraft:birch_stairs[half=top,shape=outer_right,facing=west]",
|
|
6027
|
+
"135:6": "minecraft:birch_stairs[half=top,shape=outer_right,facing=south]",
|
|
6028
|
+
"135:7": "minecraft:birch_stairs[half=top,shape=outer_right,facing=north]",
|
|
6029
|
+
"136:0": "minecraft:jungle_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
6030
|
+
"136:1": "minecraft:jungle_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
6031
|
+
"136:2": "minecraft:jungle_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
6032
|
+
"136:3": "minecraft:jungle_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
6033
|
+
"136:4": "minecraft:jungle_stairs[half=top,shape=outer_right,facing=east]",
|
|
6034
|
+
"136:5": "minecraft:jungle_stairs[half=top,shape=outer_right,facing=west]",
|
|
6035
|
+
"136:6": "minecraft:jungle_stairs[half=top,shape=outer_right,facing=south]",
|
|
6036
|
+
"136:7": "minecraft:jungle_stairs[half=top,shape=outer_right,facing=north]",
|
|
6037
|
+
"137:0": "minecraft:command_block[conditional=false,facing=down]",
|
|
6038
|
+
"137:1": "minecraft:command_block[conditional=false,facing=up]",
|
|
6039
|
+
"137:2": "minecraft:command_block[conditional=false,facing=north]",
|
|
6040
|
+
"137:3": "minecraft:command_block[conditional=false,facing=south]",
|
|
6041
|
+
"137:4": "minecraft:command_block[conditional=false,facing=west]",
|
|
6042
|
+
"137:5": "minecraft:command_block[conditional=false,facing=east]",
|
|
6043
|
+
"137:8": "minecraft:command_block[conditional=true,facing=down]",
|
|
6044
|
+
"137:9": "minecraft:command_block[conditional=true,facing=up]",
|
|
6045
|
+
"137:10": "minecraft:command_block[conditional=true,facing=north]",
|
|
6046
|
+
"137:11": "minecraft:command_block[conditional=true,facing=south]",
|
|
6047
|
+
"137:12": "minecraft:command_block[conditional=true,facing=west]",
|
|
6048
|
+
"137:13": "minecraft:command_block[conditional=true,facing=east]",
|
|
6049
|
+
"138:0": "minecraft:beacon",
|
|
6050
|
+
"139:0": "minecraft:cobblestone_wall[east=false,south=false,north=false,west=false,up=false]",
|
|
6051
|
+
"139:1": "minecraft:mossy_cobblestone_wall[east=false,south=false,north=false,west=false,up=false]",
|
|
6052
|
+
"140:0": "minecraft:flower_pot",
|
|
6053
|
+
"140:1": "minecraft:potted_poppy",
|
|
6054
|
+
"140:2": "minecraft:potted_dandelion",
|
|
6055
|
+
"140:3": "minecraft:potted_oak_sapling",
|
|
6056
|
+
"140:4": "minecraft:potted_spruce_sapling",
|
|
6057
|
+
"140:5": "minecraft:potted_birch_sapling",
|
|
6058
|
+
"140:6": "minecraft:potted_jungle_sapling",
|
|
6059
|
+
"140:7": "minecraft:potted_red_mushroom",
|
|
6060
|
+
"140:8": "minecraft:potted_brown_mushroom",
|
|
6061
|
+
"140:9": "minecraft:potted_cactus",
|
|
6062
|
+
"140:10": "minecraft:potted_dead_bush",
|
|
6063
|
+
"140:11": "minecraft:potted_fern",
|
|
6064
|
+
"140:12": "minecraft:potted_acacia_sapling",
|
|
6065
|
+
"140:13": "minecraft:potted_dark_oak_sapling",
|
|
6066
|
+
"140:14": "minecraft:potted_blue_orchid",
|
|
6067
|
+
"140:15": "minecraft:potted_allium",
|
|
6068
|
+
"141:0": "minecraft:carrots[age=0]",
|
|
6069
|
+
"141:1": "minecraft:carrots[age=1]",
|
|
6070
|
+
"141:2": "minecraft:carrots[age=2]",
|
|
6071
|
+
"141:3": "minecraft:carrots[age=3]",
|
|
6072
|
+
"141:4": "minecraft:carrots[age=4]",
|
|
6073
|
+
"141:5": "minecraft:carrots[age=5]",
|
|
6074
|
+
"141:6": "minecraft:carrots[age=6]",
|
|
6075
|
+
"141:7": "minecraft:carrots[age=7]",
|
|
6076
|
+
"142:0": "minecraft:potatoes[age=0]",
|
|
6077
|
+
"142:1": "minecraft:potatoes[age=1]",
|
|
6078
|
+
"142:2": "minecraft:potatoes[age=2]",
|
|
6079
|
+
"142:3": "minecraft:potatoes[age=3]",
|
|
6080
|
+
"142:4": "minecraft:potatoes[age=4]",
|
|
6081
|
+
"142:5": "minecraft:potatoes[age=5]",
|
|
6082
|
+
"142:6": "minecraft:potatoes[age=6]",
|
|
6083
|
+
"142:7": "minecraft:potatoes[age=7]",
|
|
6084
|
+
"143:0": "minecraft:oak_button[powered=false,facing=east,face=ceiling]",
|
|
6085
|
+
"143:1": "minecraft:oak_button[powered=false,facing=east,face=wall]",
|
|
6086
|
+
"143:2": "minecraft:oak_button[powered=false,facing=west,face=wall]",
|
|
6087
|
+
"143:3": "minecraft:oak_button[powered=false,facing=south,face=wall]",
|
|
6088
|
+
"143:4": "minecraft:oak_button[powered=false,facing=north,face=wall]",
|
|
6089
|
+
"143:5": "minecraft:oak_button[powered=false,facing=east,face=floor]",
|
|
6090
|
+
"143:8": "minecraft:oak_button[powered=true,facing=south,face=ceiling]",
|
|
6091
|
+
"143:9": "minecraft:oak_button[powered=true,facing=east,face=wall]",
|
|
6092
|
+
"143:10": "minecraft:oak_button[powered=true,facing=west,face=wall]",
|
|
6093
|
+
"143:11": "minecraft:oak_button[powered=true,facing=south,face=wall]",
|
|
6094
|
+
"143:12": "minecraft:oak_button[powered=true,facing=north,face=wall]",
|
|
6095
|
+
"143:13": "minecraft:oak_button[powered=true,facing=south,face=floor]",
|
|
6096
|
+
"144:0": "minecraft:skeleton_skull[rotation=0]",
|
|
6097
|
+
"144:1": "minecraft:skeleton_skull[rotation=4]",
|
|
6098
|
+
"144:2": "minecraft:skeleton_wall_skull[facing=north]",
|
|
6099
|
+
"144:3": "minecraft:skeleton_wall_skull[facing=south]",
|
|
6100
|
+
"144:4": "minecraft:skeleton_wall_skull[facing=west]",
|
|
6101
|
+
"144:5": "minecraft:skeleton_wall_skull[facing=east]",
|
|
6102
|
+
"144:8": "minecraft:skeleton_skull[rotation=8]",
|
|
6103
|
+
"144:9": "minecraft:skeleton_skull[rotation=12]",
|
|
6104
|
+
"144:10": "minecraft:skeleton_wall_skull[facing=north]",
|
|
6105
|
+
"144:11": "minecraft:skeleton_wall_skull[facing=south]",
|
|
6106
|
+
"144:12": "minecraft:skeleton_wall_skull[facing=west]",
|
|
6107
|
+
"144:13": "minecraft:skeleton_wall_skull[facing=east]",
|
|
6108
|
+
"145:0": "minecraft:anvil[facing=south]",
|
|
6109
|
+
"145:1": "minecraft:anvil[facing=west]",
|
|
6110
|
+
"145:2": "minecraft:anvil[facing=north]",
|
|
6111
|
+
"145:3": "minecraft:anvil[facing=east]",
|
|
6112
|
+
"145:4": "minecraft:chipped_anvil[facing=south]",
|
|
6113
|
+
"145:5": "minecraft:chipped_anvil[facing=west]",
|
|
6114
|
+
"145:6": "minecraft:chipped_anvil[facing=north]",
|
|
6115
|
+
"145:7": "minecraft:chipped_anvil[facing=east]",
|
|
6116
|
+
"145:8": "minecraft:damaged_anvil[facing=south]",
|
|
6117
|
+
"145:9": "minecraft:damaged_anvil[facing=west]",
|
|
6118
|
+
"145:10": "minecraft:damaged_anvil[facing=north]",
|
|
6119
|
+
"145:11": "minecraft:damaged_anvil[facing=east]",
|
|
6120
|
+
"146:2": "minecraft:trapped_chest[facing=north,type=single]",
|
|
6121
|
+
"146:3": "minecraft:trapped_chest[facing=south,type=single]",
|
|
6122
|
+
"146:4": "minecraft:trapped_chest[facing=west,type=single]",
|
|
6123
|
+
"146:5": "minecraft:trapped_chest[facing=east,type=single]",
|
|
6124
|
+
"147:0": "minecraft:light_weighted_pressure_plate[power=0]",
|
|
6125
|
+
"147:1": "minecraft:light_weighted_pressure_plate[power=1]",
|
|
6126
|
+
"147:2": "minecraft:light_weighted_pressure_plate[power=2]",
|
|
6127
|
+
"147:3": "minecraft:light_weighted_pressure_plate[power=3]",
|
|
6128
|
+
"147:4": "minecraft:light_weighted_pressure_plate[power=4]",
|
|
6129
|
+
"147:5": "minecraft:light_weighted_pressure_plate[power=5]",
|
|
6130
|
+
"147:6": "minecraft:light_weighted_pressure_plate[power=6]",
|
|
6131
|
+
"147:7": "minecraft:light_weighted_pressure_plate[power=7]",
|
|
6132
|
+
"147:8": "minecraft:light_weighted_pressure_plate[power=8]",
|
|
6133
|
+
"147:9": "minecraft:light_weighted_pressure_plate[power=9]",
|
|
6134
|
+
"147:10": "minecraft:light_weighted_pressure_plate[power=10]",
|
|
6135
|
+
"147:11": "minecraft:light_weighted_pressure_plate[power=11]",
|
|
6136
|
+
"147:12": "minecraft:light_weighted_pressure_plate[power=12]",
|
|
6137
|
+
"147:13": "minecraft:light_weighted_pressure_plate[power=13]",
|
|
6138
|
+
"147:14": "minecraft:light_weighted_pressure_plate[power=14]",
|
|
6139
|
+
"147:15": "minecraft:light_weighted_pressure_plate[power=15]",
|
|
6140
|
+
"148:0": "minecraft:heavy_weighted_pressure_plate[power=0]",
|
|
6141
|
+
"148:1": "minecraft:heavy_weighted_pressure_plate[power=1]",
|
|
6142
|
+
"148:2": "minecraft:heavy_weighted_pressure_plate[power=2]",
|
|
6143
|
+
"148:3": "minecraft:heavy_weighted_pressure_plate[power=3]",
|
|
6144
|
+
"148:4": "minecraft:heavy_weighted_pressure_plate[power=4]",
|
|
6145
|
+
"148:5": "minecraft:heavy_weighted_pressure_plate[power=5]",
|
|
6146
|
+
"148:6": "minecraft:heavy_weighted_pressure_plate[power=6]",
|
|
6147
|
+
"148:7": "minecraft:heavy_weighted_pressure_plate[power=7]",
|
|
6148
|
+
"148:8": "minecraft:heavy_weighted_pressure_plate[power=8]",
|
|
6149
|
+
"148:9": "minecraft:heavy_weighted_pressure_plate[power=9]",
|
|
6150
|
+
"148:10": "minecraft:heavy_weighted_pressure_plate[power=10]",
|
|
6151
|
+
"148:11": "minecraft:heavy_weighted_pressure_plate[power=11]",
|
|
6152
|
+
"148:12": "minecraft:heavy_weighted_pressure_plate[power=12]",
|
|
6153
|
+
"148:13": "minecraft:heavy_weighted_pressure_plate[power=13]",
|
|
6154
|
+
"148:14": "minecraft:heavy_weighted_pressure_plate[power=14]",
|
|
6155
|
+
"148:15": "minecraft:heavy_weighted_pressure_plate[power=15]",
|
|
6156
|
+
"149:0": "minecraft:comparator[mode=compare,powered=false,facing=south]",
|
|
6157
|
+
"149:1": "minecraft:comparator[mode=compare,powered=false,facing=west]",
|
|
6158
|
+
"149:2": "minecraft:comparator[mode=compare,powered=false,facing=north]",
|
|
6159
|
+
"149:3": "minecraft:comparator[mode=compare,powered=false,facing=east]",
|
|
6160
|
+
"149:4": "minecraft:comparator[mode=subtract,powered=false,facing=south]",
|
|
6161
|
+
"149:5": "minecraft:comparator[mode=subtract,powered=false,facing=west]",
|
|
6162
|
+
"149:6": "minecraft:comparator[mode=subtract,powered=false,facing=north]",
|
|
6163
|
+
"149:7": "minecraft:comparator[mode=subtract,powered=false,facing=east]",
|
|
6164
|
+
"149:8": "minecraft:comparator[mode=compare,powered=false,facing=south]",
|
|
6165
|
+
"149:9": "minecraft:comparator[mode=compare,powered=false,facing=west]",
|
|
6166
|
+
"149:10": "minecraft:comparator[mode=compare,powered=false,facing=north]",
|
|
6167
|
+
"149:11": "minecraft:comparator[mode=compare,powered=false,facing=east]",
|
|
6168
|
+
"149:12": "minecraft:comparator[mode=subtract,powered=false,facing=south]",
|
|
6169
|
+
"149:13": "minecraft:comparator[mode=subtract,powered=false,facing=west]",
|
|
6170
|
+
"149:14": "minecraft:comparator[mode=subtract,powered=false,facing=north]",
|
|
6171
|
+
"149:15": "minecraft:comparator[mode=subtract,powered=false,facing=east]",
|
|
6172
|
+
"150:0": "minecraft:comparator[mode=compare,powered=true,facing=south]",
|
|
6173
|
+
"150:1": "minecraft:comparator[mode=compare,powered=true,facing=west]",
|
|
6174
|
+
"150:2": "minecraft:comparator[mode=compare,powered=true,facing=north]",
|
|
6175
|
+
"150:3": "minecraft:comparator[mode=compare,powered=true,facing=east]",
|
|
6176
|
+
"150:4": "minecraft:comparator[mode=subtract,powered=true,facing=south]",
|
|
6177
|
+
"150:5": "minecraft:comparator[mode=subtract,powered=true,facing=west]",
|
|
6178
|
+
"150:6": "minecraft:comparator[mode=subtract,powered=true,facing=north]",
|
|
6179
|
+
"150:7": "minecraft:comparator[mode=subtract,powered=true,facing=east]",
|
|
6180
|
+
"150:8": "minecraft:comparator[mode=compare,powered=true,facing=south]",
|
|
6181
|
+
"150:9": "minecraft:comparator[mode=compare,powered=true,facing=west]",
|
|
6182
|
+
"150:10": "minecraft:comparator[mode=compare,powered=true,facing=north]",
|
|
6183
|
+
"150:11": "minecraft:comparator[mode=compare,powered=true,facing=east]",
|
|
6184
|
+
"150:12": "minecraft:comparator[mode=subtract,powered=true,facing=south]",
|
|
6185
|
+
"150:13": "minecraft:comparator[mode=subtract,powered=true,facing=west]",
|
|
6186
|
+
"150:14": "minecraft:comparator[mode=subtract,powered=true,facing=north]",
|
|
6187
|
+
"150:15": "minecraft:comparator[mode=subtract,powered=true,facing=east]",
|
|
6188
|
+
"151:0": "minecraft:daylight_detector[inverted=false,power=0]",
|
|
6189
|
+
"151:1": "minecraft:daylight_detector[inverted=false,power=1]",
|
|
6190
|
+
"151:2": "minecraft:daylight_detector[inverted=false,power=2]",
|
|
6191
|
+
"151:3": "minecraft:daylight_detector[inverted=false,power=3]",
|
|
6192
|
+
"151:4": "minecraft:daylight_detector[inverted=false,power=4]",
|
|
6193
|
+
"151:5": "minecraft:daylight_detector[inverted=false,power=5]",
|
|
6194
|
+
"151:6": "minecraft:daylight_detector[inverted=false,power=6]",
|
|
6195
|
+
"151:7": "minecraft:daylight_detector[inverted=false,power=7]",
|
|
6196
|
+
"151:8": "minecraft:daylight_detector[inverted=false,power=8]",
|
|
6197
|
+
"151:9": "minecraft:daylight_detector[inverted=false,power=9]",
|
|
6198
|
+
"151:10": "minecraft:daylight_detector[inverted=false,power=10]",
|
|
6199
|
+
"151:11": "minecraft:daylight_detector[inverted=false,power=11]",
|
|
6200
|
+
"151:12": "minecraft:daylight_detector[inverted=false,power=12]",
|
|
6201
|
+
"151:13": "minecraft:daylight_detector[inverted=false,power=13]",
|
|
6202
|
+
"151:14": "minecraft:daylight_detector[inverted=false,power=14]",
|
|
6203
|
+
"151:15": "minecraft:daylight_detector[inverted=false,power=15]",
|
|
6204
|
+
"152:0": "minecraft:redstone_block",
|
|
6205
|
+
"153:0": "minecraft:nether_quartz_ore",
|
|
6206
|
+
"154:0": "minecraft:hopper[facing=down,enabled=true]",
|
|
6207
|
+
"154:2": "minecraft:hopper[facing=north,enabled=true]",
|
|
6208
|
+
"154:3": "minecraft:hopper[facing=south,enabled=true]",
|
|
6209
|
+
"154:4": "minecraft:hopper[facing=west,enabled=true]",
|
|
6210
|
+
"154:5": "minecraft:hopper[facing=east,enabled=true]",
|
|
6211
|
+
"154:8": "minecraft:hopper[facing=down,enabled=false]",
|
|
6212
|
+
"154:10": "minecraft:hopper[facing=north,enabled=false]",
|
|
6213
|
+
"154:11": "minecraft:hopper[facing=south,enabled=false]",
|
|
6214
|
+
"154:12": "minecraft:hopper[facing=west,enabled=false]",
|
|
6215
|
+
"154:13": "minecraft:hopper[facing=east,enabled=false]",
|
|
6216
|
+
"155:0": "minecraft:quartz_block",
|
|
6217
|
+
"155:1": "minecraft:chiseled_quartz_block",
|
|
6218
|
+
"155:2": "minecraft:quartz_pillar[axis=y]",
|
|
6219
|
+
"155:3": "minecraft:quartz_pillar[axis=x]",
|
|
6220
|
+
"155:4": "minecraft:quartz_pillar[axis=z]",
|
|
6221
|
+
"155:6": "minecraft:quartz_pillar[axis=x]",
|
|
6222
|
+
"155:10": "minecraft:quartz_pillar[axis=z]",
|
|
6223
|
+
"156:0": "minecraft:quartz_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
6224
|
+
"156:1": "minecraft:quartz_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
6225
|
+
"156:2": "minecraft:quartz_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
6226
|
+
"156:3": "minecraft:quartz_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
6227
|
+
"156:4": "minecraft:quartz_stairs[half=top,shape=outer_right,facing=east]",
|
|
6228
|
+
"156:5": "minecraft:quartz_stairs[half=top,shape=outer_right,facing=west]",
|
|
6229
|
+
"156:6": "minecraft:quartz_stairs[half=top,shape=outer_right,facing=south]",
|
|
6230
|
+
"156:7": "minecraft:quartz_stairs[half=top,shape=outer_right,facing=north]",
|
|
6231
|
+
"157:0": "minecraft:activator_rail[shape=north_south,powered=false]",
|
|
6232
|
+
"157:1": "minecraft:activator_rail[shape=east_west,powered=false]",
|
|
6233
|
+
"157:2": "minecraft:activator_rail[shape=ascending_east,powered=false]",
|
|
6234
|
+
"157:3": "minecraft:activator_rail[shape=ascending_west,powered=false]",
|
|
6235
|
+
"157:4": "minecraft:activator_rail[shape=ascending_north,powered=false]",
|
|
6236
|
+
"157:5": "minecraft:activator_rail[shape=ascending_south,powered=false]",
|
|
6237
|
+
"157:8": "minecraft:activator_rail[shape=north_south,powered=true]",
|
|
6238
|
+
"157:9": "minecraft:activator_rail[shape=east_west,powered=true]",
|
|
6239
|
+
"157:10": "minecraft:activator_rail[shape=ascending_east,powered=true]",
|
|
6240
|
+
"157:11": "minecraft:activator_rail[shape=ascending_west,powered=true]",
|
|
6241
|
+
"157:12": "minecraft:activator_rail[shape=ascending_north,powered=true]",
|
|
6242
|
+
"157:13": "minecraft:activator_rail[shape=ascending_south,powered=true]",
|
|
6243
|
+
"158:0": "minecraft:dropper[triggered=false,facing=down]",
|
|
6244
|
+
"158:1": "minecraft:dropper[triggered=false,facing=up]",
|
|
6245
|
+
"158:2": "minecraft:dropper[triggered=false,facing=north]",
|
|
6246
|
+
"158:3": "minecraft:dropper[triggered=false,facing=south]",
|
|
6247
|
+
"158:4": "minecraft:dropper[triggered=false,facing=west]",
|
|
6248
|
+
"158:5": "minecraft:dropper[triggered=false,facing=east]",
|
|
6249
|
+
"158:8": "minecraft:dropper[triggered=true,facing=down]",
|
|
6250
|
+
"158:9": "minecraft:dropper[triggered=true,facing=up]",
|
|
6251
|
+
"158:10": "minecraft:dropper[triggered=true,facing=north]",
|
|
6252
|
+
"158:11": "minecraft:dropper[triggered=true,facing=south]",
|
|
6253
|
+
"158:12": "minecraft:dropper[triggered=true,facing=west]",
|
|
6254
|
+
"158:13": "minecraft:dropper[triggered=true,facing=east]",
|
|
6255
|
+
"159:0": "minecraft:white_terracotta",
|
|
6256
|
+
"159:1": "minecraft:orange_terracotta",
|
|
6257
|
+
"159:2": "minecraft:magenta_terracotta",
|
|
6258
|
+
"159:3": "minecraft:light_blue_terracotta",
|
|
6259
|
+
"159:4": "minecraft:yellow_terracotta",
|
|
6260
|
+
"159:5": "minecraft:lime_terracotta",
|
|
6261
|
+
"159:6": "minecraft:pink_terracotta",
|
|
6262
|
+
"159:7": "minecraft:gray_terracotta",
|
|
6263
|
+
"159:8": "minecraft:light_gray_terracotta",
|
|
6264
|
+
"159:9": "minecraft:cyan_terracotta",
|
|
6265
|
+
"159:10": "minecraft:purple_terracotta",
|
|
6266
|
+
"159:11": "minecraft:blue_terracotta",
|
|
6267
|
+
"159:12": "minecraft:brown_terracotta",
|
|
6268
|
+
"159:13": "minecraft:green_terracotta",
|
|
6269
|
+
"159:14": "minecraft:red_terracotta",
|
|
6270
|
+
"159:15": "minecraft:black_terracotta",
|
|
6271
|
+
"160:0": "minecraft:white_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6272
|
+
"160:1": "minecraft:orange_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6273
|
+
"160:2": "minecraft:magenta_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6274
|
+
"160:3": "minecraft:light_blue_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6275
|
+
"160:4": "minecraft:yellow_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6276
|
+
"160:5": "minecraft:lime_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6277
|
+
"160:6": "minecraft:pink_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6278
|
+
"160:7": "minecraft:gray_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6279
|
+
"160:8": "minecraft:light_gray_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6280
|
+
"160:9": "minecraft:cyan_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6281
|
+
"160:10": "minecraft:purple_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6282
|
+
"160:11": "minecraft:blue_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6283
|
+
"160:12": "minecraft:brown_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6284
|
+
"160:13": "minecraft:green_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6285
|
+
"160:14": "minecraft:red_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6286
|
+
"160:15": "minecraft:black_stained_glass_pane[east=false,south=false,north=false,west=false]",
|
|
6287
|
+
"161:0": "minecraft:acacia_leaves[persistent=false,distance=1]",
|
|
6288
|
+
"161:1": "minecraft:dark_oak_leaves[persistent=false,distance=1]",
|
|
6289
|
+
"161:4": "minecraft:acacia_leaves[persistent=true,distance=1]",
|
|
6290
|
+
"161:5": "minecraft:dark_oak_leaves[persistent=true,distance=1]",
|
|
6291
|
+
"161:8": "minecraft:acacia_leaves[persistent=false,distance=1]",
|
|
6292
|
+
"161:9": "minecraft:dark_oak_leaves[persistent=false,distance=1]",
|
|
6293
|
+
"161:12": "minecraft:acacia_leaves[persistent=true,distance=1]",
|
|
6294
|
+
"161:13": "minecraft:dark_oak_leaves[persistent=true,distance=1]",
|
|
6295
|
+
"162:0": "minecraft:acacia_log[axis=y]",
|
|
6296
|
+
"162:1": "minecraft:dark_oak_log[axis=y]",
|
|
6297
|
+
"162:4": "minecraft:acacia_log[axis=x]",
|
|
6298
|
+
"162:5": "minecraft:dark_oak_log[axis=x]",
|
|
6299
|
+
"162:8": "minecraft:acacia_log[axis=z]",
|
|
6300
|
+
"162:9": "minecraft:dark_oak_log[axis=z]",
|
|
6301
|
+
"162:12": "minecraft:acacia_wood",
|
|
6302
|
+
"162:13": "minecraft:dark_oak_wood",
|
|
6303
|
+
"163:0": "minecraft:acacia_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
6304
|
+
"163:1": "minecraft:acacia_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
6305
|
+
"163:2": "minecraft:acacia_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
6306
|
+
"163:3": "minecraft:acacia_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
6307
|
+
"163:4": "minecraft:acacia_stairs[half=top,shape=outer_right,facing=east]",
|
|
6308
|
+
"163:5": "minecraft:acacia_stairs[half=top,shape=outer_right,facing=west]",
|
|
6309
|
+
"163:6": "minecraft:acacia_stairs[half=top,shape=outer_right,facing=south]",
|
|
6310
|
+
"163:7": "minecraft:acacia_stairs[half=top,shape=outer_right,facing=north]",
|
|
6311
|
+
"164:0": "minecraft:dark_oak_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
6312
|
+
"164:1": "minecraft:dark_oak_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
6313
|
+
"164:2": "minecraft:dark_oak_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
6314
|
+
"164:3": "minecraft:dark_oak_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
6315
|
+
"164:4": "minecraft:dark_oak_stairs[half=top,shape=outer_right,facing=east]",
|
|
6316
|
+
"164:5": "minecraft:dark_oak_stairs[half=top,shape=outer_right,facing=west]",
|
|
6317
|
+
"164:6": "minecraft:dark_oak_stairs[half=top,shape=outer_right,facing=south]",
|
|
6318
|
+
"164:7": "minecraft:dark_oak_stairs[half=top,shape=outer_right,facing=north]",
|
|
6319
|
+
"165:0": "minecraft:slime_block",
|
|
6320
|
+
"166:0": "minecraft:barrier",
|
|
6321
|
+
"167:0": "minecraft:iron_trapdoor[half=bottom,facing=north,open=false]",
|
|
6322
|
+
"167:1": "minecraft:iron_trapdoor[half=bottom,facing=south,open=false]",
|
|
6323
|
+
"167:2": "minecraft:iron_trapdoor[half=bottom,facing=west,open=false]",
|
|
6324
|
+
"167:3": "minecraft:iron_trapdoor[half=bottom,facing=east,open=false]",
|
|
6325
|
+
"167:4": "minecraft:iron_trapdoor[half=bottom,facing=north,open=true]",
|
|
6326
|
+
"167:5": "minecraft:iron_trapdoor[half=bottom,facing=south,open=true]",
|
|
6327
|
+
"167:6": "minecraft:iron_trapdoor[half=bottom,facing=west,open=true]",
|
|
6328
|
+
"167:7": "minecraft:iron_trapdoor[half=bottom,facing=east,open=true]",
|
|
6329
|
+
"167:8": "minecraft:iron_trapdoor[half=top,facing=north,open=false]",
|
|
6330
|
+
"167:9": "minecraft:iron_trapdoor[half=top,facing=south,open=false]",
|
|
6331
|
+
"167:10": "minecraft:iron_trapdoor[half=top,facing=west,open=false]",
|
|
6332
|
+
"167:11": "minecraft:iron_trapdoor[half=top,facing=east,open=false]",
|
|
6333
|
+
"167:12": "minecraft:iron_trapdoor[half=top,facing=north,open=true]",
|
|
6334
|
+
"167:13": "minecraft:iron_trapdoor[half=top,facing=south,open=true]",
|
|
6335
|
+
"167:14": "minecraft:iron_trapdoor[half=top,facing=west,open=true]",
|
|
6336
|
+
"167:15": "minecraft:iron_trapdoor[half=top,facing=east,open=true]",
|
|
6337
|
+
"168:0": "minecraft:prismarine",
|
|
6338
|
+
"168:1": "minecraft:prismarine_bricks",
|
|
6339
|
+
"168:2": "minecraft:dark_prismarine",
|
|
6340
|
+
"169:0": "minecraft:sea_lantern",
|
|
6341
|
+
"170:0": "minecraft:hay_block[axis=y]",
|
|
6342
|
+
"170:4": "minecraft:hay_block[axis=x]",
|
|
6343
|
+
"170:8": "minecraft:hay_block[axis=z]",
|
|
6344
|
+
"171:0": "minecraft:white_carpet",
|
|
6345
|
+
"171:1": "minecraft:orange_carpet",
|
|
6346
|
+
"171:2": "minecraft:magenta_carpet",
|
|
6347
|
+
"171:3": "minecraft:light_blue_carpet",
|
|
6348
|
+
"171:4": "minecraft:yellow_carpet",
|
|
6349
|
+
"171:5": "minecraft:lime_carpet",
|
|
6350
|
+
"171:6": "minecraft:pink_carpet",
|
|
6351
|
+
"171:7": "minecraft:gray_carpet",
|
|
6352
|
+
"171:8": "minecraft:light_gray_carpet",
|
|
6353
|
+
"171:9": "minecraft:cyan_carpet",
|
|
6354
|
+
"171:10": "minecraft:purple_carpet",
|
|
6355
|
+
"171:11": "minecraft:blue_carpet",
|
|
6356
|
+
"171:12": "minecraft:brown_carpet",
|
|
6357
|
+
"171:13": "minecraft:green_carpet",
|
|
6358
|
+
"171:14": "minecraft:red_carpet",
|
|
6359
|
+
"171:15": "minecraft:black_carpet",
|
|
6360
|
+
"172:0": "minecraft:terracotta",
|
|
6361
|
+
"173:0": "minecraft:coal_block",
|
|
6362
|
+
"174:0": "minecraft:packed_ice",
|
|
6363
|
+
"175:0": "minecraft:sunflower[half=lower]",
|
|
6364
|
+
"175:1": "minecraft:lilac[half=lower]",
|
|
6365
|
+
"175:2": "minecraft:tall_grass[half=lower]",
|
|
6366
|
+
"175:3": "minecraft:large_fern[half=lower]",
|
|
6367
|
+
"175:4": "minecraft:rose_bush[half=lower]",
|
|
6368
|
+
"175:5": "minecraft:peony[half=lower]",
|
|
6369
|
+
"175:8": "minecraft:sunflower[half=upper]",
|
|
6370
|
+
"175:9": "minecraft:lilac[half=upper]",
|
|
6371
|
+
"175:10": "minecraft:tall_grass[half=upper]",
|
|
6372
|
+
"175:11": "minecraft:large_fern[half=upper]",
|
|
6373
|
+
"175:12": "minecraft:rose_bush[half=upper]",
|
|
6374
|
+
"175:13": "minecraft:peony[half=upper]",
|
|
6375
|
+
"176:0": "minecraft:white_banner[rotation=0]",
|
|
6376
|
+
"176:1": "minecraft:white_banner[rotation=1]",
|
|
6377
|
+
"176:2": "minecraft:white_banner[rotation=2]",
|
|
6378
|
+
"176:3": "minecraft:white_banner[rotation=3]",
|
|
6379
|
+
"176:4": "minecraft:white_banner[rotation=4]",
|
|
6380
|
+
"176:5": "minecraft:white_banner[rotation=5]",
|
|
6381
|
+
"176:6": "minecraft:white_banner[rotation=6]",
|
|
6382
|
+
"176:7": "minecraft:white_banner[rotation=7]",
|
|
6383
|
+
"176:8": "minecraft:white_banner[rotation=8]",
|
|
6384
|
+
"176:9": "minecraft:white_banner[rotation=9]",
|
|
6385
|
+
"176:10": "minecraft:white_banner[rotation=10]",
|
|
6386
|
+
"176:11": "minecraft:white_banner[rotation=11]",
|
|
6387
|
+
"176:12": "minecraft:white_banner[rotation=12]",
|
|
6388
|
+
"176:13": "minecraft:white_banner[rotation=13]",
|
|
6389
|
+
"176:14": "minecraft:white_banner[rotation=14]",
|
|
6390
|
+
"176:15": "minecraft:white_banner[rotation=15]",
|
|
6391
|
+
"177:2": "minecraft:white_wall_banner[facing=north]",
|
|
6392
|
+
"177:3": "minecraft:white_wall_banner[facing=south]",
|
|
6393
|
+
"177:4": "minecraft:white_wall_banner[facing=west]",
|
|
6394
|
+
"177:5": "minecraft:white_wall_banner[facing=east]",
|
|
6395
|
+
"178:0": "minecraft:daylight_detector[inverted=true,power=0]",
|
|
6396
|
+
"178:1": "minecraft:daylight_detector[inverted=true,power=1]",
|
|
6397
|
+
"178:2": "minecraft:daylight_detector[inverted=true,power=2]",
|
|
6398
|
+
"178:3": "minecraft:daylight_detector[inverted=true,power=3]",
|
|
6399
|
+
"178:4": "minecraft:daylight_detector[inverted=true,power=4]",
|
|
6400
|
+
"178:5": "minecraft:daylight_detector[inverted=true,power=5]",
|
|
6401
|
+
"178:6": "minecraft:daylight_detector[inverted=true,power=6]",
|
|
6402
|
+
"178:7": "minecraft:daylight_detector[inverted=true,power=7]",
|
|
6403
|
+
"178:8": "minecraft:daylight_detector[inverted=true,power=8]",
|
|
6404
|
+
"178:9": "minecraft:daylight_detector[inverted=true,power=9]",
|
|
6405
|
+
"178:10": "minecraft:daylight_detector[inverted=true,power=10]",
|
|
6406
|
+
"178:11": "minecraft:daylight_detector[inverted=true,power=11]",
|
|
6407
|
+
"178:12": "minecraft:daylight_detector[inverted=true,power=12]",
|
|
6408
|
+
"178:13": "minecraft:daylight_detector[inverted=true,power=13]",
|
|
6409
|
+
"178:14": "minecraft:daylight_detector[inverted=true,power=14]",
|
|
6410
|
+
"178:15": "minecraft:daylight_detector[inverted=true,power=15]",
|
|
6411
|
+
"179:0": "minecraft:red_sandstone",
|
|
6412
|
+
"179:1": "minecraft:chiseled_red_sandstone",
|
|
6413
|
+
"179:2": "minecraft:cut_red_sandstone",
|
|
6414
|
+
"180:0": "minecraft:red_sandstone_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
6415
|
+
"180:1": "minecraft:red_sandstone_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
6416
|
+
"180:2": "minecraft:red_sandstone_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
6417
|
+
"180:3": "minecraft:red_sandstone_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
6418
|
+
"180:4": "minecraft:red_sandstone_stairs[half=top,shape=outer_right,facing=east]",
|
|
6419
|
+
"180:5": "minecraft:red_sandstone_stairs[half=top,shape=outer_right,facing=west]",
|
|
6420
|
+
"180:6": "minecraft:red_sandstone_stairs[half=top,shape=outer_right,facing=south]",
|
|
6421
|
+
"180:7": "minecraft:red_sandstone_stairs[half=top,shape=outer_right,facing=north]",
|
|
6422
|
+
"181:0": "minecraft:red_sandstone_slab[type=double]",
|
|
6423
|
+
"181:8": "minecraft:smooth_red_sandstone",
|
|
6424
|
+
"182:0": "minecraft:red_sandstone_slab[type=bottom]",
|
|
6425
|
+
"182:8": "minecraft:red_sandstone_slab[type=top]",
|
|
6426
|
+
"183:0": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
|
|
6427
|
+
"183:1": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
|
|
6428
|
+
"183:2": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
|
|
6429
|
+
"183:3": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
|
|
6430
|
+
"183:4": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
|
|
6431
|
+
"183:5": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
|
|
6432
|
+
"183:6": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
|
|
6433
|
+
"183:7": "minecraft:spruce_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
|
|
6434
|
+
"183:8": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
|
|
6435
|
+
"183:9": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
|
|
6436
|
+
"183:10": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
|
|
6437
|
+
"183:11": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
|
|
6438
|
+
"183:12": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
|
|
6439
|
+
"183:13": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
|
|
6440
|
+
"183:14": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
|
|
6441
|
+
"183:15": "minecraft:spruce_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
|
|
6442
|
+
"184:0": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
|
|
6443
|
+
"184:1": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
|
|
6444
|
+
"184:2": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
|
|
6445
|
+
"184:3": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
|
|
6446
|
+
"184:4": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
|
|
6447
|
+
"184:5": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
|
|
6448
|
+
"184:6": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
|
|
6449
|
+
"184:7": "minecraft:birch_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
|
|
6450
|
+
"184:8": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
|
|
6451
|
+
"184:9": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
|
|
6452
|
+
"184:10": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
|
|
6453
|
+
"184:11": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
|
|
6454
|
+
"184:12": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
|
|
6455
|
+
"184:13": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
|
|
6456
|
+
"184:14": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
|
|
6457
|
+
"184:15": "minecraft:birch_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
|
|
6458
|
+
"185:0": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
|
|
6459
|
+
"185:1": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
|
|
6460
|
+
"185:2": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
|
|
6461
|
+
"185:3": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
|
|
6462
|
+
"185:4": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
|
|
6463
|
+
"185:5": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
|
|
6464
|
+
"185:6": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
|
|
6465
|
+
"185:7": "minecraft:jungle_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
|
|
6466
|
+
"185:8": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
|
|
6467
|
+
"185:9": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
|
|
6468
|
+
"185:10": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
|
|
6469
|
+
"185:11": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
|
|
6470
|
+
"185:12": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
|
|
6471
|
+
"185:13": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
|
|
6472
|
+
"185:14": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
|
|
6473
|
+
"185:15": "minecraft:jungle_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
|
|
6474
|
+
"186:0": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
|
|
6475
|
+
"186:1": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
|
|
6476
|
+
"186:2": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
|
|
6477
|
+
"186:3": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
|
|
6478
|
+
"186:4": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
|
|
6479
|
+
"186:5": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
|
|
6480
|
+
"186:6": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
|
|
6481
|
+
"186:7": "minecraft:dark_oak_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
|
|
6482
|
+
"186:8": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
|
|
6483
|
+
"186:9": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
|
|
6484
|
+
"186:10": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
|
|
6485
|
+
"186:11": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
|
|
6486
|
+
"186:12": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
|
|
6487
|
+
"186:13": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
|
|
6488
|
+
"186:14": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
|
|
6489
|
+
"186:15": "minecraft:dark_oak_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
|
|
6490
|
+
"187:0": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=south,open=false]",
|
|
6491
|
+
"187:1": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=west,open=false]",
|
|
6492
|
+
"187:2": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=north,open=false]",
|
|
6493
|
+
"187:3": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=east,open=false]",
|
|
6494
|
+
"187:4": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=south,open=true]",
|
|
6495
|
+
"187:5": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=west,open=true]",
|
|
6496
|
+
"187:6": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=north,open=true]",
|
|
6497
|
+
"187:7": "minecraft:acacia_fence_gate[in_wall=false,powered=false,facing=east,open=true]",
|
|
6498
|
+
"187:8": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=south,open=false]",
|
|
6499
|
+
"187:9": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=west,open=false]",
|
|
6500
|
+
"187:10": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=north,open=false]",
|
|
6501
|
+
"187:11": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=east,open=false]",
|
|
6502
|
+
"187:12": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=south,open=true]",
|
|
6503
|
+
"187:13": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=west,open=true]",
|
|
6504
|
+
"187:14": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=north,open=true]",
|
|
6505
|
+
"187:15": "minecraft:acacia_fence_gate[in_wall=false,powered=true,facing=east,open=true]",
|
|
6506
|
+
"188:0": "minecraft:spruce_fence[east=false,south=false,north=false,west=false]",
|
|
6507
|
+
"189:0": "minecraft:birch_fence[east=false,south=false,north=false,west=false]",
|
|
6508
|
+
"190:0": "minecraft:jungle_fence[east=false,south=false,north=false,west=false]",
|
|
6509
|
+
"191:0": "minecraft:dark_oak_fence[east=false,south=false,north=false,west=false]",
|
|
6510
|
+
"192:0": "minecraft:acacia_fence[east=false,south=false,north=false,west=false]",
|
|
6511
|
+
"193:0": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
|
|
6512
|
+
"193:1": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
|
|
6513
|
+
"193:2": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
|
|
6514
|
+
"193:3": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
|
|
6515
|
+
"193:4": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
|
|
6516
|
+
"193:5": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
|
|
6517
|
+
"193:6": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
|
|
6518
|
+
"193:7": "minecraft:spruce_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
|
|
6519
|
+
"193:8": "minecraft:spruce_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
|
|
6520
|
+
"193:9": "minecraft:spruce_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
|
|
6521
|
+
"193:10": "minecraft:spruce_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
|
|
6522
|
+
"193:11": "minecraft:spruce_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
|
|
6523
|
+
"194:0": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
|
|
6524
|
+
"194:1": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
|
|
6525
|
+
"194:2": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
|
|
6526
|
+
"194:3": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
|
|
6527
|
+
"194:4": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
|
|
6528
|
+
"194:5": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
|
|
6529
|
+
"194:6": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
|
|
6530
|
+
"194:7": "minecraft:birch_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
|
|
6531
|
+
"194:8": "minecraft:birch_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
|
|
6532
|
+
"194:9": "minecraft:birch_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
|
|
6533
|
+
"194:10": "minecraft:birch_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
|
|
6534
|
+
"194:11": "minecraft:birch_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
|
|
6535
|
+
"195:0": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
|
|
6536
|
+
"195:1": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
|
|
6537
|
+
"195:2": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
|
|
6538
|
+
"195:3": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
|
|
6539
|
+
"195:4": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
|
|
6540
|
+
"195:5": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
|
|
6541
|
+
"195:6": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
|
|
6542
|
+
"195:7": "minecraft:jungle_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
|
|
6543
|
+
"195:8": "minecraft:jungle_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
|
|
6544
|
+
"195:9": "minecraft:jungle_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
|
|
6545
|
+
"195:10": "minecraft:jungle_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
|
|
6546
|
+
"195:11": "minecraft:jungle_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
|
|
6547
|
+
"196:0": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
|
|
6548
|
+
"196:1": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
|
|
6549
|
+
"196:2": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
|
|
6550
|
+
"196:3": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
|
|
6551
|
+
"196:4": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
|
|
6552
|
+
"196:5": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
|
|
6553
|
+
"196:6": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
|
|
6554
|
+
"196:7": "minecraft:acacia_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
|
|
6555
|
+
"196:8": "minecraft:acacia_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
|
|
6556
|
+
"196:9": "minecraft:acacia_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
|
|
6557
|
+
"196:10": "minecraft:acacia_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
|
|
6558
|
+
"196:11": "minecraft:acacia_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
|
|
6559
|
+
"197:0": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=east,open=false]",
|
|
6560
|
+
"197:1": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=south,open=false]",
|
|
6561
|
+
"197:2": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=west,open=false]",
|
|
6562
|
+
"197:3": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=north,open=false]",
|
|
6563
|
+
"197:4": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=east,open=true]",
|
|
6564
|
+
"197:5": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=south,open=true]",
|
|
6565
|
+
"197:6": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=west,open=true]",
|
|
6566
|
+
"197:7": "minecraft:dark_oak_door[hinge=right,half=lower,powered=false,facing=north,open=true]",
|
|
6567
|
+
"197:8": "minecraft:dark_oak_door[hinge=left,half=upper,powered=false,facing=east,open=false]",
|
|
6568
|
+
"197:9": "minecraft:dark_oak_door[hinge=right,half=upper,powered=false,facing=east,open=false]",
|
|
6569
|
+
"197:10": "minecraft:dark_oak_door[hinge=left,half=upper,powered=true,facing=east,open=false]",
|
|
6570
|
+
"197:11": "minecraft:dark_oak_door[hinge=right,half=upper,powered=true,facing=east,open=false]",
|
|
6571
|
+
"198:0": "minecraft:end_rod[facing=down]",
|
|
6572
|
+
"198:1": "minecraft:end_rod[facing=up]",
|
|
6573
|
+
"198:2": "minecraft:end_rod[facing=north]",
|
|
6574
|
+
"198:3": "minecraft:end_rod[facing=south]",
|
|
6575
|
+
"198:4": "minecraft:end_rod[facing=west]",
|
|
6576
|
+
"198:5": "minecraft:end_rod[facing=east]",
|
|
6577
|
+
"199:0": "minecraft:chorus_plant[east=false,south=false,north=false,west=false,up=false,down=false]",
|
|
6578
|
+
"200:0": "minecraft:chorus_flower[age=0]",
|
|
6579
|
+
"200:1": "minecraft:chorus_flower[age=1]",
|
|
6580
|
+
"200:2": "minecraft:chorus_flower[age=2]",
|
|
6581
|
+
"200:3": "minecraft:chorus_flower[age=3]",
|
|
6582
|
+
"200:4": "minecraft:chorus_flower[age=4]",
|
|
6583
|
+
"200:5": "minecraft:chorus_flower[age=5]",
|
|
6584
|
+
"201:0": "minecraft:purpur_block",
|
|
6585
|
+
"202:0": "minecraft:purpur_pillar[axis=y]",
|
|
6586
|
+
"202:4": "minecraft:purpur_pillar[axis=x]",
|
|
6587
|
+
"202:8": "minecraft:purpur_pillar[axis=z]",
|
|
6588
|
+
"203:0": "minecraft:purpur_stairs[half=bottom,shape=outer_right,facing=east]",
|
|
6589
|
+
"203:1": "minecraft:purpur_stairs[half=bottom,shape=outer_right,facing=west]",
|
|
6590
|
+
"203:2": "minecraft:purpur_stairs[half=bottom,shape=outer_right,facing=south]",
|
|
6591
|
+
"203:3": "minecraft:purpur_stairs[half=bottom,shape=outer_right,facing=north]",
|
|
6592
|
+
"203:4": "minecraft:purpur_stairs[half=top,shape=outer_right,facing=east]",
|
|
6593
|
+
"203:5": "minecraft:purpur_stairs[half=top,shape=outer_right,facing=west]",
|
|
6594
|
+
"203:6": "minecraft:purpur_stairs[half=top,shape=outer_right,facing=south]",
|
|
6595
|
+
"203:7": "minecraft:purpur_stairs[half=top,shape=outer_right,facing=north]",
|
|
6596
|
+
"204:0": "minecraft:purpur_slab[type=double]",
|
|
6597
|
+
"205:0": "minecraft:purpur_slab[type=bottom]",
|
|
6598
|
+
"205:8": "minecraft:purpur_slab[type=top]",
|
|
6599
|
+
"206:0": "minecraft:end_stone_bricks",
|
|
6600
|
+
"207:0": "minecraft:beetroots[age=0]",
|
|
6601
|
+
"207:1": "minecraft:beetroots[age=1]",
|
|
6602
|
+
"207:2": "minecraft:beetroots[age=2]",
|
|
6603
|
+
"207:3": "minecraft:beetroots[age=3]",
|
|
6604
|
+
"208:0": "minecraft:dirt_path",
|
|
6605
|
+
"209:0": "minecraft:end_gateway",
|
|
6606
|
+
"210:0": "minecraft:repeating_command_block[conditional=false,facing=down]",
|
|
6607
|
+
"210:1": "minecraft:repeating_command_block[conditional=false,facing=up]",
|
|
6608
|
+
"210:2": "minecraft:repeating_command_block[conditional=false,facing=north]",
|
|
6609
|
+
"210:3": "minecraft:repeating_command_block[conditional=false,facing=south]",
|
|
6610
|
+
"210:4": "minecraft:repeating_command_block[conditional=false,facing=west]",
|
|
6611
|
+
"210:5": "minecraft:repeating_command_block[conditional=false,facing=east]",
|
|
6612
|
+
"210:8": "minecraft:repeating_command_block[conditional=true,facing=down]",
|
|
6613
|
+
"210:9": "minecraft:repeating_command_block[conditional=true,facing=up]",
|
|
6614
|
+
"210:10": "minecraft:repeating_command_block[conditional=true,facing=north]",
|
|
6615
|
+
"210:11": "minecraft:repeating_command_block[conditional=true,facing=south]",
|
|
6616
|
+
"210:12": "minecraft:repeating_command_block[conditional=true,facing=west]",
|
|
6617
|
+
"210:13": "minecraft:repeating_command_block[conditional=true,facing=east]",
|
|
6618
|
+
"211:0": "minecraft:chain_command_block[conditional=false,facing=down]",
|
|
6619
|
+
"211:1": "minecraft:chain_command_block[conditional=false,facing=up]",
|
|
6620
|
+
"211:2": "minecraft:chain_command_block[conditional=false,facing=north]",
|
|
6621
|
+
"211:3": "minecraft:chain_command_block[conditional=false,facing=south]",
|
|
6622
|
+
"211:4": "minecraft:chain_command_block[conditional=false,facing=west]",
|
|
6623
|
+
"211:5": "minecraft:chain_command_block[conditional=false,facing=east]",
|
|
6624
|
+
"211:8": "minecraft:chain_command_block[conditional=true,facing=down]",
|
|
6625
|
+
"211:9": "minecraft:chain_command_block[conditional=true,facing=up]",
|
|
6626
|
+
"211:10": "minecraft:chain_command_block[conditional=true,facing=north]",
|
|
6627
|
+
"211:11": "minecraft:chain_command_block[conditional=true,facing=south]",
|
|
6628
|
+
"211:12": "minecraft:chain_command_block[conditional=true,facing=west]",
|
|
6629
|
+
"211:13": "minecraft:chain_command_block[conditional=true,facing=east]",
|
|
6630
|
+
"212:0": "minecraft:frosted_ice[age=0]",
|
|
6631
|
+
"212:1": "minecraft:frosted_ice[age=1]",
|
|
6632
|
+
"212:2": "minecraft:frosted_ice[age=2]",
|
|
6633
|
+
"212:3": "minecraft:frosted_ice[age=3]",
|
|
6634
|
+
"213:0": "minecraft:magma_block",
|
|
6635
|
+
"214:0": "minecraft:nether_wart_block",
|
|
6636
|
+
"215:0": "minecraft:red_nether_bricks",
|
|
6637
|
+
"216:0": "minecraft:bone_block[axis=y]",
|
|
6638
|
+
"216:4": "minecraft:bone_block[axis=x]",
|
|
6639
|
+
"216:8": "minecraft:bone_block[axis=z]",
|
|
6640
|
+
"217:0": "minecraft:structure_void",
|
|
6641
|
+
"218:0": "minecraft:observer[powered=false,facing=down]",
|
|
6642
|
+
"218:1": "minecraft:observer[powered=false,facing=up]",
|
|
6643
|
+
"218:2": "minecraft:observer[powered=false,facing=north]",
|
|
6644
|
+
"218:3": "minecraft:observer[powered=false,facing=south]",
|
|
6645
|
+
"218:4": "minecraft:observer[powered=false,facing=west]",
|
|
6646
|
+
"218:5": "minecraft:observer[powered=false,facing=east]",
|
|
6647
|
+
"218:8": "minecraft:observer[powered=true,facing=down]",
|
|
6648
|
+
"218:9": "minecraft:observer[powered=true,facing=up]",
|
|
6649
|
+
"218:10": "minecraft:observer[powered=true,facing=north]",
|
|
6650
|
+
"218:11": "minecraft:observer[powered=true,facing=south]",
|
|
6651
|
+
"218:12": "minecraft:observer[powered=true,facing=west]",
|
|
6652
|
+
"218:13": "minecraft:observer[powered=true,facing=east]",
|
|
6653
|
+
"219:0": "minecraft:white_shulker_box[facing=down]",
|
|
6654
|
+
"219:1": "minecraft:white_shulker_box[facing=up]",
|
|
6655
|
+
"219:2": "minecraft:white_shulker_box[facing=north]",
|
|
6656
|
+
"219:3": "minecraft:white_shulker_box[facing=south]",
|
|
6657
|
+
"219:4": "minecraft:white_shulker_box[facing=west]",
|
|
6658
|
+
"219:5": "minecraft:white_shulker_box[facing=east]",
|
|
6659
|
+
"220:0": "minecraft:orange_shulker_box[facing=down]",
|
|
6660
|
+
"220:1": "minecraft:orange_shulker_box[facing=up]",
|
|
6661
|
+
"220:2": "minecraft:orange_shulker_box[facing=north]",
|
|
6662
|
+
"220:3": "minecraft:orange_shulker_box[facing=south]",
|
|
6663
|
+
"220:4": "minecraft:orange_shulker_box[facing=west]",
|
|
6664
|
+
"220:5": "minecraft:orange_shulker_box[facing=east]",
|
|
6665
|
+
"221:0": "minecraft:magenta_shulker_box[facing=down]",
|
|
6666
|
+
"221:1": "minecraft:magenta_shulker_box[facing=up]",
|
|
6667
|
+
"221:2": "minecraft:magenta_shulker_box[facing=north]",
|
|
6668
|
+
"221:3": "minecraft:magenta_shulker_box[facing=south]",
|
|
6669
|
+
"221:4": "minecraft:magenta_shulker_box[facing=west]",
|
|
6670
|
+
"221:5": "minecraft:magenta_shulker_box[facing=east]",
|
|
6671
|
+
"222:0": "minecraft:light_blue_shulker_box[facing=down]",
|
|
6672
|
+
"222:1": "minecraft:light_blue_shulker_box[facing=up]",
|
|
6673
|
+
"222:2": "minecraft:light_blue_shulker_box[facing=north]",
|
|
6674
|
+
"222:3": "minecraft:light_blue_shulker_box[facing=south]",
|
|
6675
|
+
"222:4": "minecraft:light_blue_shulker_box[facing=west]",
|
|
6676
|
+
"222:5": "minecraft:light_blue_shulker_box[facing=east]",
|
|
6677
|
+
"223:0": "minecraft:yellow_shulker_box[facing=down]",
|
|
6678
|
+
"223:1": "minecraft:yellow_shulker_box[facing=up]",
|
|
6679
|
+
"223:2": "minecraft:yellow_shulker_box[facing=north]",
|
|
6680
|
+
"223:3": "minecraft:yellow_shulker_box[facing=south]",
|
|
6681
|
+
"223:4": "minecraft:yellow_shulker_box[facing=west]",
|
|
6682
|
+
"223:5": "minecraft:yellow_shulker_box[facing=east]",
|
|
6683
|
+
"224:0": "minecraft:lime_shulker_box[facing=down]",
|
|
6684
|
+
"224:1": "minecraft:lime_shulker_box[facing=up]",
|
|
6685
|
+
"224:2": "minecraft:lime_shulker_box[facing=north]",
|
|
6686
|
+
"224:3": "minecraft:lime_shulker_box[facing=south]",
|
|
6687
|
+
"224:4": "minecraft:lime_shulker_box[facing=west]",
|
|
6688
|
+
"224:5": "minecraft:lime_shulker_box[facing=east]",
|
|
6689
|
+
"225:0": "minecraft:pink_shulker_box[facing=down]",
|
|
6690
|
+
"225:1": "minecraft:pink_shulker_box[facing=up]",
|
|
6691
|
+
"225:2": "minecraft:pink_shulker_box[facing=north]",
|
|
6692
|
+
"225:3": "minecraft:pink_shulker_box[facing=south]",
|
|
6693
|
+
"225:4": "minecraft:pink_shulker_box[facing=west]",
|
|
6694
|
+
"225:5": "minecraft:pink_shulker_box[facing=east]",
|
|
6695
|
+
"226:0": "minecraft:gray_shulker_box[facing=down]",
|
|
6696
|
+
"226:1": "minecraft:gray_shulker_box[facing=up]",
|
|
6697
|
+
"226:2": "minecraft:gray_shulker_box[facing=north]",
|
|
6698
|
+
"226:3": "minecraft:gray_shulker_box[facing=south]",
|
|
6699
|
+
"226:4": "minecraft:gray_shulker_box[facing=west]",
|
|
6700
|
+
"226:5": "minecraft:gray_shulker_box[facing=east]",
|
|
6701
|
+
"227:0": "minecraft:light_gray_shulker_box[facing=down]",
|
|
6702
|
+
"227:1": "minecraft:light_gray_shulker_box[facing=up]",
|
|
6703
|
+
"227:2": "minecraft:light_gray_shulker_box[facing=north]",
|
|
6704
|
+
"227:3": "minecraft:light_gray_shulker_box[facing=south]",
|
|
6705
|
+
"227:4": "minecraft:light_gray_shulker_box[facing=west]",
|
|
6706
|
+
"227:5": "minecraft:light_gray_shulker_box[facing=east]",
|
|
6707
|
+
"228:0": "minecraft:cyan_shulker_box[facing=down]",
|
|
6708
|
+
"228:1": "minecraft:cyan_shulker_box[facing=up]",
|
|
6709
|
+
"228:2": "minecraft:cyan_shulker_box[facing=north]",
|
|
6710
|
+
"228:3": "minecraft:cyan_shulker_box[facing=south]",
|
|
6711
|
+
"228:4": "minecraft:cyan_shulker_box[facing=west]",
|
|
6712
|
+
"228:5": "minecraft:cyan_shulker_box[facing=east]",
|
|
6713
|
+
"229:0": "minecraft:purple_shulker_box[facing=down]",
|
|
6714
|
+
"229:1": "minecraft:purple_shulker_box[facing=up]",
|
|
6715
|
+
"229:2": "minecraft:purple_shulker_box[facing=north]",
|
|
6716
|
+
"229:3": "minecraft:purple_shulker_box[facing=south]",
|
|
6717
|
+
"229:4": "minecraft:purple_shulker_box[facing=west]",
|
|
6718
|
+
"229:5": "minecraft:purple_shulker_box[facing=east]",
|
|
6719
|
+
"230:0": "minecraft:blue_shulker_box[facing=down]",
|
|
6720
|
+
"230:1": "minecraft:blue_shulker_box[facing=up]",
|
|
6721
|
+
"230:2": "minecraft:blue_shulker_box[facing=north]",
|
|
6722
|
+
"230:3": "minecraft:blue_shulker_box[facing=south]",
|
|
6723
|
+
"230:4": "minecraft:blue_shulker_box[facing=west]",
|
|
6724
|
+
"230:5": "minecraft:blue_shulker_box[facing=east]",
|
|
6725
|
+
"231:0": "minecraft:brown_shulker_box[facing=down]",
|
|
6726
|
+
"231:1": "minecraft:brown_shulker_box[facing=up]",
|
|
6727
|
+
"231:2": "minecraft:brown_shulker_box[facing=north]",
|
|
6728
|
+
"231:3": "minecraft:brown_shulker_box[facing=south]",
|
|
6729
|
+
"231:4": "minecraft:brown_shulker_box[facing=west]",
|
|
6730
|
+
"231:5": "minecraft:brown_shulker_box[facing=east]",
|
|
6731
|
+
"232:0": "minecraft:green_shulker_box[facing=down]",
|
|
6732
|
+
"232:1": "minecraft:green_shulker_box[facing=up]",
|
|
6733
|
+
"232:2": "minecraft:green_shulker_box[facing=north]",
|
|
6734
|
+
"232:3": "minecraft:green_shulker_box[facing=south]",
|
|
6735
|
+
"232:4": "minecraft:green_shulker_box[facing=west]",
|
|
6736
|
+
"232:5": "minecraft:green_shulker_box[facing=east]",
|
|
6737
|
+
"233:0": "minecraft:red_shulker_box[facing=down]",
|
|
6738
|
+
"233:1": "minecraft:red_shulker_box[facing=up]",
|
|
6739
|
+
"233:2": "minecraft:red_shulker_box[facing=north]",
|
|
6740
|
+
"233:3": "minecraft:red_shulker_box[facing=south]",
|
|
6741
|
+
"233:4": "minecraft:red_shulker_box[facing=west]",
|
|
6742
|
+
"233:5": "minecraft:red_shulker_box[facing=east]",
|
|
6743
|
+
"234:0": "minecraft:black_shulker_box[facing=down]",
|
|
6744
|
+
"234:1": "minecraft:black_shulker_box[facing=up]",
|
|
6745
|
+
"234:2": "minecraft:black_shulker_box[facing=north]",
|
|
6746
|
+
"234:3": "minecraft:black_shulker_box[facing=south]",
|
|
6747
|
+
"234:4": "minecraft:black_shulker_box[facing=west]",
|
|
6748
|
+
"234:5": "minecraft:black_shulker_box[facing=east]",
|
|
6749
|
+
"235:0": "minecraft:white_glazed_terracotta[facing=south]",
|
|
6750
|
+
"235:1": "minecraft:white_glazed_terracotta[facing=west]",
|
|
6751
|
+
"235:2": "minecraft:white_glazed_terracotta[facing=north]",
|
|
6752
|
+
"235:3": "minecraft:white_glazed_terracotta[facing=east]",
|
|
6753
|
+
"236:0": "minecraft:orange_glazed_terracotta[facing=south]",
|
|
6754
|
+
"236:1": "minecraft:orange_glazed_terracotta[facing=west]",
|
|
6755
|
+
"236:2": "minecraft:orange_glazed_terracotta[facing=north]",
|
|
6756
|
+
"236:3": "minecraft:orange_glazed_terracotta[facing=east]",
|
|
6757
|
+
"237:0": "minecraft:magenta_glazed_terracotta[facing=south]",
|
|
6758
|
+
"237:1": "minecraft:magenta_glazed_terracotta[facing=west]",
|
|
6759
|
+
"237:2": "minecraft:magenta_glazed_terracotta[facing=north]",
|
|
6760
|
+
"237:3": "minecraft:magenta_glazed_terracotta[facing=east]",
|
|
6761
|
+
"238:0": "minecraft:light_blue_glazed_terracotta[facing=south]",
|
|
6762
|
+
"238:1": "minecraft:light_blue_glazed_terracotta[facing=west]",
|
|
6763
|
+
"238:2": "minecraft:light_blue_glazed_terracotta[facing=north]",
|
|
6764
|
+
"238:3": "minecraft:light_blue_glazed_terracotta[facing=east]",
|
|
6765
|
+
"239:0": "minecraft:yellow_glazed_terracotta[facing=south]",
|
|
6766
|
+
"239:1": "minecraft:yellow_glazed_terracotta[facing=west]",
|
|
6767
|
+
"239:2": "minecraft:yellow_glazed_terracotta[facing=north]",
|
|
6768
|
+
"239:3": "minecraft:yellow_glazed_terracotta[facing=east]",
|
|
6769
|
+
"240:0": "minecraft:lime_glazed_terracotta[facing=south]",
|
|
6770
|
+
"240:1": "minecraft:lime_glazed_terracotta[facing=west]",
|
|
6771
|
+
"240:2": "minecraft:lime_glazed_terracotta[facing=north]",
|
|
6772
|
+
"240:3": "minecraft:lime_glazed_terracotta[facing=east]",
|
|
6773
|
+
"241:0": "minecraft:pink_glazed_terracotta[facing=south]",
|
|
6774
|
+
"241:1": "minecraft:pink_glazed_terracotta[facing=west]",
|
|
6775
|
+
"241:2": "minecraft:pink_glazed_terracotta[facing=north]",
|
|
6776
|
+
"241:3": "minecraft:pink_glazed_terracotta[facing=east]",
|
|
6777
|
+
"242:0": "minecraft:gray_glazed_terracotta[facing=south]",
|
|
6778
|
+
"242:1": "minecraft:gray_glazed_terracotta[facing=west]",
|
|
6779
|
+
"242:2": "minecraft:gray_glazed_terracotta[facing=north]",
|
|
6780
|
+
"242:3": "minecraft:gray_glazed_terracotta[facing=east]",
|
|
6781
|
+
"243:0": "minecraft:light_gray_glazed_terracotta[facing=south]",
|
|
6782
|
+
"243:1": "minecraft:light_gray_glazed_terracotta[facing=west]",
|
|
6783
|
+
"243:2": "minecraft:light_gray_glazed_terracotta[facing=north]",
|
|
6784
|
+
"243:3": "minecraft:light_gray_glazed_terracotta[facing=east]",
|
|
6785
|
+
"244:0": "minecraft:cyan_glazed_terracotta[facing=south]",
|
|
6786
|
+
"244:1": "minecraft:cyan_glazed_terracotta[facing=west]",
|
|
6787
|
+
"244:2": "minecraft:cyan_glazed_terracotta[facing=north]",
|
|
6788
|
+
"244:3": "minecraft:cyan_glazed_terracotta[facing=east]",
|
|
6789
|
+
"245:0": "minecraft:purple_glazed_terracotta[facing=south]",
|
|
6790
|
+
"245:1": "minecraft:purple_glazed_terracotta[facing=west]",
|
|
6791
|
+
"245:2": "minecraft:purple_glazed_terracotta[facing=north]",
|
|
6792
|
+
"245:3": "minecraft:purple_glazed_terracotta[facing=east]",
|
|
6793
|
+
"246:0": "minecraft:blue_glazed_terracotta[facing=south]",
|
|
6794
|
+
"246:1": "minecraft:blue_glazed_terracotta[facing=west]",
|
|
6795
|
+
"246:2": "minecraft:blue_glazed_terracotta[facing=north]",
|
|
6796
|
+
"246:3": "minecraft:blue_glazed_terracotta[facing=east]",
|
|
6797
|
+
"247:0": "minecraft:brown_glazed_terracotta[facing=south]",
|
|
6798
|
+
"247:1": "minecraft:brown_glazed_terracotta[facing=west]",
|
|
6799
|
+
"247:2": "minecraft:brown_glazed_terracotta[facing=north]",
|
|
6800
|
+
"247:3": "minecraft:brown_glazed_terracotta[facing=east]",
|
|
6801
|
+
"248:0": "minecraft:green_glazed_terracotta[facing=south]",
|
|
6802
|
+
"248:1": "minecraft:green_glazed_terracotta[facing=west]",
|
|
6803
|
+
"248:2": "minecraft:green_glazed_terracotta[facing=north]",
|
|
6804
|
+
"248:3": "minecraft:green_glazed_terracotta[facing=east]",
|
|
6805
|
+
"249:0": "minecraft:red_glazed_terracotta[facing=south]",
|
|
6806
|
+
"249:1": "minecraft:red_glazed_terracotta[facing=west]",
|
|
6807
|
+
"249:2": "minecraft:red_glazed_terracotta[facing=north]",
|
|
6808
|
+
"249:3": "minecraft:red_glazed_terracotta[facing=east]",
|
|
6809
|
+
"250:0": "minecraft:black_glazed_terracotta[facing=south]",
|
|
6810
|
+
"250:1": "minecraft:black_glazed_terracotta[facing=west]",
|
|
6811
|
+
"250:2": "minecraft:black_glazed_terracotta[facing=north]",
|
|
6812
|
+
"250:3": "minecraft:black_glazed_terracotta[facing=east]",
|
|
6813
|
+
"251:0": "minecraft:white_concrete",
|
|
6814
|
+
"251:1": "minecraft:orange_concrete",
|
|
6815
|
+
"251:2": "minecraft:magenta_concrete",
|
|
6816
|
+
"251:3": "minecraft:light_blue_concrete",
|
|
6817
|
+
"251:4": "minecraft:yellow_concrete",
|
|
6818
|
+
"251:5": "minecraft:lime_concrete",
|
|
6819
|
+
"251:6": "minecraft:pink_concrete",
|
|
6820
|
+
"251:7": "minecraft:gray_concrete",
|
|
6821
|
+
"251:8": "minecraft:light_gray_concrete",
|
|
6822
|
+
"251:9": "minecraft:cyan_concrete",
|
|
6823
|
+
"251:10": "minecraft:purple_concrete",
|
|
6824
|
+
"251:11": "minecraft:blue_concrete",
|
|
6825
|
+
"251:12": "minecraft:brown_concrete",
|
|
6826
|
+
"251:13": "minecraft:green_concrete",
|
|
6827
|
+
"251:14": "minecraft:red_concrete",
|
|
6828
|
+
"251:15": "minecraft:black_concrete",
|
|
6829
|
+
"252:0": "minecraft:white_concrete_powder",
|
|
6830
|
+
"252:1": "minecraft:orange_concrete_powder",
|
|
6831
|
+
"252:2": "minecraft:magenta_concrete_powder",
|
|
6832
|
+
"252:3": "minecraft:light_blue_concrete_powder",
|
|
6833
|
+
"252:4": "minecraft:yellow_concrete_powder",
|
|
6834
|
+
"252:5": "minecraft:lime_concrete_powder",
|
|
6835
|
+
"252:6": "minecraft:pink_concrete_powder",
|
|
6836
|
+
"252:7": "minecraft:gray_concrete_powder",
|
|
6837
|
+
"252:8": "minecraft:light_gray_concrete_powder",
|
|
6838
|
+
"252:9": "minecraft:cyan_concrete_powder",
|
|
6839
|
+
"252:10": "minecraft:purple_concrete_powder",
|
|
6840
|
+
"252:11": "minecraft:blue_concrete_powder",
|
|
6841
|
+
"252:12": "minecraft:brown_concrete_powder",
|
|
6842
|
+
"252:13": "minecraft:green_concrete_powder",
|
|
6843
|
+
"252:14": "minecraft:red_concrete_powder",
|
|
6844
|
+
"252:15": "minecraft:black_concrete_powder",
|
|
6845
|
+
"255:0": "minecraft:structure_block[mode=save]",
|
|
6846
|
+
"255:1": "minecraft:structure_block[mode=load]",
|
|
6847
|
+
"255:2": "minecraft:structure_block[mode=corner]",
|
|
6848
|
+
"255:3": "minecraft:structure_block[mode=data]"
|
|
6849
|
+
}
|
|
6850
|
+
};
|
|
6851
|
+
|
|
5036
6852
|
// src/model/multiblock/SchematicParser.ts
|
|
5037
6853
|
var SchematicParser = class {
|
|
5038
|
-
static async parse() {
|
|
5039
|
-
|
|
6854
|
+
static async parse(nbt) {
|
|
6855
|
+
const tags = nbt.value;
|
|
6856
|
+
if (tags.Materials?.type !== "string" || tags.Materials.value !== "Alpha") {
|
|
6857
|
+
throw new MineRenderError("Schematic Materials must be Alpha");
|
|
6858
|
+
}
|
|
6859
|
+
const size = ["Width", "Height", "Length"].map((name) => {
|
|
6860
|
+
const tag = tags[name];
|
|
6861
|
+
if (tag?.type !== "short" || !Number.isInteger(tag.value) || tag.value <= 0 || tag.value > 32767) {
|
|
6862
|
+
throw new MineRenderError(`Schematic ${name} must be a positive short`);
|
|
6863
|
+
}
|
|
6864
|
+
return tag.value;
|
|
6865
|
+
});
|
|
6866
|
+
const [width, height, length] = size;
|
|
6867
|
+
const volume = width * height * length;
|
|
6868
|
+
const ids = tags.Blocks;
|
|
6869
|
+
const data = tags.Data;
|
|
6870
|
+
if (ids?.type !== "byteArray" || data?.type !== "byteArray" || !Array.isArray(ids.value) || !Array.isArray(data.value) || ids.value.length !== volume || data.value.length !== volume) {
|
|
6871
|
+
throw new MineRenderError(`Schematic Blocks and Data must contain ${volume} bytes`);
|
|
6872
|
+
}
|
|
6873
|
+
const addBlocks = tags.AddBlocks;
|
|
6874
|
+
if (addBlocks && (addBlocks.type !== "byteArray" || !Array.isArray(addBlocks.value))) {
|
|
6875
|
+
throw new MineRenderError("Schematic AddBlocks must be a byte array");
|
|
6876
|
+
}
|
|
6877
|
+
const tileEntities = /* @__PURE__ */ new Map();
|
|
6878
|
+
for (const tile of compoundList(tags, "TileEntities")) {
|
|
6879
|
+
const position = ["x", "y", "z"].map((axis, i) => {
|
|
6880
|
+
const coordinate = tile[axis];
|
|
6881
|
+
if (coordinate?.type !== "int" || !Number.isInteger(coordinate.value) || coordinate.value < 0 || coordinate.value >= size[i]) {
|
|
6882
|
+
throw new MineRenderError("Schematic TileEntities position is outside its dimensions");
|
|
6883
|
+
}
|
|
6884
|
+
return coordinate.value;
|
|
6885
|
+
});
|
|
6886
|
+
const [x, y, z] = position;
|
|
6887
|
+
tileEntities.set((y * length + z) * width + x, { type: "compound", value: tile });
|
|
6888
|
+
}
|
|
6889
|
+
const blocks = [];
|
|
6890
|
+
const mapping = legacyBlocks_default.blocks;
|
|
6891
|
+
for (let index = 0; index < volume; index++) {
|
|
6892
|
+
const packed = addBlocks?.value[index >> 1] ?? 0;
|
|
6893
|
+
const high = packed >> (index & 1) * 4 & 15;
|
|
6894
|
+
const id = high << 8 | ids.value[index] & 255;
|
|
6895
|
+
const metadata = data.value[index] & 255;
|
|
6896
|
+
const mapped = mapping[`${id}:${metadata}`];
|
|
6897
|
+
if (!mapped) throw new MineRenderError(`Unsupported legacy block ${id}:${metadata} at schematic index ${index}`);
|
|
6898
|
+
const [type, state] = mapped.split("[");
|
|
6899
|
+
if (type === "minecraft:air") continue;
|
|
6900
|
+
const properties = {};
|
|
6901
|
+
if (state) {
|
|
6902
|
+
for (const property of state.slice(0, -1).split(",")) {
|
|
6903
|
+
const [key, value] = property.split("=");
|
|
6904
|
+
properties[key] = value;
|
|
6905
|
+
}
|
|
6906
|
+
}
|
|
6907
|
+
blocks.push({
|
|
6908
|
+
type,
|
|
6909
|
+
properties,
|
|
6910
|
+
position: [index % width, Math.floor(index / (width * length)), Math.floor(index / width) % length],
|
|
6911
|
+
nbt: tileEntities.get(index)
|
|
6912
|
+
});
|
|
6913
|
+
}
|
|
6914
|
+
const entities = compoundList(tags, "Entities").map((entity) => {
|
|
6915
|
+
const pos = entity.Pos;
|
|
6916
|
+
if (pos?.type !== "list" || pos.value.type !== "double" || pos.value.value.length !== 3 || !pos.value.value.every(Number.isFinite)) {
|
|
6917
|
+
throw new MineRenderError("Schematic entity Pos must contain three doubles");
|
|
6918
|
+
}
|
|
6919
|
+
return { position: [...pos.value.value], nbt: { type: "compound", value: entity } };
|
|
6920
|
+
});
|
|
6921
|
+
const dataVersion = tags.DataVersion;
|
|
6922
|
+
if (dataVersion && (dataVersion.type !== "int" || !Number.isInteger(dataVersion.value))) {
|
|
6923
|
+
throw new MineRenderError("Schematic DataVersion must be an int");
|
|
6924
|
+
}
|
|
6925
|
+
return { size, blocks, entities, dataVersion: dataVersion?.value };
|
|
5040
6926
|
}
|
|
5041
6927
|
};
|
|
6928
|
+
function compoundList(tags, name) {
|
|
6929
|
+
const tag = tags[name];
|
|
6930
|
+
if (!tag) return [];
|
|
6931
|
+
if (tag.type === "list" && Array.isArray(tag.value.value)) {
|
|
6932
|
+
if (tag.value.value.length === 0) return [];
|
|
6933
|
+
if (tag.value.type === "compound") return tag.value.value;
|
|
6934
|
+
}
|
|
6935
|
+
throw new MineRenderError(`Schematic ${name} must be a compound list`);
|
|
6936
|
+
}
|
|
5042
6937
|
|
|
5043
6938
|
// src/model/multiblock/StructureParser.ts
|
|
5044
6939
|
var StructureParser = class {
|
|
@@ -5048,13 +6943,16 @@ var StructureParser = class {
|
|
|
5048
6943
|
if ("palette" in nbt) {
|
|
5049
6944
|
palette = nbt.palette;
|
|
5050
6945
|
} else if ("palettes" in nbt) {
|
|
5051
|
-
|
|
6946
|
+
const selected = nbt.palettes.value.value[paletteIndex ?? 0];
|
|
6947
|
+
if (!selected) throw new MineRenderError(`Structure palette ${paletteIndex ?? 0} does not exist`);
|
|
6948
|
+
palette = { type: "list", value: selected };
|
|
5052
6949
|
} else {
|
|
5053
6950
|
throw new MineRenderError("Structure does not have palette(s)");
|
|
5054
6951
|
}
|
|
5055
6952
|
const blocks = nbt.blocks.value.value.map((block) => {
|
|
5056
6953
|
const state = palette.value.value[block.state.value];
|
|
5057
|
-
if (state.
|
|
6954
|
+
if (!state) throw new MineRenderError(`Structure palette index ${block.state.value} does not exist`);
|
|
6955
|
+
if (["minecraft:air", "minecraft:cave_air", "minecraft:void_air"].includes(state.Name.value)) return void 0;
|
|
5058
6956
|
const props = {};
|
|
5059
6957
|
for (let k in state.Properties?.value) {
|
|
5060
6958
|
props[k] = state.Properties.value[k].value;
|
|
@@ -5068,13 +6966,19 @@ var StructureParser = class {
|
|
|
5068
6966
|
}).filter((m) => typeof m !== "undefined");
|
|
5069
6967
|
return {
|
|
5070
6968
|
blocks,
|
|
5071
|
-
size: nbt.size.value.value
|
|
6969
|
+
size: nbt.size.value.value,
|
|
6970
|
+
dataVersion: nbt.DataVersion?.value,
|
|
6971
|
+
entities: (nbt.entities?.value.value ?? []).map((entity) => ({
|
|
6972
|
+
position: entity.pos.value.value,
|
|
6973
|
+
blockPosition: entity.blockPos.value.value,
|
|
6974
|
+
nbt: entity.nbt
|
|
6975
|
+
}))
|
|
5072
6976
|
};
|
|
5073
6977
|
}
|
|
5074
6978
|
};
|
|
5075
6979
|
|
|
5076
6980
|
// src/renderer/MineRenderScene.ts
|
|
5077
|
-
var
|
|
6981
|
+
var import_three21 = require("three");
|
|
5078
6982
|
var import_ts_deepmerge8 = __toESM(require_dist());
|
|
5079
6983
|
|
|
5080
6984
|
// src/skin/SkinPart.ts
|
|
@@ -5799,7 +7703,7 @@ var slimSkinGeometries = {
|
|
|
5799
7703
|
var import_ts_deepmerge7 = __toESM(require_dist());
|
|
5800
7704
|
|
|
5801
7705
|
// src/skin/SkinTextures.ts
|
|
5802
|
-
var
|
|
7706
|
+
var import_three20 = require("three");
|
|
5803
7707
|
|
|
5804
7708
|
// src/skin/SkinImage.ts
|
|
5805
7709
|
var SkinImage = class {
|
|
@@ -5876,11 +7780,11 @@ var SkinTextures = class {
|
|
|
5876
7780
|
});
|
|
5877
7781
|
}
|
|
5878
7782
|
static createMaterial(pixels, width, height, transparent = true) {
|
|
5879
|
-
const texture = Textures.initTextureProps(new
|
|
5880
|
-
texture.colorSpace =
|
|
7783
|
+
const texture = Textures.initTextureProps(new import_three20.DataTexture(pixels, width, height));
|
|
7784
|
+
texture.colorSpace = import_three20.SRGBColorSpace;
|
|
5881
7785
|
texture.flipY = true;
|
|
5882
7786
|
texture.needsUpdate = true;
|
|
5883
|
-
return new
|
|
7787
|
+
return new import_three20.MeshBasicMaterial({ map: texture, transparent, side: transparent ? import_three20.DoubleSide : import_three20.FrontSide, alphaTest: transparent ? 0.1 : 0 });
|
|
5884
7788
|
}
|
|
5885
7789
|
static isSlim(image, scale) {
|
|
5886
7790
|
for (const [x, y] of [[46, 52], [54, 20]]) {
|
|
@@ -6107,7 +8011,7 @@ var SkinObject = class extends SceneObject {
|
|
|
6107
8011
|
};
|
|
6108
8012
|
|
|
6109
8013
|
// src/renderer/MineRenderScene.ts
|
|
6110
|
-
var MineRenderScene = class _MineRenderScene extends
|
|
8014
|
+
var MineRenderScene = class _MineRenderScene extends import_three21.Scene {
|
|
6111
8015
|
constructor(options) {
|
|
6112
8016
|
super();
|
|
6113
8017
|
this.isMineRenderScene = true;
|
|
@@ -6183,11 +8087,12 @@ var MineRenderScene = class _MineRenderScene extends import_three20.Scene {
|
|
|
6183
8087
|
console.log("instanceMeshes + key");
|
|
6184
8088
|
let key = asset.key.serialize();
|
|
6185
8089
|
if (isModelObject(obj)) {
|
|
6186
|
-
const { displayPosition, uvLockRotation, tints } = obj.options;
|
|
8090
|
+
const { displayPosition, uvLockRotation, tints, cullMask } = obj.options;
|
|
6187
8091
|
if (displayPosition) key += `|display:${displayPosition}`;
|
|
6188
8092
|
if (uvLockRotation) key += `|uvlock:${uvLockRotation.join(",")}`;
|
|
6189
8093
|
const palette = Object.entries(tints ?? {}).sort(([a], [b]) => Number(a) - Number(b));
|
|
6190
8094
|
if (palette.length) key += `|tints:${JSON.stringify(palette)}`;
|
|
8095
|
+
if (cullMask) key += `|cull:${cullMask}`;
|
|
6191
8096
|
}
|
|
6192
8097
|
return this.instanceManager.getOrCreate(key, async () => {
|
|
6193
8098
|
obj.scene = this;
|
|
@@ -6231,17 +8136,17 @@ function isMineRenderScene(obj) {
|
|
|
6231
8136
|
}
|
|
6232
8137
|
|
|
6233
8138
|
// src/renderer/Renderer.ts
|
|
6234
|
-
var
|
|
8139
|
+
var import_three23 = require("three");
|
|
6235
8140
|
var import_ts_deepmerge9 = __toESM(require_dist());
|
|
6236
8141
|
var import_stats = __toESM(require("stats.js"));
|
|
6237
8142
|
var import_postprocessing = require("postprocessing");
|
|
6238
8143
|
|
|
6239
8144
|
// src/three/OrbitControls.js
|
|
6240
|
-
var
|
|
8145
|
+
var import_three22 = require("three");
|
|
6241
8146
|
var _changeEvent = { type: "change" };
|
|
6242
8147
|
var _startEvent = { type: "start" };
|
|
6243
8148
|
var _endEvent = { type: "end" };
|
|
6244
|
-
var OrbitControls = class extends
|
|
8149
|
+
var OrbitControls = class extends import_three22.EventDispatcher {
|
|
6245
8150
|
constructor(object, domElement) {
|
|
6246
8151
|
super();
|
|
6247
8152
|
if (domElement === void 0) console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.');
|
|
@@ -6250,7 +8155,7 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6250
8155
|
this.domElement = domElement;
|
|
6251
8156
|
this.domElement.style.touchAction = "none";
|
|
6252
8157
|
this.enabled = true;
|
|
6253
|
-
this.target = new
|
|
8158
|
+
this.target = new import_three22.Vector3();
|
|
6254
8159
|
this.minDistance = 0;
|
|
6255
8160
|
this.maxDistance = Infinity;
|
|
6256
8161
|
this.minZoom = 0;
|
|
@@ -6272,8 +8177,8 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6272
8177
|
this.autoRotate = false;
|
|
6273
8178
|
this.autoRotateSpeed = 2;
|
|
6274
8179
|
this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" };
|
|
6275
|
-
this.mouseButtons = { LEFT:
|
|
6276
|
-
this.touches = { ONE:
|
|
8180
|
+
this.mouseButtons = { LEFT: import_three22.MOUSE.ROTATE, MIDDLE: import_three22.MOUSE.DOLLY, RIGHT: import_three22.MOUSE.PAN };
|
|
8181
|
+
this.touches = { ONE: import_three22.TOUCH.ROTATE, TWO: import_three22.TOUCH.DOLLY_PAN };
|
|
6277
8182
|
this.target0 = this.target.clone();
|
|
6278
8183
|
this.position0 = this.object.position.clone();
|
|
6279
8184
|
this.zoom0 = this.object.zoom;
|
|
@@ -6302,11 +8207,11 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6302
8207
|
state = STATE.NONE;
|
|
6303
8208
|
};
|
|
6304
8209
|
this.update = function() {
|
|
6305
|
-
const offset = new
|
|
6306
|
-
const quat = new
|
|
8210
|
+
const offset = new import_three22.Vector3();
|
|
8211
|
+
const quat = new import_three22.Quaternion().setFromUnitVectors(object.up, new import_three22.Vector3(0, 1, 0));
|
|
6307
8212
|
const quatInverse = quat.clone().invert();
|
|
6308
|
-
const lastPosition = new
|
|
6309
|
-
const lastQuaternion = new
|
|
8213
|
+
const lastPosition = new import_three22.Vector3();
|
|
8214
|
+
const lastQuaternion = new import_three22.Quaternion();
|
|
6310
8215
|
const twoPI = 2 * Math.PI;
|
|
6311
8216
|
return function update() {
|
|
6312
8217
|
const position = scope.object.position;
|
|
@@ -6392,20 +8297,20 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6392
8297
|
};
|
|
6393
8298
|
let state = STATE.NONE;
|
|
6394
8299
|
const EPS = 1e-6;
|
|
6395
|
-
const spherical = new
|
|
6396
|
-
const sphericalDelta = new
|
|
8300
|
+
const spherical = new import_three22.Spherical();
|
|
8301
|
+
const sphericalDelta = new import_three22.Spherical();
|
|
6397
8302
|
let scale = 1;
|
|
6398
|
-
const panOffset = new
|
|
8303
|
+
const panOffset = new import_three22.Vector3();
|
|
6399
8304
|
let zoomChanged = false;
|
|
6400
|
-
const rotateStart = new
|
|
6401
|
-
const rotateEnd = new
|
|
6402
|
-
const rotateDelta = new
|
|
6403
|
-
const panStart = new
|
|
6404
|
-
const panEnd = new
|
|
6405
|
-
const panDelta = new
|
|
6406
|
-
const dollyStart = new
|
|
6407
|
-
const dollyEnd = new
|
|
6408
|
-
const dollyDelta = new
|
|
8305
|
+
const rotateStart = new import_three22.Vector2();
|
|
8306
|
+
const rotateEnd = new import_three22.Vector2();
|
|
8307
|
+
const rotateDelta = new import_three22.Vector2();
|
|
8308
|
+
const panStart = new import_three22.Vector2();
|
|
8309
|
+
const panEnd = new import_three22.Vector2();
|
|
8310
|
+
const panDelta = new import_three22.Vector2();
|
|
8311
|
+
const dollyStart = new import_three22.Vector2();
|
|
8312
|
+
const dollyEnd = new import_three22.Vector2();
|
|
8313
|
+
const dollyDelta = new import_three22.Vector2();
|
|
6409
8314
|
const pointers = [];
|
|
6410
8315
|
const pointerPositions = {};
|
|
6411
8316
|
function getAutoRotationAngle() {
|
|
@@ -6421,7 +8326,7 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6421
8326
|
sphericalDelta.phi -= angle;
|
|
6422
8327
|
}
|
|
6423
8328
|
const panLeft = function() {
|
|
6424
|
-
const v = new
|
|
8329
|
+
const v = new import_three22.Vector3();
|
|
6425
8330
|
return function panLeft2(distance, objectMatrix) {
|
|
6426
8331
|
v.setFromMatrixColumn(objectMatrix, 0);
|
|
6427
8332
|
v.multiplyScalar(-distance);
|
|
@@ -6429,7 +8334,7 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6429
8334
|
};
|
|
6430
8335
|
}();
|
|
6431
8336
|
const panUp = function() {
|
|
6432
|
-
const v = new
|
|
8337
|
+
const v = new import_three22.Vector3();
|
|
6433
8338
|
return function panUp2(distance, objectMatrix) {
|
|
6434
8339
|
if (scope.screenSpacePanning === true) {
|
|
6435
8340
|
v.setFromMatrixColumn(objectMatrix, 1);
|
|
@@ -6442,7 +8347,7 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6442
8347
|
};
|
|
6443
8348
|
}();
|
|
6444
8349
|
const pan = function() {
|
|
6445
|
-
const offset = new
|
|
8350
|
+
const offset = new import_three22.Vector3();
|
|
6446
8351
|
return function pan2(deltaX, deltaY) {
|
|
6447
8352
|
const element = scope.domElement;
|
|
6448
8353
|
if (scope.object.isPerspectiveCamera) {
|
|
@@ -6691,12 +8596,12 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6691
8596
|
mouseAction = -1;
|
|
6692
8597
|
}
|
|
6693
8598
|
switch (mouseAction) {
|
|
6694
|
-
case
|
|
8599
|
+
case import_three22.MOUSE.DOLLY:
|
|
6695
8600
|
if (scope.enableZoom === false) return;
|
|
6696
8601
|
handleMouseDownDolly(event);
|
|
6697
8602
|
state = STATE.DOLLY;
|
|
6698
8603
|
break;
|
|
6699
|
-
case
|
|
8604
|
+
case import_three22.MOUSE.ROTATE:
|
|
6700
8605
|
if (event.ctrlKey || event.metaKey || event.shiftKey) {
|
|
6701
8606
|
if (scope.enablePan === false) return;
|
|
6702
8607
|
handleMouseDownPan(event);
|
|
@@ -6707,7 +8612,7 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6707
8612
|
state = STATE.ROTATE;
|
|
6708
8613
|
}
|
|
6709
8614
|
break;
|
|
6710
|
-
case
|
|
8615
|
+
case import_three22.MOUSE.PAN:
|
|
6711
8616
|
if (event.ctrlKey || event.metaKey || event.shiftKey) {
|
|
6712
8617
|
if (scope.enableRotate === false) return;
|
|
6713
8618
|
handleMouseDownRotate(event);
|
|
@@ -6763,12 +8668,12 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6763
8668
|
switch (pointers.length) {
|
|
6764
8669
|
case 1:
|
|
6765
8670
|
switch (scope.touches.ONE) {
|
|
6766
|
-
case
|
|
8671
|
+
case import_three22.TOUCH.ROTATE:
|
|
6767
8672
|
if (scope.enableRotate === false) return;
|
|
6768
8673
|
handleTouchStartRotate();
|
|
6769
8674
|
state = STATE.TOUCH_ROTATE;
|
|
6770
8675
|
break;
|
|
6771
|
-
case
|
|
8676
|
+
case import_three22.TOUCH.PAN:
|
|
6772
8677
|
if (scope.enablePan === false) return;
|
|
6773
8678
|
handleTouchStartPan();
|
|
6774
8679
|
state = STATE.TOUCH_PAN;
|
|
@@ -6779,12 +8684,12 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6779
8684
|
break;
|
|
6780
8685
|
case 2:
|
|
6781
8686
|
switch (scope.touches.TWO) {
|
|
6782
|
-
case
|
|
8687
|
+
case import_three22.TOUCH.DOLLY_PAN:
|
|
6783
8688
|
if (scope.enableZoom === false && scope.enablePan === false) return;
|
|
6784
8689
|
handleTouchStartDollyPan();
|
|
6785
8690
|
state = STATE.TOUCH_DOLLY_PAN;
|
|
6786
8691
|
break;
|
|
6787
|
-
case
|
|
8692
|
+
case import_three22.TOUCH.DOLLY_ROTATE:
|
|
6788
8693
|
if (scope.enableZoom === false && scope.enableRotate === false) return;
|
|
6789
8694
|
handleTouchStartDollyRotate();
|
|
6790
8695
|
state = STATE.TOUCH_DOLLY_ROTATE;
|
|
@@ -6851,7 +8756,7 @@ var OrbitControls = class extends import_three21.EventDispatcher {
|
|
|
6851
8756
|
function trackPointer(event) {
|
|
6852
8757
|
let position = pointerPositions[event.pointerId];
|
|
6853
8758
|
if (position === void 0) {
|
|
6854
|
-
position = new
|
|
8759
|
+
position = new import_three22.Vector2();
|
|
6855
8760
|
pointerPositions[event.pointerId] = position;
|
|
6856
8761
|
}
|
|
6857
8762
|
position.set(event.pageX, event.pageY);
|
|
@@ -6871,10 +8776,10 @@ var MapControls = class extends OrbitControls {
|
|
|
6871
8776
|
constructor(object, domElement) {
|
|
6872
8777
|
super(object, domElement);
|
|
6873
8778
|
this.screenSpacePanning = false;
|
|
6874
|
-
this.mouseButtons.LEFT =
|
|
6875
|
-
this.mouseButtons.RIGHT =
|
|
6876
|
-
this.touches.ONE =
|
|
6877
|
-
this.touches.TWO =
|
|
8779
|
+
this.mouseButtons.LEFT = import_three22.MOUSE.PAN;
|
|
8780
|
+
this.mouseButtons.RIGHT = import_three22.MOUSE.ROTATE;
|
|
8781
|
+
this.touches.ONE = import_three22.TOUCH.PAN;
|
|
8782
|
+
this.touches.TWO = import_three22.TOUCH.DOLLY_ROTATE;
|
|
6878
8783
|
}
|
|
6879
8784
|
};
|
|
6880
8785
|
|
|
@@ -6919,8 +8824,8 @@ var Renderer = class _Renderer {
|
|
|
6919
8824
|
top: void 0,
|
|
6920
8825
|
bottom: void 0
|
|
6921
8826
|
},
|
|
6922
|
-
position: new
|
|
6923
|
-
lookingAt: new
|
|
8827
|
+
position: new import_three23.Vector3(50, 50, 50),
|
|
8828
|
+
lookingAt: new import_three23.Vector3(0, 0, 0)
|
|
6924
8829
|
},
|
|
6925
8830
|
render: {
|
|
6926
8831
|
fpsLimit: 60,
|
|
@@ -6950,14 +8855,14 @@ var Renderer = class _Renderer {
|
|
|
6950
8855
|
switch (this.options.camera.type) {
|
|
6951
8856
|
case "perspective":
|
|
6952
8857
|
default:
|
|
6953
|
-
return new
|
|
8858
|
+
return new import_three23.PerspectiveCamera(
|
|
6954
8859
|
this.options.camera.perspective.fov,
|
|
6955
8860
|
this.options.camera.perspective.aspect ?? this.viewWidth / this.viewHeight,
|
|
6956
8861
|
this.options.camera.near,
|
|
6957
8862
|
this.options.camera.far
|
|
6958
8863
|
);
|
|
6959
8864
|
case "orthographic":
|
|
6960
|
-
return new
|
|
8865
|
+
return new import_three23.OrthographicCamera(
|
|
6961
8866
|
this.options.camera.orthographic.left ?? this.viewWidth / -2,
|
|
6962
8867
|
this.options.camera.orthographic.right ?? this.viewWidth / 2,
|
|
6963
8868
|
this.options.camera.orthographic.top ?? this.viewHeight / 2,
|
|
@@ -6968,7 +8873,7 @@ var Renderer = class _Renderer {
|
|
|
6968
8873
|
}
|
|
6969
8874
|
}
|
|
6970
8875
|
createRenderer() {
|
|
6971
|
-
const renderer = new
|
|
8876
|
+
const renderer = new import_three23.WebGLRenderer({
|
|
6972
8877
|
antialias: this.options.render.antialias,
|
|
6973
8878
|
alpha: true,
|
|
6974
8879
|
powerPreference: "high-performance",
|
|
@@ -6976,8 +8881,8 @@ var Renderer = class _Renderer {
|
|
|
6976
8881
|
});
|
|
6977
8882
|
renderer.setClearColor(0, 0);
|
|
6978
8883
|
renderer.shadowMap.enabled = true;
|
|
6979
|
-
renderer.shadowMap.type =
|
|
6980
|
-
renderer.outputColorSpace =
|
|
8884
|
+
renderer.shadowMap.type = import_three23.PCFSoftShadowMap;
|
|
8885
|
+
renderer.outputColorSpace = import_three23.SRGBColorSpace;
|
|
6981
8886
|
renderer.setSize(this.viewWidth, this.viewHeight);
|
|
6982
8887
|
return renderer;
|
|
6983
8888
|
}
|
|
@@ -7011,20 +8916,20 @@ var Renderer = class _Renderer {
|
|
|
7011
8916
|
window["__THREE_DEVTOOLS__"].dispatchEvent(new CustomEvent("observe", { detail: this.scene }));
|
|
7012
8917
|
}
|
|
7013
8918
|
if (this.options.debug.grid) {
|
|
7014
|
-
const gridHelper = new
|
|
8919
|
+
const gridHelper = new import_three23.GridHelper(128, 16);
|
|
7015
8920
|
this._debugHelpers.push(gridHelper);
|
|
7016
8921
|
this.scene.add(gridHelper);
|
|
7017
|
-
const gridHelper2 = new
|
|
8922
|
+
const gridHelper2 = new import_three23.GridHelper(128, 16);
|
|
7018
8923
|
this._debugHelpers.push(gridHelper2);
|
|
7019
8924
|
gridHelper2.rotation.x = 90 * (Math.PI / 180);
|
|
7020
8925
|
this.scene.add(gridHelper2);
|
|
7021
|
-
const gridHelper3 = new
|
|
8926
|
+
const gridHelper3 = new import_three23.GridHelper(128, 16);
|
|
7022
8927
|
this._debugHelpers.push(gridHelper3);
|
|
7023
8928
|
gridHelper3.rotation.z = 90 * (Math.PI / 180);
|
|
7024
8929
|
this.scene.add(gridHelper3);
|
|
7025
8930
|
}
|
|
7026
8931
|
if (this.options.debug.axes) {
|
|
7027
|
-
const axesHelper = new
|
|
8932
|
+
const axesHelper = new import_three23.AxesHelper(64);
|
|
7028
8933
|
this._debugHelpers.push(axesHelper);
|
|
7029
8934
|
this.scene.add(axesHelper);
|
|
7030
8935
|
}
|
|
@@ -7378,9 +9283,6 @@ var Skins = class {
|
|
|
7378
9283
|
//</editor-fold>
|
|
7379
9284
|
};
|
|
7380
9285
|
|
|
7381
|
-
// src/world/Chunk.ts
|
|
7382
|
-
var import_three25 = require("three");
|
|
7383
|
-
|
|
7384
9286
|
// src/world/ChunkData.ts
|
|
7385
9287
|
var ChunkData = class _ChunkData {
|
|
7386
9288
|
constructor() {
|
|
@@ -7462,29 +9364,204 @@ var ChunkData = class _ChunkData {
|
|
|
7462
9364
|
}
|
|
7463
9365
|
};
|
|
7464
9366
|
|
|
9367
|
+
// src/world/AnvilParser.ts
|
|
9368
|
+
var AnvilParser = class {
|
|
9369
|
+
static getChunkList(data) {
|
|
9370
|
+
return this.locations(this.bytes(data)).map(({ x, z }) => ({ x, z }));
|
|
9371
|
+
}
|
|
9372
|
+
static async parse(data) {
|
|
9373
|
+
const bytes = this.bytes(data);
|
|
9374
|
+
const chunks = [];
|
|
9375
|
+
for (const location of this.locations(bytes)) chunks.push(await this.readChunk(bytes, location));
|
|
9376
|
+
return { chunks };
|
|
9377
|
+
}
|
|
9378
|
+
static async parseChunk(data, localX, localZ) {
|
|
9379
|
+
if (![localX, localZ].every((value) => Number.isInteger(value) && value >= 0 && value < 32)) {
|
|
9380
|
+
throw new RangeError("Region-local chunk coordinates must be integers from 0 to 31");
|
|
9381
|
+
}
|
|
9382
|
+
const bytes = this.bytes(data);
|
|
9383
|
+
const location = this.locations(bytes).find(({ x, z }) => x === localX && z === localZ);
|
|
9384
|
+
return location ? this.readChunk(bytes, location) : void 0;
|
|
9385
|
+
}
|
|
9386
|
+
static bytes(data) {
|
|
9387
|
+
return data instanceof Uint8Array ? data : new Uint8Array(data);
|
|
9388
|
+
}
|
|
9389
|
+
static locations(data) {
|
|
9390
|
+
if (data.byteLength < 8192) throw new MineRenderError("Anvil region header is truncated");
|
|
9391
|
+
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
9392
|
+
const locations = [];
|
|
9393
|
+
for (let index = 0; index < 1024; index++) {
|
|
9394
|
+
const entry = view.getUint32(index * 4);
|
|
9395
|
+
if (entry === 0) continue;
|
|
9396
|
+
const sector = entry >>> 8;
|
|
9397
|
+
const count = entry & 255;
|
|
9398
|
+
if (sector < 2 || count === 0 || (sector + count) * 4096 > data.byteLength) {
|
|
9399
|
+
throw new MineRenderError(`Invalid Anvil sector allocation at chunk ${index % 32},${Math.floor(index / 32)}`);
|
|
9400
|
+
}
|
|
9401
|
+
const offset = sector * 4096;
|
|
9402
|
+
const length = view.getUint32(offset);
|
|
9403
|
+
if (length < 1 || length + 4 > count * 4096) {
|
|
9404
|
+
throw new MineRenderError(`Invalid Anvil chunk payload length at sector ${sector}`);
|
|
9405
|
+
}
|
|
9406
|
+
locations.push({ x: index % 32, z: Math.floor(index / 32), offset, length });
|
|
9407
|
+
}
|
|
9408
|
+
return locations;
|
|
9409
|
+
}
|
|
9410
|
+
static async readChunk(data, location) {
|
|
9411
|
+
const compression = data[location.offset + 4];
|
|
9412
|
+
if (compression & 128) throw new MineRenderError("External Anvil .mcc chunks are not supported");
|
|
9413
|
+
if (compression !== 1 && compression !== 2 && compression !== 3) {
|
|
9414
|
+
throw new MineRenderError(`Unsupported Anvil compression ${compression}${compression === 4 ? " (LZ4)" : ""}`);
|
|
9415
|
+
}
|
|
9416
|
+
let payload = data.subarray(location.offset + 5, location.offset + 4 + location.length);
|
|
9417
|
+
if (compression !== 3) {
|
|
9418
|
+
const stream = new Blob([payload]).stream().pipeThrough(new DecompressionStream(compression === 1 ? "gzip" : "deflate"));
|
|
9419
|
+
payload = new Uint8Array(await new Response(stream).arrayBuffer());
|
|
9420
|
+
}
|
|
9421
|
+
const nbt = await NBTHelper.fromBuffer(payload, "big");
|
|
9422
|
+
const root = nbt.value;
|
|
9423
|
+
const level = root.Level?.type === "compound" ? root.Level.value : root;
|
|
9424
|
+
const dataVersion = root.DataVersion?.type === "int" ? root.DataVersion.value : void 0;
|
|
9425
|
+
const chunk = {
|
|
9426
|
+
x: this.integer(level.xPos, "xPos"),
|
|
9427
|
+
z: this.integer(level.zPos, "zPos"),
|
|
9428
|
+
dataVersion,
|
|
9429
|
+
sections: []
|
|
9430
|
+
};
|
|
9431
|
+
if ((chunk.x % 32 + 32) % 32 !== location.x || (chunk.z % 32 + 32) % 32 !== location.z) {
|
|
9432
|
+
throw new MineRenderError("Anvil chunk coordinates do not match its region location");
|
|
9433
|
+
}
|
|
9434
|
+
for (const section of this.compounds(level.sections ?? level.Sections, "sections")) {
|
|
9435
|
+
const y = this.integer(section.Y, "section Y");
|
|
9436
|
+
if (section.Blocks || section.Data || section.Add) {
|
|
9437
|
+
throw new MineRenderError("Numeric Anvil block IDs before Minecraft 1.13 are not supported");
|
|
9438
|
+
}
|
|
9439
|
+
if (section.block_states && section.block_states.type !== "compound") {
|
|
9440
|
+
throw new MineRenderError("Anvil block_states must be a compound");
|
|
9441
|
+
}
|
|
9442
|
+
const modern = section.block_states?.type === "compound" ? section.block_states.value : void 0;
|
|
9443
|
+
const paletteTag = modern ? modern.palette : section.Palette;
|
|
9444
|
+
const palette = paletteTag?.type === "list" && paletteTag.value.type === "string" ? paletteTag.value.value : this.compounds(paletteTag, "block palette");
|
|
9445
|
+
const data2 = new ChunkData();
|
|
9446
|
+
if (palette.length) {
|
|
9447
|
+
const states = palette.map((entry) => this.block(entry));
|
|
9448
|
+
const indices = this.unpack(modern ? modern.data : section.BlockStates, states.length, !!modern, dataVersion);
|
|
9449
|
+
for (let index = 0; index < 4096; index++) {
|
|
9450
|
+
const state = states[indices[index]];
|
|
9451
|
+
if (!state) throw new MineRenderError(`Anvil palette index ${indices[index]} is out of range`);
|
|
9452
|
+
if (!ChunkData.isAir(state)) data2.set(index, state);
|
|
9453
|
+
}
|
|
9454
|
+
} else if (modern || section.Palette || section.BlockStates) {
|
|
9455
|
+
throw new MineRenderError("Anvil section has block states without a palette");
|
|
9456
|
+
}
|
|
9457
|
+
if (chunk.sections.some((section2) => section2.y === y)) throw new MineRenderError(`Duplicate Anvil section Y ${y}`);
|
|
9458
|
+
chunk.sections.push({ y, data: data2 });
|
|
9459
|
+
}
|
|
9460
|
+
for (const entry of this.compounds(level.block_entities ?? level.TileEntities, "block entities")) {
|
|
9461
|
+
const x = this.integer(entry.x, "block entity x") - chunk.x * 16;
|
|
9462
|
+
const y = this.integer(entry.y, "block entity y");
|
|
9463
|
+
const z = this.integer(entry.z, "block entity z") - chunk.z * 16;
|
|
9464
|
+
const sectionY = Math.floor(y / 16);
|
|
9465
|
+
const section = chunk.sections.find((section2) => section2.y === sectionY);
|
|
9466
|
+
if (!section || x < 0 || x >= 16 || z < 0 || z >= 16) continue;
|
|
9467
|
+
const index = x + z * 16 + (y - sectionY * 16) * 256;
|
|
9468
|
+
const block = section.data.get(index);
|
|
9469
|
+
if (block) section.data.set(index, { ...block, nbt: { type: "compound", value: entry } });
|
|
9470
|
+
}
|
|
9471
|
+
const entities = this.compounds(level.entities ?? level.Entities, "entities");
|
|
9472
|
+
if (entities.length) {
|
|
9473
|
+
chunk.entities = entities.map((value) => {
|
|
9474
|
+
const position = value.Pos;
|
|
9475
|
+
if (position?.type !== "list" || position.value.type !== "double" || position.value.value.length !== 3 || !position.value.value.every(Number.isFinite)) {
|
|
9476
|
+
throw new MineRenderError("Anvil entity Pos must contain three coordinates");
|
|
9477
|
+
}
|
|
9478
|
+
return { position: [...position.value.value], nbt: { type: "compound", value } };
|
|
9479
|
+
});
|
|
9480
|
+
}
|
|
9481
|
+
return chunk;
|
|
9482
|
+
}
|
|
9483
|
+
static compounds(tag, name) {
|
|
9484
|
+
if (!tag) return [];
|
|
9485
|
+
if (tag.type !== "list" || tag.value.type !== "compound" && tag.value.value.length !== 0) {
|
|
9486
|
+
throw new MineRenderError(`Anvil ${name} must be a compound list`);
|
|
9487
|
+
}
|
|
9488
|
+
return tag.value.value;
|
|
9489
|
+
}
|
|
9490
|
+
static integer(tag, name) {
|
|
9491
|
+
if (!tag || typeof tag.value !== "number" || !Number.isInteger(tag.value)) {
|
|
9492
|
+
throw new MineRenderError(`Anvil ${name} must be an integer`);
|
|
9493
|
+
}
|
|
9494
|
+
return tag.value;
|
|
9495
|
+
}
|
|
9496
|
+
static block(entry) {
|
|
9497
|
+
if (typeof entry === "string") entry = { id: { type: "string", value: entry } };
|
|
9498
|
+
if (Object.keys(entry).length === 1 && entry[""]?.type === "string") entry = { id: entry[""] };
|
|
9499
|
+
const name = entry.id ?? entry.Name;
|
|
9500
|
+
const properties = entry.properties ?? entry.Properties;
|
|
9501
|
+
if (name?.type !== "string" || !name.value) throw new MineRenderError("Anvil palette entry has no block name");
|
|
9502
|
+
const block = { type: name.value };
|
|
9503
|
+
if (properties?.type === "compound") {
|
|
9504
|
+
block.properties = {};
|
|
9505
|
+
for (const [key, value] of Object.entries(properties.value)) {
|
|
9506
|
+
if (value?.type !== "string") throw new MineRenderError("Anvil block properties must be strings");
|
|
9507
|
+
block.properties[key] = value.value;
|
|
9508
|
+
}
|
|
9509
|
+
}
|
|
9510
|
+
return block;
|
|
9511
|
+
}
|
|
9512
|
+
static unpack(tag, paletteSize, modern, dataVersion) {
|
|
9513
|
+
const indices = new Uint16Array(4096);
|
|
9514
|
+
if (paletteSize === 1 && (!tag || tag.type === "longArray" && tag.value.length === 0)) return indices;
|
|
9515
|
+
if (tag?.type !== "longArray") throw new MineRenderError("Anvil section is missing its block-state long array");
|
|
9516
|
+
const bits = Math.max(4, Math.ceil(Math.log2(paletteSize)));
|
|
9517
|
+
if (paletteSize > 4096) throw new MineRenderError("Anvil block palette exceeds 4096 entries");
|
|
9518
|
+
if (!modern && dataVersion === void 0 && 64 % bits !== 0) {
|
|
9519
|
+
throw new MineRenderError("Anvil DataVersion is required to decode this block-state layout");
|
|
9520
|
+
}
|
|
9521
|
+
const padded = modern || (dataVersion ?? 0) >= 2527;
|
|
9522
|
+
const perLong = Math.floor(64 / bits);
|
|
9523
|
+
const expected = padded ? Math.ceil(4096 / perLong) : Math.ceil(4096 * bits / 64);
|
|
9524
|
+
if (tag.value.length !== expected) throw new MineRenderError(`Invalid Anvil block-state array length: expected ${expected}`);
|
|
9525
|
+
const words = tag.value.map(([high, low]) => BigInt(high >>> 0) << 32n | BigInt(low >>> 0));
|
|
9526
|
+
const mask = (1n << BigInt(bits)) - 1n;
|
|
9527
|
+
for (let index = 0; index < 4096; index++) {
|
|
9528
|
+
const word = padded ? Math.floor(index / perLong) : Math.floor(index * bits / 64);
|
|
9529
|
+
const shift = padded ? index % perLong * bits : index * bits % 64;
|
|
9530
|
+
let value = words[word] >> BigInt(shift);
|
|
9531
|
+
if (!padded && shift + bits > 64) value |= words[word + 1] << BigInt(64 - shift);
|
|
9532
|
+
indices[index] = Number(value & mask);
|
|
9533
|
+
}
|
|
9534
|
+
return indices;
|
|
9535
|
+
}
|
|
9536
|
+
};
|
|
9537
|
+
|
|
9538
|
+
// src/world/Chunk.ts
|
|
9539
|
+
var import_three26 = require("three");
|
|
9540
|
+
|
|
7465
9541
|
// src/world/MineRenderWorld.ts
|
|
7466
|
-
var
|
|
9542
|
+
var import_three25 = require("three");
|
|
7467
9543
|
var MineRenderWorld = class {
|
|
7468
9544
|
constructor(scene) {
|
|
7469
9545
|
this._chunks = /* @__PURE__ */ new Map();
|
|
9546
|
+
this.pendingCulling = /* @__PURE__ */ new Map();
|
|
7470
9547
|
this.scene = scene;
|
|
7471
9548
|
}
|
|
7472
9549
|
getBlockAt(posOrX, y, z) {
|
|
7473
9550
|
if (typeof posOrX == "number") {
|
|
7474
|
-
return this.getBlockAt(new
|
|
9551
|
+
return this.getBlockAt(new import_three25.Vector3(posOrX, y, z));
|
|
7475
9552
|
}
|
|
7476
9553
|
if (isTripleArray(posOrX)) {
|
|
7477
|
-
return this.getBlockAt(new
|
|
9554
|
+
return this.getBlockAt(new import_three25.Vector3(posOrX[0], posOrX[1], posOrX[2]));
|
|
7478
9555
|
}
|
|
7479
9556
|
this.validatePosBounds(posOrX);
|
|
7480
9557
|
return this.getChunkAt(posOrX)?.getBlockAt(posOrX);
|
|
7481
9558
|
}
|
|
7482
9559
|
async setBlockAt(posOrX, yOrBlock, z, block) {
|
|
7483
9560
|
if (typeof posOrX == "number") {
|
|
7484
|
-
return this.setBlockAt(new
|
|
9561
|
+
return this.setBlockAt(new import_three25.Vector3(posOrX, yOrBlock, z), block);
|
|
7485
9562
|
}
|
|
7486
9563
|
if (isTripleArray(posOrX)) {
|
|
7487
|
-
return this.setBlockAt(new
|
|
9564
|
+
return this.setBlockAt(new import_three25.Vector3(posOrX[0], posOrX[1], posOrX[2]), yOrBlock);
|
|
7488
9565
|
}
|
|
7489
9566
|
this.validatePosBounds(posOrX);
|
|
7490
9567
|
const value = yOrBlock;
|
|
@@ -7526,17 +9603,78 @@ var MineRenderWorld = class {
|
|
|
7526
9603
|
if (!executor) queue.stop();
|
|
7527
9604
|
}
|
|
7528
9605
|
}
|
|
9606
|
+
/** Replaces one chunk column's blocks. Entity NBT remains available on the parsed chunk. */
|
|
9607
|
+
async placeChunk(chunk, executor) {
|
|
9608
|
+
const previous = [...this._chunks.entries()].filter(([, section]) => section.x === chunk.x && section.z === chunk.z);
|
|
9609
|
+
for (const [key, section] of previous) {
|
|
9610
|
+
this._chunks.delete(key);
|
|
9611
|
+
await section.dispose();
|
|
9612
|
+
}
|
|
9613
|
+
for (const section of chunk.sections) {
|
|
9614
|
+
const blocks = [];
|
|
9615
|
+
for (let index = 0; index < 4096; index++) {
|
|
9616
|
+
const block = section.data.get(index);
|
|
9617
|
+
if (block) blocks.push({
|
|
9618
|
+
...block,
|
|
9619
|
+
position: [
|
|
9620
|
+
chunk.x * 16 + index % 16,
|
|
9621
|
+
section.y * 16 + Math.floor(index / 256),
|
|
9622
|
+
chunk.z * 16 + Math.floor(index / 16) % 16
|
|
9623
|
+
]
|
|
9624
|
+
});
|
|
9625
|
+
}
|
|
9626
|
+
await this.placeMultiBlock({ size: [16, 16, 16], blocks }, true, executor);
|
|
9627
|
+
}
|
|
9628
|
+
}
|
|
7529
9629
|
async clear() {
|
|
7530
|
-
|
|
9630
|
+
await this.culling;
|
|
9631
|
+
const chunks = [...this._chunks.values()];
|
|
9632
|
+
this._chunks.clear();
|
|
9633
|
+
for (const chunk of chunks) {
|
|
7531
9634
|
await chunk.dispose();
|
|
7532
9635
|
}
|
|
7533
|
-
|
|
9636
|
+
}
|
|
9637
|
+
updateCulling(positions) {
|
|
9638
|
+
for (const pos of positions) {
|
|
9639
|
+
this.pendingCulling.set(pos.toArray().join(","), pos.clone());
|
|
9640
|
+
for (const offset of CUBE_FACE_OFFSETS) {
|
|
9641
|
+
const neighbor = pos.clone().add(new import_three25.Vector3(...offset));
|
|
9642
|
+
this.pendingCulling.set(neighbor.toArray().join(","), neighbor);
|
|
9643
|
+
}
|
|
9644
|
+
}
|
|
9645
|
+
return this.culling ??= Promise.resolve().then(async () => {
|
|
9646
|
+
try {
|
|
9647
|
+
while (this.pendingCulling.size) {
|
|
9648
|
+
const batch = [...this.pendingCulling.values()];
|
|
9649
|
+
this.pendingCulling.clear();
|
|
9650
|
+
for (const pos of batch) {
|
|
9651
|
+
const block = this.getBlockAt(pos)?.object;
|
|
9652
|
+
if (!block) continue;
|
|
9653
|
+
let mask = 0;
|
|
9654
|
+
for (const [face, offset] of CUBE_FACE_OFFSETS.entries()) {
|
|
9655
|
+
if (this.getBlockAt(pos.clone().add(new import_three25.Vector3(...offset)))?.object.isOccluding) {
|
|
9656
|
+
mask |= 1 << face;
|
|
9657
|
+
}
|
|
9658
|
+
}
|
|
9659
|
+
await block.setCullMask(mask);
|
|
9660
|
+
}
|
|
9661
|
+
}
|
|
9662
|
+
} finally {
|
|
9663
|
+
this.culling = void 0;
|
|
9664
|
+
}
|
|
9665
|
+
});
|
|
7534
9666
|
}
|
|
7535
9667
|
getOrCreateChunkAt(pos) {
|
|
7536
9668
|
const key = this.worldPosToChunkKey(pos);
|
|
7537
9669
|
let chunk = this._chunks.get(key);
|
|
7538
9670
|
if (typeof chunk === "undefined") {
|
|
7539
|
-
chunk = new Chunk(
|
|
9671
|
+
chunk = new Chunk(
|
|
9672
|
+
this.scene,
|
|
9673
|
+
Math.floor(pos.x / 16),
|
|
9674
|
+
Math.floor(pos.y / 16),
|
|
9675
|
+
Math.floor(pos.z / 16),
|
|
9676
|
+
(positions) => this.updateCulling(positions)
|
|
9677
|
+
);
|
|
7540
9678
|
this._chunks.set(key, chunk);
|
|
7541
9679
|
}
|
|
7542
9680
|
return chunk;
|
|
@@ -7545,14 +9683,14 @@ var MineRenderWorld = class {
|
|
|
7545
9683
|
return this._chunks.get(this.worldPosToChunkKey(pos));
|
|
7546
9684
|
}
|
|
7547
9685
|
static worldToScenePosition(pos) {
|
|
7548
|
-
return new
|
|
9686
|
+
return new import_three25.Vector3(
|
|
7549
9687
|
pos.x * 16,
|
|
7550
9688
|
pos.y * 16,
|
|
7551
9689
|
pos.z * 16
|
|
7552
9690
|
);
|
|
7553
9691
|
}
|
|
7554
9692
|
static sceneToWorldPosition(pos) {
|
|
7555
|
-
return new
|
|
9693
|
+
return new import_three25.Vector3(
|
|
7556
9694
|
pos.x / 16,
|
|
7557
9695
|
pos.y / 16,
|
|
7558
9696
|
pos.z / 16
|
|
@@ -7573,7 +9711,8 @@ var MineRenderWorld = class {
|
|
|
7573
9711
|
|
|
7574
9712
|
// src/world/Chunk.ts
|
|
7575
9713
|
var Chunk = class _Chunk {
|
|
7576
|
-
constructor(scene, x, y, z) {
|
|
9714
|
+
constructor(scene, x, y, z, onBlocksChanged) {
|
|
9715
|
+
this.onBlocksChanged = onBlocksChanged;
|
|
7577
9716
|
this.data = new ChunkData();
|
|
7578
9717
|
this.renderedBlocks = /* @__PURE__ */ new Map();
|
|
7579
9718
|
this.scene = scene;
|
|
@@ -7583,10 +9722,10 @@ var Chunk = class _Chunk {
|
|
|
7583
9722
|
}
|
|
7584
9723
|
getBlockAt(posOrX, y, z) {
|
|
7585
9724
|
if (typeof posOrX == "number") {
|
|
7586
|
-
return this.getBlockAt(new
|
|
9725
|
+
return this.getBlockAt(new import_three26.Vector3(posOrX, y, z));
|
|
7587
9726
|
}
|
|
7588
9727
|
if (isTripleArray(posOrX)) {
|
|
7589
|
-
return this.getBlockAt(new
|
|
9728
|
+
return this.getBlockAt(new import_three26.Vector3(posOrX[0], posOrX[1], posOrX[2]));
|
|
7590
9729
|
}
|
|
7591
9730
|
const pos = this.worldPosToChunkPos(posOrX);
|
|
7592
9731
|
const index = _Chunk.chunkPosToBlockIndex(pos);
|
|
@@ -7594,10 +9733,10 @@ var Chunk = class _Chunk {
|
|
|
7594
9733
|
}
|
|
7595
9734
|
async setBlockAt(posOrX, yOrBlock, z, block) {
|
|
7596
9735
|
if (typeof posOrX == "number") {
|
|
7597
|
-
return this.setBlockAt(new
|
|
9736
|
+
return this.setBlockAt(new import_three26.Vector3(posOrX, yOrBlock, z), block);
|
|
7598
9737
|
}
|
|
7599
9738
|
if (isTripleArray(posOrX)) {
|
|
7600
|
-
return this.setBlockAt(new
|
|
9739
|
+
return this.setBlockAt(new import_three26.Vector3(posOrX[0], posOrX[1], posOrX[2]), yOrBlock);
|
|
7601
9740
|
}
|
|
7602
9741
|
const worldPos = posOrX;
|
|
7603
9742
|
const pos = this.worldPosToChunkPos(worldPos);
|
|
@@ -7616,10 +9755,10 @@ var Chunk = class _Chunk {
|
|
|
7616
9755
|
const readBlock = this.data.snapshot(index);
|
|
7617
9756
|
this.renderedBlocks.get(index)?.object.removeFromScene();
|
|
7618
9757
|
this.renderedBlocks.delete(index);
|
|
7619
|
-
if (!readBlock) return void 0;
|
|
7620
|
-
const stored = readBlock();
|
|
7621
9758
|
let object;
|
|
7622
9759
|
try {
|
|
9760
|
+
if (!readBlock) return void 0;
|
|
9761
|
+
const stored = readBlock();
|
|
7623
9762
|
const blockState = await BlockStates.get(AssetKey.parse("blockstates", stored.type));
|
|
7624
9763
|
if (!blockState) {
|
|
7625
9764
|
this.data.set(index, void 0);
|
|
@@ -7641,12 +9780,18 @@ var Chunk = class _Chunk {
|
|
|
7641
9780
|
this.data.set(index, void 0);
|
|
7642
9781
|
object?.removeFromScene();
|
|
7643
9782
|
throw error;
|
|
9783
|
+
} finally {
|
|
9784
|
+
await this.onBlocksChanged?.([worldPos]);
|
|
7644
9785
|
}
|
|
7645
9786
|
}
|
|
7646
9787
|
async clear() {
|
|
9788
|
+
const positions = [...this.renderedBlocks.keys()].map((index) => this.chunkPosToWorldPos(
|
|
9789
|
+
new import_three26.Vector3(index % 16, Math.floor(index / 256), Math.floor(index / 16) % 16)
|
|
9790
|
+
));
|
|
7647
9791
|
for (const info of this.renderedBlocks.values()) info.object.removeFromScene();
|
|
7648
9792
|
this.renderedBlocks.clear();
|
|
7649
9793
|
this.data.clear();
|
|
9794
|
+
await this.onBlocksChanged?.(positions);
|
|
7650
9795
|
}
|
|
7651
9796
|
async dispose() {
|
|
7652
9797
|
await this.clear();
|
|
@@ -7661,14 +9806,14 @@ var Chunk = class _Chunk {
|
|
|
7661
9806
|
return pos.y * 16 * 16 + pos.z * 16 + pos.x;
|
|
7662
9807
|
}
|
|
7663
9808
|
worldPosToChunkPos(pos) {
|
|
7664
|
-
return new
|
|
9809
|
+
return new import_three26.Vector3(
|
|
7665
9810
|
pos.x - this.x * 16,
|
|
7666
9811
|
pos.y - this.y * 16,
|
|
7667
9812
|
pos.z - this.z * 16
|
|
7668
9813
|
);
|
|
7669
9814
|
}
|
|
7670
9815
|
chunkPosToWorldPos(pos) {
|
|
7671
|
-
return new
|
|
9816
|
+
return new import_three26.Vector3(
|
|
7672
9817
|
this.x * 16 + pos.x,
|
|
7673
9818
|
this.y * 16 + pos.y,
|
|
7674
9819
|
this.z * 16 + pos.z
|
|
@@ -7678,6 +9823,7 @@ var Chunk = class _Chunk {
|
|
|
7678
9823
|
// Annotate the CommonJS export names for ESM import in node:
|
|
7679
9824
|
0 && (module.exports = {
|
|
7680
9825
|
AXES,
|
|
9826
|
+
AnvilParser,
|
|
7681
9827
|
ArchiveAssetSource,
|
|
7682
9828
|
AssetKey,
|
|
7683
9829
|
AssetLoadError,
|
|
@@ -7695,6 +9841,7 @@ var Chunk = class _Chunk {
|
|
|
7695
9841
|
BlockTints,
|
|
7696
9842
|
BrowserArchiveProxy,
|
|
7697
9843
|
CUBE_FACES,
|
|
9844
|
+
CUBE_FACE_OFFSETS,
|
|
7698
9845
|
Caching,
|
|
7699
9846
|
CanvasImage,
|
|
7700
9847
|
Chunk,
|
|
@@ -7728,6 +9875,7 @@ var Chunk = class _Chunk {
|
|
|
7728
9875
|
MineRenderWorld,
|
|
7729
9876
|
MinecraftCubeTexture,
|
|
7730
9877
|
MinecraftFaceUV,
|
|
9878
|
+
ModelCulling,
|
|
7731
9879
|
ModelGenerator,
|
|
7732
9880
|
ModelMerger,
|
|
7733
9881
|
ModelObject,
|