Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-12-27 08:30:09 +01:00
Minimize/optimize mapping data files
Dieser Commit ist enthalten in:
Ursprung
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));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
BIN
common/src/main/resources/assets/viaversion/data/blockstates-1.13.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/blockstates-1.13.nbt
Normale Datei
Binäre Datei nicht angezeigt.
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
BIN
common/src/main/resources/assets/viaversion/data/heightmap-1.14.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/heightmap-1.14.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.13.2.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.13.2.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.13.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.13.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.14.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.14.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.15.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.15.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.16.2.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.16.2.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.16.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.16.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.17.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.17.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.18.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.18.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.19.3.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.19.3.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.19.4.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.19.4.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.19.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/identifiers-1.19.nbt
Normale Datei
Binäre Datei nicht angezeigt.
@ -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"
|
||||
]
|
||||
}
|
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
@ -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"
|
||||
}
|
||||
}
|
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.12to1.13.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.12to1.13.nbt
Normale Datei
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.14to1.15.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.14to1.15.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.15to1.16.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.15to1.16.nbt
Normale Datei
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.17to1.18.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.17to1.18.nbt
Normale Datei
Binäre Datei nicht angezeigt.
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.18to1.19.nbt
Normale Datei
BIN
common/src/main/resources/assets/viaversion/data/mappings-1.18to1.19.nbt
Normale Datei
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
Binäre Datei nicht angezeigt.
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren