mirror of
https://github.com/ViaVersion/ViaVersion.git
synced 2024-12-23 00:47:39 +01:00
Minimize/optimize mapping data files
This commit is contained in:
parent
d94ed4ebd4
commit
51d4e11b5f
@ -22,34 +22,26 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.api.data;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.viaversion.viaversion.util.Key;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
|
||||
import java.util.List;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public class FullMappingsBase implements FullMappings {
|
||||
private static final String[] EMPTY_ARRAY = new String[0];
|
||||
private final Object2IntMap<String> stringToId;
|
||||
private final Object2IntMap<String> mappedStringToId;
|
||||
private final String[] idToString;
|
||||
private final String[] mappedIdToString;
|
||||
private final Mappings mappings;
|
||||
|
||||
public FullMappingsBase(final JsonArray oldMappings, final JsonArray newMappings, final Mappings mappings) {
|
||||
public FullMappingsBase(final List<String> unmappedIdentifiers, final List<String> mappedIdentifiers, final Mappings mappings) {
|
||||
this.mappings = mappings;
|
||||
stringToId = MappingDataLoader.arrayToMap(oldMappings);
|
||||
mappedStringToId = MappingDataLoader.arrayToMap(newMappings);
|
||||
stringToId.defaultReturnValue(-1);
|
||||
mappedStringToId.defaultReturnValue(-1);
|
||||
|
||||
idToString = new String[oldMappings.size()];
|
||||
for (int i = 0; i < oldMappings.size(); i++) {
|
||||
idToString[i] = oldMappings.get(i).getAsString();
|
||||
}
|
||||
|
||||
mappedIdToString = new String[newMappings.size()];
|
||||
for (int i = 0; i < newMappings.size(); i++) {
|
||||
mappedIdToString[i] = newMappings.get(i).getAsString();
|
||||
}
|
||||
this.stringToId = toInverseMap(unmappedIdentifiers);
|
||||
this.mappedStringToId = toInverseMap(mappedIdentifiers);
|
||||
this.idToString = unmappedIdentifiers.toArray(EMPTY_ARRAY);
|
||||
this. mappedIdToString = mappedIdentifiers.toArray(EMPTY_ARRAY);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -58,7 +50,7 @@ public class FullMappingsBase implements FullMappings {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int id(String identifier) {
|
||||
public int id(final String identifier) {
|
||||
return stringToId.getInt(Key.stripMinecraftNamespace(identifier));
|
||||
}
|
||||
|
||||
@ -89,4 +81,13 @@ public class FullMappingsBase implements FullMappings {
|
||||
final int mappedId = mappings.getNewId(id);
|
||||
return mappedId != -1 ? mappedIdentifier(mappedId) : null;
|
||||
}
|
||||
|
||||
private static Object2IntMap<String> toInverseMap(final List<String> list) {
|
||||
final Object2IntMap<String> map = new Object2IntOpenHashMap<>(list.size());
|
||||
map.defaultReturnValue(-1);
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
map.put(list.get(i), i);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
|
||||
* Copyright (C) 2023 ViaVersion and contributors
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
package com.viaversion.viaversion.api.data;
|
||||
|
||||
public class IdentityMappings implements Mappings {
|
||||
|
||||
private final int size;
|
||||
private final int mappedSize;
|
||||
|
||||
public IdentityMappings(final int size, final int mappedSize) {
|
||||
this.size = size;
|
||||
this.mappedSize = mappedSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNewId(final int id) {
|
||||
return id >= 0 && id < size ? id : -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNewId(final int id, final int mappedId) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int mappedSize() {
|
||||
return mappedSize;
|
||||
}
|
||||
}
|
@ -55,8 +55,8 @@ public class Int2IntMapBiMappings implements BiMappings {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNewId(final int id, final int newId) {
|
||||
mappings.put(id, newId);
|
||||
public void setNewId(final int id, final int mappedId) {
|
||||
mappings.put(id, mappedId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -49,8 +49,8 @@ public class Int2IntMapMappings implements Mappings {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNewId(final int id, final int newId) {
|
||||
mappings.put(id, newId);
|
||||
public void setNewId(final int id, final int mappedId) {
|
||||
mappings.put(id, mappedId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -29,18 +29,34 @@ public class IntArrayBiMappings implements BiMappings {
|
||||
private final Mappings mappings;
|
||||
private final IntArrayBiMappings inverse;
|
||||
|
||||
protected IntArrayBiMappings(final Mappings mappings, final Mappings inverseMappings) {
|
||||
protected IntArrayBiMappings(final IntArrayMappings mappings) {
|
||||
this.mappings = mappings;
|
||||
this.inverse = new IntArrayBiMappings(inverseMappings, this);
|
||||
|
||||
final int[] raw = mappings.raw();
|
||||
final int[] inverseMappings = new int[mappings.mappedSize()];
|
||||
Arrays.fill(inverseMappings, -1);
|
||||
for (int id = 0; id < raw.length; id++) {
|
||||
final int mappedId = raw[id];
|
||||
inverseMappings[mappedId] = id;
|
||||
}
|
||||
this.inverse = new IntArrayBiMappings(new IntArrayMappings(inverseMappings, raw.length), this);
|
||||
}
|
||||
|
||||
private IntArrayBiMappings(final Mappings mappings, final IntArrayBiMappings inverse) {
|
||||
protected IntArrayBiMappings(final Mappings mappings, final IntArrayBiMappings inverse) {
|
||||
this.mappings = mappings;
|
||||
this.inverse = inverse;
|
||||
}
|
||||
|
||||
private IntArrayBiMappings(final int[] mappings, final int mappedIds) {
|
||||
this(new IntArrayMappings(mappings, mappedIds));
|
||||
}
|
||||
|
||||
public static IntArrayBiMappings of(final IntArrayMappings mappings) {
|
||||
return new IntArrayBiMappings(mappings);
|
||||
}
|
||||
|
||||
public static Mappings.Builder<IntArrayBiMappings> builder() {
|
||||
return new Builder(IntArrayMappings::new);
|
||||
return new Builder<>(IntArrayBiMappings::new);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -54,9 +70,9 @@ public class IntArrayBiMappings implements BiMappings {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNewId(final int id, final int newId) {
|
||||
mappings.setNewId(id, newId);
|
||||
inverse.mappings.setNewId(newId, id);
|
||||
public void setNewId(final int id, final int mappedId) {
|
||||
mappings.setNewId(id, mappedId);
|
||||
inverse.mappings.setNewId(mappedId, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -68,34 +84,4 @@ public class IntArrayBiMappings implements BiMappings {
|
||||
public int mappedSize() {
|
||||
return mappings.mappedSize();
|
||||
}
|
||||
|
||||
public static final class Builder extends Mappings.Builder<IntArrayBiMappings> {
|
||||
|
||||
private final MappingsSupplier<?> supplier;
|
||||
|
||||
private Builder(final MappingsSupplier<?> supplier) {
|
||||
super(null);
|
||||
this.supplier = supplier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IntArrayBiMappings build() {
|
||||
final int size = this.size != -1 ? this.size : size(unmapped);
|
||||
final int mappedSize = this.mappedSize != -1 ? this.mappedSize : size(mapped);
|
||||
final int[] mappingsArray = new int[size];
|
||||
final int[] inverseMappingsArray = new int[mappedSize];
|
||||
Arrays.fill(mappingsArray, -1);
|
||||
Arrays.fill(inverseMappingsArray, -1);
|
||||
|
||||
final Mappings mappings = supplier.supply(mappingsArray, mappedSize);
|
||||
final Mappings inverseMappings = supplier.supply(inverseMappingsArray, size);
|
||||
if (unmapped.isJsonArray() && mapped.isJsonArray()) {
|
||||
MappingDataLoader.mapIdentifiers(mappings, inverseMappings, unmapped.getAsJsonArray(), mapped.getAsJsonArray(), diffMappings, true);
|
||||
} else {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
return new IntArrayBiMappings(mappings, inverseMappings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,105 +22,36 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.api.data;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
import java.util.Arrays;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public class IntArrayMappings implements Mappings {
|
||||
private final int[] oldToNew;
|
||||
private final int[] mappings;
|
||||
private final int mappedIds;
|
||||
|
||||
protected IntArrayMappings(final int[] oldToNew, final int mappedIds) {
|
||||
this.oldToNew = oldToNew;
|
||||
protected IntArrayMappings(final int[] mappings, final int mappedIds) {
|
||||
this.mappings = mappings;
|
||||
this.mappedIds = mappedIds;
|
||||
}
|
||||
|
||||
public static IntArrayMappings of(final int[] oldToNew, final int mappedIds) {
|
||||
return new IntArrayMappings(oldToNew, mappedIds);
|
||||
public static IntArrayMappings of(final int[] mappings, final int mappedIds) {
|
||||
return new IntArrayMappings(mappings, mappedIds);
|
||||
}
|
||||
|
||||
public static Builder<IntArrayMappings> builder() {
|
||||
return Mappings.builder(IntArrayMappings::new);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(int[] oldToNew) {
|
||||
this(oldToNew, -1);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(int size, JsonObject oldMapping, JsonObject newMapping, @Nullable JsonObject diffMapping) {
|
||||
oldToNew = new int[size];
|
||||
Arrays.fill(oldToNew, -1);
|
||||
this.mappedIds = newMapping.size();
|
||||
MappingDataLoader.mapIdentifiers(oldToNew, oldMapping, newMapping, diffMapping);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(JsonObject oldMapping, JsonObject newMapping, @Nullable JsonObject diffMapping) {
|
||||
this(oldMapping.entrySet().size(), oldMapping, newMapping, diffMapping);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(int size, JsonObject oldMapping, JsonObject newMapping) {
|
||||
oldToNew = new int[size];
|
||||
Arrays.fill(oldToNew, -1);
|
||||
mappedIds = -1;
|
||||
MappingDataLoader.mapIdentifiers(oldToNew, oldMapping, newMapping);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(JsonObject oldMapping, JsonObject newMapping) {
|
||||
this(oldMapping.entrySet().size(), oldMapping, newMapping);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(int size, JsonArray oldMapping, JsonArray newMapping, JsonObject diffMapping, boolean warnOnMissing) {
|
||||
oldToNew = new int[size];
|
||||
Arrays.fill(oldToNew, -1);
|
||||
mappedIds = -1;
|
||||
MappingDataLoader.mapIdentifiers(oldToNew, oldMapping, newMapping, diffMapping, warnOnMissing);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(int size, JsonArray oldMapping, JsonArray newMapping, boolean warnOnMissing) {
|
||||
this(size, oldMapping, newMapping, null, warnOnMissing);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(JsonArray oldMapping, JsonArray newMapping, boolean warnOnMissing) {
|
||||
this(oldMapping.size(), oldMapping, newMapping, warnOnMissing);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(int size, JsonArray oldMapping, JsonArray newMapping) {
|
||||
this(size, oldMapping, newMapping, true);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(JsonArray oldMapping, JsonArray newMapping, JsonObject diffMapping) {
|
||||
this(oldMapping.size(), oldMapping, newMapping, diffMapping, true);
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public IntArrayMappings(JsonArray oldMapping, JsonArray newMapping) {
|
||||
this(oldMapping.size(), oldMapping, newMapping, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNewId(int id) {
|
||||
return id >= 0 && id < oldToNew.length ? oldToNew[id] : -1;
|
||||
return id >= 0 && id < mappings.length ? mappings[id] : -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNewId(int id, int newId) {
|
||||
oldToNew[id] = newId;
|
||||
public void setNewId(int id, int mappedId) {
|
||||
mappings[id] = mappedId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
return oldToNew.length;
|
||||
return mappings.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -128,7 +59,7 @@ public class IntArrayMappings implements Mappings {
|
||||
return mappedIds;
|
||||
}
|
||||
|
||||
public int[] getOldToNew() {
|
||||
return oldToNew;
|
||||
public int[] raw() {
|
||||
return mappings;
|
||||
}
|
||||
}
|
||||
|
@ -22,25 +22,25 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.api.data;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.IntArrayTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.ListTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.Tag;
|
||||
import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.api.minecraft.RegistryType;
|
||||
import com.viaversion.viaversion.api.minecraft.TagData;
|
||||
import com.viaversion.viaversion.util.Key;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.stream.Collectors;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public class MappingDataBase implements MappingData {
|
||||
protected final String oldVersion;
|
||||
protected final String newVersion;
|
||||
protected final boolean hasDiffFile;
|
||||
|
||||
protected final String unmappedVersion;
|
||||
protected final String mappedVersion;
|
||||
protected BiMappings itemMappings;
|
||||
protected FullMappings argumentTypeMappings;
|
||||
protected FullMappings entityMappings;
|
||||
@ -54,111 +54,113 @@ public class MappingDataBase implements MappingData {
|
||||
protected Mappings paintingMappings;
|
||||
protected Map<RegistryType, List<TagData>> tags;
|
||||
|
||||
public MappingDataBase(String unmappedVersion, String mappedVersion) {
|
||||
this(unmappedVersion, mappedVersion, false);
|
||||
}
|
||||
|
||||
public MappingDataBase(String unmappedVersion, String mappedVersion, boolean hasDiffFile) {
|
||||
this.oldVersion = unmappedVersion;
|
||||
this.newVersion = mappedVersion;
|
||||
this.hasDiffFile = hasDiffFile;
|
||||
public MappingDataBase(final String unmappedVersion, final String mappedVersion) {
|
||||
this.unmappedVersion = unmappedVersion;
|
||||
this.mappedVersion = mappedVersion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
if (Via.getManager().isDebug()) {
|
||||
getLogger().info("Loading " + oldVersion + " -> " + newVersion + " mappings...");
|
||||
}
|
||||
JsonObject diffmapping = hasDiffFile ? loadDiffFile() : null;
|
||||
JsonObject unmappedIdentifiers = MappingDataLoader.loadData("mapping-" + oldVersion + ".json", true);
|
||||
JsonObject mappedIdentifiers = MappingDataLoader.loadData("mapping-" + newVersion + ".json", true);
|
||||
|
||||
blockMappings = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "blocks");
|
||||
blockStateMappings = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "blockstates");
|
||||
blockEntityMappings = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "blockentities");
|
||||
soundMappings = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "sounds");
|
||||
statisticsMappings = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "statistics");
|
||||
enchantmentMappings = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "enchantments");
|
||||
paintingMappings = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "paintings");
|
||||
|
||||
entityMappings = loadFullMappings(unmappedIdentifiers, mappedIdentifiers, diffmapping, "entities");
|
||||
argumentTypeMappings = loadFullMappings(unmappedIdentifiers, mappedIdentifiers, diffmapping, "argumenttypes");
|
||||
|
||||
Mappings particles = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "particles");
|
||||
if (particles != null) {
|
||||
particleMappings = new ParticleMappings(unmappedIdentifiers.getAsJsonArray("particles"), mappedIdentifiers.getAsJsonArray("particles"), particles);
|
||||
getLogger().info("Loading " + unmappedVersion + " -> " + mappedVersion + " mappings...");
|
||||
}
|
||||
|
||||
itemMappings = loadBiFromArray(unmappedIdentifiers, mappedIdentifiers, diffmapping, "items");
|
||||
final CompoundTag data = MappingDataLoader.loadNBT("mappings-" + unmappedVersion + "to" + mappedVersion + ".nbt");
|
||||
blockMappings = loadMappings(data, "blocks");
|
||||
blockStateMappings = loadMappings(data, "blockstates");
|
||||
blockEntityMappings = loadMappings(data, "blockentities");
|
||||
soundMappings = loadMappings(data, "sounds");
|
||||
statisticsMappings = loadMappings(data, "statistics");
|
||||
enchantmentMappings = loadMappings(data, "enchantments");
|
||||
paintingMappings = loadMappings(data, "paintings");
|
||||
itemMappings = loadBiMappings(data, "items");
|
||||
|
||||
if (diffmapping != null && diffmapping.has("tags")) {
|
||||
this.tags = new EnumMap<>(RegistryType.class);
|
||||
JsonObject tags = diffmapping.getAsJsonObject("tags");
|
||||
if (tags.has(RegistryType.ITEM.resourceLocation())) {
|
||||
loadTags(RegistryType.ITEM, tags, MappingDataLoader.arrayToMap(mappedIdentifiers.getAsJsonArray("items")));
|
||||
}
|
||||
if (tags.has(RegistryType.BLOCK.resourceLocation())) {
|
||||
loadTags(RegistryType.BLOCK, tags, MappingDataLoader.arrayToMap(mappedIdentifiers.getAsJsonArray("blocks")));
|
||||
}
|
||||
}
|
||||
// TODO Don't load one file multiple times
|
||||
final CompoundTag unmappedIdentifierData = MappingDataLoader.loadNBT("identifiers-" + unmappedVersion + ".nbt");
|
||||
final CompoundTag mappedIdentifierData = MappingDataLoader.loadNBT("identifiers-" + mappedVersion + ".nbt");
|
||||
if (unmappedIdentifierData != null && mappedIdentifierData != null) {
|
||||
entityMappings = loadFullMappings(data, unmappedIdentifierData, mappedIdentifierData, "entities");
|
||||
argumentTypeMappings = loadFullMappings(data, unmappedIdentifierData, mappedIdentifierData, "argumenttypes");
|
||||
|
||||
loadExtras(unmappedIdentifiers, mappedIdentifiers, diffmapping);
|
||||
}
|
||||
|
||||
protected FullMappings loadFullMappings(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings, String key) {
|
||||
Mappings mappings = loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffMappings, key);
|
||||
return mappings != null ? new FullMappingsBase(unmappedIdentifiers.getAsJsonArray(key), mappedIdentifiers.getAsJsonArray(key), mappings) : null;
|
||||
}
|
||||
|
||||
private void loadTags(RegistryType type, JsonObject object, Object2IntMap<String> typeMapping) {
|
||||
JsonObject tags = object.getAsJsonObject(type.resourceLocation());
|
||||
List<TagData> tagsList = new ArrayList<>(tags.size());
|
||||
for (Map.Entry<String, JsonElement> entry : tags.entrySet()) {
|
||||
JsonArray array = entry.getValue().getAsJsonArray();
|
||||
int[] entries = new int[array.size()];
|
||||
int i = 0;
|
||||
for (JsonElement element : array) {
|
||||
String stringId = element.getAsString();
|
||||
if (!typeMapping.containsKey(stringId) && !typeMapping.containsKey(stringId = Key.stripMinecraftNamespace(stringId))) { // aaa
|
||||
getLogger().warning(type + " Tags contains invalid type identifier " + stringId + " in tag " + entry.getKey());
|
||||
continue;
|
||||
final ListTag unmappedParticles = unmappedIdentifierData.get("particles");
|
||||
final ListTag mappedParticles = mappedIdentifierData.get("particles");
|
||||
if (unmappedParticles != null && mappedParticles != null) {
|
||||
Mappings particleMappings = loadMappings(data, "particles");
|
||||
if (particleMappings == null) {
|
||||
particleMappings = new IdentityMappings(unmappedParticles.size(), mappedParticles.size());
|
||||
}
|
||||
|
||||
entries[i++] = typeMapping.getInt(stringId);
|
||||
final List<String> identifiers = unmappedParticles.getValue().stream().map(t -> (String) t.getValue()).collect(Collectors.toList());
|
||||
final List<String> mappedIdentifiers = mappedParticles.getValue().stream().map(t -> (String) t.getValue()).collect(Collectors.toList());
|
||||
this.particleMappings = new ParticleMappings(identifiers, mappedIdentifiers, particleMappings);
|
||||
}
|
||||
tagsList.add(new TagData(entry.getKey(), entries));
|
||||
}
|
||||
|
||||
final CompoundTag tagsTag = data.get("tags");
|
||||
if (tagsTag != null) {
|
||||
this.tags = new EnumMap<>(RegistryType.class);
|
||||
loadTags(RegistryType.ITEM, tagsTag);
|
||||
loadTags(RegistryType.BLOCK, tagsTag);
|
||||
}
|
||||
|
||||
loadExtras(data);
|
||||
}
|
||||
|
||||
protected @Nullable Mappings loadMappings(final CompoundTag data, final String key) {
|
||||
return MappingDataLoader.loadMappings(data, key);
|
||||
}
|
||||
|
||||
protected @Nullable FullMappings loadFullMappings(final CompoundTag data, final CompoundTag unmappedIdentifiers, final CompoundTag mappedIdentifiers, final String key) {
|
||||
return MappingDataLoader.loadFullMappings(data, unmappedIdentifiers, mappedIdentifiers, key);
|
||||
}
|
||||
|
||||
protected @Nullable BiMappings loadBiMappings(final CompoundTag data, final String key) {
|
||||
final Mappings mappings = loadMappings(data, key);
|
||||
return mappings != null ? IntArrayBiMappings.of((IntArrayMappings) mappings) : null;
|
||||
}
|
||||
|
||||
private void loadTags(final RegistryType type, final CompoundTag data) {
|
||||
final CompoundTag tag = data.get(type.resourceLocation());
|
||||
if (tag == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final List<TagData> tagsList = new ArrayList<>(tags.size());
|
||||
for (final Map.Entry<String, Tag> entry : tag.entrySet()) {
|
||||
final IntArrayTag entries = (IntArrayTag) entry.getValue();
|
||||
tagsList.add(new TagData(entry.getKey(), entries.getValue()));
|
||||
}
|
||||
|
||||
this.tags.put(type, tagsList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNewBlockStateId(int id) {
|
||||
public int getNewBlockStateId(final int id) {
|
||||
return checkValidity(id, blockStateMappings.getNewId(id), "blockstate");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNewBlockId(int id) {
|
||||
public int getNewBlockId(final int id) {
|
||||
return checkValidity(id, blockMappings.getNewId(id), "block");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNewItemId(int id) {
|
||||
public int getNewItemId(final int id) {
|
||||
return checkValidity(id, itemMappings.getNewId(id), "item");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOldItemId(int id) {
|
||||
public int getOldItemId(final int id) {
|
||||
return itemMappings.inverse().getNewIdOrDefault(id, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNewParticleId(int id) {
|
||||
public int getNewParticleId(final int id) {
|
||||
return checkValidity(id, particleMappings.mappings().getNewId(id), "particles");
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable List<TagData> getTags(RegistryType type) {
|
||||
public @Nullable List<TagData> getTags(final RegistryType type) {
|
||||
return tags != null ? tags.get(type) : null;
|
||||
}
|
||||
|
||||
@ -217,40 +219,6 @@ public class MappingDataBase implements MappingData {
|
||||
return paintingMappings;
|
||||
}
|
||||
|
||||
protected @Nullable Mappings loadFromArray(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings, String key) {
|
||||
if (!unmappedIdentifiers.has(key) || !mappedIdentifiers.has(key) || !shouldLoad(key)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
JsonObject diff = diffMappings != null ? diffMappings.getAsJsonObject(key) : null;
|
||||
return IntArrayMappings.builder().unmapped(unmappedIdentifiers.getAsJsonArray(key))
|
||||
.mapped(mappedIdentifiers.getAsJsonArray(key)).diffMappings(diff).build();
|
||||
}
|
||||
|
||||
protected @Nullable Mappings loadFromObject(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings, String key) {
|
||||
if (!unmappedIdentifiers.has(key) || !mappedIdentifiers.has(key) || !shouldLoad(key)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
JsonObject diff = diffMappings != null ? diffMappings.getAsJsonObject(key) : null;
|
||||
return IntArrayMappings.builder().unmapped(unmappedIdentifiers.getAsJsonObject(key))
|
||||
.mapped(mappedIdentifiers.getAsJsonObject(key)).diffMappings(diff).build();
|
||||
}
|
||||
|
||||
protected @Nullable BiMappings loadBiFromArray(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings, String key) {
|
||||
if (!unmappedIdentifiers.has(key) || !mappedIdentifiers.has(key) || !shouldLoad(key)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
JsonObject diff = diffMappings != null ? diffMappings.getAsJsonObject(key) : null;
|
||||
return IntArrayBiMappings.builder().unmapped(unmappedIdentifiers.getAsJsonArray(key)).mapped(mappedIdentifiers.getAsJsonArray(key))
|
||||
.diffMappings(diff).build();
|
||||
}
|
||||
|
||||
protected @Nullable JsonObject loadDiffFile() {
|
||||
return MappingDataLoader.loadData("mappingdiff-" + oldVersion + "to" + newVersion + ".json");
|
||||
}
|
||||
|
||||
protected Logger getLogger() {
|
||||
return Via.getPlatform().getLogger();
|
||||
}
|
||||
@ -263,25 +231,14 @@ public class MappingDataBase implements MappingData {
|
||||
* @param type mapping type (e.g. "item")
|
||||
* @return the given mapped id if valid, else 0
|
||||
*/
|
||||
protected int checkValidity(int id, int mappedId, String type) {
|
||||
protected int checkValidity(final int id, final int mappedId, final String type) {
|
||||
if (mappedId == -1) {
|
||||
getLogger().warning(String.format("Missing %s %s for %s %s %d", newVersion, type, oldVersion, type, id));
|
||||
getLogger().warning(String.format("Missing %s %s for %s %s %d", mappedVersion, type, unmappedVersion, type, id));
|
||||
return 0;
|
||||
}
|
||||
return mappedId;
|
||||
}
|
||||
|
||||
/**
|
||||
* To be overridden if needed.
|
||||
*
|
||||
* @param unmappedIdentifiers old mappings
|
||||
* @param mappedIdentifiers new mappings
|
||||
* @param diffMappings diff mappings if present
|
||||
*/
|
||||
protected void loadExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings) {
|
||||
}
|
||||
|
||||
protected boolean shouldLoad(String key) {
|
||||
return true;
|
||||
protected void loadExtras(final CompoundTag data) {
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,13 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.api.data;
|
||||
|
||||
import com.github.steveice10.opennbt.NBTIO;
|
||||
import com.github.steveice10.opennbt.tag.builtin.ByteTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.IntArrayTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.IntTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.ListTag;
|
||||
import com.google.common.annotations.Beta;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonIOException;
|
||||
@ -29,7 +36,6 @@ import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonSyntaxException;
|
||||
import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.util.GsonUtil;
|
||||
import com.viaversion.viaversion.util.Int2IntBiMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
|
||||
import java.io.File;
|
||||
@ -38,155 +44,189 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.stream.Collectors;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public final class MappingDataLoader {
|
||||
|
||||
private static final Map<String, JsonObject> MAPPINGS_CACHE = new ConcurrentHashMap<>();
|
||||
private static boolean cacheJsonMappings;
|
||||
|
||||
/**
|
||||
* Returns true if a selected number of mappings should be cached.
|
||||
* If enabled, cleanup should be done after the cache is no longer needed.
|
||||
*
|
||||
* @return true if mappings should be cached
|
||||
*/
|
||||
public static boolean isCacheJsonMappings() {
|
||||
return cacheJsonMappings;
|
||||
}
|
||||
|
||||
public static void enableMappingsCache() {
|
||||
cacheJsonMappings = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the cached mappings. Cleared after ViaVersion has been fully loaded.
|
||||
*
|
||||
* @return cached mapping file json objects
|
||||
* @see #isCacheJsonMappings()
|
||||
*/
|
||||
public static Map<String, JsonObject> getMappingsCache() {
|
||||
return MAPPINGS_CACHE;
|
||||
}
|
||||
private static final byte DIRECT_ID = 0;
|
||||
private static final byte SHIFTS_ID = 1;
|
||||
private static final byte CHANGES_ID = 2;
|
||||
private static final byte IDENTITY_ID = 3;
|
||||
|
||||
/**
|
||||
* Loads the file from the plugin folder if present, else from the bundled resources.
|
||||
*
|
||||
* @return loaded json object, or null if not found or invalid
|
||||
*/
|
||||
public static @Nullable JsonObject loadFromDataDir(String name) {
|
||||
File file = new File(Via.getPlatform().getDataFolder(), name);
|
||||
public static @Nullable JsonObject loadFromDataDir(final String name) {
|
||||
final File file = new File(Via.getPlatform().getDataFolder(), name);
|
||||
if (!file.exists()) {
|
||||
return loadData(name);
|
||||
}
|
||||
|
||||
// Load the file from the platform's directory if present
|
||||
try (FileReader reader = new FileReader(file)) {
|
||||
try (final FileReader reader = new FileReader(file)) {
|
||||
return GsonUtil.getGson().fromJson(reader, JsonObject.class);
|
||||
} catch (JsonSyntaxException e) {
|
||||
} catch (final JsonSyntaxException e) {
|
||||
// Users might mess up the format, so let's catch the syntax error
|
||||
Via.getPlatform().getLogger().warning(name + " is badly formatted!");
|
||||
e.printStackTrace();
|
||||
} catch (IOException | JsonIOException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException(e);
|
||||
} catch (final IOException | JsonIOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the file from the bundled resources. Uses the cache if enabled.
|
||||
* Loads the file from the bundled resources.
|
||||
*
|
||||
* @return loaded json object from bundled resources if present
|
||||
*/
|
||||
public static @Nullable JsonObject loadData(String name) {
|
||||
return loadData(name, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the file from the bundled resources. Uses the cache if enabled.
|
||||
*
|
||||
* @param cacheIfEnabled whether loaded files should be cached
|
||||
* @return loaded json object from bundled resources if present
|
||||
*/
|
||||
public static @Nullable JsonObject loadData(String name, boolean cacheIfEnabled) {
|
||||
if (cacheJsonMappings) {
|
||||
JsonObject cached = MAPPINGS_CACHE.get(name);
|
||||
if (cached != null) {
|
||||
return cached;
|
||||
}
|
||||
public static @Nullable JsonObject loadData(final String name) {
|
||||
final InputStream stream = getResource(name);
|
||||
if (stream == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
InputStream stream = getResource(name);
|
||||
if (stream == null) return null;
|
||||
|
||||
InputStreamReader reader = new InputStreamReader(stream);
|
||||
try {
|
||||
JsonObject object = GsonUtil.getGson().fromJson(reader, JsonObject.class);
|
||||
if (cacheIfEnabled && cacheJsonMappings) {
|
||||
MAPPINGS_CACHE.put(name, object);
|
||||
}
|
||||
return object;
|
||||
} finally {
|
||||
try {
|
||||
reader.close();
|
||||
} catch (IOException ignored) {
|
||||
// Ignored
|
||||
}
|
||||
try (final InputStreamReader reader = new InputStreamReader(stream)) {
|
||||
return GsonUtil.getGson().fromJson(reader, JsonObject.class);
|
||||
} catch (final IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void mapIdentifiers(Int2IntBiMap output, JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffIdentifiers, boolean warnOnMissing) {
|
||||
Object2IntMap<String> newIdentifierMap = MappingDataLoader.indexedObjectToMap(mappedIdentifiers);
|
||||
for (Map.Entry<String, JsonElement> entry : unmappedIdentifiers.entrySet()) {
|
||||
int id = Integer.parseInt(entry.getKey());
|
||||
int mappedId = mapIdentifierEntry(id, entry.getValue().getAsString(), newIdentifierMap, diffIdentifiers, warnOnMissing);
|
||||
if (mappedId != -1) {
|
||||
output.put(id, mappedId);
|
||||
}
|
||||
public static @Nullable CompoundTag loadNBT(final String name) {
|
||||
final InputStream resource = getResource(name);
|
||||
if (resource == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try (final InputStream stream = resource) {
|
||||
return NBTIO.readTag(stream);
|
||||
} catch (final IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void mapIdentifiers(Mappings mappings, Mappings inverseMappings, JsonArray unmappedIdentifiers, JsonArray mappedIdentifiers, @Nullable JsonObject diffIdentifiers, boolean warnOnMissing) {
|
||||
Object2IntMap<String> newIdentifierMap = MappingDataLoader.arrayToMap(mappedIdentifiers);
|
||||
for (int id = 0; id < unmappedIdentifiers.size(); id++) {
|
||||
String value = unmappedIdentifiers.get(id).getAsString();
|
||||
int mappedId = mapIdentifierEntry(id, value, newIdentifierMap, diffIdentifiers, warnOnMissing);
|
||||
if (mappedId != -1) {
|
||||
mappings.setNewId(id, mappedId);
|
||||
inverseMappings.setNewId(mappedId, id);
|
||||
}
|
||||
public static @Nullable Mappings loadMappings(final CompoundTag mappingsTag, final String key) {
|
||||
return loadMappings(mappingsTag, key, int[]::new, (array, id, mappedId) -> array[id] = mappedId, IntArrayMappings::of);
|
||||
}
|
||||
|
||||
@Beta
|
||||
public static <M extends Mappings, V> @Nullable Mappings loadMappings(
|
||||
final CompoundTag mappingsTag,
|
||||
final String key,
|
||||
final MappingHolderSupplier<V> holderSupplier,
|
||||
final AddConsumer<V> addConsumer,
|
||||
final MappingsSupplier<M, V> mappingsSupplier
|
||||
) {
|
||||
final CompoundTag tag = mappingsTag.get(key);
|
||||
if (tag == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final ByteTag serializationStragetyTag = tag.get("id");
|
||||
final IntTag mappedSizeTag = tag.get("mappedSize");
|
||||
final byte strategy = serializationStragetyTag.asByte();
|
||||
final V mappings;
|
||||
if (strategy == DIRECT_ID) {
|
||||
final IntArrayTag valuesTag = tag.get("val");
|
||||
return IntArrayMappings.of(valuesTag.getValue(), mappedSizeTag.asInt());
|
||||
} else if (strategy == SHIFTS_ID) {
|
||||
final IntArrayTag shiftsAtTag = tag.get("at");
|
||||
final IntArrayTag shiftsTag = tag.get("val");
|
||||
final IntTag sizeTag = tag.get("size");
|
||||
final int[] shiftsAt = shiftsAtTag.getValue();
|
||||
final int[] shifts = shiftsTag.getValue();
|
||||
final int size = sizeTag.asInt();
|
||||
mappings = holderSupplier.get(size);
|
||||
|
||||
// Handle values until first shift
|
||||
if (shiftsAt[0] != 0) {
|
||||
final int to = shiftsAt[0];
|
||||
for (int id = 0; id < to; id++) {
|
||||
addConsumer.addTo(mappings, id, id);
|
||||
}
|
||||
}
|
||||
|
||||
// Handle shifts
|
||||
for (int i = 0; i < shiftsAt.length; i++) {
|
||||
final int from = shiftsAt[i];
|
||||
final int to = i == shiftsAt.length - 1 ? size : shiftsAt[i + 1];
|
||||
final int shiftBy = shifts[i];
|
||||
for (int id = from; id < to; id++) {
|
||||
addConsumer.addTo(mappings, id, id + shiftBy);
|
||||
}
|
||||
}
|
||||
} else if (strategy == CHANGES_ID) {
|
||||
final IntArrayTag changesAtTag = tag.get("at");
|
||||
final IntArrayTag valuesTag = tag.get("val");
|
||||
final IntTag sizeTag = tag.get("size");
|
||||
final boolean fillBetween = tag.get("nofill") == null;
|
||||
final int[] changesAt = changesAtTag.getValue();
|
||||
final int[] values = valuesTag.getValue();
|
||||
mappings = holderSupplier.get(sizeTag.asInt());
|
||||
|
||||
for (int i = 0; i < changesAt.length; i++) {
|
||||
final int id = changesAt[i];
|
||||
if (fillBetween) {
|
||||
// Fill from after the last change to before this change with unchanged ids
|
||||
final int previousId = i != 0 ? changesAt[i - 1] + 1 : 0;
|
||||
for (int identity = previousId; identity < id; identity++) {
|
||||
addConsumer.addTo(mappings, identity, identity);
|
||||
}
|
||||
}
|
||||
|
||||
// Assign the changed value
|
||||
addConsumer.addTo(mappings, id, values[i]);
|
||||
}
|
||||
} else if (strategy == IDENTITY_ID) {
|
||||
final IntTag sizeTag = tag.get("size");
|
||||
return new IdentityMappings(sizeTag.asInt(), mappedSizeTag.asInt());
|
||||
} else {
|
||||
throw new IllegalArgumentException("Unknown serialization strategy: " + strategy);
|
||||
}
|
||||
return mappingsSupplier.create(mappings, mappedSizeTag.asInt());
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public static void mapIdentifiers(int[] output, JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers) {
|
||||
mapIdentifiers(output, unmappedIdentifiers, mappedIdentifiers, null);
|
||||
public static FullMappings loadFullMappings(final CompoundTag mappingsTag, final CompoundTag unmappedIdentifiers, final CompoundTag mappedIdentifiers, final String key) {
|
||||
final ListTag unmappedElements = unmappedIdentifiers.get(key);
|
||||
final ListTag mappedElements = mappedIdentifiers.get(key);
|
||||
if (unmappedElements == null || mappedElements == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Mappings mappings = loadMappings(mappingsTag, key);
|
||||
if (mappings == null) {
|
||||
mappings = new IdentityMappings(unmappedElements.size(), mappedElements.size());
|
||||
}
|
||||
|
||||
return new FullMappingsBase(
|
||||
unmappedElements.getValue().stream().map(t -> (String) t.getValue()).collect(Collectors.toList()),
|
||||
mappedElements.getValue().stream().map(t -> (String) t.getValue()).collect(Collectors.toList()),
|
||||
mappings
|
||||
);
|
||||
}
|
||||
|
||||
public static void mapIdentifiers(int[] output, JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffIdentifiers, boolean warnOnMissing) {
|
||||
Object2IntMap<String> newIdentifierMap = MappingDataLoader.indexedObjectToMap(mappedIdentifiers);
|
||||
for (Map.Entry<String, JsonElement> entry : unmappedIdentifiers.entrySet()) {
|
||||
int id = Integer.parseInt(entry.getKey());
|
||||
int mappedId = mapIdentifierEntry(id, entry.getValue().getAsString(), newIdentifierMap, diffIdentifiers, warnOnMissing);
|
||||
public static void mapIdentifiers(final int[] output, final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, @Nullable final JsonObject diffIdentifiers, final boolean warnOnMissing) {
|
||||
final Object2IntMap<String> newIdentifierMap = MappingDataLoader.indexedObjectToMap(mappedIdentifiers);
|
||||
for (final Map.Entry<String, JsonElement> entry : unmappedIdentifiers.entrySet()) {
|
||||
final int id = Integer.parseInt(entry.getKey());
|
||||
final int mappedId = mapIdentifierEntry(id, entry.getValue().getAsString(), newIdentifierMap, diffIdentifiers, warnOnMissing);
|
||||
if (mappedId != -1) {
|
||||
output[id] = mappedId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void mapIdentifiers(int[] output, JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffIdentifiers) {
|
||||
mapIdentifiers(output, unmappedIdentifiers, mappedIdentifiers, diffIdentifiers, true);
|
||||
}
|
||||
|
||||
private static int mapIdentifierEntry(int id, String val, Object2IntMap<String> mappedIdentifiers, @Nullable JsonObject diffIdentifiers, boolean warnOnMissing) {
|
||||
private static int mapIdentifierEntry(final int id, final String val, final Object2IntMap<String> mappedIdentifiers, @Nullable final JsonObject diffIdentifiers, final boolean warnOnMissing) {
|
||||
int mappedId = mappedIdentifiers.getInt(val);
|
||||
if (mappedId == -1) {
|
||||
// Search in diff mappings
|
||||
if (diffIdentifiers != null) {
|
||||
JsonElement diffElement = diffIdentifiers.get(val);
|
||||
if (diffElement != null || (diffElement = diffIdentifiers.get(Integer.toString(id))) != null) {
|
||||
String mappedName = diffElement.getAsString();
|
||||
final String mappedName = diffElement.getAsString();
|
||||
if (mappedName.isEmpty()) {
|
||||
return -1; // "empty" remaps without warnings
|
||||
}
|
||||
@ -205,16 +245,11 @@ public final class MappingDataLoader {
|
||||
return mappedId;
|
||||
}
|
||||
|
||||
@Deprecated/*(forRemoval = true)*/
|
||||
public static void mapIdentifiers(int[] output, JsonArray unmappedIdentifiers, JsonArray mappedIdentifiers, boolean warnOnMissing) {
|
||||
mapIdentifiers(output, unmappedIdentifiers, mappedIdentifiers, null, warnOnMissing);
|
||||
}
|
||||
|
||||
public static void mapIdentifiers(int[] output, JsonArray unmappedIdentifiers, JsonArray mappedIdentifiers, @Nullable JsonObject diffIdentifiers, boolean warnOnMissing) {
|
||||
Object2IntMap<String> newIdentifierMap = MappingDataLoader.arrayToMap(mappedIdentifiers);
|
||||
public static void mapIdentifiers(final int[] output, final JsonArray unmappedIdentifiers, final JsonArray mappedIdentifiers, @Nullable final JsonObject diffIdentifiers, final boolean warnOnMissing) {
|
||||
final Object2IntMap<String> newIdentifierMap = MappingDataLoader.arrayToMap(mappedIdentifiers);
|
||||
for (int id = 0; id < unmappedIdentifiers.size(); id++) {
|
||||
JsonElement unmappedIdentifier = unmappedIdentifiers.get(id);
|
||||
int mappedId = mapIdentifierEntry(id, unmappedIdentifier.getAsString(), newIdentifierMap, diffIdentifiers, warnOnMissing);
|
||||
final JsonElement unmappedIdentifier = unmappedIdentifiers.get(id);
|
||||
final int mappedId = mapIdentifierEntry(id, unmappedIdentifier.getAsString(), newIdentifierMap, diffIdentifiers, warnOnMissing);
|
||||
if (mappedId != -1) {
|
||||
output[id] = mappedId;
|
||||
}
|
||||
@ -227,10 +262,10 @@ public final class MappingDataLoader {
|
||||
* @param object json object
|
||||
* @return map with indexes hashed by their id value
|
||||
*/
|
||||
public static Object2IntMap<String> indexedObjectToMap(JsonObject object) {
|
||||
Object2IntMap<String> map = new Object2IntOpenHashMap<>(object.size(), .99F);
|
||||
public static Object2IntMap<String> indexedObjectToMap(final JsonObject object) {
|
||||
final Object2IntMap<String> map = new Object2IntOpenHashMap<>(object.size(), .99F);
|
||||
map.defaultReturnValue(-1);
|
||||
for (Map.Entry<String, JsonElement> entry : object.entrySet()) {
|
||||
for (final Map.Entry<String, JsonElement> entry : object.entrySet()) {
|
||||
map.put(entry.getValue().getAsString(), Integer.parseInt(entry.getKey()));
|
||||
}
|
||||
return map;
|
||||
@ -242,8 +277,8 @@ public final class MappingDataLoader {
|
||||
* @param array json array
|
||||
* @return map with indexes hashed by their id value
|
||||
*/
|
||||
public static Object2IntMap<String> arrayToMap(JsonArray array) {
|
||||
Object2IntMap<String> map = new Object2IntOpenHashMap<>(array.size(), .99F);
|
||||
public static Object2IntMap<String> arrayToMap(final JsonArray array) {
|
||||
final Object2IntMap<String> map = new Object2IntOpenHashMap<>(array.size(), .99F);
|
||||
map.defaultReturnValue(-1);
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
map.put(array.get(i).getAsString(), i);
|
||||
@ -251,7 +286,25 @@ public final class MappingDataLoader {
|
||||
return map;
|
||||
}
|
||||
|
||||
public static @Nullable InputStream getResource(String name) {
|
||||
public static @Nullable InputStream getResource(final String name) {
|
||||
return MappingDataLoader.class.getClassLoader().getResourceAsStream("assets/viaversion/data/" + name);
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface AddConsumer<T> {
|
||||
|
||||
void addTo(T holder, int id, int mappedId);
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface MappingHolderSupplier<T> {
|
||||
|
||||
T get(int expectedSize);
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
public interface MappingsSupplier<T extends Mappings, V> {
|
||||
|
||||
T create(V mappings, int mappedSize);
|
||||
}
|
||||
}
|
||||
|
@ -62,11 +62,11 @@ public interface Mappings {
|
||||
/**
|
||||
* Manually maps a specific id.
|
||||
*
|
||||
* @param id unmapped id
|
||||
* @param newId mapped id
|
||||
* @param id unmapped id
|
||||
* @param mappedId mapped id
|
||||
* @throws IndexOutOfBoundsException if the unmapped id is invalid
|
||||
*/
|
||||
void setNewId(int id, int newId);
|
||||
void setNewId(int id, int mappedId);
|
||||
|
||||
/**
|
||||
* Returns amount of unmapped entries, being the size of the mapping.
|
||||
|
@ -22,16 +22,16 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.api.data;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import it.unimi.dsi.fastutil.ints.IntArrayList;
|
||||
import it.unimi.dsi.fastutil.ints.IntList;
|
||||
import java.util.List;
|
||||
|
||||
public class ParticleMappings extends FullMappingsBase {
|
||||
private final IntList itemParticleIds = new IntArrayList(2);
|
||||
private final IntList itemParticleIds = new IntArrayList(4);
|
||||
private final IntList blockParticleIds = new IntArrayList(4);
|
||||
|
||||
public ParticleMappings(JsonArray oldMappings, JsonArray newMappings, Mappings mappings) {
|
||||
super(oldMappings, newMappings, mappings);
|
||||
public ParticleMappings(final List<String> unmappedIdentifiers, final List<String> mappedIdentifiers, final Mappings mappings) {
|
||||
super(unmappedIdentifiers, mappedIdentifiers, mappings);
|
||||
addBlockParticle("block");
|
||||
addBlockParticle("falling_dust");
|
||||
addBlockParticle("block_marker");
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
|
||||
* Copyright (C) 2023 ViaVersion and contributors
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
package com.viaversion.viaversion.api.data.entity;
|
||||
|
||||
import com.viaversion.viaversion.api.data.BiMappings;
|
||||
import com.viaversion.viaversion.api.data.IdentityMappings;
|
||||
|
||||
public final class IdentityBiMappings extends IdentityMappings implements BiMappings {
|
||||
|
||||
public IdentityBiMappings(final int size, final int mappedSize) {
|
||||
super(size, mappedSize);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiMappings inverse() {
|
||||
return this;
|
||||
}
|
||||
}
|
@ -26,7 +26,7 @@ public final class TagData {
|
||||
private final String identifier;
|
||||
private final int[] entries;
|
||||
|
||||
public TagData(String identifier, int[] entries) {
|
||||
public TagData(final String identifier, final int[] entries) {
|
||||
this.identifier = identifier;
|
||||
this.entries = entries;
|
||||
}
|
||||
|
@ -36,11 +36,16 @@ public class Int2IntBiHashMap implements Int2IntBiMap {
|
||||
|
||||
public Int2IntBiHashMap() {
|
||||
this.map = new Int2IntOpenHashMap();
|
||||
this.inverse = new Int2IntBiHashMap(this);
|
||||
this.inverse = new Int2IntBiHashMap(this, -1);
|
||||
}
|
||||
|
||||
private Int2IntBiHashMap(Int2IntBiHashMap inverse) {
|
||||
this.map = new Int2IntOpenHashMap();
|
||||
public Int2IntBiHashMap(final int expected) {
|
||||
this.map = new Int2IntOpenHashMap(expected);
|
||||
this.inverse = new Int2IntBiHashMap(this, expected);
|
||||
}
|
||||
|
||||
private Int2IntBiHashMap(final Int2IntBiHashMap inverse, final int expected) {
|
||||
this.map = expected != -1 ? new Int2IntOpenHashMap(expected) : new Int2IntOpenHashMap();
|
||||
this.inverse = inverse;
|
||||
}
|
||||
|
||||
@ -50,7 +55,7 @@ public class Int2IntBiHashMap implements Int2IntBiMap {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int put(int key, int value) {
|
||||
public int put(final int key, final int value) {
|
||||
if (containsKey(key) && value == get(key)) return value;
|
||||
|
||||
Preconditions.checkArgument(!containsValue(value), "value already present: %s", value);
|
||||
@ -60,13 +65,13 @@ public class Int2IntBiHashMap implements Int2IntBiMap {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean remove(int key, int value) {
|
||||
public boolean remove(final int key, final int value) {
|
||||
map.remove(key, value);
|
||||
return inverse.map.remove(key, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int get(int key) {
|
||||
public int get(final int key) {
|
||||
return map.get(key);
|
||||
}
|
||||
|
||||
@ -87,7 +92,7 @@ public class Int2IntBiHashMap implements Int2IntBiMap {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultReturnValue(int rv) {
|
||||
public void defaultReturnValue(final int rv) {
|
||||
map.defaultReturnValue(rv);
|
||||
inverse.map.defaultReturnValue(rv);
|
||||
}
|
||||
@ -113,12 +118,12 @@ public class Int2IntBiHashMap implements Int2IntBiMap {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsKey(int key) {
|
||||
public boolean containsKey(final int key) {
|
||||
return map.containsKey(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsValue(int value) {
|
||||
public boolean containsValue(final int value) {
|
||||
return inverse.map.containsKey(value);
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import com.google.common.collect.Range;
|
||||
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||
import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.data.MappingDataLoader;
|
||||
import com.viaversion.viaversion.api.protocol.Protocol;
|
||||
import com.viaversion.viaversion.api.protocol.ProtocolManager;
|
||||
import com.viaversion.viaversion.api.protocol.ProtocolPathEntry;
|
||||
@ -518,11 +517,6 @@ public class ProtocolManagerImpl implements ProtocolManager {
|
||||
mappingLoaderExecutor = null;
|
||||
mappingLoaderFutures.clear();
|
||||
mappingLoaderFutures = null;
|
||||
|
||||
// Clear cached json files
|
||||
if (MappingDataLoader.isCacheJsonMappings()) {
|
||||
MappingDataLoader.getMappingsCache().clear();
|
||||
}
|
||||
}
|
||||
|
||||
private Function<Throwable, Void> mappingLoaderThrowable(Class<? extends Protocol> protocolClass) {
|
||||
|
@ -515,7 +515,7 @@ public class PacketWrapperImpl implements PacketWrapper {
|
||||
'}';
|
||||
}
|
||||
|
||||
private static final class PacketValue {
|
||||
public static final class PacketValue {
|
||||
private final Type type;
|
||||
private Object value;
|
||||
|
||||
|
@ -41,7 +41,7 @@ import com.viaversion.viaversion.rewriter.TagRewriter;
|
||||
|
||||
public class Protocol1_13_1To1_13 extends AbstractProtocol<ClientboundPackets1_13, ClientboundPackets1_13, ServerboundPackets1_13, ServerboundPackets1_13> {
|
||||
|
||||
public static final MappingData MAPPINGS = new MappingDataBase("1.13", "1.13.2", true);
|
||||
public static final MappingData MAPPINGS = new MappingDataBase("1.13", "1.13.2");
|
||||
private final MetadataRewriter1_13_1To1_13 entityRewriter = new MetadataRewriter1_13_1To1_13(this);
|
||||
private final InventoryPackets itemRewriter = new InventoryPackets(this);
|
||||
|
||||
|
@ -138,22 +138,22 @@ public class Protocol1_13To1_12_2 extends AbstractProtocol<ClientboundPackets1_1
|
||||
// Send tags packet
|
||||
w.create(ClientboundPackets1_13.TAGS, wrapper -> {
|
||||
wrapper.write(Type.VAR_INT, MAPPINGS.getBlockTags().size()); // block tags
|
||||
for (Map.Entry<String, Integer[]> tag : MAPPINGS.getBlockTags().entrySet()) {
|
||||
for (Map.Entry<String, int[]> tag : MAPPINGS.getBlockTags().entrySet()) {
|
||||
wrapper.write(Type.STRING, tag.getKey());
|
||||
// Needs copy as other protocols may modify it
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, toPrimitive(tag.getValue()));
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, tag.getValue());
|
||||
}
|
||||
wrapper.write(Type.VAR_INT, MAPPINGS.getItemTags().size()); // item tags
|
||||
for (Map.Entry<String, Integer[]> tag : MAPPINGS.getItemTags().entrySet()) {
|
||||
for (Map.Entry<String, int[]> tag : MAPPINGS.getItemTags().entrySet()) {
|
||||
wrapper.write(Type.STRING, tag.getKey());
|
||||
// Needs copy as other protocols may modify it
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, toPrimitive(tag.getValue()));
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, tag.getValue());
|
||||
}
|
||||
wrapper.write(Type.VAR_INT, MAPPINGS.getFluidTags().size()); // fluid tags
|
||||
for (Map.Entry<String, Integer[]> tag : MAPPINGS.getFluidTags().entrySet()) {
|
||||
for (Map.Entry<String, int[]> tag : MAPPINGS.getFluidTags().entrySet()) {
|
||||
wrapper.write(Type.STRING, tag.getKey());
|
||||
// Needs copy as other protocols may modify it
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, toPrimitive(tag.getValue()));
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, tag.getValue());
|
||||
}
|
||||
}).scheduleSend(Protocol1_13To1_12_2.class);
|
||||
};
|
||||
@ -852,6 +852,10 @@ public class Protocol1_13To1_12_2 extends AbstractProtocol<ClientboundPackets1_1
|
||||
.reader(20, ParticleType.Readers.DUST)
|
||||
.reader(11, ParticleType.Readers.DUST)
|
||||
.reader(27, ParticleType.Readers.ITEM);
|
||||
|
||||
if (Via.getConfig().isServersideBlockConnections() && Via.getManager().getProviders().get(BlockConnectionProvider.class) instanceof PacketBlockConnectionProvider) {
|
||||
BlockConnectionStorage.init();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -908,14 +912,6 @@ public class Protocol1_13To1_12_2 extends AbstractProtocol<ClientboundPackets1_1
|
||||
return name;
|
||||
}
|
||||
|
||||
public static int[] toPrimitive(Integer[] array) {
|
||||
int[] prim = new int[array.length];
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
prim[i] = array[i];
|
||||
}
|
||||
return prim;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MappingData getMappingData() {
|
||||
return MAPPINGS;
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.protocols.protocol1_13to1_12_2.blockconnections;
|
||||
|
||||
import com.github.steveice10.opennbt.tag.builtin.ListTag;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
@ -205,10 +206,9 @@ public final class ConnectionData {
|
||||
}
|
||||
|
||||
Via.getPlatform().getLogger().info("Loading block connection mappings ...");
|
||||
JsonObject mapping1_13 = MappingDataLoader.loadData("mapping-1.13.json", true);
|
||||
JsonArray blocks1_13 = mapping1_13.getAsJsonArray("blockstates");
|
||||
for (int id = 0; id < blocks1_13.size(); id++) {
|
||||
String key = blocks1_13.get(id).getAsString();
|
||||
ListTag blockStates = MappingDataLoader.loadNBT("blockstates-1.13.nbt").get("blockstates");
|
||||
for (int id = 0; id < blockStates.size(); id++) {
|
||||
String key = (String) blockStates.get(id).getValue();
|
||||
idToKey.put(id, key);
|
||||
keyToId.put(key, id);
|
||||
}
|
||||
|
@ -17,23 +17,24 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.protocols.protocol1_13to1_12_2.data;
|
||||
|
||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.IntArrayTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.StringTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.Tag;
|
||||
import com.google.common.collect.BiMap;
|
||||
import com.google.common.collect.HashBiMap;
|
||||
import com.google.common.io.CharStreams;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.api.data.BiMappings;
|
||||
import com.viaversion.viaversion.api.data.Int2IntMapBiMappings;
|
||||
import com.viaversion.viaversion.api.data.IntArrayMappings;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import com.viaversion.viaversion.api.data.MappingDataLoader;
|
||||
import com.viaversion.viaversion.api.data.Mappings;
|
||||
import com.viaversion.viaversion.util.GsonUtil;
|
||||
import com.viaversion.viaversion.util.Int2IntBiHashMap;
|
||||
import com.viaversion.viaversion.util.Int2IntBiMap;
|
||||
import com.viaversion.viaversion.util.Key;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
@ -44,27 +45,26 @@ import java.util.Map;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public class MappingData extends MappingDataBase {
|
||||
private final Map<String, Integer[]> blockTags = new HashMap<>();
|
||||
private final Map<String, Integer[]> itemTags = new HashMap<>();
|
||||
private final Map<String, Integer[]> fluidTags = new HashMap<>();
|
||||
private final Map<String, int[]> blockTags = new HashMap<>();
|
||||
private final Map<String, int[]> itemTags = new HashMap<>();
|
||||
private final Map<String, int[]> fluidTags = new HashMap<>();
|
||||
private final BiMap<Short, String> oldEnchantmentsIds = HashBiMap.create();
|
||||
private final Map<String, String> translateMapping = new HashMap<>();
|
||||
private final Map<String, String> mojangTranslation = new HashMap<>();
|
||||
private final BiMap<String, String> channelMappings = HashBiMap.create(); // 1.12->1.13
|
||||
private final BiMap<String, String> channelMappings = HashBiMap.create();
|
||||
|
||||
public MappingData() {
|
||||
super("1.12", "1.13");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, JsonObject diffMappings) {
|
||||
loadTags(blockTags, mappedIdentifiers.getAsJsonObject("block_tags"));
|
||||
loadTags(itemTags, mappedIdentifiers.getAsJsonObject("item_tags"));
|
||||
loadTags(fluidTags, mappedIdentifiers.getAsJsonObject("fluid_tags"));
|
||||
protected void loadExtras(final CompoundTag data) {
|
||||
loadTags(blockTags, data.get("block_tags"));
|
||||
loadTags(itemTags, data.get("item_tags"));
|
||||
loadTags(fluidTags, data.get("fluid_tags"));
|
||||
|
||||
loadEnchantments(oldEnchantmentsIds, unmappedIdentifiers.getAsJsonObject("legacy_enchantments"));
|
||||
enchantmentMappings = IntArrayMappings.builder().customEntrySize(72)
|
||||
.unmapped(unmappedIdentifiers.getAsJsonObject("legacy_enchantments")).mapped(mappedIdentifiers.getAsJsonArray("enchantments")).build();
|
||||
CompoundTag legacyEnchantments = data.get("legacy_enchantments");
|
||||
loadEnchantments(oldEnchantmentsIds, legacyEnchantments);
|
||||
|
||||
// Map minecraft:snow[layers=1] of 1.12 to minecraft:snow[layers=2] in 1.13
|
||||
if (Via.getConfig().isSnowCollisionFix()) {
|
||||
@ -105,10 +105,14 @@ public class MappingData extends MappingDataBase {
|
||||
lines = CharStreams.toString(reader).split("\n");
|
||||
}
|
||||
for (String line : lines) {
|
||||
if (line.isEmpty()) continue;
|
||||
if (line.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String[] keyAndTranslation = line.split("=", 2);
|
||||
if (keyAndTranslation.length != 2) continue;
|
||||
if (keyAndTranslation.length != 2) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String key = keyAndTranslation[0];
|
||||
if (!translateData.containsKey(key)) {
|
||||
@ -127,38 +131,25 @@ public class MappingData extends MappingDataBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @Nullable Mappings loadFromArray(final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, @Nullable final JsonObject diffMappings, final String key) {
|
||||
protected @Nullable Mappings loadMappings(final CompoundTag data, final String key) {
|
||||
// Special cursed case
|
||||
if (key.equals("blocks")) {
|
||||
// Need to use a custom size since there are larger gaps in ids, also object -> array
|
||||
return IntArrayMappings.builder().customEntrySize(4084)
|
||||
.unmapped(unmappedIdentifiers.getAsJsonObject("blocks")).mapped(mappedIdentifiers.getAsJsonArray("blockstates")).build();
|
||||
} else if (key.equals("items")) {
|
||||
// Object -> array
|
||||
return IntArrayMappings.builder()
|
||||
.unmapped(unmappedIdentifiers.getAsJsonObject(key)).mapped(mappedIdentifiers.getAsJsonArray(key)).build();
|
||||
return super.loadMappings(data, "blockstates");
|
||||
} else if (key.equals("blockstates")) {
|
||||
return null;
|
||||
} else {
|
||||
return super.loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffMappings, key);
|
||||
return super.loadMappings(data, key);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @Nullable BiMappings loadBiFromArray(final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, @Nullable final JsonObject diffMappings, final String key) {
|
||||
protected @Nullable BiMappings loadBiMappings(final CompoundTag data, final String key) {
|
||||
// Special cursed case
|
||||
if (key.equals("items")) {
|
||||
final Int2IntBiMap itemMappings = new Int2IntBiHashMap();
|
||||
itemMappings.defaultReturnValue(-1);
|
||||
MappingDataLoader.mapIdentifiers(itemMappings, unmappedIdentifiers.getAsJsonObject("items"), toJsonObject(mappedIdentifiers.getAsJsonArray("items")), null, true);
|
||||
return Int2IntMapBiMappings.of(itemMappings);
|
||||
return (BiMappings) MappingDataLoader.loadMappings(data, "items", Int2IntBiHashMap::new, Int2IntBiHashMap::put, (v, mappedSize) -> Int2IntMapBiMappings.of(v));
|
||||
} else {
|
||||
return super.loadBiMappings(data, key);
|
||||
}
|
||||
return super.loadBiFromArray(unmappedIdentifiers, mappedIdentifiers, diffMappings, key);
|
||||
}
|
||||
|
||||
private JsonObject toJsonObject(final JsonArray array) {
|
||||
final JsonObject object = new JsonObject();
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
final JsonElement element = array.get(i);
|
||||
object.add(Integer.toString(i), element);
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
public static String validateNewChannel(String newId) {
|
||||
@ -179,32 +170,28 @@ public class MappingData extends MappingDataBase {
|
||||
return channelId.matches("([0-9a-z_.-]+:)?[0-9a-z_/.-]+");
|
||||
}
|
||||
|
||||
private void loadTags(Map<String, Integer[]> output, JsonObject newTags) {
|
||||
for (Map.Entry<String, JsonElement> entry : newTags.entrySet()) {
|
||||
JsonArray ids = entry.getValue().getAsJsonArray();
|
||||
Integer[] idsArray = new Integer[ids.size()];
|
||||
for (int i = 0; i < ids.size(); i++) {
|
||||
idsArray[i] = ids.get(i).getAsInt();
|
||||
}
|
||||
output.put(Key.namespaced(entry.getKey()), idsArray);
|
||||
private void loadTags(Map<String, int[]> output, CompoundTag newTags) {
|
||||
for (Map.Entry<String, Tag> entry : newTags.entrySet()) {
|
||||
IntArrayTag ids = (IntArrayTag) entry.getValue();
|
||||
output.put(Key.namespaced(entry.getKey()), ids.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
private void loadEnchantments(Map<Short, String> output, JsonObject enchantments) {
|
||||
for (Map.Entry<String, JsonElement> enchantment : enchantments.entrySet()) {
|
||||
output.put(Short.parseShort(enchantment.getKey()), enchantment.getValue().getAsString());
|
||||
private void loadEnchantments(Map<Short, String> output, CompoundTag enchantments) {
|
||||
for (Map.Entry<String, Tag> enty : enchantments.entrySet()) {
|
||||
output.put(Short.parseShort(enty.getKey()), ((StringTag) enty.getValue()).getValue());
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, Integer[]> getBlockTags() {
|
||||
public Map<String, int[]> getBlockTags() {
|
||||
return blockTags;
|
||||
}
|
||||
|
||||
public Map<String, Integer[]> getItemTags() {
|
||||
public Map<String, int[]> getItemTags() {
|
||||
return itemTags;
|
||||
}
|
||||
|
||||
public Map<String, Integer[]> getFluidTags() {
|
||||
public Map<String, int[]> getFluidTags() {
|
||||
return fluidTags;
|
||||
}
|
||||
|
||||
|
@ -53,6 +53,9 @@ public class BlockConnectionStorage implements StorableObject {
|
||||
}
|
||||
}
|
||||
|
||||
public static void init() {
|
||||
}
|
||||
|
||||
public void store(int x, int y, int z, int blockState) {
|
||||
short mapping = REVERSE_BLOCK_MAPPINGS[blockState];
|
||||
if (mapping == -1) return;
|
||||
|
@ -83,21 +83,21 @@ public class Protocol1_14To1_13_2 extends AbstractProtocol<ClientboundPackets1_1
|
||||
wrapper.passthrough(Type.STRING);
|
||||
int[] blockIds = wrapper.passthrough(Type.VAR_INT_ARRAY_PRIMITIVE);
|
||||
for (int j = 0; j < blockIds.length; j++) {
|
||||
blockIds[j] = getMappingData().getNewBlockId(blockIds[j]);
|
||||
blockIds[j] = MAPPINGS.getNewBlockId(blockIds[j]);
|
||||
}
|
||||
}
|
||||
// Minecraft crashes if we not send signs tags
|
||||
wrapper.write(Type.STRING, "minecraft:signs");
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, new int[]{
|
||||
getMappingData().getNewBlockId(150), getMappingData().getNewBlockId(155)
|
||||
MAPPINGS.getNewBlockId(150), MAPPINGS.getNewBlockId(155)
|
||||
});
|
||||
wrapper.write(Type.STRING, "minecraft:wall_signs");
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, new int[]{
|
||||
getMappingData().getNewBlockId(155)
|
||||
MAPPINGS.getNewBlockId(155)
|
||||
});
|
||||
wrapper.write(Type.STRING, "minecraft:standing_signs");
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, new int[]{
|
||||
getMappingData().getNewBlockId(150)
|
||||
MAPPINGS.getNewBlockId(150)
|
||||
});
|
||||
// Fences and walls tags - used for block connections
|
||||
wrapper.write(Type.STRING, "minecraft:fences");
|
||||
@ -112,13 +112,13 @@ public class Protocol1_14To1_13_2 extends AbstractProtocol<ClientboundPackets1_1
|
||||
wrapper.passthrough(Type.STRING);
|
||||
int[] itemIds = wrapper.passthrough(Type.VAR_INT_ARRAY_PRIMITIVE);
|
||||
for (int j = 0; j < itemIds.length; j++) {
|
||||
itemIds[j] = getMappingData().getNewItemId(itemIds[j]);
|
||||
itemIds[j] = MAPPINGS.getNewItemId(itemIds[j]);
|
||||
}
|
||||
}
|
||||
// Should fix fuel shift clicking
|
||||
wrapper.write(Type.STRING, "minecraft:signs");
|
||||
wrapper.write(Type.VAR_INT_ARRAY_PRIMITIVE, new int[]{
|
||||
getMappingData().getNewItemId(541)
|
||||
MAPPINGS.getNewItemId(541)
|
||||
});
|
||||
// Arrows tag (used by bow)
|
||||
wrapper.write(Type.STRING, "minecraft:arrows");
|
||||
@ -141,9 +141,9 @@ public class Protocol1_14To1_13_2 extends AbstractProtocol<ClientboundPackets1_1
|
||||
|
||||
@Override
|
||||
protected void onMappingDataLoaded() {
|
||||
WorldPackets.air = getMappingData().getBlockStateMappings().getNewId(0);
|
||||
WorldPackets.voidAir = getMappingData().getBlockStateMappings().getNewId(8591);
|
||||
WorldPackets.caveAir = getMappingData().getBlockStateMappings().getNewId(8592);
|
||||
WorldPackets.air = MAPPINGS.getBlockStateMappings().getNewId(0);
|
||||
WorldPackets.voidAir = MAPPINGS.getBlockStateMappings().getNewId(8591);
|
||||
WorldPackets.caveAir = MAPPINGS.getBlockStateMappings().getNewId(8592);
|
||||
|
||||
Types1_13_2.PARTICLE.filler(this, false)
|
||||
.reader("block", ParticleType.Readers.BLOCK)
|
||||
|
@ -17,16 +17,13 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.protocols.protocol1_14to1_13_2.data;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.IntArrayTag;
|
||||
import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import com.viaversion.viaversion.api.data.MappingDataLoader;
|
||||
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
|
||||
import it.unimi.dsi.fastutil.ints.IntSet;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
|
||||
|
||||
public class MappingData extends MappingDataBase {
|
||||
private IntSet motionBlocking;
|
||||
@ -37,41 +34,14 @@ public class MappingData extends MappingDataBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, JsonObject diffMappings) {
|
||||
JsonArray mappedBlockStates = mappedIdentifiers.getAsJsonArray("blockstates");
|
||||
Object2IntMap<String> blockStateMap = new Object2IntOpenHashMap<>(mappedBlockStates.size());
|
||||
blockStateMap.defaultReturnValue(-1);
|
||||
for (int i = 0; i < mappedBlockStates.size(); i++) {
|
||||
String state = mappedBlockStates.get(i).getAsString();
|
||||
blockStateMap.put(state, i);
|
||||
}
|
||||
|
||||
JsonObject heightMapData = MappingDataLoader.loadData("heightMapData-1.14.json");
|
||||
JsonArray motionBlocking = heightMapData.getAsJsonArray("MOTION_BLOCKING");
|
||||
this.motionBlocking = new IntOpenHashSet(motionBlocking.size(), .99F);
|
||||
for (JsonElement blockState : motionBlocking) {
|
||||
String key = blockState.getAsString();
|
||||
int id = blockStateMap.getInt(key);
|
||||
if (id == -1) {
|
||||
Via.getPlatform().getLogger().warning("Unknown blockstate " + key + " :(");
|
||||
} else {
|
||||
this.motionBlocking.add(id);
|
||||
}
|
||||
}
|
||||
public void loadExtras(final CompoundTag data) {
|
||||
final CompoundTag heightmap = MappingDataLoader.loadNBT("heightmap-1.14.nbt");
|
||||
final IntArrayTag motionBlocking = heightmap.get("motionBlocking");
|
||||
this.motionBlocking = new IntOpenHashSet(motionBlocking.getValue());
|
||||
|
||||
if (Via.getConfig().isNonFullBlockLightFix()) {
|
||||
nonFullBlocks = new IntOpenHashSet(1611, .99F);
|
||||
JsonArray blockStates = unmappedIdentifiers.getAsJsonArray("blockstates");
|
||||
for (int i = 0; i < blockStates.size(); i++) {
|
||||
String state = blockStates.get(i).getAsString();
|
||||
if (state.contains("_slab") || state.contains("_stairs") || state.contains("_wall[")) {
|
||||
nonFullBlocks.add(blockStateMappings.getNewId(i));
|
||||
}
|
||||
}
|
||||
nonFullBlocks.add(blockStateMappings.getNewId(8163)); // grass path
|
||||
for (int i = 3060; i <= 3067; i++) { // farmland
|
||||
nonFullBlocks.add(blockStateMappings.getNewId(i));
|
||||
}
|
||||
final IntArrayTag nonFullBlocks = heightmap.get("nonFullBlocks");
|
||||
this.nonFullBlocks = new IntOpenHashSet(nonFullBlocks.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,8 @@
|
||||
package com.viaversion.viaversion.protocols.protocol1_15to1_14_4;
|
||||
|
||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||
import com.viaversion.viaversion.api.data.MappingData;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import com.viaversion.viaversion.api.minecraft.RegistryType;
|
||||
import com.viaversion.viaversion.api.minecraft.entities.Entity1_15Types;
|
||||
import com.viaversion.viaversion.api.protocol.AbstractProtocol;
|
||||
@ -25,7 +27,6 @@ import com.viaversion.viaversion.api.type.Type;
|
||||
import com.viaversion.viaversion.data.entity.EntityTrackerBase;
|
||||
import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14;
|
||||
import com.viaversion.viaversion.protocols.protocol1_14to1_13_2.ServerboundPackets1_14;
|
||||
import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.data.MappingData;
|
||||
import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.metadata.MetadataRewriter1_15To1_14_4;
|
||||
import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.packets.EntityPackets;
|
||||
import com.viaversion.viaversion.protocols.protocol1_15to1_14_4.packets.InventoryPackets;
|
||||
@ -36,7 +37,7 @@ import com.viaversion.viaversion.rewriter.TagRewriter;
|
||||
|
||||
public class Protocol1_15To1_14_4 extends AbstractProtocol<ClientboundPackets1_14, ClientboundPackets1_15, ServerboundPackets1_14, ServerboundPackets1_14> {
|
||||
|
||||
public static final MappingData MAPPINGS = new MappingData();
|
||||
public static final MappingData MAPPINGS = new MappingDataBase("1.14", "1.15");
|
||||
private final MetadataRewriter1_15To1_14_4 metadataRewriter = new MetadataRewriter1_15To1_14_4(this);
|
||||
private final InventoryPackets itemRewriter = new InventoryPackets(this);
|
||||
private TagRewriter<ClientboundPackets1_14> tagRewriter;
|
||||
|
@ -1,42 +0,0 @@
|
||||
/*
|
||||
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
|
||||
* Copyright (C) 2016-2023 ViaVersion and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.viaversion.viaversion.protocols.protocol1_15to1_14_4.data;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.viaversion.viaversion.api.data.IntArrayMappings;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import com.viaversion.viaversion.api.data.Mappings;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public class MappingData extends MappingDataBase {
|
||||
|
||||
public MappingData() {
|
||||
super("1.14", "1.15", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Mappings loadFromArray(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings, String key) {
|
||||
if (!key.equals("sounds")) {
|
||||
return super.loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffMappings, key);
|
||||
}
|
||||
|
||||
// Ignore removed sounds
|
||||
return IntArrayMappings.builder().warnOnMissing(false)
|
||||
.unmapped(unmappedIdentifiers.getAsJsonArray(key)).mapped(mappedIdentifiers.getAsJsonArray(key)).build();
|
||||
}
|
||||
}
|
@ -21,7 +21,6 @@ import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.ListTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.StringTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.Tag;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import com.viaversion.viaversion.api.data.MappingDataLoader;
|
||||
@ -35,24 +34,25 @@ public class MappingData extends MappingDataBase {
|
||||
private CompoundTag dimensionRegistry;
|
||||
|
||||
public MappingData() {
|
||||
super("1.16", "1.16.2", true);
|
||||
super("1.16", "1.16.2");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, JsonObject diffMappings) {
|
||||
public void loadExtras(final CompoundTag data) {
|
||||
try {
|
||||
// TODO Read uncompressed file
|
||||
dimensionRegistry = BinaryTagIO.readCompressedInputStream(MappingDataLoader.getResource("dimension-registry-1.16.2.nbt"));
|
||||
} catch (IOException e) {
|
||||
} catch (final IOException e) {
|
||||
Via.getPlatform().getLogger().severe("Error loading dimension registry:");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// Data of each dimension
|
||||
ListTag dimensions = ((CompoundTag) dimensionRegistry.get("minecraft:dimension_type")).get("value");
|
||||
for (Tag dimension : dimensions) {
|
||||
CompoundTag dimensionCompound = (CompoundTag) dimension;
|
||||
final ListTag dimensions = ((CompoundTag) dimensionRegistry.get("minecraft:dimension_type")).get("value");
|
||||
for (final Tag dimension : dimensions) {
|
||||
final CompoundTag dimensionCompound = (CompoundTag) dimension;
|
||||
// Copy with an empty name
|
||||
CompoundTag dimensionData = new CompoundTag(((CompoundTag) dimensionCompound.get("element")).getValue());
|
||||
final CompoundTag dimensionData = new CompoundTag(((CompoundTag) dimensionCompound.get("element")).getValue());
|
||||
dimensionDataMap.put(((StringTag) dimensionCompound.get("name")).getValue(), dimensionData);
|
||||
}
|
||||
}
|
||||
|
@ -17,20 +17,20 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.protocols.protocol1_16to1_15_2.data;
|
||||
|
||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.google.common.collect.BiMap;
|
||||
import com.google.common.collect.HashBiMap;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
|
||||
public class MappingData extends MappingDataBase {
|
||||
private final BiMap<String, String> attributeMappings = HashBiMap.create();
|
||||
|
||||
public MappingData() {
|
||||
super("1.15", "1.16", true);
|
||||
super("1.15", "1.16");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, JsonObject diffMappings) {
|
||||
protected void loadExtras(final CompoundTag data) {
|
||||
attributeMappings.put("generic.maxHealth", "minecraft:generic.max_health");
|
||||
attributeMappings.put("zombie.spawnReinforcements", "minecraft:zombie.spawn_reinforcements");
|
||||
attributeMappings.put("horse.jumpStrength", "minecraft:horse.jump_strength");
|
||||
|
@ -42,7 +42,7 @@ import com.viaversion.viaversion.rewriter.TagRewriter;
|
||||
|
||||
public final class Protocol1_17To1_16_4 extends AbstractProtocol<ClientboundPackets1_16_2, ClientboundPackets1_17, ServerboundPackets1_16_2, ServerboundPackets1_17> {
|
||||
|
||||
public static final MappingData MAPPINGS = new MappingDataBase("1.16.2", "1.17", true);
|
||||
public static final MappingData MAPPINGS = new MappingDataBase("1.16.2", "1.17");
|
||||
private static final String[] NEW_GAME_EVENT_TAGS = {"minecraft:ignore_vibrations_sneaking", "minecraft:vibrations"};
|
||||
private final EntityPackets entityRewriter = new EntityPackets(this);
|
||||
private final InventoryPackets itemRewriter = new InventoryPackets(this);
|
||||
|
@ -17,32 +17,68 @@
|
||||
*/
|
||||
package com.viaversion.viaversion.protocols.protocol1_18to1_17_1.data;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public final class MappingData extends MappingDataBase {
|
||||
|
||||
private final Object2IntMap<String> blockEntityIds = new Object2IntOpenHashMap<>();
|
||||
|
||||
public MappingData() {
|
||||
super("1.17", "1.18", true);
|
||||
super("1.17", "1.18");
|
||||
blockEntityIds.defaultReturnValue(-1);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadExtras(final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, @Nullable final JsonObject diffMappings) {
|
||||
int i = 0;
|
||||
for (final JsonElement element : mappedIdentifiers.getAsJsonArray("blockentities")) {
|
||||
final String id = element.getAsString();
|
||||
blockEntityIds.put(id, i++);
|
||||
protected void loadExtras(final CompoundTag data) {
|
||||
final String[] blockEntities = blockEntities();
|
||||
for (int id = 0; id < blockEntities.length; id++) {
|
||||
blockEntityIds.put(blockEntities[id], id);
|
||||
}
|
||||
}
|
||||
|
||||
public Object2IntMap<String> blockEntityIds() {
|
||||
return blockEntityIds;
|
||||
}
|
||||
|
||||
private String[] blockEntities() {
|
||||
return new String[]{
|
||||
"furnace",
|
||||
"chest",
|
||||
"trapped_chest",
|
||||
"ender_chest",
|
||||
"jukebox",
|
||||
"dispenser",
|
||||
"dropper",
|
||||
"sign",
|
||||
"mob_spawner",
|
||||
"piston",
|
||||
"brewing_stand",
|
||||
"enchanting_table",
|
||||
"end_portal",
|
||||
"beacon",
|
||||
"skull",
|
||||
"daylight_detector",
|
||||
"hopper",
|
||||
"comparator",
|
||||
"banner",
|
||||
"structure_block",
|
||||
"end_gateway",
|
||||
"command_block",
|
||||
"shulker_box",
|
||||
"bed",
|
||||
"conduit",
|
||||
"barrel",
|
||||
"smoker",
|
||||
"blast_furnace",
|
||||
"lectern",
|
||||
"bell",
|
||||
"jigsaw",
|
||||
"campfire",
|
||||
"beehive",
|
||||
"sculk_sensor"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ import java.util.UUID;
|
||||
|
||||
public final class Protocol1_19_3To1_19_1 extends AbstractProtocol<ClientboundPackets1_19_1, ClientboundPackets1_19_3, ServerboundPackets1_19_1, ServerboundPackets1_19_3> {
|
||||
|
||||
public static final MappingData MAPPINGS = new MappingDataBase("1.19", "1.19.3", true);
|
||||
public static final MappingData MAPPINGS = new MappingDataBase("1.19", "1.19.3");
|
||||
private static final ByteArrayType.OptionalByteArrayType OPTIONAL_MESSAGE_SIGNATURE_BYTES_TYPE = new ByteArrayType.OptionalByteArrayType(256);
|
||||
private static final ByteArrayType MESSAGE_SIGNATURE_BYTES_TYPE = new ByteArrayType(256);
|
||||
private static final BitSetType ACKNOWLEDGED_BIT_SET_TYPE = new BitSetType(20);
|
||||
|
@ -18,12 +18,10 @@
|
||||
package com.viaversion.viaversion.protocols.protocol1_19_4to1_19_3.data;
|
||||
|
||||
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import com.viaversion.viaversion.api.data.MappingDataLoader;
|
||||
import com.viaversion.viaversion.api.minecraft.nbt.BinaryTagIO;
|
||||
import java.io.IOException;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
|
||||
public final class MappingData extends MappingDataBase {
|
||||
|
||||
@ -34,8 +32,9 @@ public final class MappingData extends MappingDataBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadExtras(final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, @Nullable final JsonObject diffMappings) {
|
||||
protected void loadExtras(final CompoundTag data) {
|
||||
try {
|
||||
// TODO Read uncompressed file
|
||||
damageTypesRegistry = BinaryTagIO.readCompressedInputStream(MappingDataLoader.getResource("damage-types-1.19.4.nbt"));
|
||||
} catch (final IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
|
@ -21,7 +21,6 @@ import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.ListTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.NumberTag;
|
||||
import com.github.steveice10.opennbt.tag.builtin.Tag;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.viaversion.viaversion.api.data.MappingDataBase;
|
||||
import com.viaversion.viaversion.api.data.MappingDataLoader;
|
||||
import com.viaversion.viaversion.api.minecraft.nbt.BinaryTagIO;
|
||||
@ -35,12 +34,13 @@ public final class MappingData extends MappingDataBase {
|
||||
private final Int2ObjectMap<CompoundTag> defaultChatTypes = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
public MappingData() {
|
||||
super("1.18", "1.19", true);
|
||||
super("1.18", "1.19");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void loadExtras(final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, @Nullable final JsonObject diffMappings) {
|
||||
protected void loadExtras(final CompoundTag daata) {
|
||||
try {
|
||||
// TODO Read uncompressed file
|
||||
final ListTag chatTypes = BinaryTagIO.readCompressedInputStream(MappingDataLoader.getResource("chat-types-1.19.nbt")).get("values");
|
||||
for (final Tag chatType : chatTypes) {
|
||||
final CompoundTag chatTypeCompound = (CompoundTag) chatType;
|
||||
@ -48,7 +48,7 @@ public final class MappingData extends MappingDataBase {
|
||||
defaultChatTypes.put(idTag.asInt(), chatTypeCompound);
|
||||
}
|
||||
} catch (final IOException e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -52,6 +52,10 @@ public class BlockRewriter<C extends ClientboundPacketType> {
|
||||
map(Type.UNSIGNED_BYTE); // Action param
|
||||
map(Type.VAR_INT); // Block id - /!\ NOT BLOCK STATE
|
||||
handler(wrapper -> {
|
||||
if (protocol.getMappingData().getBlockMappings() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
int id = wrapper.get(Type.VAR_INT, 0);
|
||||
int mappedId = protocol.getMappingData().getNewBlockId(id);
|
||||
if (mappedId == -1) {
|
||||
@ -166,8 +170,11 @@ public class BlockRewriter<C extends ClientboundPacketType> {
|
||||
public void register() {
|
||||
map(Type.POSITION1_14);
|
||||
handler(wrapper -> {
|
||||
final int blockEntityId = wrapper.read(Type.VAR_INT);
|
||||
wrapper.write(Type.VAR_INT, protocol.getMappingData().getBlockEntityMappings().getNewIdOrDefault(blockEntityId, blockEntityId));
|
||||
final Mappings mappings = protocol.getMappingData().getBlockEntityMappings();
|
||||
if (mappings != null) {
|
||||
final int blockEntityId = wrapper.read(Type.VAR_INT);
|
||||
wrapper.write(Type.VAR_INT, mappings.getNewIdOrDefault(blockEntityId, blockEntityId));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,467 +0,0 @@
|
||||
{
|
||||
"sounds": [
|
||||
"ambient.cave",
|
||||
"block.anvil.break",
|
||||
"block.anvil.destroy",
|
||||
"block.anvil.fall",
|
||||
"block.anvil.hit",
|
||||
"block.anvil.land",
|
||||
"block.anvil.place",
|
||||
"block.anvil.step",
|
||||
"block.anvil.use",
|
||||
"block.brewing_stand.brew",
|
||||
"block.chest.close",
|
||||
"block.chest.locked",
|
||||
"block.chest.open",
|
||||
"block.chorus_flower.death",
|
||||
"block.chorus_flower.grow",
|
||||
"block.cloth.break",
|
||||
"block.cloth.fall",
|
||||
"block.cloth.hit",
|
||||
"block.cloth.place",
|
||||
"block.cloth.step",
|
||||
"block.comparator.click",
|
||||
"block.dispenser.dispense",
|
||||
"block.dispenser.fail",
|
||||
"block.dispenser.launch",
|
||||
"block.enchantment_table.use",
|
||||
"block.end_gateway.spawn",
|
||||
"block.enderchest.close",
|
||||
"block.enderchest.open",
|
||||
"block.fence_gate.close",
|
||||
"block.fence_gate.open",
|
||||
"block.fire.ambient",
|
||||
"block.fire.extinguish",
|
||||
"block.furnace.fire_crackle",
|
||||
"block.glass.break",
|
||||
"block.glass.fall",
|
||||
"block.glass.hit",
|
||||
"block.glass.place",
|
||||
"block.glass.step",
|
||||
"block.grass.break",
|
||||
"block.grass.fall",
|
||||
"block.grass.hit",
|
||||
"block.grass.place",
|
||||
"block.grass.step",
|
||||
"block.gravel.break",
|
||||
"block.gravel.fall",
|
||||
"block.gravel.hit",
|
||||
"block.gravel.place",
|
||||
"block.gravel.step",
|
||||
"block.iron_door.close",
|
||||
"block.iron_door.open",
|
||||
"block.iron_trapdoor.close",
|
||||
"block.iron_trapdoor.open",
|
||||
"block.ladder.break",
|
||||
"block.ladder.fall",
|
||||
"block.ladder.hit",
|
||||
"block.ladder.place",
|
||||
"block.ladder.step",
|
||||
"block.lava.ambient",
|
||||
"block.lava.extinguish",
|
||||
"block.lava.pop",
|
||||
"block.lever.click",
|
||||
"block.metal.break",
|
||||
"block.metal.fall",
|
||||
"block.metal.hit",
|
||||
"block.metal.place",
|
||||
"block.metal.step",
|
||||
"block.metal_pressureplate.click_off",
|
||||
"block.metal_pressureplate.click_on",
|
||||
"block.note.basedrum",
|
||||
"block.note.bass",
|
||||
"block.note.harp",
|
||||
"block.note.hat",
|
||||
"block.note.pling",
|
||||
"block.note.snare",
|
||||
"block.piston.contract",
|
||||
"block.piston.extend",
|
||||
"block.portal.ambient",
|
||||
"block.portal.travel",
|
||||
"block.portal.trigger",
|
||||
"block.redstone_torch.burnout",
|
||||
"block.sand.break",
|
||||
"block.sand.fall",
|
||||
"block.sand.hit",
|
||||
"block.sand.place",
|
||||
"block.sand.step",
|
||||
"block.slime.break",
|
||||
"block.slime.fall",
|
||||
"block.slime.hit",
|
||||
"block.slime.place",
|
||||
"block.slime.step",
|
||||
"block.snow.break",
|
||||
"block.snow.fall",
|
||||
"block.snow.hit",
|
||||
"block.snow.place",
|
||||
"block.snow.step",
|
||||
"block.stone.break",
|
||||
"block.stone.fall",
|
||||
"block.stone.hit",
|
||||
"block.stone.place",
|
||||
"block.stone.step",
|
||||
"block.stone_button.click_off",
|
||||
"block.stone_button.click_on",
|
||||
"block.stone_pressureplate.click_off",
|
||||
"block.stone_pressureplate.click_on",
|
||||
"block.tripwire.attach",
|
||||
"block.tripwire.click_off",
|
||||
"block.tripwire.click_on",
|
||||
"block.tripwire.detach",
|
||||
"block.water.ambient",
|
||||
"block.waterlily.place",
|
||||
"block.wood.break",
|
||||
"block.wood.fall",
|
||||
"block.wood.hit",
|
||||
"block.wood.place",
|
||||
"block.wood.step",
|
||||
"block.wood_button.click_off",
|
||||
"block.wood_button.click_on",
|
||||
"block.wood_pressureplate.click_off",
|
||||
"block.wood_pressureplate.click_on",
|
||||
"block.wooden_door.close",
|
||||
"block.wooden_door.open",
|
||||
"block.wooden_trapdoor.close",
|
||||
"block.wooden_trapdoor.open",
|
||||
"enchant.thorns.hit",
|
||||
"entity.armorstand.break",
|
||||
"entity.armorstand.fall",
|
||||
"entity.armorstand.hit",
|
||||
"entity.armorstand.place",
|
||||
"entity.arrow.hit",
|
||||
"entity.arrow.hit_player",
|
||||
"entity.arrow.shoot",
|
||||
"entity.bat.ambient",
|
||||
"entity.bat.death",
|
||||
"entity.bat.hurt",
|
||||
"entity.bat.loop",
|
||||
"entity.bat.takeoff",
|
||||
"entity.blaze.ambient",
|
||||
"entity.blaze.burn",
|
||||
"entity.blaze.death",
|
||||
"entity.blaze.hurt",
|
||||
"entity.blaze.shoot",
|
||||
"entity.bobber.splash",
|
||||
"entity.bobber.throw",
|
||||
"entity.cat.ambient",
|
||||
"entity.cat.death",
|
||||
"entity.cat.hiss",
|
||||
"entity.cat.hurt",
|
||||
"entity.cat.purr",
|
||||
"entity.cat.purreow",
|
||||
"entity.chicken.ambient",
|
||||
"entity.chicken.death",
|
||||
"entity.chicken.egg",
|
||||
"entity.chicken.hurt",
|
||||
"entity.chicken.step",
|
||||
"entity.cow.ambient",
|
||||
"entity.cow.death",
|
||||
"entity.cow.hurt",
|
||||
"entity.cow.milk",
|
||||
"entity.cow.step",
|
||||
"entity.creeper.death",
|
||||
"entity.creeper.hurt",
|
||||
"entity.creeper.primed",
|
||||
"entity.donkey.ambient",
|
||||
"entity.donkey.angry",
|
||||
"entity.donkey.chest",
|
||||
"entity.donkey.death",
|
||||
"entity.donkey.hurt",
|
||||
"entity.egg.throw",
|
||||
"entity.elder_guardian.ambient",
|
||||
"entity.elder_guardian.ambient_land",
|
||||
"entity.elder_guardian.curse",
|
||||
"entity.elder_guardian.death",
|
||||
"entity.elder_guardian.death_land",
|
||||
"entity.elder_guardian.hurt",
|
||||
"entity.elder_guardian.hurt_land",
|
||||
"entity.enderdragon.ambient",
|
||||
"entity.enderdragon.death",
|
||||
"entity.enderdragon.flap",
|
||||
"entity.enderdragon.growl",
|
||||
"entity.enderdragon.hurt",
|
||||
"entity.enderdragon.shoot",
|
||||
"entity.enderdragon_fireball.explode",
|
||||
"entity.endereye.launch",
|
||||
"entity.endermen.ambient",
|
||||
"entity.endermen.death",
|
||||
"entity.endermen.hurt",
|
||||
"entity.endermen.scream",
|
||||
"entity.endermen.stare",
|
||||
"entity.endermen.teleport",
|
||||
"entity.endermite.ambient",
|
||||
"entity.endermite.death",
|
||||
"entity.endermite.hurt",
|
||||
"entity.endermite.step",
|
||||
"entity.enderpearl.throw",
|
||||
"entity.experience_bottle.throw",
|
||||
"entity.experience_orb.pickup",
|
||||
"entity.experience_orb.touch",
|
||||
"entity.firework.blast",
|
||||
"entity.firework.blast_far",
|
||||
"entity.firework.large_blast",
|
||||
"entity.firework.large_blast_far",
|
||||
"entity.firework.launch",
|
||||
"entity.firework.shoot",
|
||||
"entity.firework.twinkle",
|
||||
"entity.firework.twinkle_far",
|
||||
"entity.generic.big_fall",
|
||||
"entity.generic.burn",
|
||||
"entity.generic.death",
|
||||
"entity.generic.drink",
|
||||
"entity.generic.eat",
|
||||
"entity.generic.explode",
|
||||
"entity.generic.extinguish_fire",
|
||||
"entity.generic.hurt",
|
||||
"entity.generic.small_fall",
|
||||
"entity.generic.splash",
|
||||
"entity.generic.swim",
|
||||
"entity.ghast.ambient",
|
||||
"entity.ghast.death",
|
||||
"entity.ghast.hurt",
|
||||
"entity.ghast.scream",
|
||||
"entity.ghast.shoot",
|
||||
"entity.ghast.warn",
|
||||
"entity.guardian.ambient",
|
||||
"entity.guardian.ambient_land",
|
||||
"entity.guardian.attack",
|
||||
"entity.guardian.death",
|
||||
"entity.guardian.death_land",
|
||||
"entity.guardian.flop",
|
||||
"entity.guardian.hurt",
|
||||
"entity.guardian.hurt_land",
|
||||
"entity.horse.ambient",
|
||||
"entity.horse.angry",
|
||||
"entity.horse.armor",
|
||||
"entity.horse.breathe",
|
||||
"entity.horse.death",
|
||||
"entity.horse.eat",
|
||||
"entity.horse.gallop",
|
||||
"entity.horse.hurt",
|
||||
"entity.horse.jump",
|
||||
"entity.horse.land",
|
||||
"entity.horse.saddle",
|
||||
"entity.horse.step",
|
||||
"entity.horse.step_wood",
|
||||
"entity.hostile.big_fall",
|
||||
"entity.hostile.death",
|
||||
"entity.hostile.hurt",
|
||||
"entity.hostile.small_fall",
|
||||
"entity.hostile.splash",
|
||||
"entity.hostile.swim",
|
||||
"entity.husk.ambient",
|
||||
"entity.husk.death",
|
||||
"entity.husk.hurt",
|
||||
"entity.husk.step",
|
||||
"entity.irongolem.attack",
|
||||
"entity.irongolem.death",
|
||||
"entity.irongolem.hurt",
|
||||
"entity.irongolem.step",
|
||||
"entity.item.break",
|
||||
"entity.item.pickup",
|
||||
"entity.itemframe.add_item",
|
||||
"entity.itemframe.break",
|
||||
"entity.itemframe.place",
|
||||
"entity.itemframe.remove_item",
|
||||
"entity.itemframe.rotate_item",
|
||||
"entity.leashknot.break",
|
||||
"entity.leashknot.place",
|
||||
"entity.lightning.impact",
|
||||
"entity.lightning.thunder",
|
||||
"entity.lingeringpotion.throw",
|
||||
"entity.magmacube.death",
|
||||
"entity.magmacube.hurt",
|
||||
"entity.magmacube.jump",
|
||||
"entity.magmacube.squish",
|
||||
"entity.minecart.inside",
|
||||
"entity.minecart.riding",
|
||||
"entity.mooshroom.shear",
|
||||
"entity.mule.ambient",
|
||||
"entity.mule.death",
|
||||
"entity.mule.hurt",
|
||||
"entity.painting.break",
|
||||
"entity.painting.place",
|
||||
"entity.pig.ambient",
|
||||
"entity.pig.death",
|
||||
"entity.pig.hurt",
|
||||
"entity.pig.saddle",
|
||||
"entity.pig.step",
|
||||
"entity.player.attack.crit",
|
||||
"entity.player.attack.knockback",
|
||||
"entity.player.attack.nodamage",
|
||||
"entity.player.attack.strong",
|
||||
"entity.player.attack.sweep",
|
||||
"entity.player.attack.weak",
|
||||
"entity.player.big_fall",
|
||||
"entity.player.breath",
|
||||
"entity.player.burp",
|
||||
"entity.player.death",
|
||||
"entity.player.hurt",
|
||||
"entity.player.levelup",
|
||||
"entity.player.small_fall",
|
||||
"entity.player.splash",
|
||||
"entity.player.swim",
|
||||
"entity.polar_bear.ambient",
|
||||
"entity.polar_bear.baby_ambient",
|
||||
"entity.polar_bear.death",
|
||||
"entity.polar_bear.hurt",
|
||||
"entity.polar_bear.step",
|
||||
"entity.polar_bear.warning",
|
||||
"entity.rabbit.ambient",
|
||||
"entity.rabbit.attack",
|
||||
"entity.rabbit.death",
|
||||
"entity.rabbit.hurt",
|
||||
"entity.rabbit.jump",
|
||||
"entity.sheep.ambient",
|
||||
"entity.sheep.death",
|
||||
"entity.sheep.hurt",
|
||||
"entity.sheep.shear",
|
||||
"entity.sheep.step",
|
||||
"entity.shulker.ambient",
|
||||
"entity.shulker.close",
|
||||
"entity.shulker.death",
|
||||
"entity.shulker.hurt",
|
||||
"entity.shulker.hurt_closed",
|
||||
"entity.shulker.open",
|
||||
"entity.shulker.shoot",
|
||||
"entity.shulker.teleport",
|
||||
"entity.shulker_bullet.hit",
|
||||
"entity.shulker_bullet.hurt",
|
||||
"entity.silverfish.ambient",
|
||||
"entity.silverfish.death",
|
||||
"entity.silverfish.hurt",
|
||||
"entity.silverfish.step",
|
||||
"entity.skeleton.ambient",
|
||||
"entity.skeleton.death",
|
||||
"entity.skeleton.hurt",
|
||||
"entity.skeleton.shoot",
|
||||
"entity.skeleton.step",
|
||||
"entity.skeleton_horse.ambient",
|
||||
"entity.skeleton_horse.death",
|
||||
"entity.skeleton_horse.hurt",
|
||||
"entity.slime.attack",
|
||||
"entity.slime.death",
|
||||
"entity.slime.hurt",
|
||||
"entity.slime.jump",
|
||||
"entity.slime.squish",
|
||||
"entity.small_magmacube.death",
|
||||
"entity.small_magmacube.hurt",
|
||||
"entity.small_magmacube.squish",
|
||||
"entity.small_slime.death",
|
||||
"entity.small_slime.hurt",
|
||||
"entity.small_slime.jump",
|
||||
"entity.small_slime.squish",
|
||||
"entity.snowball.throw",
|
||||
"entity.snowman.ambient",
|
||||
"entity.snowman.death",
|
||||
"entity.snowman.hurt",
|
||||
"entity.snowman.shoot",
|
||||
"entity.spider.ambient",
|
||||
"entity.spider.death",
|
||||
"entity.spider.hurt",
|
||||
"entity.spider.step",
|
||||
"entity.splash_potion.break",
|
||||
"entity.splash_potion.throw",
|
||||
"entity.squid.ambient",
|
||||
"entity.squid.death",
|
||||
"entity.squid.hurt",
|
||||
"entity.stray.ambient",
|
||||
"entity.stray.death",
|
||||
"entity.stray.hurt",
|
||||
"entity.stray.step",
|
||||
"entity.tnt.primed",
|
||||
"entity.villager.ambient",
|
||||
"entity.villager.death",
|
||||
"entity.villager.hurt",
|
||||
"entity.villager.no",
|
||||
"entity.villager.trading",
|
||||
"entity.villager.yes",
|
||||
"entity.witch.ambient",
|
||||
"entity.witch.death",
|
||||
"entity.witch.drink",
|
||||
"entity.witch.hurt",
|
||||
"entity.witch.throw",
|
||||
"entity.wither.ambient",
|
||||
"entity.wither.break_block",
|
||||
"entity.wither.death",
|
||||
"entity.wither.hurt",
|
||||
"entity.wither.shoot",
|
||||
"entity.wither.spawn",
|
||||
"entity.wither_skeleton.ambient",
|
||||
"entity.wither_skeleton.death",
|
||||
"entity.wither_skeleton.hurt",
|
||||
"entity.wither_skeleton.step",
|
||||
"entity.wolf.ambient",
|
||||
"entity.wolf.death",
|
||||
"entity.wolf.growl",
|
||||
"entity.wolf.howl",
|
||||
"entity.wolf.hurt",
|
||||
"entity.wolf.pant",
|
||||
"entity.wolf.shake",
|
||||
"entity.wolf.step",
|
||||
"entity.wolf.whine",
|
||||
"entity.zombie.ambient",
|
||||
"entity.zombie.attack_door_wood",
|
||||
"entity.zombie.attack_iron_door",
|
||||
"entity.zombie.break_door_wood",
|
||||
"entity.zombie.death",
|
||||
"entity.zombie.hurt",
|
||||
"entity.zombie.infect",
|
||||
"entity.zombie.step",
|
||||
"entity.zombie_horse.ambient",
|
||||
"entity.zombie_horse.death",
|
||||
"entity.zombie_horse.hurt",
|
||||
"entity.zombie_pig.ambient",
|
||||
"entity.zombie_pig.angry",
|
||||
"entity.zombie_pig.death",
|
||||
"entity.zombie_pig.hurt",
|
||||
"entity.zombie_villager.ambient",
|
||||
"entity.zombie_villager.converted",
|
||||
"entity.zombie_villager.cure",
|
||||
"entity.zombie_villager.death",
|
||||
"entity.zombie_villager.hurt",
|
||||
"entity.zombie_villager.step",
|
||||
"item.armor.equip_chain",
|
||||
"item.armor.equip_diamond",
|
||||
"item.armor.equip_generic",
|
||||
"item.armor.equip_gold",
|
||||
"item.armor.equip_iron",
|
||||
"item.armor.equip_leather",
|
||||
"item.bottle.fill",
|
||||
"item.bottle.fill_dragonbreath",
|
||||
"item.bucket.empty",
|
||||
"item.bucket.empty_lava",
|
||||
"item.bucket.fill",
|
||||
"item.bucket.fill_lava",
|
||||
"item.chorus_fruit.teleport",
|
||||
"item.elytra.flying",
|
||||
"item.firecharge.use",
|
||||
"item.flintandsteel.use",
|
||||
"item.hoe.till",
|
||||
"item.shield.block",
|
||||
"item.shield.break",
|
||||
"item.shovel.flatten",
|
||||
"music.creative",
|
||||
"music.credits",
|
||||
"music.dragon",
|
||||
"music.end",
|
||||
"music.game",
|
||||
"music.menu",
|
||||
"music.nether",
|
||||
"record.11",
|
||||
"record.13",
|
||||
"record.blocks",
|
||||
"record.cat",
|
||||
"record.chirp",
|
||||
"record.far",
|
||||
"record.mall",
|
||||
"record.mellohi",
|
||||
"record.stal",
|
||||
"record.strad",
|
||||
"record.wait",
|
||||
"record.ward",
|
||||
"ui.button.click",
|
||||
"weather.rain",
|
||||
"weather.rain.above"
|
||||
]
|
||||
}
|
@ -1,497 +0,0 @@
|
||||
{
|
||||
"sounds": [
|
||||
"ambient.cave",
|
||||
"block.anvil.break",
|
||||
"block.anvil.destroy",
|
||||
"block.anvil.fall",
|
||||
"block.anvil.hit",
|
||||
"block.anvil.land",
|
||||
"block.anvil.place",
|
||||
"block.anvil.step",
|
||||
"block.anvil.use",
|
||||
"block.brewing_stand.brew",
|
||||
"block.chest.close",
|
||||
"block.chest.locked",
|
||||
"block.chest.open",
|
||||
"block.chorus_flower.death",
|
||||
"block.chorus_flower.grow",
|
||||
"block.cloth.break",
|
||||
"block.cloth.fall",
|
||||
"block.cloth.hit",
|
||||
"block.cloth.place",
|
||||
"block.cloth.step",
|
||||
"block.comparator.click",
|
||||
"block.dispenser.dispense",
|
||||
"block.dispenser.fail",
|
||||
"block.dispenser.launch",
|
||||
"block.enchantment_table.use",
|
||||
"block.end_gateway.spawn",
|
||||
"block.enderchest.close",
|
||||
"block.enderchest.open",
|
||||
"block.fence_gate.close",
|
||||
"block.fence_gate.open",
|
||||
"block.fire.ambient",
|
||||
"block.fire.extinguish",
|
||||
"block.furnace.fire_crackle",
|
||||
"block.glass.break",
|
||||
"block.glass.fall",
|
||||
"block.glass.hit",
|
||||
"block.glass.place",
|
||||
"block.glass.step",
|
||||
"block.grass.break",
|
||||
"block.grass.fall",
|
||||
"block.grass.hit",
|
||||
"block.grass.place",
|
||||
"block.grass.step",
|
||||
"block.gravel.break",
|
||||
"block.gravel.fall",
|
||||
"block.gravel.hit",
|
||||
"block.gravel.place",
|
||||
"block.gravel.step",
|
||||
"block.iron_door.close",
|
||||
"block.iron_door.open",
|
||||
"block.iron_trapdoor.close",
|
||||
"block.iron_trapdoor.open",
|
||||
"block.ladder.break",
|
||||
"block.ladder.fall",
|
||||
"block.ladder.hit",
|
||||
"block.ladder.place",
|
||||
"block.ladder.step",
|
||||
"block.lava.ambient",
|
||||
"block.lava.extinguish",
|
||||
"block.lava.pop",
|
||||
"block.lever.click",
|
||||
"block.metal.break",
|
||||
"block.metal.fall",
|
||||
"block.metal.hit",
|
||||
"block.metal.place",
|
||||
"block.metal.step",
|
||||
"block.metal_pressureplate.click_off",
|
||||
"block.metal_pressureplate.click_on",
|
||||
"block.note.basedrum",
|
||||
"block.note.bass",
|
||||
"block.note.harp",
|
||||
"block.note.hat",
|
||||
"block.note.pling",
|
||||
"block.note.snare",
|
||||
"block.piston.contract",
|
||||
"block.piston.extend",
|
||||
"block.portal.ambient",
|
||||
"block.portal.travel",
|
||||
"block.portal.trigger",
|
||||
"block.redstone_torch.burnout",
|
||||
"block.sand.break",
|
||||
"block.sand.fall",
|
||||
"block.sand.hit",
|
||||
"block.sand.place",
|
||||
"block.sand.step",
|
||||
"block.shulker_box.close",
|
||||
"block.shulker_box.open",
|
||||
"block.slime.break",
|
||||
"block.slime.fall",
|
||||
"block.slime.hit",
|
||||
"block.slime.place",
|
||||
"block.slime.step",
|
||||
"block.snow.break",
|
||||
"block.snow.fall",
|
||||
"block.snow.hit",
|
||||
"block.snow.place",
|
||||
"block.snow.step",
|
||||
"block.stone.break",
|
||||
"block.stone.fall",
|
||||
"block.stone.hit",
|
||||
"block.stone.place",
|
||||
"block.stone.step",
|
||||
"block.stone_button.click_off",
|
||||
"block.stone_button.click_on",
|
||||
"block.stone_pressureplate.click_off",
|
||||
"block.stone_pressureplate.click_on",
|
||||
"block.tripwire.attach",
|
||||
"block.tripwire.click_off",
|
||||
"block.tripwire.click_on",
|
||||
"block.tripwire.detach",
|
||||
"block.water.ambient",
|
||||
"block.waterlily.place",
|
||||
"block.wood.break",
|
||||
"block.wood.fall",
|
||||
"block.wood.hit",
|
||||
"block.wood.place",
|
||||
"block.wood.step",
|
||||
"block.wood_button.click_off",
|
||||
"block.wood_button.click_on",
|
||||
"block.wood_pressureplate.click_off",
|
||||
"block.wood_pressureplate.click_on",
|
||||
"block.wooden_door.close",
|
||||
"block.wooden_door.open",
|
||||
"block.wooden_trapdoor.close",
|
||||
"block.wooden_trapdoor.open",
|
||||
"enchant.thorns.hit",
|
||||
"entity.armorstand.break",
|
||||
"entity.armorstand.fall",
|
||||
"entity.armorstand.hit",
|
||||
"entity.armorstand.place",
|
||||
"entity.arrow.hit",
|
||||
"entity.arrow.hit_player",
|
||||
"entity.arrow.shoot",
|
||||
"entity.bat.ambient",
|
||||
"entity.bat.death",
|
||||
"entity.bat.hurt",
|
||||
"entity.bat.loop",
|
||||
"entity.bat.takeoff",
|
||||
"entity.blaze.ambient",
|
||||
"entity.blaze.burn",
|
||||
"entity.blaze.death",
|
||||
"entity.blaze.hurt",
|
||||
"entity.blaze.shoot",
|
||||
"entity.bobber.splash",
|
||||
"entity.bobber.throw",
|
||||
"entity.cat.ambient",
|
||||
"entity.cat.death",
|
||||
"entity.cat.hiss",
|
||||
"entity.cat.hurt",
|
||||
"entity.cat.purr",
|
||||
"entity.cat.purreow",
|
||||
"entity.chicken.ambient",
|
||||
"entity.chicken.death",
|
||||
"entity.chicken.egg",
|
||||
"entity.chicken.hurt",
|
||||
"entity.chicken.step",
|
||||
"entity.cow.ambient",
|
||||
"entity.cow.death",
|
||||
"entity.cow.hurt",
|
||||
"entity.cow.milk",
|
||||
"entity.cow.step",
|
||||
"entity.creeper.death",
|
||||
"entity.creeper.hurt",
|
||||
"entity.creeper.primed",
|
||||
"entity.donkey.ambient",
|
||||
"entity.donkey.angry",
|
||||
"entity.donkey.chest",
|
||||
"entity.donkey.death",
|
||||
"entity.donkey.hurt",
|
||||
"entity.egg.throw",
|
||||
"entity.elder_guardian.ambient",
|
||||
"entity.elder_guardian.ambient_land",
|
||||
"entity.elder_guardian.curse",
|
||||
"entity.elder_guardian.death",
|
||||
"entity.elder_guardian.death_land",
|
||||
"entity.elder_guardian.hurt",
|
||||
"entity.elder_guardian.flop",
|
||||
"entity.elder_guardian.hurt_land",
|
||||
"entity.enderdragon.ambient",
|
||||
"entity.enderdragon.death",
|
||||
"entity.enderdragon.flap",
|
||||
"entity.enderdragon.growl",
|
||||
"entity.enderdragon.hurt",
|
||||
"entity.enderdragon.shoot",
|
||||
"entity.enderdragon_fireball.explode",
|
||||
"entity.endereye.launch",
|
||||
"entity.endermen.ambient",
|
||||
"entity.endermen.death",
|
||||
"entity.endermen.hurt",
|
||||
"entity.endermen.scream",
|
||||
"entity.endermen.stare",
|
||||
"entity.endermen.teleport",
|
||||
"entity.endermite.ambient",
|
||||
"entity.endermite.death",
|
||||
"entity.endermite.hurt",
|
||||
"entity.endermite.step",
|
||||
"entity.enderpearl.throw",
|
||||
"entity.evocation_fangs.attack",
|
||||
"entity.evocation_illager.ambient",
|
||||
"entity.evocation_illager.cast_spell",
|
||||
"entity.evocation_illager.death",
|
||||
"entity.evocation_illager.hurt",
|
||||
"entity.evocation_illager.prepare_attack",
|
||||
"entity.evocation_illager.prepare_summon",
|
||||
"entity.evocation_illager.prepare_wololo",
|
||||
"entity.experience_bottle.throw",
|
||||
"entity.experience_orb.pickup",
|
||||
"entity.firework.blast",
|
||||
"entity.firework.blast_far",
|
||||
"entity.firework.large_blast",
|
||||
"entity.firework.large_blast_far",
|
||||
"entity.firework.launch",
|
||||
"entity.firework.shoot",
|
||||
"entity.firework.twinkle",
|
||||
"entity.firework.twinkle_far",
|
||||
"entity.generic.big_fall",
|
||||
"entity.generic.burn",
|
||||
"entity.generic.death",
|
||||
"entity.generic.drink",
|
||||
"entity.generic.eat",
|
||||
"entity.generic.explode",
|
||||
"entity.generic.extinguish_fire",
|
||||
"entity.generic.hurt",
|
||||
"entity.generic.small_fall",
|
||||
"entity.generic.splash",
|
||||
"entity.generic.swim",
|
||||
"entity.ghast.ambient",
|
||||
"entity.ghast.death",
|
||||
"entity.ghast.hurt",
|
||||
"entity.ghast.scream",
|
||||
"entity.ghast.shoot",
|
||||
"entity.ghast.warn",
|
||||
"entity.guardian.ambient",
|
||||
"entity.guardian.ambient_land",
|
||||
"entity.guardian.attack",
|
||||
"entity.guardian.death",
|
||||
"entity.guardian.death_land",
|
||||
"entity.guardian.flop",
|
||||
"entity.guardian.hurt",
|
||||
"entity.guardian.hurt_land",
|
||||
"entity.horse.ambient",
|
||||
"entity.horse.angry",
|
||||
"entity.horse.armor",
|
||||
"entity.horse.breathe",
|
||||
"entity.horse.death",
|
||||
"entity.horse.eat",
|
||||
"entity.horse.gallop",
|
||||
"entity.horse.hurt",
|
||||
"entity.horse.jump",
|
||||
"entity.horse.land",
|
||||
"entity.horse.saddle",
|
||||
"entity.horse.step",
|
||||
"entity.horse.step_wood",
|
||||
"entity.hostile.big_fall",
|
||||
"entity.hostile.death",
|
||||
"entity.hostile.hurt",
|
||||
"entity.hostile.small_fall",
|
||||
"entity.hostile.splash",
|
||||
"entity.hostile.swim",
|
||||
"entity.husk.ambient",
|
||||
"entity.husk.death",
|
||||
"entity.husk.hurt",
|
||||
"entity.husk.step",
|
||||
"entity.irongolem.attack",
|
||||
"entity.irongolem.death",
|
||||
"entity.irongolem.hurt",
|
||||
"entity.irongolem.step",
|
||||
"entity.item.break",
|
||||
"entity.item.pickup",
|
||||
"entity.itemframe.add_item",
|
||||
"entity.itemframe.break",
|
||||
"entity.itemframe.place",
|
||||
"entity.itemframe.remove_item",
|
||||
"entity.itemframe.rotate_item",
|
||||
"entity.leashknot.break",
|
||||
"entity.leashknot.place",
|
||||
"entity.lightning.impact",
|
||||
"entity.lightning.thunder",
|
||||
"entity.lingeringpotion.throw",
|
||||
"entity.llama.ambient",
|
||||
"entity.llama.angry",
|
||||
"entity.llama.chest",
|
||||
"entity.llama.death",
|
||||
"entity.llama.eat",
|
||||
"entity.llama.hurt",
|
||||
"entity.llama.spit",
|
||||
"entity.llama.step",
|
||||
"entity.llama.swag",
|
||||
"entity.magmacube.death",
|
||||
"entity.magmacube.hurt",
|
||||
"entity.magmacube.jump",
|
||||
"entity.magmacube.squish",
|
||||
"entity.minecart.inside",
|
||||
"entity.minecart.riding",
|
||||
"entity.mooshroom.shear",
|
||||
"entity.mule.ambient",
|
||||
"entity.mule.chest",
|
||||
"entity.mule.death",
|
||||
"entity.mule.hurt",
|
||||
"entity.painting.break",
|
||||
"entity.painting.place",
|
||||
"entity.pig.ambient",
|
||||
"entity.pig.death",
|
||||
"entity.pig.hurt",
|
||||
"entity.pig.saddle",
|
||||
"entity.pig.step",
|
||||
"entity.player.attack.crit",
|
||||
"entity.player.attack.knockback",
|
||||
"entity.player.attack.nodamage",
|
||||
"entity.player.attack.strong",
|
||||
"entity.player.attack.sweep",
|
||||
"entity.player.attack.weak",
|
||||
"entity.player.big_fall",
|
||||
"entity.player.breath",
|
||||
"entity.player.burp",
|
||||
"entity.player.death",
|
||||
"entity.player.hurt",
|
||||
"entity.player.levelup",
|
||||
"entity.player.small_fall",
|
||||
"entity.player.splash",
|
||||
"entity.player.swim",
|
||||
"entity.polar_bear.ambient",
|
||||
"entity.polar_bear.baby_ambient",
|
||||
"entity.polar_bear.death",
|
||||
"entity.polar_bear.hurt",
|
||||
"entity.polar_bear.step",
|
||||
"entity.polar_bear.warning",
|
||||
"entity.rabbit.ambient",
|
||||
"entity.rabbit.attack",
|
||||
"entity.rabbit.death",
|
||||
"entity.rabbit.hurt",
|
||||
"entity.rabbit.jump",
|
||||
"entity.sheep.ambient",
|
||||
"entity.sheep.death",
|
||||
"entity.sheep.hurt",
|
||||
"entity.sheep.shear",
|
||||
"entity.sheep.step",
|
||||
"entity.shulker.ambient",
|
||||
"entity.shulker.close",
|
||||
"entity.shulker.death",
|
||||
"entity.shulker.hurt",
|
||||
"entity.shulker.hurt_closed",
|
||||
"entity.shulker.open",
|
||||
"entity.shulker.shoot",
|
||||
"entity.shulker.teleport",
|
||||
"entity.shulker_bullet.hit",
|
||||
"entity.shulker_bullet.hurt",
|
||||
"entity.silverfish.ambient",
|
||||
"entity.silverfish.death",
|
||||
"entity.silverfish.hurt",
|
||||
"entity.silverfish.step",
|
||||
"entity.skeleton.ambient",
|
||||
"entity.skeleton.death",
|
||||
"entity.skeleton.hurt",
|
||||
"entity.skeleton.shoot",
|
||||
"entity.skeleton.step",
|
||||
"entity.skeleton_horse.ambient",
|
||||
"entity.skeleton_horse.death",
|
||||
"entity.skeleton_horse.hurt",
|
||||
"entity.slime.attack",
|
||||
"entity.slime.death",
|
||||
"entity.slime.hurt",
|
||||
"entity.slime.jump",
|
||||
"entity.slime.squish",
|
||||
"entity.small_magmacube.death",
|
||||
"entity.small_magmacube.hurt",
|
||||
"entity.small_magmacube.squish",
|
||||
"entity.small_slime.death",
|
||||
"entity.small_slime.hurt",
|
||||
"entity.small_slime.jump",
|
||||
"entity.small_slime.squish",
|
||||
"entity.snowball.throw",
|
||||
"entity.snowman.ambient",
|
||||
"entity.snowman.death",
|
||||
"entity.snowman.hurt",
|
||||
"entity.snowman.shoot",
|
||||
"entity.spider.ambient",
|
||||
"entity.spider.death",
|
||||
"entity.spider.hurt",
|
||||
"entity.spider.step",
|
||||
"entity.splash_potion.break",
|
||||
"entity.splash_potion.throw",
|
||||
"entity.squid.ambient",
|
||||
"entity.squid.death",
|
||||
"entity.squid.hurt",
|
||||
"entity.stray.ambient",
|
||||
"entity.stray.death",
|
||||
"entity.stray.hurt",
|
||||
"entity.stray.step",
|
||||
"entity.tnt.primed",
|
||||
"entity.vex.ambient",
|
||||
"entity.vex.charge",
|
||||
"entity.vex.death",
|
||||
"entity.vex.hurt",
|
||||
"entity.villager.ambient",
|
||||
"entity.villager.death",
|
||||
"entity.villager.hurt",
|
||||
"entity.villager.no",
|
||||
"entity.villager.trading",
|
||||
"entity.villager.yes",
|
||||
"entity.vindication_illager.ambient",
|
||||
"entity.vindication_illager.death",
|
||||
"entity.vindication_illager.hurt",
|
||||
"entity.witch.ambient",
|
||||
"entity.witch.death",
|
||||
"entity.witch.drink",
|
||||
"entity.witch.hurt",
|
||||
"entity.witch.throw",
|
||||
"entity.wither.ambient",
|
||||
"entity.wither.break_block",
|
||||
"entity.wither.death",
|
||||
"entity.wither.hurt",
|
||||
"entity.wither.shoot",
|
||||
"entity.wither.spawn",
|
||||
"entity.wither_skeleton.ambient",
|
||||
"entity.wither_skeleton.death",
|
||||
"entity.wither_skeleton.hurt",
|
||||
"entity.wither_skeleton.step",
|
||||
"entity.wolf.ambient",
|
||||
"entity.wolf.death",
|
||||
"entity.wolf.growl",
|
||||
"entity.wolf.howl",
|
||||
"entity.wolf.hurt",
|
||||
"entity.wolf.pant",
|
||||
"entity.wolf.shake",
|
||||
"entity.wolf.step",
|
||||
"entity.wolf.whine",
|
||||
"entity.zombie.ambient",
|
||||
"entity.zombie.attack_door_wood",
|
||||
"entity.zombie.attack_iron_door",
|
||||
"entity.zombie.break_door_wood",
|
||||
"entity.zombie.death",
|
||||
"entity.zombie.hurt",
|
||||
"entity.zombie.infect",
|
||||
"entity.zombie.step",
|
||||
"entity.zombie_horse.ambient",
|
||||
"entity.zombie_horse.death",
|
||||
"entity.zombie_horse.hurt",
|
||||
"entity.zombie_pig.ambient",
|
||||
"entity.zombie_pig.angry",
|
||||
"entity.zombie_pig.death",
|
||||
"entity.zombie_pig.hurt",
|
||||
"entity.zombie_villager.ambient",
|
||||
"entity.zombie_villager.converted",
|
||||
"entity.zombie_villager.cure",
|
||||
"entity.zombie_villager.death",
|
||||
"entity.zombie_villager.hurt",
|
||||
"entity.zombie_villager.step",
|
||||
"item.armor.equip_chain",
|
||||
"item.armor.equip_diamond",
|
||||
"item.armor.equip_elytra",
|
||||
"item.armor.equip_generic",
|
||||
"item.armor.equip_gold",
|
||||
"item.armor.equip_iron",
|
||||
"item.armor.equip_leather",
|
||||
"item.bottle.empty",
|
||||
"item.bottle.fill",
|
||||
"item.bottle.fill_dragonbreath",
|
||||
"item.bucket.empty",
|
||||
"item.bucket.empty_lava",
|
||||
"item.bucket.fill",
|
||||
"item.bucket.fill_lava",
|
||||
"item.chorus_fruit.teleport",
|
||||
"item.elytra.flying",
|
||||
"item.firecharge.use",
|
||||
"item.flintandsteel.use",
|
||||
"item.hoe.till",
|
||||
"item.shield.block",
|
||||
"item.shield.break",
|
||||
"item.shovel.flatten",
|
||||
"item.totem.use",
|
||||
"music.creative",
|
||||
"music.credits",
|
||||
"music.dragon",
|
||||
"music.end",
|
||||
"music.game",
|
||||
"music.menu",
|
||||
"music.nether",
|
||||
"record.11",
|
||||
"record.13",
|
||||
"record.blocks",
|
||||
"record.cat",
|
||||
"record.chirp",
|
||||
"record.far",
|
||||
"record.mall",
|
||||
"record.mellohi",
|
||||
"record.stal",
|
||||
"record.strad",
|
||||
"record.wait",
|
||||
"record.ward",
|
||||
"ui.button.click",
|
||||
"weather.rain",
|
||||
"weather.rain.above"
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,448 +0,0 @@
|
||||
{
|
||||
"sounds": [
|
||||
"ambient.cave",
|
||||
"block.anvil.break",
|
||||
"block.anvil.destroy",
|
||||
"block.anvil.fall",
|
||||
"block.anvil.hit",
|
||||
"block.anvil.land",
|
||||
"block.anvil.place",
|
||||
"block.anvil.step",
|
||||
"block.anvil.use",
|
||||
"block.brewing_stand.brew",
|
||||
"block.chest.close",
|
||||
"block.chest.locked",
|
||||
"block.chest.open",
|
||||
"block.chorus_flower.death",
|
||||
"block.chorus_flower.grow",
|
||||
"block.cloth.break",
|
||||
"block.cloth.fall",
|
||||
"block.cloth.hit",
|
||||
"block.cloth.place",
|
||||
"block.cloth.step",
|
||||
"block.comparator.click",
|
||||
"block.dispenser.dispense",
|
||||
"block.dispenser.fail",
|
||||
"block.dispenser.launch",
|
||||
"block.end_gateway.spawn",
|
||||
"block.enderchest.close",
|
||||
"block.enderchest.open",
|
||||
"block.fence_gate.close",
|
||||
"block.fence_gate.open",
|
||||
"block.fire.ambient",
|
||||
"block.fire.extinguish",
|
||||
"block.furnace.fire_crackle",
|
||||
"block.glass.break",
|
||||
"block.glass.fall",
|
||||
"block.glass.hit",
|
||||
"block.glass.place",
|
||||
"block.glass.step",
|
||||
"block.grass.break",
|
||||
"block.grass.fall",
|
||||
"block.grass.hit",
|
||||
"block.grass.place",
|
||||
"block.grass.step",
|
||||
"block.gravel.break",
|
||||
"block.gravel.fall",
|
||||
"block.gravel.hit",
|
||||
"block.gravel.place",
|
||||
"block.gravel.step",
|
||||
"block.iron_door.close",
|
||||
"block.iron_door.open",
|
||||
"block.iron_trapdoor.close",
|
||||
"block.iron_trapdoor.open",
|
||||
"block.ladder.break",
|
||||
"block.ladder.fall",
|
||||
"block.ladder.hit",
|
||||
"block.ladder.place",
|
||||
"block.ladder.step",
|
||||
"block.lava.ambient",
|
||||
"block.lava.extinguish",
|
||||
"block.lava.pop",
|
||||
"block.lever.click",
|
||||
"block.metal.break",
|
||||
"block.metal.fall",
|
||||
"block.metal.hit",
|
||||
"block.metal.place",
|
||||
"block.metal.step",
|
||||
"block.metal_pressureplate.click_off",
|
||||
"block.metal_pressureplate.click_on",
|
||||
"block.note.basedrum",
|
||||
"block.note.bass",
|
||||
"block.note.harp",
|
||||
"block.note.hat",
|
||||
"block.note.pling",
|
||||
"block.note.snare",
|
||||
"block.piston.contract",
|
||||
"block.piston.extend",
|
||||
"block.portal.ambient",
|
||||
"block.portal.travel",
|
||||
"block.portal.trigger",
|
||||
"block.redstone_torch.burnout",
|
||||
"block.sand.break",
|
||||
"block.sand.fall",
|
||||
"block.sand.hit",
|
||||
"block.sand.place",
|
||||
"block.sand.step",
|
||||
"block.slime.break",
|
||||
"block.slime.fall",
|
||||
"block.slime.hit",
|
||||
"block.slime.place",
|
||||
"block.slime.step",
|
||||
"block.snow.break",
|
||||
"block.snow.fall",
|
||||
"block.snow.hit",
|
||||
"block.snow.place",
|
||||
"block.snow.step",
|
||||
"block.stone.break",
|
||||
"block.stone.fall",
|
||||
"block.stone.hit",
|
||||
"block.stone.place",
|
||||
"block.stone.step",
|
||||
"block.stone_button.click_off",
|
||||
"block.stone_button.click_on",
|
||||
"block.stone_pressureplate.click_off",
|
||||
"block.stone_pressureplate.click_on",
|
||||
"block.tripwire.attach",
|
||||
"block.tripwire.click_off",
|
||||
"block.tripwire.click_on",
|
||||
"block.tripwire.detach",
|
||||
"block.water.ambient",
|
||||
"block.waterlily.place",
|
||||
"block.wood.break",
|
||||
"block.wood.fall",
|
||||
"block.wood.hit",
|
||||
"block.wood.place",
|
||||
"block.wood.step",
|
||||
"block.wood_button.click_off",
|
||||
"block.wood_button.click_on",
|
||||
"block.wood_pressureplate.click_off",
|
||||
"block.wood_pressureplate.click_on",
|
||||
"block.wooden_door.close",
|
||||
"block.wooden_door.open",
|
||||
"block.wooden_trapdoor.close",
|
||||
"block.wooden_trapdoor.open",
|
||||
"enchant.thorns.hit",
|
||||
"entity.armorstand.break",
|
||||
"entity.armorstand.fall",
|
||||
"entity.armorstand.hit",
|
||||
"entity.armorstand.place",
|
||||
"entity.arrow.hit",
|
||||
"entity.arrow.hit_player",
|
||||
"entity.arrow.shoot",
|
||||
"entity.bat.ambient",
|
||||
"entity.bat.death",
|
||||
"entity.bat.hurt",
|
||||
"entity.bat.loop",
|
||||
"entity.bat.takeoff",
|
||||
"entity.blaze.ambient",
|
||||
"entity.blaze.burn",
|
||||
"entity.blaze.death",
|
||||
"entity.blaze.hurt",
|
||||
"entity.blaze.shoot",
|
||||
"entity.bobber.splash",
|
||||
"entity.bobber.throw",
|
||||
"entity.cat.ambient",
|
||||
"entity.cat.death",
|
||||
"entity.cat.hiss",
|
||||
"entity.cat.hurt",
|
||||
"entity.cat.purr",
|
||||
"entity.cat.purreow",
|
||||
"entity.chicken.ambient",
|
||||
"entity.chicken.death",
|
||||
"entity.chicken.egg",
|
||||
"entity.chicken.hurt",
|
||||
"entity.chicken.step",
|
||||
"entity.cow.ambient",
|
||||
"entity.cow.death",
|
||||
"entity.cow.hurt",
|
||||
"entity.cow.milk",
|
||||
"entity.cow.step",
|
||||
"entity.creeper.death",
|
||||
"entity.creeper.hurt",
|
||||
"entity.creeper.primed",
|
||||
"entity.donkey.ambient",
|
||||
"entity.donkey.angry",
|
||||
"entity.donkey.chest",
|
||||
"entity.donkey.death",
|
||||
"entity.donkey.hurt",
|
||||
"entity.egg.throw",
|
||||
"entity.elder_guardian.ambient",
|
||||
"entity.elder_guardian.ambient_land",
|
||||
"entity.elder_guardian.curse",
|
||||
"entity.elder_guardian.death",
|
||||
"entity.elder_guardian.death_land",
|
||||
"entity.elder_guardian.hurt",
|
||||
"entity.elder_guardian.hurt_land",
|
||||
"entity.enderdragon.ambient",
|
||||
"entity.enderdragon.death",
|
||||
"entity.enderdragon.flap",
|
||||
"entity.enderdragon.growl",
|
||||
"entity.enderdragon.hurt",
|
||||
"entity.enderdragon.shoot",
|
||||
"entity.enderdragon_fireball.explode",
|
||||
"entity.endereye.launch",
|
||||
"entity.endermen.ambient",
|
||||
"entity.endermen.death",
|
||||
"entity.endermen.hurt",
|
||||
"entity.endermen.scream",
|
||||
"entity.endermen.stare",
|
||||
"entity.endermen.teleport",
|
||||
"entity.endermite.ambient",
|
||||
"entity.endermite.death",
|
||||
"entity.endermite.hurt",
|
||||
"entity.endermite.step",
|
||||
"entity.enderpearl.throw",
|
||||
"entity.experience_bottle.throw",
|
||||
"entity.experience_orb.pickup",
|
||||
"entity.experience_orb.touch",
|
||||
"entity.firework.blast",
|
||||
"entity.firework.blast_far",
|
||||
"entity.firework.large_blast",
|
||||
"entity.firework.large_blast_far",
|
||||
"entity.firework.launch",
|
||||
"entity.firework.shoot",
|
||||
"entity.firework.twinkle",
|
||||
"entity.firework.twinkle_far",
|
||||
"entity.generic.big_fall",
|
||||
"entity.generic.burn",
|
||||
"entity.generic.death",
|
||||
"entity.generic.drink",
|
||||
"entity.generic.eat",
|
||||
"entity.generic.explode",
|
||||
"entity.generic.extinguish_fire",
|
||||
"entity.generic.hurt",
|
||||
"entity.generic.small_fall",
|
||||
"entity.generic.splash",
|
||||
"entity.generic.swim",
|
||||
"entity.ghast.ambient",
|
||||
"entity.ghast.death",
|
||||
"entity.ghast.hurt",
|
||||
"entity.ghast.scream",
|
||||
"entity.ghast.shoot",
|
||||
"entity.ghast.warn",
|
||||
"entity.guardian.ambient",
|
||||
"entity.guardian.ambient_land",
|
||||
"entity.guardian.attack",
|
||||
"entity.guardian.death",
|
||||
"entity.guardian.death_land",
|
||||
"entity.guardian.flop",
|
||||
"entity.guardian.hurt",
|
||||
"entity.guardian.hurt_land",
|
||||
"entity.horse.ambient",
|
||||
"entity.horse.angry",
|
||||
"entity.horse.armor",
|
||||
"entity.horse.breathe",
|
||||
"entity.horse.death",
|
||||
"entity.horse.eat",
|
||||
"entity.horse.gallop",
|
||||
"entity.horse.hurt",
|
||||
"entity.horse.jump",
|
||||
"entity.horse.land",
|
||||
"entity.horse.saddle",
|
||||
"entity.horse.step",
|
||||
"entity.horse.step_wood",
|
||||
"entity.hostile.big_fall",
|
||||
"entity.hostile.death",
|
||||
"entity.hostile.hurt",
|
||||
"entity.hostile.small_fall",
|
||||
"entity.hostile.splash",
|
||||
"entity.hostile.swim",
|
||||
"entity.irongolem.attack",
|
||||
"entity.irongolem.death",
|
||||
"entity.irongolem.hurt",
|
||||
"entity.irongolem.step",
|
||||
"entity.item.break",
|
||||
"entity.item.pickup",
|
||||
"entity.itemframe.add_item",
|
||||
"entity.itemframe.break",
|
||||
"entity.itemframe.place",
|
||||
"entity.itemframe.remove_item",
|
||||
"entity.itemframe.rotate_item",
|
||||
"entity.leashknot.break",
|
||||
"entity.leashknot.place",
|
||||
"entity.lightning.impact",
|
||||
"entity.lightning.thunder",
|
||||
"entity.lingeringpotion.throw",
|
||||
"entity.magmacube.death",
|
||||
"entity.magmacube.hurt",
|
||||
"entity.magmacube.jump",
|
||||
"entity.magmacube.squish",
|
||||
"entity.minecart.inside",
|
||||
"entity.minecart.riding",
|
||||
"entity.mooshroom.shear",
|
||||
"entity.mule.ambient",
|
||||
"entity.mule.death",
|
||||
"entity.mule.hurt",
|
||||
"entity.painting.break",
|
||||
"entity.painting.place",
|
||||
"entity.pig.ambient",
|
||||
"entity.pig.death",
|
||||
"entity.pig.hurt",
|
||||
"entity.pig.saddle",
|
||||
"entity.pig.step",
|
||||
"entity.player.attack.crit",
|
||||
"entity.player.attack.knockback",
|
||||
"entity.player.attack.nodamage",
|
||||
"entity.player.attack.strong",
|
||||
"entity.player.attack.sweep",
|
||||
"entity.player.attack.weak",
|
||||
"entity.player.big_fall",
|
||||
"entity.player.breath",
|
||||
"entity.player.burp",
|
||||
"entity.player.death",
|
||||
"entity.player.hurt",
|
||||
"entity.player.levelup",
|
||||
"entity.player.small_fall",
|
||||
"entity.player.splash",
|
||||
"entity.player.swim",
|
||||
"entity.rabbit.ambient",
|
||||
"entity.rabbit.attack",
|
||||
"entity.rabbit.death",
|
||||
"entity.rabbit.hurt",
|
||||
"entity.rabbit.jump",
|
||||
"entity.sheep.ambient",
|
||||
"entity.sheep.death",
|
||||
"entity.sheep.hurt",
|
||||
"entity.sheep.shear",
|
||||
"entity.sheep.step",
|
||||
"entity.shulker.ambient",
|
||||
"entity.shulker.close",
|
||||
"entity.shulker.death",
|
||||
"entity.shulker.hurt",
|
||||
"entity.shulker.hurt_closed",
|
||||
"entity.shulker.open",
|
||||
"entity.shulker.shoot",
|
||||
"entity.shulker.teleport",
|
||||
"entity.shulker_bullet.hit",
|
||||
"entity.shulker_bullet.hurt",
|
||||
"entity.silverfish.ambient",
|
||||
"entity.silverfish.death",
|
||||
"entity.silverfish.hurt",
|
||||
"entity.silverfish.step",
|
||||
"entity.skeleton.ambient",
|
||||
"entity.skeleton.death",
|
||||
"entity.skeleton.hurt",
|
||||
"entity.skeleton.shoot",
|
||||
"entity.skeleton.step",
|
||||
"entity.skeleton_horse.ambient",
|
||||
"entity.skeleton_horse.death",
|
||||
"entity.skeleton_horse.hurt",
|
||||
"entity.slime.attack",
|
||||
"entity.slime.death",
|
||||
"entity.slime.hurt",
|
||||
"entity.slime.jump",
|
||||
"entity.slime.squish",
|
||||
"entity.small_magmacube.death",
|
||||
"entity.small_magmacube.hurt",
|
||||
"entity.small_magmacube.squish",
|
||||
"entity.small_slime.death",
|
||||
"entity.small_slime.hurt",
|
||||
"entity.small_slime.jump",
|
||||
"entity.small_slime.squish",
|
||||
"entity.snowball.throw",
|
||||
"entity.snowman.ambient",
|
||||
"entity.snowman.death",
|
||||
"entity.snowman.hurt",
|
||||
"entity.snowman.shoot",
|
||||
"entity.spider.ambient",
|
||||
"entity.spider.death",
|
||||
"entity.spider.hurt",
|
||||
"entity.spider.step",
|
||||
"entity.splash_potion.break",
|
||||
"entity.splash_potion.throw",
|
||||
"entity.squid.ambient",
|
||||
"entity.squid.death",
|
||||
"entity.squid.hurt",
|
||||
"entity.tnt.primed",
|
||||
"entity.villager.ambient",
|
||||
"entity.villager.death",
|
||||
"entity.villager.hurt",
|
||||
"entity.villager.no",
|
||||
"entity.villager.trading",
|
||||
"entity.villager.yes",
|
||||
"entity.witch.ambient",
|
||||
"entity.witch.death",
|
||||
"entity.witch.drink",
|
||||
"entity.witch.hurt",
|
||||
"entity.witch.throw",
|
||||
"entity.wither.ambient",
|
||||
"entity.wither.break_block",
|
||||
"entity.wither.death",
|
||||
"entity.wither.hurt",
|
||||
"entity.wither.shoot",
|
||||
"entity.wither.spawn",
|
||||
"entity.wolf.ambient",
|
||||
"entity.wolf.death",
|
||||
"entity.wolf.growl",
|
||||
"entity.wolf.howl",
|
||||
"entity.wolf.hurt",
|
||||
"entity.wolf.pant",
|
||||
"entity.wolf.shake",
|
||||
"entity.wolf.step",
|
||||
"entity.wolf.whine",
|
||||
"entity.zombie.ambient",
|
||||
"entity.zombie.attack_door_wood",
|
||||
"entity.zombie.attack_iron_door",
|
||||
"entity.zombie.break_door_wood",
|
||||
"entity.zombie.death",
|
||||
"entity.zombie.hurt",
|
||||
"entity.zombie.infect",
|
||||
"entity.zombie.step",
|
||||
"entity.zombie_horse.ambient",
|
||||
"entity.zombie_horse.death",
|
||||
"entity.zombie_horse.hurt",
|
||||
"entity.zombie_pig.ambient",
|
||||
"entity.zombie_pig.angry",
|
||||
"entity.zombie_pig.death",
|
||||
"entity.zombie_pig.hurt",
|
||||
"entity.zombie_villager.ambient",
|
||||
"entity.zombie_villager.converted",
|
||||
"entity.zombie_villager.cure",
|
||||
"entity.zombie_villager.death",
|
||||
"entity.zombie_villager.hurt",
|
||||
"entity.zombie_villager.step",
|
||||
"item.armor.equip_chain",
|
||||
"item.armor.equip_diamond",
|
||||
"item.armor.equip_generic",
|
||||
"item.armor.equip_gold",
|
||||
"item.armor.equip_iron",
|
||||
"item.armor.equip_leather",
|
||||
"item.bottle.fill",
|
||||
"item.bottle.fill_dragonbreath",
|
||||
"item.bucket.empty",
|
||||
"item.bucket.empty_lava",
|
||||
"item.bucket.fill",
|
||||
"item.bucket.fill_lava",
|
||||
"item.chorus_fruit.teleport",
|
||||
"item.elytra.flying",
|
||||
"item.firecharge.use",
|
||||
"item.flintandsteel.use",
|
||||
"item.hoe.till",
|
||||
"item.shield.block",
|
||||
"item.shield.break",
|
||||
"item.shovel.flatten",
|
||||
"music.creative",
|
||||
"music.credits",
|
||||
"music.dragon",
|
||||
"music.end",
|
||||
"music.game",
|
||||
"music.menu",
|
||||
"music.nether",
|
||||
"record.11",
|
||||
"record.13",
|
||||
"record.blocks",
|
||||
"record.cat",
|
||||
"record.chirp",
|
||||
"record.far",
|
||||
"record.mall",
|
||||
"record.mellohi",
|
||||
"record.stal",
|
||||
"record.strad",
|
||||
"record.wait",
|
||||
"record.ward",
|
||||
"ui.button.click",
|
||||
"weather.rain",
|
||||
"weather.rain.above"
|
||||
]
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
{
|
||||
"blockstates": {
|
||||
"1126": "tnt[unstable=false]",
|
||||
"3075": "oak_sign[rotation=0,waterlogged=true]",
|
||||
"3076": "oak_sign[rotation=0,waterlogged=false]",
|
||||
"3077": "oak_sign[rotation=1,waterlogged=true]",
|
||||
"3078": "oak_sign[rotation=1,waterlogged=false]",
|
||||
"3079": "oak_sign[rotation=2,waterlogged=true]",
|
||||
"3080": "oak_sign[rotation=2,waterlogged=false]",
|
||||
"3081": "oak_sign[rotation=3,waterlogged=true]",
|
||||
"3082": "oak_sign[rotation=3,waterlogged=false]",
|
||||
"3083": "oak_sign[rotation=4,waterlogged=true]",
|
||||
"3084": "oak_sign[rotation=4,waterlogged=false]",
|
||||
"3085": "oak_sign[rotation=5,waterlogged=true]",
|
||||
"3086": "oak_sign[rotation=5,waterlogged=false]",
|
||||
"3087": "oak_sign[rotation=6,waterlogged=true]",
|
||||
"3088": "oak_sign[rotation=6,waterlogged=false]",
|
||||
"3089": "oak_sign[rotation=7,waterlogged=true]",
|
||||
"3090": "oak_sign[rotation=7,waterlogged=false]",
|
||||
"3091": "oak_sign[rotation=8,waterlogged=true]",
|
||||
"3092": "oak_sign[rotation=8,waterlogged=false]",
|
||||
"3093": "oak_sign[rotation=9,waterlogged=true]",
|
||||
"3094": "oak_sign[rotation=9,waterlogged=false]",
|
||||
"3095": "oak_sign[rotation=10,waterlogged=true]",
|
||||
"3096": "oak_sign[rotation=10,waterlogged=false]",
|
||||
"3097": "oak_sign[rotation=11,waterlogged=true]",
|
||||
"3098": "oak_sign[rotation=11,waterlogged=false]",
|
||||
"3099": "oak_sign[rotation=12,waterlogged=true]",
|
||||
"3100": "oak_sign[rotation=12,waterlogged=false]",
|
||||
"3101": "oak_sign[rotation=13,waterlogged=true]",
|
||||
"3102": "oak_sign[rotation=13,waterlogged=false]",
|
||||
"3103": "oak_sign[rotation=14,waterlogged=true]",
|
||||
"3104": "oak_sign[rotation=14,waterlogged=false]",
|
||||
"3105": "oak_sign[rotation=15,waterlogged=true]",
|
||||
"3106": "oak_sign[rotation=15,waterlogged=false]",
|
||||
"3269": "oak_wall_sign[facing=north,waterlogged=true]",
|
||||
"3270": "oak_wall_sign[facing=north,waterlogged=false]",
|
||||
"3271": "oak_wall_sign[facing=south,waterlogged=true]",
|
||||
"3272": "oak_wall_sign[facing=south,waterlogged=false]",
|
||||
"3273": "oak_wall_sign[facing=west,waterlogged=true]",
|
||||
"3274": "oak_wall_sign[facing=west,waterlogged=false]",
|
||||
"3275": "oak_wall_sign[facing=east,waterlogged=true]",
|
||||
"3276": "oak_wall_sign[facing=east,waterlogged=false]",
|
||||
"7293": "smooth_stone_slab[type=top,waterlogged=true]",
|
||||
"7294": "smooth_stone_slab[type=top,waterlogged=false]",
|
||||
"7295": "smooth_stone_slab[type=bottom,waterlogged=true]",
|
||||
"7296": "smooth_stone_slab[type=bottom,waterlogged=false]",
|
||||
"7297": "smooth_stone_slab[type=double,waterlogged=true]",
|
||||
"7298": "smooth_stone_slab[type=double,waterlogged=false]",
|
||||
"8459": "tube_coral[waterlogged=true]",
|
||||
"8460": "brain_coral[waterlogged=true]",
|
||||
"8461": "bubble_coral[waterlogged=true]",
|
||||
"8462": "fire_coral[waterlogged=true]",
|
||||
"8463": "horn_coral[waterlogged=true]",
|
||||
"8573": "conduit[waterlogged=true]"
|
||||
},
|
||||
"items": {
|
||||
"118": "smooth_stone_slab",
|
||||
"536": "oak_sign",
|
||||
"573": "red_dye",
|
||||
"574": "green_dye",
|
||||
"583": "yellow_dye"
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"blockstates": {
|
||||
"11198": "bell[attachment=floor,facing=north,powered=false]",
|
||||
"11199": "bell[attachment=floor,facing=south,powered=false]",
|
||||
"11200": "bell[attachment=floor,facing=west,powered=false]",
|
||||
"11201": "bell[attachment=floor,facing=east,powered=false]",
|
||||
"11202": "bell[attachment=ceiling,facing=north,powered=false]",
|
||||
"11203": "bell[attachment=ceiling,facing=south,powered=false]",
|
||||
"11204": "bell[attachment=ceiling,facing=west,powered=false]",
|
||||
"11205": "bell[attachment=ceiling,facing=east,powered=false]",
|
||||
"11206": "bell[attachment=single_wall,facing=north,powered=false]",
|
||||
"11207": "bell[attachment=single_wall,facing=south,powered=false]",
|
||||
"11208": "bell[attachment=single_wall,facing=west,powered=false]",
|
||||
"11209": "bell[attachment=single_wall,facing=east,powered=false]",
|
||||
"11210": "bell[attachment=double_wall,facing=north,powered=false]",
|
||||
"11211": "bell[attachment=double_wall,facing=south,powered=false]",
|
||||
"11212": "bell[attachment=double_wall,facing=west,powered=false]",
|
||||
"11213": "bell[attachment=double_wall,facing=east,powered=false]"
|
||||
}
|
||||
}
|
@ -1,916 +0,0 @@
|
||||
{
|
||||
"items": {
|
||||
"754": "zombified_piglin_spawn_egg"
|
||||
},
|
||||
"sounds": {
|
||||
"entity.zombie_pigman.ambient": "entity.zombified_piglin.ambient",
|
||||
"entity.zombie_pigman.angry": "entity.zombified_piglin.angry",
|
||||
"entity.zombie_pigman.death": "entity.zombified_piglin.death",
|
||||
"entity.zombie_pigman.hurt": "entity.zombified_piglin.hurt",
|
||||
"music.nether": "music.nether.nether_wastes"
|
||||
},
|
||||
"blockstates": {
|
||||
"5641": "cobblestone_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"5642": "cobblestone_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"5643": "cobblestone_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"5644": "cobblestone_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"5645": "cobblestone_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"5646": "cobblestone_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"5647": "cobblestone_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"5648": "cobblestone_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"5649": "cobblestone_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"5650": "cobblestone_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"5651": "cobblestone_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"5652": "cobblestone_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"5653": "cobblestone_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"5654": "cobblestone_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"5655": "cobblestone_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"5656": "cobblestone_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"5657": "cobblestone_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"5658": "cobblestone_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"5659": "cobblestone_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"5660": "cobblestone_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"5661": "cobblestone_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"5662": "cobblestone_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"5663": "cobblestone_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"5664": "cobblestone_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"5665": "cobblestone_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"5666": "cobblestone_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"5667": "cobblestone_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"5668": "cobblestone_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"5669": "cobblestone_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"5670": "cobblestone_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"5671": "cobblestone_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"5672": "cobblestone_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"5673": "cobblestone_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"5674": "cobblestone_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"5675": "cobblestone_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"5676": "cobblestone_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"5677": "cobblestone_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"5678": "cobblestone_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"5679": "cobblestone_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"5680": "cobblestone_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"5681": "cobblestone_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"5682": "cobblestone_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"5683": "cobblestone_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"5684": "cobblestone_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"5685": "cobblestone_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"5686": "cobblestone_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"5687": "cobblestone_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"5688": "cobblestone_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"5689": "cobblestone_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"5690": "cobblestone_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"5691": "cobblestone_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"5692": "cobblestone_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"5693": "cobblestone_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"5694": "cobblestone_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"5695": "cobblestone_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"5696": "cobblestone_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"5697": "cobblestone_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"5698": "cobblestone_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"5699": "cobblestone_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"5700": "cobblestone_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"5701": "cobblestone_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"5702": "cobblestone_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"5703": "cobblestone_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"5704": "cobblestone_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"5705": "mossy_cobblestone_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"5706": "mossy_cobblestone_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"5707": "mossy_cobblestone_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"5708": "mossy_cobblestone_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"5709": "mossy_cobblestone_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"5710": "mossy_cobblestone_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"5711": "mossy_cobblestone_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"5712": "mossy_cobblestone_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"5713": "mossy_cobblestone_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"5714": "mossy_cobblestone_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"5715": "mossy_cobblestone_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"5716": "mossy_cobblestone_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"5717": "mossy_cobblestone_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"5718": "mossy_cobblestone_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"5719": "mossy_cobblestone_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"5720": "mossy_cobblestone_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"5721": "mossy_cobblestone_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"5722": "mossy_cobblestone_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"5723": "mossy_cobblestone_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"5724": "mossy_cobblestone_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"5725": "mossy_cobblestone_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"5726": "mossy_cobblestone_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"5727": "mossy_cobblestone_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"5728": "mossy_cobblestone_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"5729": "mossy_cobblestone_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"5730": "mossy_cobblestone_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"5731": "mossy_cobblestone_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"5732": "mossy_cobblestone_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"5733": "mossy_cobblestone_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"5734": "mossy_cobblestone_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"5735": "mossy_cobblestone_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"5736": "mossy_cobblestone_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"5737": "mossy_cobblestone_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"5738": "mossy_cobblestone_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"5739": "mossy_cobblestone_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"5740": "mossy_cobblestone_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"5741": "mossy_cobblestone_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"5742": "mossy_cobblestone_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"5743": "mossy_cobblestone_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"5744": "mossy_cobblestone_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"5745": "mossy_cobblestone_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"5746": "mossy_cobblestone_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"5747": "mossy_cobblestone_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"5748": "mossy_cobblestone_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"5749": "mossy_cobblestone_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"5750": "mossy_cobblestone_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"5751": "mossy_cobblestone_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"5752": "mossy_cobblestone_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"5753": "mossy_cobblestone_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"5754": "mossy_cobblestone_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"5755": "mossy_cobblestone_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"5756": "mossy_cobblestone_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"5757": "mossy_cobblestone_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"5758": "mossy_cobblestone_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"5759": "mossy_cobblestone_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"5760": "mossy_cobblestone_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"5761": "mossy_cobblestone_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"5762": "mossy_cobblestone_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"5763": "mossy_cobblestone_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"5764": "mossy_cobblestone_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"5765": "mossy_cobblestone_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"5766": "mossy_cobblestone_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"5767": "mossy_cobblestone_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"5768": "mossy_cobblestone_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10331": "brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10332": "brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10333": "brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10334": "brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10335": "brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10336": "brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10337": "brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10338": "brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10339": "brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10340": "brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10341": "brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10342": "brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10343": "brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10344": "brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10345": "brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10346": "brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10347": "brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10348": "brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10349": "brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10350": "brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10351": "brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10352": "brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10353": "brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10354": "brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10355": "brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10356": "brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10357": "brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10358": "brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10359": "brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10360": "brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10361": "brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10362": "brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10363": "brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10364": "brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10365": "brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10366": "brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10367": "brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10368": "brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10369": "brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10370": "brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10371": "brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10372": "brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10373": "brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10374": "brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10375": "brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10376": "brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10377": "brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10378": "brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10379": "brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10380": "brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10381": "brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10382": "brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10383": "brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10384": "brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10385": "brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10386": "brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10387": "brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10388": "brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10389": "brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10390": "brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10391": "brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10392": "brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10393": "brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10394": "brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10395": "prismarine_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10396": "prismarine_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10397": "prismarine_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10398": "prismarine_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10399": "prismarine_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10400": "prismarine_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10401": "prismarine_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10402": "prismarine_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10403": "prismarine_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10404": "prismarine_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10405": "prismarine_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10406": "prismarine_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10407": "prismarine_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10408": "prismarine_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10409": "prismarine_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10410": "prismarine_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10411": "prismarine_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10412": "prismarine_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10413": "prismarine_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10414": "prismarine_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10415": "prismarine_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10416": "prismarine_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10417": "prismarine_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10418": "prismarine_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10419": "prismarine_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10420": "prismarine_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10421": "prismarine_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10422": "prismarine_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10423": "prismarine_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10424": "prismarine_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10425": "prismarine_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10426": "prismarine_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10427": "prismarine_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10428": "prismarine_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10429": "prismarine_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10430": "prismarine_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10431": "prismarine_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10432": "prismarine_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10433": "prismarine_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10434": "prismarine_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10435": "prismarine_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10436": "prismarine_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10437": "prismarine_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10438": "prismarine_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10439": "prismarine_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10440": "prismarine_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10441": "prismarine_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10442": "prismarine_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10443": "prismarine_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10444": "prismarine_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10445": "prismarine_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10446": "prismarine_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10447": "prismarine_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10448": "prismarine_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10449": "prismarine_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10450": "prismarine_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10451": "prismarine_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10452": "prismarine_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10453": "prismarine_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10454": "prismarine_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10455": "prismarine_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10456": "prismarine_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10457": "prismarine_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10458": "prismarine_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10459": "red_sandstone_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10460": "red_sandstone_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10461": "red_sandstone_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10462": "red_sandstone_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10463": "red_sandstone_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10464": "red_sandstone_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10465": "red_sandstone_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10466": "red_sandstone_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10467": "red_sandstone_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10468": "red_sandstone_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10469": "red_sandstone_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10470": "red_sandstone_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10471": "red_sandstone_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10472": "red_sandstone_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10473": "red_sandstone_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10474": "red_sandstone_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10475": "red_sandstone_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10476": "red_sandstone_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10477": "red_sandstone_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10478": "red_sandstone_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10479": "red_sandstone_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10480": "red_sandstone_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10481": "red_sandstone_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10482": "red_sandstone_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10483": "red_sandstone_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10484": "red_sandstone_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10485": "red_sandstone_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10486": "red_sandstone_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10487": "red_sandstone_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10488": "red_sandstone_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10489": "red_sandstone_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10490": "red_sandstone_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10491": "red_sandstone_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10492": "red_sandstone_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10493": "red_sandstone_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10494": "red_sandstone_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10495": "red_sandstone_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10496": "red_sandstone_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10497": "red_sandstone_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10498": "red_sandstone_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10499": "red_sandstone_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10500": "red_sandstone_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10501": "red_sandstone_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10502": "red_sandstone_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10503": "red_sandstone_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10504": "red_sandstone_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10505": "red_sandstone_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10506": "red_sandstone_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10507": "red_sandstone_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10508": "red_sandstone_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10509": "red_sandstone_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10510": "red_sandstone_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10511": "red_sandstone_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10512": "red_sandstone_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10513": "red_sandstone_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10514": "red_sandstone_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10515": "red_sandstone_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10516": "red_sandstone_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10517": "red_sandstone_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10518": "red_sandstone_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10519": "red_sandstone_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10520": "red_sandstone_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10521": "red_sandstone_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10522": "red_sandstone_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10523": "mossy_stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10524": "mossy_stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10525": "mossy_stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10526": "mossy_stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10527": "mossy_stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10528": "mossy_stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10529": "mossy_stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10530": "mossy_stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10531": "mossy_stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10532": "mossy_stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10533": "mossy_stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10534": "mossy_stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10535": "mossy_stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10536": "mossy_stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10537": "mossy_stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10538": "mossy_stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10539": "mossy_stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10540": "mossy_stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10541": "mossy_stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10542": "mossy_stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10543": "mossy_stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10544": "mossy_stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10545": "mossy_stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10546": "mossy_stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10547": "mossy_stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10548": "mossy_stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10549": "mossy_stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10550": "mossy_stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10551": "mossy_stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10552": "mossy_stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10553": "mossy_stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10554": "mossy_stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10555": "mossy_stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10556": "mossy_stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10557": "mossy_stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10558": "mossy_stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10559": "mossy_stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10560": "mossy_stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10561": "mossy_stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10562": "mossy_stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10563": "mossy_stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10564": "mossy_stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10565": "mossy_stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10566": "mossy_stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10567": "mossy_stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10568": "mossy_stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10569": "mossy_stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10570": "mossy_stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10571": "mossy_stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10572": "mossy_stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10573": "mossy_stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10574": "mossy_stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10575": "mossy_stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10576": "mossy_stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10577": "mossy_stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10578": "mossy_stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10579": "mossy_stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10580": "mossy_stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10581": "mossy_stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10582": "mossy_stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10583": "mossy_stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10584": "mossy_stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10585": "mossy_stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10586": "mossy_stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10587": "granite_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10588": "granite_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10589": "granite_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10590": "granite_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10591": "granite_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10592": "granite_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10593": "granite_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10594": "granite_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10595": "granite_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10596": "granite_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10597": "granite_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10598": "granite_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10599": "granite_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10600": "granite_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10601": "granite_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10602": "granite_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10603": "granite_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10604": "granite_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10605": "granite_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10606": "granite_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10607": "granite_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10608": "granite_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10609": "granite_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10610": "granite_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10611": "granite_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10612": "granite_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10613": "granite_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10614": "granite_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10615": "granite_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10616": "granite_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10617": "granite_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10618": "granite_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10619": "granite_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10620": "granite_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10621": "granite_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10622": "granite_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10623": "granite_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10624": "granite_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10625": "granite_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10626": "granite_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10627": "granite_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10628": "granite_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10629": "granite_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10630": "granite_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10631": "granite_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10632": "granite_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10633": "granite_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10634": "granite_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10635": "granite_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10636": "granite_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10637": "granite_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10638": "granite_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10639": "granite_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10640": "granite_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10641": "granite_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10642": "granite_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10643": "granite_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10644": "granite_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10645": "granite_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10646": "granite_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10647": "granite_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10648": "granite_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10649": "granite_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10650": "granite_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10651": "stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10652": "stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10653": "stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10654": "stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10655": "stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10656": "stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10657": "stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10658": "stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10659": "stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10660": "stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10661": "stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10662": "stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10663": "stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10664": "stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10665": "stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10666": "stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10667": "stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10668": "stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10669": "stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10670": "stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10671": "stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10672": "stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10673": "stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10674": "stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10675": "stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10676": "stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10677": "stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10678": "stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10679": "stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10680": "stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10681": "stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10682": "stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10683": "stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10684": "stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10685": "stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10686": "stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10687": "stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10688": "stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10689": "stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10690": "stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10691": "stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10692": "stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10693": "stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10694": "stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10695": "stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10696": "stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10697": "stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10698": "stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10699": "stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10700": "stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10701": "stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10702": "stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10703": "stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10704": "stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10705": "stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10706": "stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10707": "stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10708": "stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10709": "stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10710": "stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10711": "stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10712": "stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10713": "stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10714": "stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10715": "nether_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10716": "nether_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10717": "nether_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10718": "nether_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10719": "nether_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10720": "nether_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10721": "nether_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10722": "nether_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10723": "nether_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10724": "nether_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10725": "nether_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10726": "nether_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10727": "nether_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10728": "nether_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10729": "nether_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10730": "nether_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10731": "nether_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10732": "nether_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10733": "nether_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10734": "nether_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10735": "nether_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10736": "nether_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10737": "nether_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10738": "nether_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10739": "nether_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10740": "nether_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10741": "nether_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10742": "nether_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10743": "nether_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10744": "nether_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10745": "nether_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10746": "nether_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10747": "nether_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10748": "nether_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10749": "nether_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10750": "nether_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10751": "nether_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10752": "nether_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10753": "nether_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10754": "nether_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10755": "nether_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10756": "nether_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10757": "nether_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10758": "nether_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10759": "nether_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10760": "nether_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10761": "nether_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10762": "nether_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10763": "nether_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10764": "nether_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10765": "nether_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10766": "nether_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10767": "nether_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10768": "nether_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10769": "nether_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10770": "nether_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10771": "nether_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10772": "nether_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10773": "nether_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10774": "nether_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10775": "nether_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10776": "nether_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10777": "nether_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10778": "nether_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10779": "andesite_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10780": "andesite_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10781": "andesite_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10782": "andesite_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10783": "andesite_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10784": "andesite_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10785": "andesite_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10786": "andesite_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10787": "andesite_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10788": "andesite_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10789": "andesite_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10790": "andesite_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10791": "andesite_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10792": "andesite_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10793": "andesite_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10794": "andesite_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10795": "andesite_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10796": "andesite_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10797": "andesite_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10798": "andesite_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10799": "andesite_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10800": "andesite_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10801": "andesite_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10802": "andesite_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10803": "andesite_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10804": "andesite_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10805": "andesite_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10806": "andesite_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10807": "andesite_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10808": "andesite_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10809": "andesite_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10810": "andesite_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10811": "andesite_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10812": "andesite_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10813": "andesite_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10814": "andesite_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10815": "andesite_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10816": "andesite_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10817": "andesite_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10818": "andesite_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10819": "andesite_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10820": "andesite_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10821": "andesite_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10822": "andesite_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10823": "andesite_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10824": "andesite_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10825": "andesite_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10826": "andesite_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10827": "andesite_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10828": "andesite_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10829": "andesite_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10830": "andesite_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10831": "andesite_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10832": "andesite_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10833": "andesite_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10834": "andesite_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10835": "andesite_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10836": "andesite_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10837": "andesite_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10838": "andesite_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10839": "andesite_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10840": "andesite_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10841": "andesite_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10842": "andesite_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10843": "red_nether_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10844": "red_nether_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10845": "red_nether_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10846": "red_nether_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10847": "red_nether_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10848": "red_nether_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10849": "red_nether_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10850": "red_nether_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10851": "red_nether_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10852": "red_nether_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10853": "red_nether_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10854": "red_nether_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10855": "red_nether_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10856": "red_nether_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10857": "red_nether_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10858": "red_nether_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10859": "red_nether_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10860": "red_nether_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10861": "red_nether_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10862": "red_nether_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10863": "red_nether_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10864": "red_nether_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10865": "red_nether_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10866": "red_nether_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10867": "red_nether_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10868": "red_nether_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10869": "red_nether_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10870": "red_nether_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10871": "red_nether_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10872": "red_nether_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10873": "red_nether_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10874": "red_nether_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10875": "red_nether_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10876": "red_nether_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10877": "red_nether_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10878": "red_nether_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10879": "red_nether_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10880": "red_nether_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10881": "red_nether_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10882": "red_nether_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10883": "red_nether_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10884": "red_nether_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10885": "red_nether_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10886": "red_nether_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10887": "red_nether_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10888": "red_nether_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10889": "red_nether_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10890": "red_nether_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10891": "red_nether_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10892": "red_nether_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10893": "red_nether_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10894": "red_nether_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10895": "red_nether_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10896": "red_nether_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10897": "red_nether_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10898": "red_nether_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10899": "red_nether_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10900": "red_nether_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10901": "red_nether_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10902": "red_nether_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10903": "red_nether_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10904": "red_nether_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10905": "red_nether_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10906": "red_nether_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10907": "sandstone_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10908": "sandstone_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10909": "sandstone_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10910": "sandstone_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10911": "sandstone_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10912": "sandstone_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10913": "sandstone_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10914": "sandstone_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10915": "sandstone_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10916": "sandstone_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10917": "sandstone_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10918": "sandstone_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10919": "sandstone_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10920": "sandstone_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10921": "sandstone_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10922": "sandstone_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10923": "sandstone_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10924": "sandstone_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10925": "sandstone_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10926": "sandstone_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10927": "sandstone_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10928": "sandstone_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10929": "sandstone_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10930": "sandstone_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10931": "sandstone_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10932": "sandstone_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10933": "sandstone_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10934": "sandstone_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10935": "sandstone_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10936": "sandstone_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10937": "sandstone_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10938": "sandstone_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10939": "sandstone_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10940": "sandstone_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10941": "sandstone_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10942": "sandstone_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10943": "sandstone_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10944": "sandstone_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10945": "sandstone_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10946": "sandstone_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10947": "sandstone_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10948": "sandstone_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10949": "sandstone_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10950": "sandstone_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10951": "sandstone_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10952": "sandstone_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10953": "sandstone_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10954": "sandstone_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10955": "sandstone_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10956": "sandstone_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10957": "sandstone_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10958": "sandstone_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10959": "sandstone_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10960": "sandstone_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10961": "sandstone_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10962": "sandstone_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10963": "sandstone_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10964": "sandstone_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10965": "sandstone_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10966": "sandstone_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10967": "sandstone_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10968": "sandstone_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10969": "sandstone_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10970": "sandstone_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10971": "end_stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10972": "end_stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10973": "end_stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10974": "end_stone_brick_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10975": "end_stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10976": "end_stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10977": "end_stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10978": "end_stone_brick_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10979": "end_stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10980": "end_stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10981": "end_stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10982": "end_stone_brick_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10983": "end_stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"10984": "end_stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"10985": "end_stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"10986": "end_stone_brick_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"10987": "end_stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"10988": "end_stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"10989": "end_stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"10990": "end_stone_brick_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"10991": "end_stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"10992": "end_stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"10993": "end_stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"10994": "end_stone_brick_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"10995": "end_stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"10996": "end_stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"10997": "end_stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"10998": "end_stone_brick_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"10999": "end_stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"11000": "end_stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"11001": "end_stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"11002": "end_stone_brick_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"11003": "end_stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"11004": "end_stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"11005": "end_stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"11006": "end_stone_brick_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"11007": "end_stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"11008": "end_stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"11009": "end_stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"11010": "end_stone_brick_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"11011": "end_stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"11012": "end_stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"11013": "end_stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"11014": "end_stone_brick_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"11015": "end_stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"11016": "end_stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"11017": "end_stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"11018": "end_stone_brick_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"11019": "end_stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"11020": "end_stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"11021": "end_stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"11022": "end_stone_brick_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"11023": "end_stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"11024": "end_stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"11025": "end_stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"11026": "end_stone_brick_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"11027": "end_stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"11028": "end_stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"11029": "end_stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"11030": "end_stone_brick_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"11031": "end_stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"11032": "end_stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"11033": "end_stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"11034": "end_stone_brick_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"11035": "diorite_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"11036": "diorite_wall[east=low,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"11037": "diorite_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"11038": "diorite_wall[east=low,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"11039": "diorite_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"11040": "diorite_wall[east=low,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"11041": "diorite_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"11042": "diorite_wall[east=low,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"11043": "diorite_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"11044": "diorite_wall[east=low,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"11045": "diorite_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"11046": "diorite_wall[east=low,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"11047": "diorite_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"11048": "diorite_wall[east=low,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"11049": "diorite_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"11050": "diorite_wall[east=low,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"11051": "diorite_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"11052": "diorite_wall[east=low,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"11053": "diorite_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"11054": "diorite_wall[east=low,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"11055": "diorite_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"11056": "diorite_wall[east=low,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"11057": "diorite_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"11058": "diorite_wall[east=low,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"11059": "diorite_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"11060": "diorite_wall[east=low,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"11061": "diorite_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"11062": "diorite_wall[east=low,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"11063": "diorite_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"11064": "diorite_wall[east=low,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"11065": "diorite_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"11066": "diorite_wall[east=low,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"11067": "diorite_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=low]",
|
||||
"11068": "diorite_wall[east=none,north=low,south=low,up=true,waterlogged=true,west=none]",
|
||||
"11069": "diorite_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=low]",
|
||||
"11070": "diorite_wall[east=none,north=low,south=low,up=true,waterlogged=false,west=none]",
|
||||
"11071": "diorite_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=low]",
|
||||
"11072": "diorite_wall[east=none,north=low,south=low,up=false,waterlogged=true,west=none]",
|
||||
"11073": "diorite_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=low]",
|
||||
"11074": "diorite_wall[east=none,north=low,south=low,up=false,waterlogged=false,west=none]",
|
||||
"11075": "diorite_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=low]",
|
||||
"11076": "diorite_wall[east=none,north=low,south=none,up=true,waterlogged=true,west=none]",
|
||||
"11077": "diorite_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=low]",
|
||||
"11078": "diorite_wall[east=none,north=low,south=none,up=true,waterlogged=false,west=none]",
|
||||
"11079": "diorite_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=low]",
|
||||
"11080": "diorite_wall[east=none,north=low,south=none,up=false,waterlogged=true,west=none]",
|
||||
"11081": "diorite_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=low]",
|
||||
"11082": "diorite_wall[east=none,north=low,south=none,up=false,waterlogged=false,west=none]",
|
||||
"11083": "diorite_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=low]",
|
||||
"11084": "diorite_wall[east=none,north=none,south=low,up=true,waterlogged=true,west=none]",
|
||||
"11085": "diorite_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=low]",
|
||||
"11086": "diorite_wall[east=none,north=none,south=low,up=true,waterlogged=false,west=none]",
|
||||
"11087": "diorite_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=low]",
|
||||
"11088": "diorite_wall[east=none,north=none,south=low,up=false,waterlogged=true,west=none]",
|
||||
"11089": "diorite_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=low]",
|
||||
"11090": "diorite_wall[east=none,north=none,south=low,up=false,waterlogged=false,west=none]",
|
||||
"11091": "diorite_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=low]",
|
||||
"11092": "diorite_wall[east=none,north=none,south=none,up=true,waterlogged=true,west=none]",
|
||||
"11093": "diorite_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=low]",
|
||||
"11094": "diorite_wall[east=none,north=none,south=none,up=true,waterlogged=false,west=none]",
|
||||
"11095": "diorite_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=low]",
|
||||
"11096": "diorite_wall[east=none,north=none,south=none,up=false,waterlogged=true,west=none]",
|
||||
"11097": "diorite_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=low]",
|
||||
"11098": "diorite_wall[east=none,north=none,south=none,up=false,waterlogged=false,west=none]",
|
||||
"11272": "jigsaw[orientation=north_up]",
|
||||
"11273": "jigsaw[orientation=east_up]",
|
||||
"11274": "jigsaw[orientation=south_up]",
|
||||
"11275": "jigsaw[orientation=west_up]",
|
||||
"11276": "jigsaw[orientation=up_east]",
|
||||
"11277": "jigsaw[orientation=down_east]"
|
||||
}
|
||||
}
|
@ -1,675 +0,0 @@
|
||||
{
|
||||
"blocks": {
|
||||
"498": "dirt_path"
|
||||
},
|
||||
"sounds": {
|
||||
"item.sweet_berries.pick_from_bush": "block.sweet_berry_bush.pick_berries"
|
||||
},
|
||||
"blockstates": {
|
||||
"1305": "powered_rail[powered=true,shape=north_south,waterlogged=false]",
|
||||
"1306": "powered_rail[powered=true,shape=east_west,waterlogged=false]",
|
||||
"1307": "powered_rail[powered=true,shape=ascending_east,waterlogged=false]",
|
||||
"1308": "powered_rail[powered=true,shape=ascending_west,waterlogged=false]",
|
||||
"1309": "powered_rail[powered=true,shape=ascending_north,waterlogged=false]",
|
||||
"1310": "powered_rail[powered=true,shape=ascending_south,waterlogged=false]",
|
||||
"1311": "powered_rail[powered=false,shape=north_south,waterlogged=false]",
|
||||
"1312": "powered_rail[powered=false,shape=east_west,waterlogged=false]",
|
||||
"1313": "powered_rail[powered=false,shape=ascending_east,waterlogged=false]",
|
||||
"1314": "powered_rail[powered=false,shape=ascending_west,waterlogged=false]",
|
||||
"1315": "powered_rail[powered=false,shape=ascending_north,waterlogged=false]",
|
||||
"1316": "powered_rail[powered=false,shape=ascending_south,waterlogged=false]",
|
||||
"1317": "detector_rail[powered=true,shape=north_south,waterlogged=false]",
|
||||
"1318": "detector_rail[powered=true,shape=east_west,waterlogged=false]",
|
||||
"1319": "detector_rail[powered=true,shape=ascending_east,waterlogged=false]",
|
||||
"1320": "detector_rail[powered=true,shape=ascending_west,waterlogged=false]",
|
||||
"1321": "detector_rail[powered=true,shape=ascending_north,waterlogged=false]",
|
||||
"1322": "detector_rail[powered=true,shape=ascending_south,waterlogged=false]",
|
||||
"1323": "detector_rail[powered=false,shape=north_south,waterlogged=false]",
|
||||
"1324": "detector_rail[powered=false,shape=east_west,waterlogged=false]",
|
||||
"1325": "detector_rail[powered=false,shape=ascending_east,waterlogged=false]",
|
||||
"1326": "detector_rail[powered=false,shape=ascending_west,waterlogged=false]",
|
||||
"1327": "detector_rail[powered=false,shape=ascending_north,waterlogged=false]",
|
||||
"1328": "detector_rail[powered=false,shape=ascending_south,waterlogged=false]",
|
||||
"3645": "rail[shape=north_south,waterlogged=false]",
|
||||
"3646": "rail[shape=east_west,waterlogged=false]",
|
||||
"3647": "rail[shape=ascending_east,waterlogged=false]",
|
||||
"3648": "rail[shape=ascending_west,waterlogged=false]",
|
||||
"3649": "rail[shape=ascending_north,waterlogged=false]",
|
||||
"3650": "rail[shape=ascending_south,waterlogged=false]",
|
||||
"3651": "rail[shape=south_east,waterlogged=false]",
|
||||
"3652": "rail[shape=south_west,waterlogged=false]",
|
||||
"3653": "rail[shape=north_west,waterlogged=false]",
|
||||
"3654": "rail[shape=north_east,waterlogged=false]",
|
||||
"6827": "activator_rail[powered=true,shape=north_south,waterlogged=false]",
|
||||
"6828": "activator_rail[powered=true,shape=east_west,waterlogged=false]",
|
||||
"6829": "activator_rail[powered=true,shape=ascending_east,waterlogged=false]",
|
||||
"6830": "activator_rail[powered=true,shape=ascending_west,waterlogged=false]",
|
||||
"6831": "activator_rail[powered=true,shape=ascending_north,waterlogged=false]",
|
||||
"6832": "activator_rail[powered=true,shape=ascending_south,waterlogged=false]",
|
||||
"6833": "activator_rail[powered=false,shape=north_south,waterlogged=false]",
|
||||
"6834": "activator_rail[powered=false,shape=east_west,waterlogged=false]",
|
||||
"6835": "activator_rail[powered=false,shape=ascending_east,waterlogged=false]",
|
||||
"6836": "activator_rail[powered=false,shape=ascending_west,waterlogged=false]",
|
||||
"6837": "activator_rail[powered=false,shape=ascending_north,waterlogged=false]",
|
||||
"6838": "activator_rail[powered=false,shape=ascending_south,waterlogged=false]",
|
||||
"5145": "cauldron",
|
||||
"5146": "water_cauldron[level=1]",
|
||||
"5147": "water_cauldron[level=2]",
|
||||
"5148": "water_cauldron[level=3]",
|
||||
"9227": "dirt_path"
|
||||
},
|
||||
"items": {
|
||||
"372": "dirt_path"
|
||||
},
|
||||
"tags": {
|
||||
"block": {
|
||||
"dirt": [
|
||||
"dirt",
|
||||
"grass_block",
|
||||
"podzol",
|
||||
"coarse_dirt",
|
||||
"mycelium",
|
||||
"rooted_dirt",
|
||||
"moss_block"
|
||||
],
|
||||
"cauldrons": [
|
||||
"cauldron"
|
||||
],
|
||||
"mineable/hoe": [
|
||||
"nether_wart_block",
|
||||
"warped_wart_block",
|
||||
"hay_block",
|
||||
"dried_kelp_block",
|
||||
"target",
|
||||
"shroomlight",
|
||||
"sponge",
|
||||
"wet_sponge",
|
||||
"jungle_leaves",
|
||||
"oak_leaves",
|
||||
"spruce_leaves",
|
||||
"dark_oak_leaves",
|
||||
"acacia_leaves",
|
||||
"birch_leaves"
|
||||
],
|
||||
"mineable/shovel": [
|
||||
"clay",
|
||||
"dirt",
|
||||
"coarse_dirt",
|
||||
"podzol",
|
||||
"farmland",
|
||||
"grass_block",
|
||||
"gravel",
|
||||
"mycelium",
|
||||
"sand",
|
||||
"red_sand",
|
||||
"snow_block",
|
||||
"snow",
|
||||
"soul_sand",
|
||||
"dirt_path",
|
||||
"white_concrete_powder",
|
||||
"orange_concrete_powder",
|
||||
"magenta_concrete_powder",
|
||||
"light_blue_concrete_powder",
|
||||
"yellow_concrete_powder",
|
||||
"lime_concrete_powder",
|
||||
"pink_concrete_powder",
|
||||
"gray_concrete_powder",
|
||||
"light_gray_concrete_powder",
|
||||
"cyan_concrete_powder",
|
||||
"purple_concrete_powder",
|
||||
"blue_concrete_powder",
|
||||
"brown_concrete_powder",
|
||||
"green_concrete_powder",
|
||||
"red_concrete_powder",
|
||||
"black_concrete_powder",
|
||||
"soul_soil"
|
||||
],
|
||||
"mineable/axe": [
|
||||
"note_block",
|
||||
"attached_melon_stem",
|
||||
"attached_pumpkin_stem",
|
||||
"bamboo",
|
||||
"barrel",
|
||||
"bee_nest",
|
||||
"beehive",
|
||||
"beetroots",
|
||||
"bookshelf",
|
||||
"brown_mushroom_block",
|
||||
"brown_mushroom",
|
||||
"campfire",
|
||||
"carrots",
|
||||
"cartography_table",
|
||||
"carved_pumpkin",
|
||||
"chest",
|
||||
"chorus_flower",
|
||||
"chorus_plant",
|
||||
"cocoa",
|
||||
"composter",
|
||||
"crafting_table",
|
||||
"crimson_fungus",
|
||||
"daylight_detector",
|
||||
"dead_bush",
|
||||
"fern",
|
||||
"fletching_table",
|
||||
"grass",
|
||||
"jack_o_lantern",
|
||||
"jukebox",
|
||||
"ladder",
|
||||
"large_fern",
|
||||
"lectern",
|
||||
"lily_pad",
|
||||
"loom",
|
||||
"melon_stem",
|
||||
"melon",
|
||||
"mushroom_stem",
|
||||
"nether_wart",
|
||||
"potatoes",
|
||||
"pumpkin_stem",
|
||||
"pumpkin",
|
||||
"red_mushroom_block",
|
||||
"red_mushroom",
|
||||
"scaffolding",
|
||||
"smithing_table",
|
||||
"soul_campfire",
|
||||
"sugar_cane",
|
||||
"sweet_berry_bush",
|
||||
"tall_grass",
|
||||
"trapped_chest",
|
||||
"twisting_vines_plant",
|
||||
"twisting_vines",
|
||||
"vine",
|
||||
"warped_fungus",
|
||||
"weeping_vines_plant",
|
||||
"weeping_vines",
|
||||
"wheat",
|
||||
"white_banner",
|
||||
"orange_banner",
|
||||
"magenta_banner",
|
||||
"light_blue_banner",
|
||||
"yellow_banner",
|
||||
"lime_banner",
|
||||
"pink_banner",
|
||||
"gray_banner",
|
||||
"light_gray_banner",
|
||||
"cyan_banner",
|
||||
"purple_banner",
|
||||
"blue_banner",
|
||||
"brown_banner",
|
||||
"green_banner",
|
||||
"red_banner",
|
||||
"black_banner",
|
||||
"white_wall_banner",
|
||||
"orange_wall_banner",
|
||||
"magenta_wall_banner",
|
||||
"light_blue_wall_banner",
|
||||
"yellow_wall_banner",
|
||||
"lime_wall_banner",
|
||||
"pink_wall_banner",
|
||||
"gray_wall_banner",
|
||||
"light_gray_wall_banner",
|
||||
"cyan_wall_banner",
|
||||
"purple_wall_banner",
|
||||
"blue_wall_banner",
|
||||
"brown_wall_banner",
|
||||
"green_wall_banner",
|
||||
"red_wall_banner",
|
||||
"black_wall_banner",
|
||||
"acacia_fence_gate",
|
||||
"birch_fence_gate",
|
||||
"dark_oak_fence_gate",
|
||||
"jungle_fence_gate",
|
||||
"oak_fence_gate",
|
||||
"spruce_fence_gate",
|
||||
"crimson_fence_gate",
|
||||
"warped_fence_gate",
|
||||
"dandelion",
|
||||
"poppy",
|
||||
"blue_orchid",
|
||||
"allium",
|
||||
"azure_bluet",
|
||||
"red_tulip",
|
||||
"orange_tulip",
|
||||
"white_tulip",
|
||||
"pink_tulip",
|
||||
"oxeye_daisy",
|
||||
"cornflower",
|
||||
"lily_of_the_valley",
|
||||
"wither_rose",
|
||||
"sunflower",
|
||||
"lilac",
|
||||
"peony",
|
||||
"rose_bush",
|
||||
"dark_oak_log",
|
||||
"dark_oak_wood",
|
||||
"stripped_dark_oak_log",
|
||||
"stripped_dark_oak_wood",
|
||||
"oak_log",
|
||||
"oak_wood",
|
||||
"stripped_oak_log",
|
||||
"stripped_oak_wood",
|
||||
"acacia_log",
|
||||
"acacia_wood",
|
||||
"stripped_acacia_log",
|
||||
"stripped_acacia_wood",
|
||||
"birch_log",
|
||||
"birch_wood",
|
||||
"stripped_birch_log",
|
||||
"stripped_birch_wood",
|
||||
"jungle_log",
|
||||
"jungle_wood",
|
||||
"stripped_jungle_log",
|
||||
"stripped_jungle_wood",
|
||||
"spruce_log",
|
||||
"spruce_wood",
|
||||
"stripped_spruce_log",
|
||||
"stripped_spruce_wood",
|
||||
"crimson_stem",
|
||||
"stripped_crimson_stem",
|
||||
"crimson_hyphae",
|
||||
"stripped_crimson_hyphae",
|
||||
"warped_stem",
|
||||
"stripped_warped_stem",
|
||||
"warped_hyphae",
|
||||
"stripped_warped_hyphae",
|
||||
"oak_planks",
|
||||
"spruce_planks",
|
||||
"birch_planks",
|
||||
"jungle_planks",
|
||||
"acacia_planks",
|
||||
"dark_oak_planks",
|
||||
"crimson_planks",
|
||||
"warped_planks",
|
||||
"oak_sapling",
|
||||
"spruce_sapling",
|
||||
"birch_sapling",
|
||||
"jungle_sapling",
|
||||
"acacia_sapling",
|
||||
"dark_oak_sapling",
|
||||
"oak_sign",
|
||||
"spruce_sign",
|
||||
"birch_sign",
|
||||
"acacia_sign",
|
||||
"jungle_sign",
|
||||
"dark_oak_sign",
|
||||
"crimson_sign",
|
||||
"warped_sign",
|
||||
"oak_wall_sign",
|
||||
"spruce_wall_sign",
|
||||
"birch_wall_sign",
|
||||
"acacia_wall_sign",
|
||||
"jungle_wall_sign",
|
||||
"dark_oak_wall_sign",
|
||||
"crimson_wall_sign",
|
||||
"warped_wall_sign",
|
||||
"oak_button",
|
||||
"spruce_button",
|
||||
"birch_button",
|
||||
"jungle_button",
|
||||
"acacia_button",
|
||||
"dark_oak_button",
|
||||
"crimson_button",
|
||||
"warped_button",
|
||||
"oak_door",
|
||||
"spruce_door",
|
||||
"birch_door",
|
||||
"jungle_door",
|
||||
"acacia_door",
|
||||
"dark_oak_door",
|
||||
"crimson_door",
|
||||
"warped_door",
|
||||
"oak_fence",
|
||||
"acacia_fence",
|
||||
"dark_oak_fence",
|
||||
"spruce_fence",
|
||||
"birch_fence",
|
||||
"jungle_fence",
|
||||
"crimson_fence",
|
||||
"warped_fence",
|
||||
"oak_pressure_plate",
|
||||
"spruce_pressure_plate",
|
||||
"birch_pressure_plate",
|
||||
"jungle_pressure_plate",
|
||||
"acacia_pressure_plate",
|
||||
"dark_oak_pressure_plate",
|
||||
"crimson_pressure_plate",
|
||||
"warped_pressure_plate",
|
||||
"oak_slab",
|
||||
"spruce_slab",
|
||||
"birch_slab",
|
||||
"jungle_slab",
|
||||
"acacia_slab",
|
||||
"dark_oak_slab",
|
||||
"crimson_slab",
|
||||
"warped_slab",
|
||||
"oak_stairs",
|
||||
"spruce_stairs",
|
||||
"birch_stairs",
|
||||
"jungle_stairs",
|
||||
"acacia_stairs",
|
||||
"dark_oak_stairs",
|
||||
"crimson_stairs",
|
||||
"warped_stairs",
|
||||
"acacia_trapdoor",
|
||||
"birch_trapdoor",
|
||||
"dark_oak_trapdoor",
|
||||
"jungle_trapdoor",
|
||||
"oak_trapdoor",
|
||||
"spruce_trapdoor",
|
||||
"crimson_trapdoor",
|
||||
"warped_trapdoor"
|
||||
],
|
||||
"mineable/pickaxe": [
|
||||
"stone",
|
||||
"granite",
|
||||
"polished_granite",
|
||||
"diorite",
|
||||
"polished_diorite",
|
||||
"andesite",
|
||||
"polished_andesite",
|
||||
"cobblestone",
|
||||
"gold_ore",
|
||||
"iron_ore",
|
||||
"coal_ore",
|
||||
"nether_gold_ore",
|
||||
"lapis_ore",
|
||||
"lapis_block",
|
||||
"dispenser",
|
||||
"sandstone",
|
||||
"chiseled_sandstone",
|
||||
"cut_sandstone",
|
||||
"gold_block",
|
||||
"iron_block",
|
||||
"bricks",
|
||||
"mossy_cobblestone",
|
||||
"obsidian",
|
||||
"spawner",
|
||||
"diamond_ore",
|
||||
"diamond_block",
|
||||
"furnace",
|
||||
"cobblestone_stairs",
|
||||
"stone_pressure_plate",
|
||||
"iron_door",
|
||||
"redstone_ore",
|
||||
"netherrack",
|
||||
"basalt",
|
||||
"polished_basalt",
|
||||
"stone_bricks",
|
||||
"mossy_stone_bricks",
|
||||
"cracked_stone_bricks",
|
||||
"chiseled_stone_bricks",
|
||||
"iron_bars",
|
||||
"chain",
|
||||
"brick_stairs",
|
||||
"stone_brick_stairs",
|
||||
"nether_bricks",
|
||||
"nether_brick_fence",
|
||||
"nether_brick_stairs",
|
||||
"enchanting_table",
|
||||
"brewing_stand",
|
||||
"end_stone",
|
||||
"sandstone_stairs",
|
||||
"emerald_ore",
|
||||
"ender_chest",
|
||||
"emerald_block",
|
||||
"light_weighted_pressure_plate",
|
||||
"heavy_weighted_pressure_plate",
|
||||
"redstone_block",
|
||||
"nether_quartz_ore",
|
||||
"hopper",
|
||||
"quartz_block",
|
||||
"chiseled_quartz_block",
|
||||
"quartz_pillar",
|
||||
"quartz_stairs",
|
||||
"dropper",
|
||||
"white_terracotta",
|
||||
"orange_terracotta",
|
||||
"magenta_terracotta",
|
||||
"light_blue_terracotta",
|
||||
"yellow_terracotta",
|
||||
"lime_terracotta",
|
||||
"pink_terracotta",
|
||||
"gray_terracotta",
|
||||
"light_gray_terracotta",
|
||||
"cyan_terracotta",
|
||||
"purple_terracotta",
|
||||
"blue_terracotta",
|
||||
"brown_terracotta",
|
||||
"green_terracotta",
|
||||
"red_terracotta",
|
||||
"black_terracotta",
|
||||
"iron_trapdoor",
|
||||
"prismarine",
|
||||
"prismarine_bricks",
|
||||
"dark_prismarine",
|
||||
"prismarine_stairs",
|
||||
"prismarine_brick_stairs",
|
||||
"dark_prismarine_stairs",
|
||||
"prismarine_slab",
|
||||
"prismarine_brick_slab",
|
||||
"dark_prismarine_slab",
|
||||
"terracotta",
|
||||
"coal_block",
|
||||
"red_sandstone",
|
||||
"chiseled_red_sandstone",
|
||||
"cut_red_sandstone",
|
||||
"red_sandstone_stairs",
|
||||
"stone_slab",
|
||||
"smooth_stone_slab",
|
||||
"sandstone_slab",
|
||||
"cut_sandstone_slab",
|
||||
"petrified_oak_slab",
|
||||
"cobblestone_slab",
|
||||
"brick_slab",
|
||||
"stone_brick_slab",
|
||||
"nether_brick_slab",
|
||||
"quartz_slab",
|
||||
"red_sandstone_slab",
|
||||
"cut_red_sandstone_slab",
|
||||
"purpur_slab",
|
||||
"smooth_stone",
|
||||
"smooth_sandstone",
|
||||
"smooth_quartz",
|
||||
"smooth_red_sandstone",
|
||||
"purpur_block",
|
||||
"purpur_pillar",
|
||||
"purpur_stairs",
|
||||
"end_stone_bricks",
|
||||
"magma_block",
|
||||
"red_nether_bricks",
|
||||
"bone_block",
|
||||
"observer",
|
||||
"white_glazed_terracotta",
|
||||
"orange_glazed_terracotta",
|
||||
"magenta_glazed_terracotta",
|
||||
"light_blue_glazed_terracotta",
|
||||
"yellow_glazed_terracotta",
|
||||
"lime_glazed_terracotta",
|
||||
"pink_glazed_terracotta",
|
||||
"gray_glazed_terracotta",
|
||||
"light_gray_glazed_terracotta",
|
||||
"cyan_glazed_terracotta",
|
||||
"purple_glazed_terracotta",
|
||||
"blue_glazed_terracotta",
|
||||
"brown_glazed_terracotta",
|
||||
"green_glazed_terracotta",
|
||||
"red_glazed_terracotta",
|
||||
"black_glazed_terracotta",
|
||||
"white_concrete",
|
||||
"orange_concrete",
|
||||
"magenta_concrete",
|
||||
"light_blue_concrete",
|
||||
"yellow_concrete",
|
||||
"lime_concrete",
|
||||
"pink_concrete",
|
||||
"gray_concrete",
|
||||
"light_gray_concrete",
|
||||
"cyan_concrete",
|
||||
"purple_concrete",
|
||||
"blue_concrete",
|
||||
"brown_concrete",
|
||||
"green_concrete",
|
||||
"red_concrete",
|
||||
"black_concrete",
|
||||
"dead_tube_coral_block",
|
||||
"dead_brain_coral_block",
|
||||
"dead_bubble_coral_block",
|
||||
"dead_fire_coral_block",
|
||||
"dead_horn_coral_block",
|
||||
"tube_coral_block",
|
||||
"brain_coral_block",
|
||||
"bubble_coral_block",
|
||||
"fire_coral_block",
|
||||
"horn_coral_block",
|
||||
"dead_tube_coral",
|
||||
"dead_brain_coral",
|
||||
"dead_bubble_coral",
|
||||
"dead_fire_coral",
|
||||
"dead_horn_coral",
|
||||
"dead_tube_coral_fan",
|
||||
"dead_brain_coral_fan",
|
||||
"dead_bubble_coral_fan",
|
||||
"dead_fire_coral_fan",
|
||||
"dead_horn_coral_fan",
|
||||
"dead_tube_coral_wall_fan",
|
||||
"dead_brain_coral_wall_fan",
|
||||
"dead_bubble_coral_wall_fan",
|
||||
"dead_fire_coral_wall_fan",
|
||||
"dead_horn_coral_wall_fan",
|
||||
"polished_granite_stairs",
|
||||
"smooth_red_sandstone_stairs",
|
||||
"mossy_stone_brick_stairs",
|
||||
"polished_diorite_stairs",
|
||||
"mossy_cobblestone_stairs",
|
||||
"end_stone_brick_stairs",
|
||||
"stone_stairs",
|
||||
"smooth_sandstone_stairs",
|
||||
"smooth_quartz_stairs",
|
||||
"granite_stairs",
|
||||
"andesite_stairs",
|
||||
"red_nether_brick_stairs",
|
||||
"polished_andesite_stairs",
|
||||
"diorite_stairs",
|
||||
"polished_granite_slab",
|
||||
"smooth_red_sandstone_slab",
|
||||
"mossy_stone_brick_slab",
|
||||
"polished_diorite_slab",
|
||||
"mossy_cobblestone_slab",
|
||||
"end_stone_brick_slab",
|
||||
"smooth_sandstone_slab",
|
||||
"smooth_quartz_slab",
|
||||
"granite_slab",
|
||||
"andesite_slab",
|
||||
"red_nether_brick_slab",
|
||||
"polished_andesite_slab",
|
||||
"diorite_slab",
|
||||
"smoker",
|
||||
"blast_furnace",
|
||||
"grindstone",
|
||||
"stonecutter",
|
||||
"bell",
|
||||
"lantern",
|
||||
"soul_lantern",
|
||||
"warped_nylium",
|
||||
"crimson_nylium",
|
||||
"netherite_block",
|
||||
"ancient_debris",
|
||||
"crying_obsidian",
|
||||
"respawn_anchor",
|
||||
"lodestone",
|
||||
"blackstone",
|
||||
"blackstone_stairs",
|
||||
"blackstone_slab",
|
||||
"polished_blackstone",
|
||||
"polished_blackstone_bricks",
|
||||
"cracked_polished_blackstone_bricks",
|
||||
"chiseled_polished_blackstone",
|
||||
"polished_blackstone_brick_slab",
|
||||
"polished_blackstone_brick_stairs",
|
||||
"gilded_blackstone",
|
||||
"polished_blackstone_stairs",
|
||||
"polished_blackstone_slab",
|
||||
"polished_blackstone_pressure_plate",
|
||||
"chiseled_nether_bricks",
|
||||
"cracked_nether_bricks",
|
||||
"quartz_bricks",
|
||||
"ice",
|
||||
"packed_ice",
|
||||
"blue_ice",
|
||||
"stone_button",
|
||||
"piston",
|
||||
"sticky_piston",
|
||||
"piston_head",
|
||||
"infested_cobblestone",
|
||||
"infested_chiseled_stone_bricks",
|
||||
"infested_cracked_stone_bricks",
|
||||
"infested_stone",
|
||||
"infested_mossy_stone_bricks",
|
||||
"infested_stone_bricks",
|
||||
"cobblestone_wall",
|
||||
"mossy_cobblestone_wall",
|
||||
"brick_wall",
|
||||
"prismarine_wall",
|
||||
"red_sandstone_wall",
|
||||
"mossy_stone_brick_wall",
|
||||
"granite_wall",
|
||||
"stone_brick_wall",
|
||||
"nether_brick_wall",
|
||||
"andesite_wall",
|
||||
"red_nether_brick_wall",
|
||||
"sandstone_wall",
|
||||
"end_stone_brick_wall",
|
||||
"diorite_wall",
|
||||
"blackstone_wall",
|
||||
"polished_blackstone_brick_wall",
|
||||
"polished_blackstone_wall",
|
||||
"shulker_box",
|
||||
"black_shulker_box",
|
||||
"blue_shulker_box",
|
||||
"brown_shulker_box",
|
||||
"cyan_shulker_box",
|
||||
"gray_shulker_box",
|
||||
"green_shulker_box",
|
||||
"light_blue_shulker_box",
|
||||
"light_gray_shulker_box",
|
||||
"lime_shulker_box",
|
||||
"magenta_shulker_box",
|
||||
"orange_shulker_box",
|
||||
"pink_shulker_box",
|
||||
"purple_shulker_box",
|
||||
"red_shulker_box",
|
||||
"white_shulker_box",
|
||||
"yellow_shulker_box",
|
||||
"anvil",
|
||||
"chipped_anvil",
|
||||
"damaged_anvil",
|
||||
"cauldron",
|
||||
"rail",
|
||||
"powered_rail",
|
||||
"detector_rail",
|
||||
"activator_rail"
|
||||
],
|
||||
"needs_diamond_tool": [
|
||||
"obsidian",
|
||||
"crying_obsidian",
|
||||
"netherite_block",
|
||||
"respawn_anchor",
|
||||
"ancient_debris"
|
||||
],
|
||||
"needs_iron_tool": [
|
||||
"diamond_block",
|
||||
"diamond_ore",
|
||||
"emerald_ore",
|
||||
"emerald_block",
|
||||
"gold_block",
|
||||
"gold_ore",
|
||||
"redstone_ore"
|
||||
],
|
||||
"needs_stone_tool": [
|
||||
"iron_block",
|
||||
"iron_ore",
|
||||
"lapis_block",
|
||||
"lapis_ore"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
{
|
||||
"blockstates": {
|
||||
"4729": "chain[axis=y,waterlogged=true]",
|
||||
"4730": "chain[axis=y,waterlogged=false]",
|
||||
"14886": "lantern[hanging=true,waterlogged=false]",
|
||||
"14887": "lantern[hanging=false,waterlogged=false]",
|
||||
"14888": "soul_lantern[hanging=true,waterlogged=false]",
|
||||
"14889": "soul_lantern[hanging=false,waterlogged=false]"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"particles": {
|
||||
"barrier": "block_marker",
|
||||
"light": "block_marker"
|
||||
}
|
||||
}
|
@ -1,200 +0,0 @@
|
||||
{
|
||||
"blockstates": {
|
||||
"148": "oak_leaves[distance=1,persistent=true,waterlogged=false]",
|
||||
"149": "oak_leaves[distance=1,persistent=false,waterlogged=false]",
|
||||
"150": "oak_leaves[distance=2,persistent=true,waterlogged=false]",
|
||||
"151": "oak_leaves[distance=2,persistent=false,waterlogged=false]",
|
||||
"152": "oak_leaves[distance=3,persistent=true,waterlogged=false]",
|
||||
"153": "oak_leaves[distance=3,persistent=false,waterlogged=false]",
|
||||
"154": "oak_leaves[distance=4,persistent=true,waterlogged=false]",
|
||||
"155": "oak_leaves[distance=4,persistent=false,waterlogged=false]",
|
||||
"156": "oak_leaves[distance=5,persistent=true,waterlogged=false]",
|
||||
"157": "oak_leaves[distance=5,persistent=false,waterlogged=false]",
|
||||
"158": "oak_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"159": "oak_leaves[distance=6,persistent=false,waterlogged=false]",
|
||||
"160": "oak_leaves[distance=7,persistent=true,waterlogged=false]",
|
||||
"161": "oak_leaves[distance=7,persistent=false,waterlogged=false]",
|
||||
"162": "spruce_leaves[distance=1,persistent=true,waterlogged=false]",
|
||||
"163": "spruce_leaves[distance=1,persistent=false,waterlogged=false]",
|
||||
"164": "spruce_leaves[distance=2,persistent=true,waterlogged=false]",
|
||||
"165": "spruce_leaves[distance=2,persistent=false,waterlogged=false]",
|
||||
"166": "spruce_leaves[distance=3,persistent=true,waterlogged=false]",
|
||||
"167": "spruce_leaves[distance=3,persistent=false,waterlogged=false]",
|
||||
"168": "spruce_leaves[distance=4,persistent=true,waterlogged=false]",
|
||||
"169": "spruce_leaves[distance=4,persistent=false,waterlogged=false]",
|
||||
"170": "spruce_leaves[distance=5,persistent=true,waterlogged=false]",
|
||||
"171": "spruce_leaves[distance=5,persistent=false,waterlogged=false]",
|
||||
"172": "spruce_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"173": "spruce_leaves[distance=6,persistent=false,waterlogged=false]",
|
||||
"174": "spruce_leaves[distance=7,persistent=true,waterlogged=false]",
|
||||
"175": "spruce_leaves[distance=7,persistent=false,waterlogged=false]",
|
||||
"176": "birch_leaves[distance=1,persistent=true,waterlogged=false]",
|
||||
"177": "birch_leaves[distance=1,persistent=false,waterlogged=false]",
|
||||
"178": "birch_leaves[distance=2,persistent=true,waterlogged=false]",
|
||||
"179": "birch_leaves[distance=2,persistent=false,waterlogged=false]",
|
||||
"180": "birch_leaves[distance=3,persistent=true,waterlogged=false]",
|
||||
"181": "birch_leaves[distance=3,persistent=false,waterlogged=false]",
|
||||
"182": "birch_leaves[distance=4,persistent=true,waterlogged=false]",
|
||||
"183": "birch_leaves[distance=4,persistent=false,waterlogged=false]",
|
||||
"184": "birch_leaves[distance=5,persistent=true,waterlogged=false]",
|
||||
"185": "birch_leaves[distance=5,persistent=false,waterlogged=false]",
|
||||
"186": "birch_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"187": "birch_leaves[distance=6,persistent=false,waterlogged=false]",
|
||||
"188": "birch_leaves[distance=7,persistent=true,waterlogged=false]",
|
||||
"189": "birch_leaves[distance=7,persistent=false,waterlogged=false]",
|
||||
"190": "jungle_leaves[distance=1,persistent=true,waterlogged=false]",
|
||||
"191": "jungle_leaves[distance=1,persistent=false,waterlogged=false]",
|
||||
"192": "jungle_leaves[distance=2,persistent=true,waterlogged=false]",
|
||||
"193": "jungle_leaves[distance=2,persistent=false,waterlogged=false]",
|
||||
"194": "jungle_leaves[distance=3,persistent=true,waterlogged=false]",
|
||||
"195": "jungle_leaves[distance=3,persistent=false,waterlogged=false]",
|
||||
"196": "jungle_leaves[distance=4,persistent=true,waterlogged=false]",
|
||||
"197": "jungle_leaves[distance=4,persistent=false,waterlogged=false]",
|
||||
"198": "jungle_leaves[distance=5,persistent=true,waterlogged=false]",
|
||||
"199": "jungle_leaves[distance=5,persistent=false,waterlogged=false]",
|
||||
"200": "jungle_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"201": "jungle_leaves[distance=6,persistent=false,waterlogged=false]",
|
||||
"202": "jungle_leaves[distance=7,persistent=true,waterlogged=false]",
|
||||
"203": "jungle_leaves[distance=7,persistent=false,waterlogged=false]",
|
||||
"204": "acacia_leaves[distance=1,persistent=true,waterlogged=false]",
|
||||
"205": "acacia_leaves[distance=1,persistent=false,waterlogged=false]",
|
||||
"206": "acacia_leaves[distance=2,persistent=true,waterlogged=false]",
|
||||
"207": "acacia_leaves[distance=2,persistent=false,waterlogged=false]",
|
||||
"208": "acacia_leaves[distance=3,persistent=true,waterlogged=false]",
|
||||
"209": "acacia_leaves[distance=3,persistent=false,waterlogged=false]",
|
||||
"210": "acacia_leaves[distance=4,persistent=true,waterlogged=false]",
|
||||
"211": "acacia_leaves[distance=4,persistent=false,waterlogged=false]",
|
||||
"212": "acacia_leaves[distance=5,persistent=true,waterlogged=false]",
|
||||
"213": "acacia_leaves[distance=5,persistent=false,waterlogged=false]",
|
||||
"214": "acacia_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"215": "acacia_leaves[distance=6,persistent=false,waterlogged=false]",
|
||||
"216": "acacia_leaves[distance=7,persistent=true,waterlogged=false]",
|
||||
"217": "acacia_leaves[distance=7,persistent=false,waterlogged=false]",
|
||||
"218": "dark_oak_leaves[distance=1,persistent=true,waterlogged=false]",
|
||||
"219": "dark_oak_leaves[distance=1,persistent=false,waterlogged=false]",
|
||||
"220": "dark_oak_leaves[distance=2,persistent=true,waterlogged=false]",
|
||||
"221": "dark_oak_leaves[distance=2,persistent=false,waterlogged=false]",
|
||||
"222": "dark_oak_leaves[distance=3,persistent=true,waterlogged=false]",
|
||||
"223": "dark_oak_leaves[distance=3,persistent=false,waterlogged=false]",
|
||||
"224": "dark_oak_leaves[distance=4,persistent=true,waterlogged=false]",
|
||||
"225": "dark_oak_leaves[distance=4,persistent=false,waterlogged=false]",
|
||||
"226": "dark_oak_leaves[distance=5,persistent=true,waterlogged=false]",
|
||||
"227": "dark_oak_leaves[distance=5,persistent=false,waterlogged=false]",
|
||||
"228": "dark_oak_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"229": "dark_oak_leaves[distance=6,persistent=false,waterlogged=false]",
|
||||
"230": "dark_oak_leaves[distance=7,persistent=true,waterlogged=false]",
|
||||
"231": "dark_oak_leaves[distance=7,persistent=false,waterlogged=false]",
|
||||
"232": "azalea_leaves[distance=1,persistent=true,waterlogged=false]",
|
||||
"233": "azalea_leaves[distance=1,persistent=false,waterlogged=false]",
|
||||
"234": "azalea_leaves[distance=2,persistent=true,waterlogged=false]",
|
||||
"235": "azalea_leaves[distance=2,persistent=false,waterlogged=false]",
|
||||
"236": "azalea_leaves[distance=3,persistent=true,waterlogged=false]",
|
||||
"237": "azalea_leaves[distance=3,persistent=false,waterlogged=false]",
|
||||
"238": "azalea_leaves[distance=4,persistent=true,waterlogged=false]",
|
||||
"239": "azalea_leaves[distance=4,persistent=false,waterlogged=false]",
|
||||
"240": "azalea_leaves[distance=5,persistent=true,waterlogged=false]",
|
||||
"241": "azalea_leaves[distance=5,persistent=false,waterlogged=false]",
|
||||
"242": "azalea_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"243": "azalea_leaves[distance=6,persistent=false,waterlogged=false]",
|
||||
"244": "azalea_leaves[distance=7,persistent=true,waterlogged=false]",
|
||||
"245": "azalea_leaves[distance=7,persistent=false,waterlogged=false]",
|
||||
"246": "flowering_azalea_leaves[distance=1,persistent=true,waterlogged=false]",
|
||||
"247": "flowering_azalea_leaves[distance=1,persistent=false,waterlogged=false]",
|
||||
"248": "flowering_azalea_leaves[distance=2,persistent=true,waterlogged=false]",
|
||||
"249": "flowering_azalea_leaves[distance=2,persistent=false,waterlogged=false]",
|
||||
"250": "flowering_azalea_leaves[distance=3,persistent=true,waterlogged=false]",
|
||||
"251": "flowering_azalea_leaves[distance=3,persistent=false,waterlogged=false]",
|
||||
"252": "flowering_azalea_leaves[distance=4,persistent=true,waterlogged=false]",
|
||||
"253": "flowering_azalea_leaves[distance=4,persistent=false,waterlogged=false]",
|
||||
"254": "flowering_azalea_leaves[distance=5,persistent=true,waterlogged=false]",
|
||||
"255": "flowering_azalea_leaves[distance=5,persistent=false,waterlogged=false]",
|
||||
"256": "flowering_azalea_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"257": "flowering_azalea_leaves[distance=6,persistent=false,waterlogged=false]",
|
||||
"258": "flowering_azalea_leaves[distance=7,persistent=true,waterlogged=false]",
|
||||
"259": "flowering_azalea_leaves[distance=7,persistent=false,waterlogged=false]",
|
||||
"1416": "piston_head[type=normal,facing=north,short=true]",
|
||||
"1417": "piston_head[type=sticky,facing=north,short=true]",
|
||||
"1418": "piston_head[type=normal,facing=north,short=false]",
|
||||
"1419": "piston_head[type=sticky,facing=north,short=false]",
|
||||
"1420": "piston_head[type=normal,facing=east,short=true]",
|
||||
"1421": "piston_head[type=sticky,facing=east,short=true]",
|
||||
"1422": "piston_head[type=normal,facing=east,short=false]",
|
||||
"1423": "piston_head[type=sticky,facing=east,short=false]",
|
||||
"1424": "piston_head[type=normal,facing=south,short=true]",
|
||||
"1425": "piston_head[type=sticky,facing=south,short=true]",
|
||||
"1426": "piston_head[type=normal,facing=south,short=false]",
|
||||
"1427": "piston_head[type=sticky,facing=south,short=false]",
|
||||
"1428": "piston_head[type=normal,facing=west,short=true]",
|
||||
"1429": "piston_head[type=sticky,facing=west,short=true]",
|
||||
"1430": "piston_head[type=normal,facing=west,short=false]",
|
||||
"1431": "piston_head[type=sticky,facing=west,short=false]",
|
||||
"1432": "piston_head[type=normal,facing=up,short=true]",
|
||||
"1433": "piston_head[type=sticky,facing=up,short=true]",
|
||||
"1434": "piston_head[type=normal,facing=up,short=false]",
|
||||
"1435": "piston_head[type=sticky,facing=up,short=false]",
|
||||
"1436": "piston_head[type=normal,facing=down,short=true]",
|
||||
"1437": "piston_head[type=sticky,facing=down,short=true]",
|
||||
"1438": "piston_head[type=normal,facing=down,short=false]",
|
||||
"1439": "piston_head[type=sticky,facing=down,short=false]",
|
||||
"1456": "moving_piston[type=normal,facing=north]",
|
||||
"1457": "moving_piston[type=sticky,facing=north]",
|
||||
"1458": "moving_piston[type=normal,facing=east]",
|
||||
"1459": "moving_piston[type=sticky,facing=east]",
|
||||
"1460": "moving_piston[type=normal,facing=south]",
|
||||
"1461": "moving_piston[type=sticky,facing=south]",
|
||||
"1462": "moving_piston[type=normal,facing=west]",
|
||||
"1463": "moving_piston[type=sticky,facing=west]",
|
||||
"1464": "moving_piston[type=normal,facing=up]",
|
||||
"1465": "moving_piston[type=sticky,facing=up]",
|
||||
"1466": "moving_piston[type=normal,facing=down]",
|
||||
"1467": "moving_piston[type=sticky,facing=down]",
|
||||
"2090": "chest[type=single,facing=north,waterlogged=true]",
|
||||
"2091": "chest[type=single,facing=north,waterlogged=false]",
|
||||
"2092": "chest[type=left,facing=north,waterlogged=true]",
|
||||
"2093": "chest[type=left,facing=north,waterlogged=false]",
|
||||
"2094": "chest[type=right,facing=north,waterlogged=true]",
|
||||
"2095": "chest[type=right,facing=north,waterlogged=false]",
|
||||
"2096": "chest[type=single,facing=south,waterlogged=true]",
|
||||
"2097": "chest[type=single,facing=south,waterlogged=false]",
|
||||
"2098": "chest[type=left,facing=south,waterlogged=true]",
|
||||
"2099": "chest[type=left,facing=south,waterlogged=false]",
|
||||
"2100": "chest[type=right,facing=south,waterlogged=true]",
|
||||
"2101": "chest[type=right,facing=south,waterlogged=false]",
|
||||
"2102": "chest[type=single,facing=west,waterlogged=true]",
|
||||
"2103": "chest[type=single,facing=west,waterlogged=false]",
|
||||
"2104": "chest[type=left,facing=west,waterlogged=true]",
|
||||
"2105": "chest[type=left,facing=west,waterlogged=false]",
|
||||
"2106": "chest[type=right,facing=west,waterlogged=true]",
|
||||
"2107": "chest[type=right,facing=west,waterlogged=false]",
|
||||
"2108": "chest[type=single,facing=east,waterlogged=true]",
|
||||
"2109": "chest[type=single,facing=east,waterlogged=false]",
|
||||
"2110": "chest[type=left,facing=east,waterlogged=true]",
|
||||
"2111": "chest[type=left,facing=east,waterlogged=false]",
|
||||
"2112": "chest[type=right,facing=east,waterlogged=true]",
|
||||
"2113": "chest[type=right,facing=east,waterlogged=false]",
|
||||
"6828": "trapped_chest[type=single,facing=north,waterlogged=true]",
|
||||
"6829": "trapped_chest[type=single,facing=north,waterlogged=false]",
|
||||
"6830": "trapped_chest[type=left,facing=north,waterlogged=true]",
|
||||
"6831": "trapped_chest[type=left,facing=north,waterlogged=false]",
|
||||
"6832": "trapped_chest[type=right,facing=north,waterlogged=true]",
|
||||
"6833": "trapped_chest[type=right,facing=north,waterlogged=false]",
|
||||
"6834": "trapped_chest[type=single,facing=south,waterlogged=true]",
|
||||
"6835": "trapped_chest[type=single,facing=south,waterlogged=false]",
|
||||
"6836": "trapped_chest[type=left,facing=south,waterlogged=true]",
|
||||
"6837": "trapped_chest[type=left,facing=south,waterlogged=false]",
|
||||
"6838": "trapped_chest[type=right,facing=south,waterlogged=true]",
|
||||
"6839": "trapped_chest[type=right,facing=south,waterlogged=false]",
|
||||
"6840": "trapped_chest[type=single,facing=west,waterlogged=true]",
|
||||
"6841": "trapped_chest[type=single,facing=west,waterlogged=false]",
|
||||
"6842": "trapped_chest[type=left,facing=west,waterlogged=true]",
|
||||
"6843": "trapped_chest[type=left,facing=west,waterlogged=false]",
|
||||
"6844": "trapped_chest[type=right,facing=west,waterlogged=true]",
|
||||
"6845": "trapped_chest[type=right,facing=west,waterlogged=false]",
|
||||
"6846": "trapped_chest[type=single,facing=east,waterlogged=true]",
|
||||
"6847": "trapped_chest[type=single,facing=east,waterlogged=false]",
|
||||
"6848": "trapped_chest[type=left,facing=east,waterlogged=true]",
|
||||
"6849": "trapped_chest[type=left,facing=east,waterlogged=false]",
|
||||
"6850": "trapped_chest[type=right,facing=east,waterlogged=true]",
|
||||
"6851": "trapped_chest[type=right,facing=east,waterlogged=false]"
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"argumenttypes": {
|
||||
"item_enchantment": "resource",
|
||||
"mob_effect": "resource",
|
||||
"entity_summon": "resource"
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user