3
0
Mirror von https://github.com/ViaVersion/ViaBackwards.git synchronisiert 2024-12-24 23:30:17 +01:00

Update to new mappings format

Dieser Commit ist enthalten in:
Nassim Jahnke 2023-03-04 17:25:45 +01:00
Ursprung 53daf8328c
Commit b516103a6e
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 6BE3B555EBC5982B
55 geänderte Dateien mit 1523 neuen und 17144 gelöschten Zeilen

Datei anzeigen

@ -1,10 +1,12 @@
import java.util.*
plugins { plugins {
id("vb.shadow-conventions") id("vb.shadow-conventions")
} }
tasks { tasks {
shadowJar { shadowJar {
archiveFileName.set("ViaBackwards-${project.name.substringAfter("viabackwards-").capitalize()}-${project.version}.jar") archiveFileName.set("ViaBackwards-${project.name.substringAfter("viabackwards-").replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() }}-${project.version}.jar")
destinationDirectory.set(rootProject.layout.buildDirectory.dir("libs")) destinationDirectory.set(rootProject.layout.buildDirectory.dir("libs"))
} }
} }

Datei anzeigen

@ -34,7 +34,7 @@ public class BukkitPlugin extends JavaPlugin implements ViaBackwardsPlatform {
public BukkitPlugin() { public BukkitPlugin() {
// This is the only place we can enable this before ViaVersion is loaded and registers protocols // This is the only place we can enable this before ViaVersion is loaded and registers protocols
MappingDataLoader.enableMappingsCache(); // MappingDataLoader.enableMappingsCache();
} }
@Override @Override

Datei anzeigen

@ -27,7 +27,7 @@ public class BungeePlugin extends Plugin implements ViaBackwardsPlatform {
@Override @Override
public void onLoad() { public void onLoad() {
MappingDataLoader.enableMappingsCache(); // MappingDataLoader.enableMappingsCache();
Via.getManager().addEnableListener(() -> this.init(getDataFolder())); Via.getManager().addEnableListener(() -> this.init(getDataFolder()));
} }

Datei anzeigen

@ -21,120 +21,121 @@ import com.google.common.base.Preconditions;
import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viabackwards.api.BackwardsProtocol; import com.viaversion.viabackwards.api.BackwardsProtocol;
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.data.BiMappings;
import com.viaversion.viaversion.api.data.FullMappings;
import com.viaversion.viaversion.api.data.MappingData;
import com.viaversion.viaversion.api.data.MappingDataBase; import com.viaversion.viaversion.api.data.MappingDataBase;
import com.viaversion.viaversion.api.data.Mappings; import com.viaversion.viaversion.api.data.Mappings;
import com.viaversion.viaversion.api.protocol.Protocol; import com.viaversion.viaversion.api.protocol.Protocol;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap;
import com.viaversion.viaversion.libs.gson.JsonObject; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.StringTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag;
import com.viaversion.viaversion.util.Key; import com.viaversion.viaversion.util.Key;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
public class BackwardsMappings extends MappingDataBase { public class BackwardsMappings extends MappingDataBase {
private static final Set<String> TO_REUSE = new HashSet<>(Arrays.asList("blocks", "blockentities", "statistics", "sounds", "enchantments", "paintings", "argumenttypes", "entities", "items"));
private final Class<? extends Protocol<?, ?, ?, ?>> vvProtocolClass; private final Class<? extends Protocol<?, ?, ?, ?>> vvProtocolClass;
protected Int2ObjectMap<MappedItem> backwardsItemMappings; protected Int2ObjectMap<MappedItem> backwardsItemMappings;
private Map<String, String> backwardsSoundMappings; private Map<String, String> backwardsSoundMappings;
private Map<String, String> entityNames; private Map<String, String> entityNames;
public BackwardsMappings(String oldVersion, String newVersion, @Nullable Class<? extends Protocol<?, ?, ?, ?>> vvProtocolClass) { public BackwardsMappings(final String unmappedVersion, final String mappedVersion) {
this(oldVersion, newVersion, vvProtocolClass, false); this(unmappedVersion, mappedVersion, null);
} }
public BackwardsMappings(String oldVersion, String newVersion, @Nullable Class<? extends Protocol<?, ?, ?, ?>> vvProtocolClass, boolean hasDiffFile) { public BackwardsMappings(final String unmappedVersion, final String mappedVersion, @Nullable final Class<? extends Protocol<?, ?, ?, ?>> vvProtocolClass) {
super(oldVersion, newVersion, hasDiffFile); super(unmappedVersion, mappedVersion);
Preconditions.checkArgument(vvProtocolClass == null || !vvProtocolClass.isAssignableFrom(BackwardsProtocol.class)); Preconditions.checkArgument(vvProtocolClass == null || !vvProtocolClass.isAssignableFrom(BackwardsProtocol.class));
this.vvProtocolClass = vvProtocolClass; this.vvProtocolClass = vvProtocolClass;
// Just re-use ViaVersion's item id map
} }
@Override @Override
protected final void loadExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings) { protected void loadExtras(final CompoundTag data) {
if (diffMappings != null) { final CompoundTag itemNames = data.get("itemnames");
JsonObject diffItems = diffMappings.getAsJsonObject("items"); if (itemNames != null) {
if (diffItems != null && mappedIdentifiers.get("items").isJsonArray() && unmappedIdentifiers.get("items").isJsonArray()) { backwardsItemMappings = new Int2ObjectOpenHashMap<>(itemNames.size());
backwardsItemMappings = VBMappingDataLoader.loadItemMappings(unmappedIdentifiers.getAsJsonArray("items"), for (final Map.Entry<String, Tag> entry : itemNames.entrySet()) {
mappedIdentifiers.getAsJsonArray("items"), diffItems, shouldWarnOnMissing("items")); final StringTag name = (StringTag) entry.getValue();
} final int id = Integer.parseInt(entry.getKey());
//TODO Custom model data definition
JsonObject diffSounds = diffMappings.getAsJsonObject("sounds"); backwardsItemMappings.put(id, new MappedItem(getNewItemId(id), name.getValue()));
if (diffSounds != null) {
backwardsSoundMappings = VBMappingDataLoader.objectToMap(diffSounds);
}
JsonObject diffEntityNames = diffMappings.getAsJsonObject("entitynames");
if (diffEntityNames != null) {
entityNames = VBMappingDataLoader.objectToMap(diffEntityNames);
} }
} }
// Just re-use ViaVersion's item id map final CompoundTag entityNames = data.get("entitynames");
if (vvProtocolClass != null) { if (entityNames != null) {
itemMappings = Via.getManager().getProtocolManager().getProtocol(vvProtocolClass).getMappingData().getItemMappings().inverse(); this.entityNames = new HashMap<>(entityNames.size());
for (final Map.Entry<String, Tag> entry : entityNames.entrySet()) {
this.entityNames.put(entry.getKey(), ((StringTag) entry.getValue()).getValue());
}
} }
loadVBExtras(unmappedIdentifiers, mappedIdentifiers, diffMappings); final CompoundTag soundNames = data.get("soundnames");
} if (soundNames != null) {
backwardsSoundMappings = new HashMap<>(soundNames.size());
@Override for (final Map.Entry<String, Tag> entry : soundNames.entrySet()) {
protected @Nullable Mappings loadFromArray(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings, String key) { backwardsSoundMappings.put(entry.getKey(), ((StringTag) entry.getValue()).getValue());
if (!unmappedIdentifiers.has(key) || !mappedIdentifiers.has(key) || !shouldLoad(key)) { }
return null;
} }
JsonObject diff = diffMappings != null ? diffMappings.getAsJsonObject(key) : null; //TODO mix data from tag into copied VV mappings/create anew
return VBMappings.vbBuilder().unmapped(unmappedIdentifiers.getAsJsonArray(key)).mapped(mappedIdentifiers.getAsJsonArray(key)) if (vvProtocolClass == null || true) {
.diffMappings(diff).warnOnMissing(shouldWarnOnMissing(key)).build(); return;
}
@Override
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; // Reuse most of ViaVersion's mappings - VB only needs to load blockstates, particles, and additional diff mappings
return VBMappings.vbBuilder().unmapped(unmappedIdentifiers.getAsJsonObject(key)).mapped(mappedIdentifiers.getAsJsonObject(key)) final MappingData mappingData = Via.getManager().getProtocolManager().getProtocol(vvProtocolClass).getMappingData();
.diffMappings(diff).warnOnMissing(shouldWarnOnMissing(key)).build(); final BiMappings itemMappings = mappingData.getItemMappings();
if (itemMappings != null) {
// Additional backwards mappings held in backwardsItemMappings
this.itemMappings = itemMappings.inverse();
}
this.blockMappings = mappings(data, mappingData.getBlockMappings(), "blocks");
this.blockEntityMappings = mappings(data, mappingData.getBlockEntityMappings(), "blockentities");
this.soundMappings = mappings(data, mappingData.getSoundMappings(), "sounds");
this.statisticsMappings = mappings(data, mappingData.getStatisticsMappings(), "statistics");
this.enchantmentMappings = mappings(data, mappingData.getEnchantmentMappings(), "enchantments");
this.paintingMappings = mappings(data, mappingData.getPaintingMappings(), "paintings");
this.entityMappings = fullMappings(data, mappingData.getEntityMappings(), "entities");
this.argumentTypeMappings = fullMappings(data, mappingData.getArgumentTypeMappings(), "argumenttypes");
} }
@Override protected @Nullable Mappings mappings(final CompoundTag tag, @Nullable final Mappings mappings, final String key) {
protected JsonObject loadDiffFile() { //TODO mix data from tag into it/create anew
return VBMappingDataLoader.loadFromDataDir("mapping-" + newVersion + "to" + oldVersion + ".json"); return mappings != null ? mappings.createInverse() : null;
} }
/** protected @Nullable FullMappings fullMappings(final CompoundTag tag, @Nullable final FullMappings mappings, final String key) {
* To be overridden. return mappings != null ? mappings.createInverse() : null;
*/
protected void loadVBExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, JsonObject diffMappings) {
} }
protected boolean shouldWarnOnMissing(String key) { /*@Override
return !key.equals("blocks") && !key.equals("statistics") && !key.equals("entities");
}
@Override
protected boolean shouldLoad(final String key) { protected boolean shouldLoad(final String key) {
return !key.equals("items"); return !TO_REUSE.contains(key);
} }/*/
@Override
protected Logger getLogger() {
return ViaBackwards.getPlatform().getLogger();
}
/** /**
* @see #getMappedItem(int) for custom backwards mappings * @see #getMappedItem(int) for custom backwards mappings
*/ */
@Override @Override
public int getNewItemId(int id) { public int getNewItemId(final int id) {
// Don't warn on missing here // Don't warn on missing here
return this.itemMappings.getNewId(id); return this.itemMappings.getNewId(id);
} }
@Override @Override
public int getNewBlockId(int id) { public int getNewBlockId(final int id) {
// Don't warn on missing here // Don't warn on missing here
return this.blockMappings.getNewId(id); return this.blockMappings.getNewId(id);
} }
@ -145,18 +146,18 @@ public class BackwardsMappings extends MappingDataBase {
return checkValidity(id, this.itemMappings.inverse().getNewId(id), "item"); return checkValidity(id, this.itemMappings.inverse().getNewId(id), "item");
} }
public @Nullable MappedItem getMappedItem(int id) { public @Nullable MappedItem getMappedItem(final int id) {
return backwardsItemMappings != null ? backwardsItemMappings.get(id) : null; return backwardsItemMappings != null ? backwardsItemMappings.get(id) : null;
} }
public @Nullable String getMappedNamedSound(String id) { public @Nullable String getMappedNamedSound(final String id) {
if (backwardsSoundMappings == null) { if (backwardsSoundMappings == null) {
return null; return null;
} }
return backwardsSoundMappings.get(Key.stripMinecraftNamespace(id)); return backwardsSoundMappings.get(Key.stripMinecraftNamespace(id));
} }
public @Nullable String mappedEntityName(String entityName) { public @Nullable String mappedEntityName(final String entityName) {
if (entityNames == null) { if (entityNames == null) {
ViaBackwards.getPlatform().getLogger().severe("No entity mappings found when requesting them for " + entityName); ViaBackwards.getPlatform().getLogger().severe("No entity mappings found when requesting them for " + entityName);
new Exception().printStackTrace(); new Exception().printStackTrace();
@ -176,4 +177,14 @@ public class BackwardsMappings extends MappingDataBase {
public @Nullable Class<? extends Protocol<?, ?, ?, ?>> getViaVersionProtocolClass() { public @Nullable Class<? extends Protocol<?, ?, ?, ?>> getViaVersionProtocolClass() {
return vvProtocolClass; return vvProtocolClass;
} }
@Override
protected Logger getLogger() {
return ViaBackwards.getPlatform().getLogger();
}
@Override
protected @Nullable CompoundTag readNBTFile(final String name) {
return VBMappingDataLoader.loadNBT(name);
}
} }

Datei anzeigen

@ -20,8 +20,6 @@ package com.viaversion.viabackwards.api.data;
import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.data.MappingDataLoader; import com.viaversion.viaversion.api.data.MappingDataLoader;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap; import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap;
import com.viaversion.viaversion.libs.gson.JsonArray; import com.viaversion.viaversion.libs.gson.JsonArray;
import com.viaversion.viaversion.libs.gson.JsonElement; import com.viaversion.viaversion.libs.gson.JsonElement;
@ -29,18 +27,32 @@ import com.viaversion.viaversion.libs.gson.JsonIOException;
import com.viaversion.viaversion.libs.gson.JsonObject; import com.viaversion.viaversion.libs.gson.JsonObject;
import com.viaversion.viaversion.libs.gson.JsonPrimitive; import com.viaversion.viaversion.libs.gson.JsonPrimitive;
import com.viaversion.viaversion.libs.gson.JsonSyntaxException; import com.viaversion.viaversion.libs.gson.JsonSyntaxException;
import com.viaversion.viaversion.libs.opennbt.NBTIO;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.util.GsonUtil; import com.viaversion.viaversion.util.GsonUtil;
import java.io.File; import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
public final class VBMappingDataLoader { public final class VBMappingDataLoader {
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 JsonObject loadFromDataDir(String name) { public static JsonObject loadFromDataDir(String name) {
File file = new File(ViaBackwards.getPlatform().getDataFolder(), name); File file = new File(ViaBackwards.getPlatform().getDataFolder(), name);
if (!file.exists()) { if (!file.exists()) {
@ -136,54 +148,4 @@ public final class VBMappingDataLoader {
} }
return mappedId; return mappedId;
} }
public static Map<String, String> objectToMap(JsonObject object) {
Map<String, String> mappings = new HashMap<>(object.size());
for (Map.Entry<String, JsonElement> entry : object.entrySet()) {
mappings.put(entry.getKey(), entry.getValue().getAsString());
}
return mappings;
}
public static Int2ObjectMap<MappedItem> loadItemMappings(JsonArray unmappedIdentifiers, JsonArray mappedIdentifiers, JsonObject diffMapping, boolean warnOnMissing) {
return loadItemMappings(MappingDataLoader.arrayToMap(unmappedIdentifiers), MappingDataLoader.arrayToMap(mappedIdentifiers), diffMapping, warnOnMissing);
}
public static Int2ObjectMap<MappedItem> loadItemMappings(Object2IntMap<String> unmappedIdentifiers, Object2IntMap<String> mappedIdentifiers, JsonObject diffMapping, boolean warnOnMissing) {
Int2ObjectMap<MappedItem> itemMapping = new Int2ObjectOpenHashMap<>(diffMapping.size(), 0.99F);
for (Map.Entry<String, JsonElement> entry : diffMapping.entrySet()) {
JsonObject object = entry.getValue().getAsJsonObject();
String mappedIdentifier = object.getAsJsonPrimitive("id").getAsString();
int mappedId = mappedIdentifiers.getInt(mappedIdentifier);
if (mappedId == -1) {
if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) {
ViaBackwards.getPlatform().getLogger().warning("Mapped item " + mappedIdentifier + " does not exist :( ");
}
continue;
}
int unmappedId = unmappedIdentifiers.getInt(entry.getKey());
if (unmappedId == -1) {
if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) {
ViaBackwards.getPlatform().getLogger().warning("Unmapped item " + entry.getKey() + " doesn't exist :( ");
}
continue;
}
String name = object.getAsJsonPrimitive("name").getAsString();
JsonPrimitive customModelData = object.getAsJsonPrimitive("custom_model_data");
itemMapping.put(unmappedId, new MappedItem(mappedId, name, customModelData != null ? customModelData.getAsInt() : null));
}
// Look for missing keys
if (warnOnMissing && !Via.getConfig().isSuppressConversionWarnings()) {
for (Object2IntMap.Entry<String> entry : unmappedIdentifiers.object2IntEntrySet()) {
if (!mappedIdentifiers.containsKey(entry.getKey()) && !itemMapping.containsKey(entry.getIntValue())) {
ViaBackwards.getPlatform().getLogger().warning("No item mapping for " + entry.getKey() + " :( ");
}
}
}
return itemMapping;
}
} }

Datei anzeigen

@ -42,7 +42,9 @@ public class ItemRewriter<C extends ClientboundPacketType, S extends Serverbound
@Override @Override
public @Nullable Item handleItemToClient(@Nullable Item item) { public @Nullable Item handleItemToClient(@Nullable Item item) {
if (item == null) return null; if (item == null) {
return null;
}
CompoundTag display = item.tag() != null ? item.tag().get("display") : null; CompoundTag display = item.tag() != null ? item.tag().get("display") : null;
if (protocol.getTranslatableRewriter() != null && display != null) { if (protocol.getTranslatableRewriter() != null && display != null) {

Datei anzeigen

@ -34,7 +34,7 @@ import com.viaversion.viaversion.protocols.protocol1_9_3to1_9_1_2.storage.Client
public class Protocol1_10To1_11 extends BackwardsProtocol<ClientboundPackets1_9_3, ClientboundPackets1_9_3, ServerboundPackets1_9_3, ServerboundPackets1_9_3> { public class Protocol1_10To1_11 extends BackwardsProtocol<ClientboundPackets1_9_3, ClientboundPackets1_9_3, ServerboundPackets1_9_3, ServerboundPackets1_9_3> {
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.11", "1.10", null, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.11", "1.10");
private final EntityPackets1_11 entityPackets = new EntityPackets1_11(this); // Required for the item rewriter private final EntityPackets1_11 entityPackets = new EntityPackets1_11(this); // Required for the item rewriter
private BlockItemPackets1_11 blockItemPackets; private BlockItemPackets1_11 blockItemPackets;

Datei anzeigen

@ -39,12 +39,7 @@ import com.viaversion.viaversion.protocols.protocol1_9to1_8.Protocol1_9To1_8;
public class Protocol1_11_1To1_12 extends BackwardsProtocol<ClientboundPackets1_12, ClientboundPackets1_9_3, ServerboundPackets1_12, ServerboundPackets1_9_3> { public class Protocol1_11_1To1_12 extends BackwardsProtocol<ClientboundPackets1_12, ClientboundPackets1_9_3, ServerboundPackets1_12, ServerboundPackets1_9_3> {
private static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.12", "1.11", null, true) { private static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.12", "1.11");
@Override
protected boolean shouldWarnOnMissing(final String key) {
return super.shouldWarnOnMissing(key) && !key.equals("sounds");
}
};
private final EntityPackets1_12 entityPackets = new EntityPackets1_12(this); private final EntityPackets1_12 entityPackets = new EntityPackets1_12(this);
private final BlockItemPackets1_12 blockItemPackets = new BlockItemPackets1_12(this); private final BlockItemPackets1_12 blockItemPackets = new BlockItemPackets1_12(this);

Datei anzeigen

@ -22,10 +22,9 @@ import com.viaversion.viabackwards.protocol.protocol1_12_2to1_13.providers.Backw
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.data.MappingDataLoader; import com.viaversion.viaversion.api.data.MappingDataLoader;
import com.viaversion.viaversion.libs.gson.JsonArray;
import com.viaversion.viaversion.libs.gson.JsonPrimitive;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.IntTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.IntTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.ListTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.StringTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.StringTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag;
import com.viaversion.viaversion.protocols.protocol1_13to1_12_2.blockconnections.ConnectionData; import com.viaversion.viaversion.protocols.protocol1_13to1_12_2.blockconnections.ConnectionData;
@ -48,10 +47,10 @@ public class PistonHandler implements BackwardsBlockEntityProvider.BackwardsBloc
addEntries(entry.getKey(), entry.getValue()); addEntries(entry.getKey(), entry.getValue());
} }
} else { } else {
JsonArray mappings = MappingDataLoader.getMappingsCache().get("mapping-1.13.json").getAsJsonArray("blockstates"); ListTag blockStates = MappingDataLoader.loadNBT("blockstates-1.13.nbt").get("blockstates");
for (int id = 0; id < mappings.size(); id++) { for (int id = 0; id < blockStates.size(); id++) {
JsonPrimitive state = mappings.get(id).getAsJsonPrimitive(); StringTag state = blockStates.get(id);
String key = state.getAsString(); String key = state.getValue();
if (!key.contains("piston")) { if (!key.contains("piston")) {
continue; continue;
} }

Datei anzeigen

@ -18,23 +18,13 @@
package com.viaversion.viabackwards.protocol.protocol1_12_2to1_13.data; package com.viaversion.viabackwards.protocol.protocol1_12_2to1_13.data;
import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viaversion.api.data.BiMappings;
import com.viaversion.viabackwards.api.data.VBMappingDataLoader;
import com.viaversion.viabackwards.api.data.VBMappings;
import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.data.IntArrayMappings;
import com.viaversion.viaversion.api.data.MappingDataLoader;
import com.viaversion.viaversion.api.data.Mappings; import com.viaversion.viaversion.api.data.Mappings;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.libs.gson.JsonArray;
import com.viaversion.viaversion.libs.gson.JsonElement;
import com.viaversion.viaversion.libs.gson.JsonObject;
import com.viaversion.viaversion.libs.gson.JsonPrimitive;
import com.viaversion.viaversion.protocols.protocol1_13to1_12_2.Protocol1_13To1_12_2; import com.viaversion.viaversion.protocols.protocol1_13to1_12_2.Protocol1_13To1_12_2;
import com.viaversion.viaversion.protocols.protocol1_13to1_12_2.data.StatisticMappings; import com.viaversion.viaversion.protocols.protocol1_13to1_12_2.data.StatisticMappings;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
@ -42,20 +32,50 @@ import org.checkerframework.checker.nullness.qual.Nullable;
public class BackwardsMappings extends com.viaversion.viabackwards.api.data.BackwardsMappings { public class BackwardsMappings extends com.viaversion.viabackwards.api.data.BackwardsMappings {
private final Int2ObjectMap<String> statisticMappings = new Int2ObjectOpenHashMap<>(); private final Int2ObjectMap<String> statisticMappings = new Int2ObjectOpenHashMap<>();
private final Map<String, String> translateMappings = new HashMap<>(); private final Map<String, String> translateMappings = new HashMap<>();
private BiMappings itemMappings;
public BackwardsMappings() { public BackwardsMappings() {
super("1.13", "1.12", Protocol1_13To1_12_2.class, true); super("1.13", "1.12", Protocol1_13To1_12_2.class);
} }
@Override @Override
public void loadVBExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, JsonObject diffMappings) { public void loadExtras(final CompoundTag data) {
JsonObject diffItems = diffMappings.getAsJsonObject("items"); final Mappings itemsToMapped = loadMappings(data, "items");
JsonArray unmappedItems = unmappedIdentifiers.getAsJsonArray("items"); final BiMappings itemsToUnmapped = Protocol1_13To1_12_2.MAPPINGS.getItemMappings();
JsonObject mappedItems = mappedIdentifiers.getAsJsonObject("items"); itemMappings = new BiMappings() {
backwardsItemMappings = VBMappingDataLoader.loadItemMappings(MappingDataLoader.arrayToMap(unmappedItems), MappingDataLoader.indexedObjectToMap(mappedItems), diffItems, false); @Override
public BiMappings inverse() {
return itemsToUnmapped;
}
@Override
public int getNewId(int id) {
return itemsToMapped.getNewId(id);
}
@Override
public void setNewId(int id, int mappedId) {
itemsToMapped.setNewId(id, mappedId);
}
@Override
public int size() {
return itemsToMapped.size();
}
@Override
public int mappedSize() {
return itemsToMapped.mappedSize();
}
@Override
public Mappings createInverse() {
return itemsToMapped.createInverse();
}
};
super.loadExtras(data);
enchantmentMappings = VBMappings.vbBuilder().warnOnMissing(false)
.unmapped(unmappedIdentifiers.getAsJsonArray("enchantments")).mapped(mappedIdentifiers.getAsJsonObject("legacy_enchantments")).build();
for (Map.Entry<String, Integer> entry : StatisticMappings.CUSTOM_STATS.entrySet()) { for (Map.Entry<String, Integer> entry : StatisticMappings.CUSTOM_STATS.entrySet()) {
statisticMappings.put(entry.getValue().intValue(), entry.getKey()); statisticMappings.put(entry.getValue().intValue(), entry.getKey());
} }
@ -64,62 +84,29 @@ public class BackwardsMappings extends com.viaversion.viabackwards.api.data.Back
} }
} }
// Has lots of compat layers, so we can't use the default Via method @Override
private static void mapIdentifiers(int[] output, JsonObject newIdentifiers, JsonObject oldIdentifiers, JsonObject mapping) { protected @Nullable BiMappings loadBiMappings(final CompoundTag data, final String key) {
Object2IntMap<String> newIdentifierMap = MappingDataLoader.indexedObjectToMap(oldIdentifiers); // Special cursed case
for (Map.Entry<String, JsonElement> entry : newIdentifiers.entrySet()) { if (key.equals("items")) {
String key = entry.getValue().getAsString(); return null;
int value = newIdentifierMap.getInt(key); } else {
short hardId = -1; return super.loadBiMappings(data, key);
if (value == -1) {
JsonPrimitive replacement = mapping.getAsJsonPrimitive(key);
int propertyIndex;
if (replacement == null && (propertyIndex = key.indexOf('[')) != -1) {
replacement = mapping.getAsJsonPrimitive(key.substring(0, propertyIndex));
}
if (replacement != null) {
if (replacement.getAsString().startsWith("id:")) {
String id = replacement.getAsString().replace("id:", "");
hardId = Short.parseShort(id);
value = newIdentifierMap.getInt(oldIdentifiers.getAsJsonPrimitive(id).getAsString());
} else {
value = newIdentifierMap.getInt(replacement.getAsString());
}
}
if (value == -1) {
if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) {
if (replacement != null) {
ViaBackwards.getPlatform().getLogger().warning("No key for " + entry.getValue() + "/" + replacement.getAsString() + " :( ");
} else {
ViaBackwards.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( ");
}
}
continue;
}
}
output[Integer.parseInt(entry.getKey())] = hardId != -1 ? hardId : (short) value;
} }
} }
@Override @Override
protected @Nullable Mappings loadFromArray(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, @Nullable JsonObject diffMappings, String key) { public BiMappings getItemMappings() {
if (key.equals("blockstates")) { return itemMappings;
int[] oldToNew = new int[8582];
Arrays.fill(oldToNew, -1);
mapIdentifiers(oldToNew, toJsonObject(unmappedIdentifiers.getAsJsonArray("blockstates")), mappedIdentifiers.getAsJsonObject("blocks"), diffMappings.getAsJsonObject("blockstates"));
return IntArrayMappings.of(oldToNew, -1);
} else {
return super.loadFromArray(unmappedIdentifiers, mappedIdentifiers, diffMappings, key);
}
} }
private JsonObject toJsonObject(final JsonArray array) { @Override
final JsonObject object = new JsonObject(); public int getNewItemId(final int id) {
for (int i = 0; i < array.size(); i++) { return itemMappings.getNewId(id);
final JsonElement element = array.get(i); }
object.add(Integer.toString(i), element);
} @Override
return object; public int getOldItemId(final int id) {
return itemMappings.inverse().getNewId(id);
} }
@Override @Override
@ -160,11 +147,6 @@ public class BackwardsMappings extends com.viaversion.viabackwards.api.data.Back
return mappedId; return mappedId;
} }
@Override
protected boolean shouldWarnOnMissing(String key) {
return super.shouldWarnOnMissing(key) && !key.equals("items");
}
public Int2ObjectMap<String> getStatisticMappings() { public Int2ObjectMap<String> getStatisticMappings() {
return statisticMappings; return statisticMappings;
} }

Datei anzeigen

@ -41,7 +41,7 @@ import com.viaversion.viaversion.rewriter.StatisticsRewriter;
public class Protocol1_13_2To1_14 extends BackwardsProtocol<ClientboundPackets1_14, ClientboundPackets1_13, ServerboundPackets1_14, ServerboundPackets1_13> { public class Protocol1_13_2To1_14 extends BackwardsProtocol<ClientboundPackets1_14, ClientboundPackets1_13, ServerboundPackets1_14, ServerboundPackets1_13> {
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.14", "1.13.2", Protocol1_14To1_13_2.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.14", "1.13.2", Protocol1_14To1_13_2.class);
private final EntityPackets1_14 entityRewriter = new EntityPackets1_14(this); private final EntityPackets1_14 entityRewriter = new EntityPackets1_14(this);
private final BlockItemPackets1_14 blockItemPackets = new BlockItemPackets1_14(this); private final BlockItemPackets1_14 blockItemPackets = new BlockItemPackets1_14(this);
private final TranslatableRewriter<ClientboundPackets1_14> translatableRewriter = new TranslatableRewriter<>(this); private final TranslatableRewriter<ClientboundPackets1_14> translatableRewriter = new TranslatableRewriter<>(this);

Datei anzeigen

@ -46,7 +46,7 @@ import com.viaversion.viaversion.rewriter.TagRewriter;
public class Protocol1_13To1_13_1 extends BackwardsProtocol<ClientboundPackets1_13, ClientboundPackets1_13, ServerboundPackets1_13, ServerboundPackets1_13> { public class Protocol1_13To1_13_1 extends BackwardsProtocol<ClientboundPackets1_13, ClientboundPackets1_13, ServerboundPackets1_13, ServerboundPackets1_13> {
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.13.2", "1.13", Protocol1_13_1To1_13.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.13.2", "1.13", Protocol1_13_1To1_13.class);
private final EntityPackets1_13_1 entityRewriter = new EntityPackets1_13_1(this); private final EntityPackets1_13_1 entityRewriter = new EntityPackets1_13_1(this);
private final InventoryPackets1_13_1 itemRewriter = new InventoryPackets1_13_1(this); private final InventoryPackets1_13_1 itemRewriter = new InventoryPackets1_13_1(this);

Datei anzeigen

@ -40,7 +40,7 @@ import com.viaversion.viaversion.rewriter.TagRewriter;
public class Protocol1_14_4To1_15 extends BackwardsProtocol<ClientboundPackets1_15, ClientboundPackets1_14, ServerboundPackets1_14, ServerboundPackets1_14> { public class Protocol1_14_4To1_15 extends BackwardsProtocol<ClientboundPackets1_15, ClientboundPackets1_14, ServerboundPackets1_14, ServerboundPackets1_14> {
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.15", "1.14", Protocol1_15To1_14_4.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.15", "1.14", Protocol1_15To1_14_4.class);
private final EntityPackets1_15 entityRewriter = new EntityPackets1_15(this); private final EntityPackets1_15 entityRewriter = new EntityPackets1_15(this);
private final BlockItemPackets1_15 blockItemPackets = new BlockItemPackets1_15(this); private final BlockItemPackets1_15 blockItemPackets = new BlockItemPackets1_15(this);
private final TranslatableRewriter<ClientboundPackets1_15> translatableRewriter = new TranslatableRewriter<>(this); private final TranslatableRewriter<ClientboundPackets1_15> translatableRewriter = new TranslatableRewriter<>(this);

Datei anzeigen

@ -17,7 +17,7 @@
*/ */
package com.viaversion.viabackwards.protocol.protocol1_15_2to1_16.data; package com.viaversion.viabackwards.protocol.protocol1_15_2to1_16.data;
import com.viaversion.viaversion.libs.gson.JsonObject; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.Protocol1_16To1_15_2; import com.viaversion.viaversion.protocols.protocol1_16to1_15_2.Protocol1_16To1_15_2;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -26,11 +26,12 @@ public class BackwardsMappings extends com.viaversion.viabackwards.api.data.Back
private final Map<String, String> attributeMappings = new HashMap<>(); private final Map<String, String> attributeMappings = new HashMap<>();
public BackwardsMappings() { public BackwardsMappings() {
super("1.16", "1.15", Protocol1_16To1_15_2.class, true); super("1.16", "1.15", Protocol1_16To1_15_2.class);
} }
@Override @Override
protected void loadVBExtras(JsonObject unmappedIdentifiers, JsonObject mappedIdentifiers, JsonObject diffMappings) { protected void loadExtras(final CompoundTag data) {
super.loadExtras(data);
for (Map.Entry<String, String> entry : Protocol1_16To1_15_2.MAPPINGS.getAttributeMappings().entrySet()) { for (Map.Entry<String, String> entry : Protocol1_16To1_15_2.MAPPINGS.getAttributeMappings().entrySet()) {
attributeMappings.put(entry.getValue(), entry.getKey()); attributeMappings.put(entry.getValue(), entry.getKey());
} }

Datei anzeigen

@ -42,7 +42,7 @@ import com.viaversion.viaversion.rewriter.TagRewriter;
public class Protocol1_16_1To1_16_2 extends BackwardsProtocol<ClientboundPackets1_16_2, ClientboundPackets1_16, ServerboundPackets1_16_2, ServerboundPackets1_16> { public class Protocol1_16_1To1_16_2 extends BackwardsProtocol<ClientboundPackets1_16_2, ClientboundPackets1_16, ServerboundPackets1_16_2, ServerboundPackets1_16> {
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.16.2", "1.16", Protocol1_16_2To1_16_1.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.16.2", "1.16", Protocol1_16_2To1_16_1.class);
private final EntityPackets1_16_2 entityRewriter = new EntityPackets1_16_2(this); private final EntityPackets1_16_2 entityRewriter = new EntityPackets1_16_2(this);
private final BlockItemPackets1_16_2 blockItemPackets = new BlockItemPackets1_16_2(this); private final BlockItemPackets1_16_2 blockItemPackets = new BlockItemPackets1_16_2(this);
private final TranslatableRewriter<ClientboundPackets1_16_2> translatableRewriter = new TranslatableRewriter<>(this); private final TranslatableRewriter<ClientboundPackets1_16_2> translatableRewriter = new TranslatableRewriter<>(this);

Datei anzeigen

@ -52,7 +52,7 @@ import java.util.Map;
public final class Protocol1_16_4To1_17 extends BackwardsProtocol<ClientboundPackets1_17, ClientboundPackets1_16_2, ServerboundPackets1_17, ServerboundPackets1_16_2> { public final class Protocol1_16_4To1_17 extends BackwardsProtocol<ClientboundPackets1_17, ClientboundPackets1_16_2, ServerboundPackets1_17, ServerboundPackets1_16_2> {
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.17", "1.16.2", Protocol1_17To1_16_4.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.17", "1.16.2", Protocol1_17To1_16_4.class);
private static final int[] EMPTY_ARRAY = {}; private static final int[] EMPTY_ARRAY = {};
private final EntityPackets1_17 entityRewriter = new EntityPackets1_17(this); private final EntityPackets1_17 entityRewriter = new EntityPackets1_17(this);
private final BlockItemPackets1_17 blockItemPackets = new BlockItemPackets1_17(this); private final BlockItemPackets1_17 blockItemPackets = new BlockItemPackets1_17(this);

Datei anzeigen

@ -20,7 +20,7 @@ package com.viaversion.viabackwards.protocol.protocol1_17_1to1_18.data;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap; import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap;
import com.viaversion.viaversion.libs.gson.JsonObject; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.protocols.protocol1_18to1_17_1.Protocol1_18To1_17_1; import com.viaversion.viaversion.protocols.protocol1_18to1_17_1.Protocol1_18To1_17_1;
public final class BackwardsMappings extends com.viaversion.viabackwards.api.data.BackwardsMappings { public final class BackwardsMappings extends com.viaversion.viabackwards.api.data.BackwardsMappings {
@ -28,11 +28,11 @@ public final class BackwardsMappings extends com.viaversion.viabackwards.api.dat
private final Int2ObjectMap<String> blockEntities = new Int2ObjectOpenHashMap<>(); private final Int2ObjectMap<String> blockEntities = new Int2ObjectOpenHashMap<>();
public BackwardsMappings() { public BackwardsMappings() {
super("1.18", "1.17", Protocol1_18To1_17_1.class, true); super("1.18", "1.17", Protocol1_18To1_17_1.class);
} }
@Override @Override
protected void loadVBExtras(final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, JsonObject diffMappings) { protected void loadExtras(final CompoundTag data) {
for (final Object2IntMap.Entry<String> entry : Protocol1_18To1_17_1.MAPPINGS.blockEntityIds().object2IntEntrySet()) { for (final Object2IntMap.Entry<String> entry : Protocol1_18To1_17_1.MAPPINGS.blockEntityIds().object2IntEntrySet()) {
blockEntities.put(entry.getIntValue(), entry.getKey()); blockEntities.put(entry.getIntValue(), entry.getKey());
} }

Datei anzeigen

@ -150,7 +150,7 @@ public final class Protocol1_18_2To1_19 extends BackwardsProtocol<ClientboundPac
if (nodeType == 2) { // Argument node if (nodeType == 2) { // Argument node
final int argumentTypeId = wrapper.read(Type.VAR_INT); final int argumentTypeId = wrapper.read(Type.VAR_INT);
String argumentType = MAPPINGS.argumentType(argumentTypeId); String argumentType = MAPPINGS.getArgumentTypeMappings().identifier(argumentTypeId);
if (argumentType == null) { if (argumentType == null) {
ViaBackwards.getPlatform().getLogger().warning("Unknown command argument type id: " + argumentTypeId); ViaBackwards.getPlatform().getLogger().warning("Unknown command argument type id: " + argumentTypeId);
argumentType = "minecraft:no"; argumentType = "minecraft:no";

Datei anzeigen

@ -21,36 +21,25 @@ import com.viaversion.viabackwards.api.data.VBMappingDataLoader;
import com.viaversion.viaversion.api.minecraft.nbt.BinaryTagIO; import com.viaversion.viaversion.api.minecraft.nbt.BinaryTagIO;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectMap;
import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap; import com.viaversion.viaversion.libs.fastutil.ints.Int2ObjectOpenHashMap;
import com.viaversion.viaversion.libs.gson.JsonArray;
import com.viaversion.viaversion.libs.gson.JsonElement;
import com.viaversion.viaversion.libs.gson.JsonObject;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.ListTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.ListTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.NumberTag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.NumberTag;
import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag; import com.viaversion.viaversion.libs.opennbt.tag.builtin.Tag;
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.Protocol1_19To1_18_2; import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.Protocol1_19To1_18_2;
import com.viaversion.viaversion.util.Key;
import java.io.IOException; import java.io.IOException;
import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.Nullable;
public final class BackwardsMappings extends com.viaversion.viabackwards.api.data.BackwardsMappings { public final class BackwardsMappings extends com.viaversion.viabackwards.api.data.BackwardsMappings {
private String[] argumentTypes;
private final Int2ObjectMap<CompoundTag> defaultChatTypes = new Int2ObjectOpenHashMap<>(); private final Int2ObjectMap<CompoundTag> defaultChatTypes = new Int2ObjectOpenHashMap<>();
public BackwardsMappings() { public BackwardsMappings() {
super("1.19", "1.18", Protocol1_19To1_18_2.class, true); super("1.19", "1.18", Protocol1_19To1_18_2.class);
} }
@Override @Override
protected void loadVBExtras(final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, JsonObject diffMappings) { protected void loadExtras(final CompoundTag data) {
int i = 0; super.loadExtras(data);
final JsonArray types = unmappedIdentifiers.getAsJsonArray("argumenttypes");
this.argumentTypes = new String[types.size()];
for (final JsonElement element : types) {
final String id = element.getAsString();
this.argumentTypes[i++] = Key.namespaced(id);
}
try { try {
final ListTag chatTypes = BinaryTagIO.readCompressedInputStream(VBMappingDataLoader.getResource("chat-types-1.19.1.nbt")).get("values"); final ListTag chatTypes = BinaryTagIO.readCompressedInputStream(VBMappingDataLoader.getResource("chat-types-1.19.1.nbt")).get("values");
@ -64,10 +53,6 @@ public final class BackwardsMappings extends com.viaversion.viabackwards.api.dat
} }
} }
public @Nullable String argumentType(final int argumentTypeId) {
return argumentTypeId >= 0 && argumentTypeId < argumentTypes.length ? argumentTypes[argumentTypeId] : null;
}
public @Nullable CompoundTag chatType(final int id) { public @Nullable CompoundTag chatType(final int id) {
return defaultChatTypes.get(id); return defaultChatTypes.get(id);
} }

Datei anzeigen

@ -17,10 +17,12 @@
*/ */
package com.viaversion.viabackwards.protocol.protocol1_19_1to1_19_3.data; package com.viaversion.viabackwards.protocol.protocol1_19_1to1_19_3.data;
import com.viaversion.viabackwards.api.data.VBMappingDataLoader;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap; import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap;
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntOpenHashMap; import com.viaversion.viaversion.libs.fastutil.objects.Object2IntOpenHashMap;
import com.viaversion.viaversion.libs.gson.JsonArray;
import com.viaversion.viaversion.libs.gson.JsonElement; import com.viaversion.viaversion.libs.gson.JsonElement;
import com.viaversion.viaversion.libs.gson.JsonObject; import com.viaversion.viaversion.libs.opennbt.tag.builtin.CompoundTag;
import com.viaversion.viaversion.protocols.protocol1_19_3to1_19_1.Protocol1_19_3To1_19_1; import com.viaversion.viaversion.protocols.protocol1_19_3to1_19_1.Protocol1_19_3To1_19_1;
import com.viaversion.viaversion.util.Key; import com.viaversion.viaversion.util.Key;
@ -29,14 +31,17 @@ public final class BackwardsMappings extends com.viaversion.viabackwards.api.dat
private final Object2IntMap<String> mappedSounds = new Object2IntOpenHashMap<>(); private final Object2IntMap<String> mappedSounds = new Object2IntOpenHashMap<>();
public BackwardsMappings() { public BackwardsMappings() {
super("1.19.3", "1.19", Protocol1_19_3To1_19_1.class, true); super("1.19.3", "1.19", Protocol1_19_3To1_19_1.class);
mappedSounds.defaultReturnValue(-1); mappedSounds.defaultReturnValue(-1);
} }
@Override @Override
protected void loadVBExtras(final JsonObject unmappedIdentifiers, final JsonObject mappedIdentifiers, JsonObject diffMappings) { protected void loadExtras(final CompoundTag data) {
super.loadExtras(data);
final JsonArray sounds = VBMappingDataLoader.loadData("sounds-1.19.json").getAsJsonArray("sounds");
int i = 0; int i = 0;
for (final JsonElement sound : mappedIdentifiers.getAsJsonArray("sounds")) { for (final JsonElement sound : sounds) {
mappedSounds.put(sound.getAsString(), i++); mappedSounds.put(sound.getAsString(), i++);
} }
} }

Datei anzeigen

@ -41,7 +41,7 @@ import java.util.Base64;
public final class Protocol1_19_3To1_19_4 extends BackwardsProtocol<ClientboundPackets1_19_4, ClientboundPackets1_19_3, ServerboundPackets1_19_4, ServerboundPackets1_19_3> { public final class Protocol1_19_3To1_19_4 extends BackwardsProtocol<ClientboundPackets1_19_4, ClientboundPackets1_19_3, ServerboundPackets1_19_4, ServerboundPackets1_19_3> {
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.19.4", "1.19.3", Protocol1_19_4To1_19_3.class, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.19.4", "1.19.3", Protocol1_19_4To1_19_3.class);
private final EntityPackets1_19_4 entityRewriter = new EntityPackets1_19_4(this); private final EntityPackets1_19_4 entityRewriter = new EntityPackets1_19_4(this);
private final BlockItemPackets1_19_4 itemRewriter = new BlockItemPackets1_19_4(this); private final BlockItemPackets1_19_4 itemRewriter = new BlockItemPackets1_19_4(this);
private final TranslatableRewriter<ClientboundPackets1_19_4> translatableRewriter = new TranslatableRewriter<>(this); private final TranslatableRewriter<ClientboundPackets1_19_4> translatableRewriter = new TranslatableRewriter<>(this);

Datei anzeigen

@ -36,7 +36,7 @@ import com.viaversion.viaversion.protocols.protocol1_9_3to1_9_1_2.storage.Client
public class Protocol1_9_4To1_10 extends BackwardsProtocol<ClientboundPackets1_9_3, ClientboundPackets1_9_3, ServerboundPackets1_9_3, ServerboundPackets1_9_3> { public class Protocol1_9_4To1_10 extends BackwardsProtocol<ClientboundPackets1_9_3, ClientboundPackets1_9_3, ServerboundPackets1_9_3, ServerboundPackets1_9_3> {
public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.10", "1.9.4", null, true); public static final BackwardsMappings MAPPINGS = new BackwardsMappings("1.10", "1.9.4");
private static final ValueTransformer<Float, Short> TO_OLD_PITCH = new ValueTransformer<Float, Short>(Type.UNSIGNED_BYTE) { private static final ValueTransformer<Float, Short> TO_OLD_PITCH = new ValueTransformer<Float, Short>(Type.UNSIGNED_BYTE) {
public Short transform(PacketWrapper packetWrapper, Float inputValue) throws Exception { public Short transform(PacketWrapper packetWrapper, Float inputValue) throws Exception {
return (short) Math.round(inputValue * 63.5F); return (short) Math.round(inputValue * 63.5F);

Datei anzeigen

@ -24,5 +24,6 @@
"old_growth_spruce_taiga": "giant_spruce_taiga", "old_growth_spruce_taiga": "giant_spruce_taiga",
"windswept_savanna": "shattered_savanna", "windswept_savanna": "shattered_savanna",
"mangrove_swamp": "swamp", "mangrove_swamp": "swamp",
"deep_dark": "mountains" "deep_dark": "mountains",
"cherry_grove": "flower_forest"
} }

Datei anzeigen

@ -1,43 +0,0 @@
{
"sounds": {
"block.shulker_box.close": "block.wooden_trapdoor.close",
"block.shulker_box.open": "block.wooden_trapdoor.open",
"entity.elder_guardian.flop": "entity.guardian.flop",
"entity.evocation_fangs.attack": "entity.zombie.attack_iron_door",
"entity.evocation_illager.ambient": "entity.villager.ambient",
"entity.evocation_illager.cast_spell": "entity.irongolem.hurt",
"entity.evocation_illager.death": "entity.zombie_villager.death",
"entity.evocation_illager.hurt": "entity.villager.hurt",
"entity.evocation_illager.prepare_attack": "entity.elder_guardian.curse",
"entity.evocation_illager.prepare_summon": "block.portal.trigger",
"entity.evocation_illager.prepare_wololo": "entity.witch.ambient",
"entity.llama.ambient": "entity.horse.ambient",
"entity.llama.angry": "entity.horse.angry",
"entity.llama.chest": "entity.donkey.chest",
"entity.llama.death": "entity.donkey.death",
"entity.llama.eat": "entity.horse.eat",
"entity.llama.hurt": "entity.donkey.hurt",
"entity.llama.spit": "entity.shulker.shoot",
"entity.llama.step": "entity.horse.step",
"entity.llama.swag": "item.armor.equip_generic",
"entity.mule.chest": "entity.donkey.chest",
"entity.vex.ambient": "entity.horse.breathe",
"entity.vex.charge": "entity.elder_guardian.ambient",
"entity.vex.death": "entity.cat.death",
"entity.vex.hurt": "entity.cat.hurt",
"entity.vindication_illager.ambient": "entity.villager.ambient",
"entity.vindication_illager.death": "entity.villager.death",
"entity.vindication_illager.hurt": "entity.villager.hurt",
"item.armor.equip_elytra": "item.armor.equip_generic",
"item.bottle.empty": "item.bottle.fill",
"item.totem.use": "block.anvil.destroy"
},
"entitynames": {
"stray": "Stray",
"husk": "Husk",
"evocation_illager": "Evoker",
"vex": "Vex",
"vindication_illager": "Vindicator",
"liama": "Llama"
}
}

Datei anzeigen

@ -1,56 +0,0 @@
{
"sounds": {
"block.end_portal.spawn": "entity.lightning.thunder",
"block.note.bell": "block.note.harp",
"block.note.chime": "block.note.harp",
"block.note.flute": "block.note.harp",
"block.note.guitar": "block.note.harp",
"block.note.xylophone": "block.note.harp",
"entity.illusion_illager.ambient": "entity.evocation_illager.ambient",
"entity.illusion_illager.cast_spell": "entity.evocation_illager.cast_spell",
"entity.illusion_illager.death": "entity.evocation_illager.death",
"entity.illusion_illager.hurt": "entity.evocation_illager.hurt",
"entity.illusion_illager.mirror_move": "entity.endermen.teleport",
"entity.illusion_illager.prepare_blindness": "entity.evocation_illager.prepare_summon",
"entity.illusion_illager.prepare_mirror": "entity.evocation_illager.prepare_attack",
"entity.parrot.ambient": "entity.bat.ambient",
"entity.parrot.death": "entity.bat.death",
"entity.parrot.eat": "entity.generic.eat",
"entity.parrot.fly": "entity.bat.loop",
"entity.parrot.hurt": "entity.bat.hurt",
"entity.parrot.imitate.blaze": "entity.blaze.ambient",
"entity.parrot.imitate.creeper": "entity.creeper.primed",
"entity.parrot.imitate.elder_guardian": "entity.elder_guardian.ambient",
"entity.parrot.imitate.enderdragon": "entity.enderdragon.ambient",
"entity.parrot.imitate.enderman": "entity.endermen.ambient",
"entity.parrot.imitate.endermite": "entity.endermite.ambient",
"entity.parrot.imitate.evocation_illager": "entity.evocation_illager.ambient",
"entity.parrot.imitate.ghast": "entity.ghast.ambient",
"entity.parrot.imitate.husk": "entity.husk.ambient",
"entity.parrot.imitate.illusion_illager": "entity.evocation_illager.ambient",
"entity.parrot.imitate.magmacube": "entity.magmacube.squish",
"entity.parrot.imitate.polar_bear": "entity.polar_bear.ambient",
"entity.parrot.imitate.shulker": "entity.shulker.ambient",
"entity.parrot.imitate.silverfish": "entity.silverfish.ambient",
"entity.parrot.imitate.skeleton": "entity.skeleton.ambient",
"entity.parrot.imitate.slime": "entity.slime.squish",
"entity.parrot.imitate.spider": "entity.spider.ambient",
"entity.parrot.imitate.stray": "entity.stray.ambient",
"entity.parrot.imitate.vex": "entity.vex.ambient",
"entity.parrot.imitate.vindication_illager": "entity.vindication_illager.ambient",
"entity.parrot.imitate.witch": "entity.witch.ambient",
"entity.parrot.imitate.wither": "entity.wither.ambient",
"entity.parrot.imitate.wither_skeleton": "entity.wither_skeleton.ambient",
"entity.parrot.imitate.wolf": "entity.wolf.ambient",
"entity.parrot.imitate.zombie": "entity.zombie.ambient",
"entity.parrot.imitate.zombie_pigman": "entity.zombie_pig.ambient",
"entity.parrot.imitate.zombie_villager": "entity.zombie_villager.ambient",
"entity.parrot.step": "entity.chicken.step",
"entity.player.hurt_drown": "entity.player.hurt",
"entity.player.hurt_on_fire": "entity.player.hurt"
},
"entitynames": {
"parrot": "Parrot",
"illusion_illager": "Illusioner"
}
}

Datei anzeigen

@ -1,20 +0,0 @@
{
"blockstates": {
"tnt[unstable=false]": "tnt",
"tnt[unstable=true]": "tnt",
"oak_sign": "sign[",
"oak_wall_sign": "wall_sign[",
"smooth_stone_slab": "stone_slab[",
"dead_tube_coral": "tube_coral",
"dead_brain_coral": "brain_coral",
"dead_bubble_coral": "bubble_coral",
"dead_fire_coral": "fire_coral",
"dead_horn_coral": "horn_coral",
"tube_coral": "tube_coral",
"brain_coral": "brain_coral",
"bubble_coral": "bubble_coral",
"fire_coral": "fire_coral",
"horn_coral": "horn_coral",
"conduit": "conduit"
}
}

Datei anzeigen

@ -1,101 +0,0 @@
{
"blockstates": {
"bell[attachment=floor,facing=north,powered=true]": "bell[attachment=floor,facing=north]",
"bell[attachment=floor,facing=north,powered=false]": "bell[attachment=floor,facing=north]",
"bell[attachment=floor,facing=south,powered=true]": "bell[attachment=floor,facing=south]",
"bell[attachment=floor,facing=south,powered=false]": "bell[attachment=floor,facing=south]",
"bell[attachment=floor,facing=west,powered=true]": "bell[attachment=floor,facing=west]",
"bell[attachment=floor,facing=west,powered=false]": "bell[attachment=floor,facing=west]",
"bell[attachment=floor,facing=east,powered=true]": "bell[attachment=floor,facing=east]",
"bell[attachment=floor,facing=east,powered=false]": "bell[attachment=floor,facing=east]",
"bell[attachment=ceiling,facing=north,powered=true]": "bell[attachment=ceiling,facing=north]",
"bell[attachment=ceiling,facing=north,powered=false]": "bell[attachment=ceiling,facing=north]",
"bell[attachment=ceiling,facing=south,powered=true]": "bell[attachment=ceiling,facing=south]",
"bell[attachment=ceiling,facing=south,powered=false]": "bell[attachment=ceiling,facing=south]",
"bell[attachment=ceiling,facing=west,powered=true]": "bell[attachment=ceiling,facing=west]",
"bell[attachment=ceiling,facing=west,powered=false]": "bell[attachment=ceiling,facing=west]",
"bell[attachment=ceiling,facing=east,powered=true]": "bell[attachment=ceiling,facing=east]",
"bell[attachment=ceiling,facing=east,powered=false]": "bell[attachment=ceiling,facing=east]",
"bell[attachment=single_wall,facing=north,powered=true]": "bell[attachment=single_wall,facing=north]",
"bell[attachment=single_wall,facing=north,powered=false]": "bell[attachment=single_wall,facing=north]",
"bell[attachment=single_wall,facing=south,powered=true]": "bell[attachment=single_wall,facing=south]",
"bell[attachment=single_wall,facing=south,powered=false]": "bell[attachment=single_wall,facing=south]",
"bell[attachment=single_wall,facing=west,powered=true]": "bell[attachment=single_wall,facing=west]",
"bell[attachment=single_wall,facing=west,powered=false]": "bell[attachment=single_wall,facing=west]",
"bell[attachment=single_wall,facing=east,powered=true]": "bell[attachment=single_wall,facing=east]",
"bell[attachment=single_wall,facing=east,powered=false]": "bell[attachment=single_wall,facing=east]",
"bell[attachment=double_wall,facing=north,powered=true]": "bell[attachment=double_wall,facing=north]",
"bell[attachment=double_wall,facing=north,powered=false]": "bell[attachment=double_wall,facing=north]",
"bell[attachment=double_wall,facing=south,powered=true]": "bell[attachment=double_wall,facing=south]",
"bell[attachment=double_wall,facing=south,powered=false]": "bell[attachment=double_wall,facing=south]",
"bell[attachment=double_wall,facing=west,powered=true]": "bell[attachment=double_wall,facing=west]",
"bell[attachment=double_wall,facing=west,powered=false]": "bell[attachment=double_wall,facing=west]",
"bell[attachment=double_wall,facing=east,powered=true]": "bell[attachment=double_wall,facing=east]",
"bell[attachment=double_wall,facing=east,powered=false]": "bell[attachment=double_wall,facing=east]",
"honey_block": "slime_block",
"honeycomb_block": "horn_coral_block",
"beehive": "barrel[facing=up,open=false]",
"bee_nest": "yellow_shulker_box[facing=up]"
},
"items": {
"honey_bottle": {
"id": "dragon_breath",
"name": "1.15 Honey Bottle"
},
"honeycomb": {
"id": "sunflower",
"name": "1.15 Honeycomb"
},
"honeycomb_block": {
"id": "horn_coral_block",
"name": "1.15 Honeycomb Block"
},
"bee_nest": {
"id": "yellow_shulker_box",
"name": "1.15 Bee Nest"
},
"beehive": {
"id": "barrel",
"name": "1.15 Beehive"
},
"honey_block": {
"id": "slime_block",
"name": "1.15 Honey Block"
},
"bee_spawn_egg": {
"id": "ocelot_spawn_egg",
"name": "1.15 Bee Spawn Egg"
}
},
"sounds": {
"entity.bee.death": "entity.creeper.death",
"entity.bee.hurt": "entity.bat.hurt",
"entity.bee.loop_aggressive": "entity.enderman.scream",
"entity.bee.loop": "entity.parrot.fly",
"entity.bee.sting": "entity.phantom.bite",
"entity.bee.pollinate": "entity.parrot.fly",
"block.beehive.drip": "entity.slime.squish",
"block.beehive.enter": "entity.slime.death",
"block.beehive.exit": "entity.slime.death_small",
"block.beehive.shear": "block.wool.hit",
"block.beehive.work": "entity.parrot.fly",
"block.honey_block.break": "block.slime_block.break",
"block.honey_block.fall": "block.slime_block.fall",
"block.honey_block.hit": "block.slime_block.hit",
"block.honey_block.place": "block.slime_block.place",
"block.honey_block.slide": "block.slime_block.fall",
"block.honey_block.step": "block.slime_block.step",
"item.honey_bottle.drink": "entity.generic.drink",
"entity.iron_golem.damage": "entity.item.break",
"entity.iron_golem.repair": "entity.iron_golem.step"
},
"particles": {
"dripping_honey": "dripping_lava",
"falling_honey": "falling_lava",
"landing_honey": "landing_lava",
"falling_nectar": "falling_water"
},
"entitynames": {
"bee": "Bee"
}
}

Datei anzeigen

@ -1,36 +0,0 @@
{
"blockstates": {
"lantern[hanging=true,waterlogged=true]": "lantern[hanging=true]",
"lantern[hanging=true,waterlogged=false]": "lantern[hanging=true]",
"lantern[hanging=false,waterlogged=true]": "lantern[hanging=false]",
"lantern[hanging=false,waterlogged=false]": "lantern[hanging=false]",
"soul_lantern[hanging=true,waterlogged=true]": "soul_lantern[hanging=true]",
"soul_lantern[hanging=true,waterlogged=false]": "soul_lantern[hanging=true]",
"soul_lantern[hanging=false,waterlogged=true]": "soul_lantern[hanging=false]",
"soul_lantern[hanging=false,waterlogged=false]": "soul_lantern[hanging=false]",
"chain[axis=x,waterlogged=true]": "chain[waterlogged=true]",
"chain[axis=x,waterlogged=false]": "chain[waterlogged=false]",
"chain[axis=y,waterlogged=true]": "chain[waterlogged=true]",
"chain[axis=y,waterlogged=false]": "chain[waterlogged=false]",
"chain[axis=z,waterlogged=true]": "chain[waterlogged=true]",
"chain[axis=z,waterlogged=false]": "chain[waterlogged=false]"
},
"items": {
"piglin_brute_spawn_egg": {
"id": "piglin_spawn_egg",
"name": "1.16.2 Piglin Brute Spawn Egg"
}
},
"sounds": {
"entity.parrot.imitate.piglin_brute": "entity.parrot.imitate.piglin",
"entity.piglin_brute.ambient": "entity.piglin.ambient",
"entity.piglin_brute.angry": "entity.piglin.angry",
"entity.piglin_brute.death": "entity.piglin.death",
"entity.piglin_brute.hurt": "entity.piglin.hurt",
"entity.piglin_brute.step": "entity.piglin.step",
"entity.piglin_brute.converted_to_zombified": "entity.piglin.converted_to_zombified"
},
"entitynames": {
"piglin_brute": "Piglin Brute"
}
}

Datei anzeigen

@ -1,26 +0,0 @@
{
"sounds": {
"item.bundle.drop_contents": "",
"item.bundle.insert": "",
"item.bundle.remove_one": "",
"block.growing_plant.crop": "",
"music_disc.otherside": "",
"music.overworld.dripstone_caves": "",
"music.overworld.grove": "",
"music.overworld.jagged_peaks": "",
"music.overworld.lush_caves": "",
"music.overworld.meadow": "",
"music.overworld.frozen_peaks": "",
"music.overworld.snowy_slopes": "",
"music.overworld.stony_peaks": ""
},
"items": {
"music_disc_otherside": {
"id": "music_disc_ward",
"name": "1.18 Otherside Music Disc"
}
},
"particles": {
"block_marker": "barrier"
}
}

Datei anzeigen

@ -1,741 +0,0 @@
{
"blockstates": {
"sculk": "black_concrete_powder",
"sculk_vein": "glow_lichen[",
"sculk_catalyst": "end_stone",
"sculk_shrieker[can_summon=true,shrieking=true,waterlogged=true]": "end_portal_frame[eye=true,facing=north]",
"sculk_shrieker[can_summon=true,shrieking=true,waterlogged=false]": "end_portal_frame[eye=true,facing=north]",
"sculk_shrieker[can_summon=true,shrieking=false,waterlogged=true]": "end_portal_frame[eye=false,facing=north]",
"sculk_shrieker[can_summon=true,shrieking=false,waterlogged=false]": "end_portal_frame[eye=false,facing=north]",
"sculk_shrieker[can_summon=false,shrieking=true,waterlogged=true]": "end_portal_frame[eye=true,facing=north]",
"sculk_shrieker[can_summon=false,shrieking=true,waterlogged=false]": "end_portal_frame[eye=true,facing=north]",
"sculk_shrieker[can_summon=false,shrieking=false,waterlogged=true]": "end_portal_frame[eye=false,facing=north]",
"sculk_shrieker[can_summon=false,shrieking=false,waterlogged=false]": "end_portal_frame[eye=false,facing=north]",
"reinforced_deepslate": "obsidian",
"mangrove_planks": "acacia_planks",
"stripped_mangrove_log": "stripped_acacia_log[",
"stripped_mangrove_wood": "stripped_acacia_wood[",
"mangrove_wood": "acacia_wood[",
"mangrove_log": "acacia_log[",
"mangrove_sign": "acacia_sign[",
"mangrove_wall_sign": "acacia_wall_sign[",
"mangrove_pressure_plate": "acacia_pressure_plate[",
"mangrove_trapdoor": "acacia_trapdoor[",
"mangrove_button": "acacia_button[",
"mangrove_stairs": "acacia_stairs[",
"mangrove_slab": "acacia_slab[",
"mangrove_fence_gate": "acacia_fence_gate[",
"mangrove_fence": "acacia_fence[",
"mangrove_door": "acacia_door[",
"mud_bricks": "bricks",
"packed_mud": "bricks",
"mud_brick_stairs": "brick_stairs[",
"mud_brick_slab": "brick_slab[",
"mud_brick_wall": "brick_wall[",
"muddy_mangrove_roots": "coarse_dirt",
"mud": "coarse_dirt",
"mangrove_propagule": "fern",
"mangrove_roots": "oak_wood[axis=y]",
"ochre_froglight": "sea_lantern",
"verdant_froglight": "sea_lantern",
"pearlescent_froglight": "sea_lantern",
"potted_mangrove_propagule": "potted_acacia_sapling",
"frogspawn": "air",
"oak_leaves[distance=1,persistent=true,waterlogged=true]": "oak_leaves[distance=1,persistent=true]",
"oak_leaves[distance=1,persistent=true,waterlogged=false]": "oak_leaves[distance=1,persistent=true]",
"oak_leaves[distance=1,persistent=false,waterlogged=true]": "oak_leaves[distance=1,persistent=false]",
"oak_leaves[distance=1,persistent=false,waterlogged=false]": "oak_leaves[distance=1,persistent=false]",
"oak_leaves[distance=2,persistent=true,waterlogged=true]": "oak_leaves[distance=2,persistent=true]",
"oak_leaves[distance=2,persistent=true,waterlogged=false]": "oak_leaves[distance=2,persistent=true]",
"oak_leaves[distance=2,persistent=false,waterlogged=true]": "oak_leaves[distance=2,persistent=false]",
"oak_leaves[distance=2,persistent=false,waterlogged=false]": "oak_leaves[distance=2,persistent=false]",
"oak_leaves[distance=3,persistent=true,waterlogged=true]": "oak_leaves[distance=3,persistent=true]",
"oak_leaves[distance=3,persistent=true,waterlogged=false]": "oak_leaves[distance=3,persistent=true]",
"oak_leaves[distance=3,persistent=false,waterlogged=true]": "oak_leaves[distance=3,persistent=false]",
"oak_leaves[distance=3,persistent=false,waterlogged=false]": "oak_leaves[distance=3,persistent=false]",
"oak_leaves[distance=4,persistent=true,waterlogged=true]": "oak_leaves[distance=4,persistent=true]",
"oak_leaves[distance=4,persistent=true,waterlogged=false]": "oak_leaves[distance=4,persistent=true]",
"oak_leaves[distance=4,persistent=false,waterlogged=true]": "oak_leaves[distance=4,persistent=false]",
"oak_leaves[distance=4,persistent=false,waterlogged=false]": "oak_leaves[distance=4,persistent=false]",
"oak_leaves[distance=5,persistent=true,waterlogged=true]": "oak_leaves[distance=5,persistent=true]",
"oak_leaves[distance=5,persistent=true,waterlogged=false]": "oak_leaves[distance=5,persistent=true]",
"oak_leaves[distance=5,persistent=false,waterlogged=true]": "oak_leaves[distance=5,persistent=false]",
"oak_leaves[distance=5,persistent=false,waterlogged=false]": "oak_leaves[distance=5,persistent=false]",
"oak_leaves[distance=6,persistent=true,waterlogged=true]": "oak_leaves[distance=6,persistent=true]",
"oak_leaves[distance=6,persistent=true,waterlogged=false]": "oak_leaves[distance=6,persistent=true]",
"oak_leaves[distance=6,persistent=false,waterlogged=true]": "oak_leaves[distance=6,persistent=false]",
"oak_leaves[distance=6,persistent=false,waterlogged=false]": "oak_leaves[distance=6,persistent=false]",
"oak_leaves[distance=7,persistent=true,waterlogged=true]": "oak_leaves[distance=7,persistent=true]",
"oak_leaves[distance=7,persistent=true,waterlogged=false]": "oak_leaves[distance=7,persistent=true]",
"oak_leaves[distance=7,persistent=false,waterlogged=true]": "oak_leaves[distance=7,persistent=false]",
"oak_leaves[distance=7,persistent=false,waterlogged=false]": "oak_leaves[distance=7,persistent=false]",
"spruce_leaves[distance=1,persistent=true,waterlogged=true]": "spruce_leaves[distance=1,persistent=true]",
"spruce_leaves[distance=1,persistent=true,waterlogged=false]": "spruce_leaves[distance=1,persistent=true]",
"spruce_leaves[distance=1,persistent=false,waterlogged=true]": "spruce_leaves[distance=1,persistent=false]",
"spruce_leaves[distance=1,persistent=false,waterlogged=false]": "spruce_leaves[distance=1,persistent=false]",
"spruce_leaves[distance=2,persistent=true,waterlogged=true]": "spruce_leaves[distance=2,persistent=true]",
"spruce_leaves[distance=2,persistent=true,waterlogged=false]": "spruce_leaves[distance=2,persistent=true]",
"spruce_leaves[distance=2,persistent=false,waterlogged=true]": "spruce_leaves[distance=2,persistent=false]",
"spruce_leaves[distance=2,persistent=false,waterlogged=false]": "spruce_leaves[distance=2,persistent=false]",
"spruce_leaves[distance=3,persistent=true,waterlogged=true]": "spruce_leaves[distance=3,persistent=true]",
"spruce_leaves[distance=3,persistent=true,waterlogged=false]": "spruce_leaves[distance=3,persistent=true]",
"spruce_leaves[distance=3,persistent=false,waterlogged=true]": "spruce_leaves[distance=3,persistent=false]",
"spruce_leaves[distance=3,persistent=false,waterlogged=false]": "spruce_leaves[distance=3,persistent=false]",
"spruce_leaves[distance=4,persistent=true,waterlogged=true]": "spruce_leaves[distance=4,persistent=true]",
"spruce_leaves[distance=4,persistent=true,waterlogged=false]": "spruce_leaves[distance=4,persistent=true]",
"spruce_leaves[distance=4,persistent=false,waterlogged=true]": "spruce_leaves[distance=4,persistent=false]",
"spruce_leaves[distance=4,persistent=false,waterlogged=false]": "spruce_leaves[distance=4,persistent=false]",
"spruce_leaves[distance=5,persistent=true,waterlogged=true]": "spruce_leaves[distance=5,persistent=true]",
"spruce_leaves[distance=5,persistent=true,waterlogged=false]": "spruce_leaves[distance=5,persistent=true]",
"spruce_leaves[distance=5,persistent=false,waterlogged=true]": "spruce_leaves[distance=5,persistent=false]",
"spruce_leaves[distance=5,persistent=false,waterlogged=false]": "spruce_leaves[distance=5,persistent=false]",
"spruce_leaves[distance=6,persistent=true,waterlogged=true]": "spruce_leaves[distance=6,persistent=true]",
"spruce_leaves[distance=6,persistent=true,waterlogged=false]": "spruce_leaves[distance=6,persistent=true]",
"spruce_leaves[distance=6,persistent=false,waterlogged=true]": "spruce_leaves[distance=6,persistent=false]",
"spruce_leaves[distance=6,persistent=false,waterlogged=false]": "spruce_leaves[distance=6,persistent=false]",
"spruce_leaves[distance=7,persistent=true,waterlogged=true]": "spruce_leaves[distance=7,persistent=true]",
"spruce_leaves[distance=7,persistent=true,waterlogged=false]": "spruce_leaves[distance=7,persistent=true]",
"spruce_leaves[distance=7,persistent=false,waterlogged=true]": "spruce_leaves[distance=7,persistent=false]",
"spruce_leaves[distance=7,persistent=false,waterlogged=false]": "spruce_leaves[distance=7,persistent=false]",
"birch_leaves[distance=1,persistent=true,waterlogged=true]": "birch_leaves[distance=1,persistent=true]",
"birch_leaves[distance=1,persistent=true,waterlogged=false]": "birch_leaves[distance=1,persistent=true]",
"birch_leaves[distance=1,persistent=false,waterlogged=true]": "birch_leaves[distance=1,persistent=false]",
"birch_leaves[distance=1,persistent=false,waterlogged=false]": "birch_leaves[distance=1,persistent=false]",
"birch_leaves[distance=2,persistent=true,waterlogged=true]": "birch_leaves[distance=2,persistent=true]",
"birch_leaves[distance=2,persistent=true,waterlogged=false]": "birch_leaves[distance=2,persistent=true]",
"birch_leaves[distance=2,persistent=false,waterlogged=true]": "birch_leaves[distance=2,persistent=false]",
"birch_leaves[distance=2,persistent=false,waterlogged=false]": "birch_leaves[distance=2,persistent=false]",
"birch_leaves[distance=3,persistent=true,waterlogged=true]": "birch_leaves[distance=3,persistent=true]",
"birch_leaves[distance=3,persistent=true,waterlogged=false]": "birch_leaves[distance=3,persistent=true]",
"birch_leaves[distance=3,persistent=false,waterlogged=true]": "birch_leaves[distance=3,persistent=false]",
"birch_leaves[distance=3,persistent=false,waterlogged=false]": "birch_leaves[distance=3,persistent=false]",
"birch_leaves[distance=4,persistent=true,waterlogged=true]": "birch_leaves[distance=4,persistent=true]",
"birch_leaves[distance=4,persistent=true,waterlogged=false]": "birch_leaves[distance=4,persistent=true]",
"birch_leaves[distance=4,persistent=false,waterlogged=true]": "birch_leaves[distance=4,persistent=false]",
"birch_leaves[distance=4,persistent=false,waterlogged=false]": "birch_leaves[distance=4,persistent=false]",
"birch_leaves[distance=5,persistent=true,waterlogged=true]": "birch_leaves[distance=5,persistent=true]",
"birch_leaves[distance=5,persistent=true,waterlogged=false]": "birch_leaves[distance=5,persistent=true]",
"birch_leaves[distance=5,persistent=false,waterlogged=true]": "birch_leaves[distance=5,persistent=false]",
"birch_leaves[distance=5,persistent=false,waterlogged=false]": "birch_leaves[distance=5,persistent=false]",
"birch_leaves[distance=6,persistent=true,waterlogged=true]": "birch_leaves[distance=6,persistent=true]",
"birch_leaves[distance=6,persistent=true,waterlogged=false]": "birch_leaves[distance=6,persistent=true]",
"birch_leaves[distance=6,persistent=false,waterlogged=true]": "birch_leaves[distance=6,persistent=false]",
"birch_leaves[distance=6,persistent=false,waterlogged=false]": "birch_leaves[distance=6,persistent=false]",
"birch_leaves[distance=7,persistent=true,waterlogged=true]": "birch_leaves[distance=7,persistent=true]",
"birch_leaves[distance=7,persistent=true,waterlogged=false]": "birch_leaves[distance=7,persistent=true]",
"birch_leaves[distance=7,persistent=false,waterlogged=true]": "birch_leaves[distance=7,persistent=false]",
"birch_leaves[distance=7,persistent=false,waterlogged=false]": "birch_leaves[distance=7,persistent=false]",
"jungle_leaves[distance=1,persistent=true,waterlogged=true]": "jungle_leaves[distance=1,persistent=true]",
"jungle_leaves[distance=1,persistent=true,waterlogged=false]": "jungle_leaves[distance=1,persistent=true]",
"jungle_leaves[distance=1,persistent=false,waterlogged=true]": "jungle_leaves[distance=1,persistent=false]",
"jungle_leaves[distance=1,persistent=false,waterlogged=false]": "jungle_leaves[distance=1,persistent=false]",
"jungle_leaves[distance=2,persistent=true,waterlogged=true]": "jungle_leaves[distance=2,persistent=true]",
"jungle_leaves[distance=2,persistent=true,waterlogged=false]": "jungle_leaves[distance=2,persistent=true]",
"jungle_leaves[distance=2,persistent=false,waterlogged=true]": "jungle_leaves[distance=2,persistent=false]",
"jungle_leaves[distance=2,persistent=false,waterlogged=false]": "jungle_leaves[distance=2,persistent=false]",
"jungle_leaves[distance=3,persistent=true,waterlogged=true]": "jungle_leaves[distance=3,persistent=true]",
"jungle_leaves[distance=3,persistent=true,waterlogged=false]": "jungle_leaves[distance=3,persistent=true]",
"jungle_leaves[distance=3,persistent=false,waterlogged=true]": "jungle_leaves[distance=3,persistent=false]",
"jungle_leaves[distance=3,persistent=false,waterlogged=false]": "jungle_leaves[distance=3,persistent=false]",
"jungle_leaves[distance=4,persistent=true,waterlogged=true]": "jungle_leaves[distance=4,persistent=true]",
"jungle_leaves[distance=4,persistent=true,waterlogged=false]": "jungle_leaves[distance=4,persistent=true]",
"jungle_leaves[distance=4,persistent=false,waterlogged=true]": "jungle_leaves[distance=4,persistent=false]",
"jungle_leaves[distance=4,persistent=false,waterlogged=false]": "jungle_leaves[distance=4,persistent=false]",
"jungle_leaves[distance=5,persistent=true,waterlogged=true]": "jungle_leaves[distance=5,persistent=true]",
"jungle_leaves[distance=5,persistent=true,waterlogged=false]": "jungle_leaves[distance=5,persistent=true]",
"jungle_leaves[distance=5,persistent=false,waterlogged=true]": "jungle_leaves[distance=5,persistent=false]",
"jungle_leaves[distance=5,persistent=false,waterlogged=false]": "jungle_leaves[distance=5,persistent=false]",
"jungle_leaves[distance=6,persistent=true,waterlogged=true]": "jungle_leaves[distance=6,persistent=true]",
"jungle_leaves[distance=6,persistent=true,waterlogged=false]": "jungle_leaves[distance=6,persistent=true]",
"jungle_leaves[distance=6,persistent=false,waterlogged=true]": "jungle_leaves[distance=6,persistent=false]",
"jungle_leaves[distance=6,persistent=false,waterlogged=false]": "jungle_leaves[distance=6,persistent=false]",
"jungle_leaves[distance=7,persistent=true,waterlogged=true]": "jungle_leaves[distance=7,persistent=true]",
"jungle_leaves[distance=7,persistent=true,waterlogged=false]": "jungle_leaves[distance=7,persistent=true]",
"jungle_leaves[distance=7,persistent=false,waterlogged=true]": "jungle_leaves[distance=7,persistent=false]",
"jungle_leaves[distance=7,persistent=false,waterlogged=false]": "jungle_leaves[distance=7,persistent=false]",
"acacia_leaves[distance=1,persistent=true,waterlogged=true]": "acacia_leaves[distance=1,persistent=true]",
"acacia_leaves[distance=1,persistent=true,waterlogged=false]": "acacia_leaves[distance=1,persistent=true]",
"acacia_leaves[distance=1,persistent=false,waterlogged=true]": "acacia_leaves[distance=1,persistent=false]",
"acacia_leaves[distance=1,persistent=false,waterlogged=false]": "acacia_leaves[distance=1,persistent=false]",
"acacia_leaves[distance=2,persistent=true,waterlogged=true]": "acacia_leaves[distance=2,persistent=true]",
"acacia_leaves[distance=2,persistent=true,waterlogged=false]": "acacia_leaves[distance=2,persistent=true]",
"acacia_leaves[distance=2,persistent=false,waterlogged=true]": "acacia_leaves[distance=2,persistent=false]",
"acacia_leaves[distance=2,persistent=false,waterlogged=false]": "acacia_leaves[distance=2,persistent=false]",
"acacia_leaves[distance=3,persistent=true,waterlogged=true]": "acacia_leaves[distance=3,persistent=true]",
"acacia_leaves[distance=3,persistent=true,waterlogged=false]": "acacia_leaves[distance=3,persistent=true]",
"acacia_leaves[distance=3,persistent=false,waterlogged=true]": "acacia_leaves[distance=3,persistent=false]",
"acacia_leaves[distance=3,persistent=false,waterlogged=false]": "acacia_leaves[distance=3,persistent=false]",
"acacia_leaves[distance=4,persistent=true,waterlogged=true]": "acacia_leaves[distance=4,persistent=true]",
"acacia_leaves[distance=4,persistent=true,waterlogged=false]": "acacia_leaves[distance=4,persistent=true]",
"acacia_leaves[distance=4,persistent=false,waterlogged=true]": "acacia_leaves[distance=4,persistent=false]",
"acacia_leaves[distance=4,persistent=false,waterlogged=false]": "acacia_leaves[distance=4,persistent=false]",
"acacia_leaves[distance=5,persistent=true,waterlogged=true]": "acacia_leaves[distance=5,persistent=true]",
"acacia_leaves[distance=5,persistent=true,waterlogged=false]": "acacia_leaves[distance=5,persistent=true]",
"acacia_leaves[distance=5,persistent=false,waterlogged=true]": "acacia_leaves[distance=5,persistent=false]",
"acacia_leaves[distance=5,persistent=false,waterlogged=false]": "acacia_leaves[distance=5,persistent=false]",
"acacia_leaves[distance=6,persistent=true,waterlogged=true]": "acacia_leaves[distance=6,persistent=true]",
"acacia_leaves[distance=6,persistent=true,waterlogged=false]": "acacia_leaves[distance=6,persistent=true]",
"acacia_leaves[distance=6,persistent=false,waterlogged=true]": "acacia_leaves[distance=6,persistent=false]",
"acacia_leaves[distance=6,persistent=false,waterlogged=false]": "acacia_leaves[distance=6,persistent=false]",
"acacia_leaves[distance=7,persistent=true,waterlogged=true]": "acacia_leaves[distance=7,persistent=true]",
"acacia_leaves[distance=7,persistent=true,waterlogged=false]": "acacia_leaves[distance=7,persistent=true]",
"acacia_leaves[distance=7,persistent=false,waterlogged=true]": "acacia_leaves[distance=7,persistent=false]",
"acacia_leaves[distance=7,persistent=false,waterlogged=false]": "acacia_leaves[distance=7,persistent=false]",
"dark_oak_leaves[distance=1,persistent=true,waterlogged=true]": "dark_oak_leaves[distance=1,persistent=true]",
"dark_oak_leaves[distance=1,persistent=true,waterlogged=false]": "dark_oak_leaves[distance=1,persistent=true]",
"dark_oak_leaves[distance=1,persistent=false,waterlogged=true]": "dark_oak_leaves[distance=1,persistent=false]",
"dark_oak_leaves[distance=1,persistent=false,waterlogged=false]": "dark_oak_leaves[distance=1,persistent=false]",
"dark_oak_leaves[distance=2,persistent=true,waterlogged=true]": "dark_oak_leaves[distance=2,persistent=true]",
"dark_oak_leaves[distance=2,persistent=true,waterlogged=false]": "dark_oak_leaves[distance=2,persistent=true]",
"dark_oak_leaves[distance=2,persistent=false,waterlogged=true]": "dark_oak_leaves[distance=2,persistent=false]",
"dark_oak_leaves[distance=2,persistent=false,waterlogged=false]": "dark_oak_leaves[distance=2,persistent=false]",
"dark_oak_leaves[distance=3,persistent=true,waterlogged=true]": "dark_oak_leaves[distance=3,persistent=true]",
"dark_oak_leaves[distance=3,persistent=true,waterlogged=false]": "dark_oak_leaves[distance=3,persistent=true]",
"dark_oak_leaves[distance=3,persistent=false,waterlogged=true]": "dark_oak_leaves[distance=3,persistent=false]",
"dark_oak_leaves[distance=3,persistent=false,waterlogged=false]": "dark_oak_leaves[distance=3,persistent=false]",
"dark_oak_leaves[distance=4,persistent=true,waterlogged=true]": "dark_oak_leaves[distance=4,persistent=true]",
"dark_oak_leaves[distance=4,persistent=true,waterlogged=false]": "dark_oak_leaves[distance=4,persistent=true]",
"dark_oak_leaves[distance=4,persistent=false,waterlogged=true]": "dark_oak_leaves[distance=4,persistent=false]",
"dark_oak_leaves[distance=4,persistent=false,waterlogged=false]": "dark_oak_leaves[distance=4,persistent=false]",
"dark_oak_leaves[distance=5,persistent=true,waterlogged=true]": "dark_oak_leaves[distance=5,persistent=true]",
"dark_oak_leaves[distance=5,persistent=true,waterlogged=false]": "dark_oak_leaves[distance=5,persistent=true]",
"dark_oak_leaves[distance=5,persistent=false,waterlogged=true]": "dark_oak_leaves[distance=5,persistent=false]",
"dark_oak_leaves[distance=5,persistent=false,waterlogged=false]": "dark_oak_leaves[distance=5,persistent=false]",
"dark_oak_leaves[distance=6,persistent=true,waterlogged=true]": "dark_oak_leaves[distance=6,persistent=true]",
"dark_oak_leaves[distance=6,persistent=true,waterlogged=false]": "dark_oak_leaves[distance=6,persistent=true]",
"dark_oak_leaves[distance=6,persistent=false,waterlogged=true]": "dark_oak_leaves[distance=6,persistent=false]",
"dark_oak_leaves[distance=6,persistent=false,waterlogged=false]": "dark_oak_leaves[distance=6,persistent=false]",
"dark_oak_leaves[distance=7,persistent=true,waterlogged=true]": "dark_oak_leaves[distance=7,persistent=true]",
"dark_oak_leaves[distance=7,persistent=true,waterlogged=false]": "dark_oak_leaves[distance=7,persistent=true]",
"dark_oak_leaves[distance=7,persistent=false,waterlogged=true]": "dark_oak_leaves[distance=7,persistent=false]",
"dark_oak_leaves[distance=7,persistent=false,waterlogged=false]": "dark_oak_leaves[distance=7,persistent=false]",
"mangrove_leaves[distance=1,persistent=true,waterlogged=true]": "acacia_leaves[distance=1,persistent=true]",
"mangrove_leaves[distance=1,persistent=true,waterlogged=false]": "acacia_leaves[distance=1,persistent=true]",
"mangrove_leaves[distance=1,persistent=false,waterlogged=true]": "acacia_leaves[distance=1,persistent=false]",
"mangrove_leaves[distance=1,persistent=false,waterlogged=false]": "acacia_leaves[distance=1,persistent=false]",
"mangrove_leaves[distance=2,persistent=true,waterlogged=true]": "acacia_leaves[distance=2,persistent=true]",
"mangrove_leaves[distance=2,persistent=true,waterlogged=false]": "acacia_leaves[distance=2,persistent=true]",
"mangrove_leaves[distance=2,persistent=false,waterlogged=true]": "acacia_leaves[distance=2,persistent=false]",
"mangrove_leaves[distance=2,persistent=false,waterlogged=false]": "acacia_leaves[distance=2,persistent=false]",
"mangrove_leaves[distance=3,persistent=true,waterlogged=true]": "acacia_leaves[distance=3,persistent=true]",
"mangrove_leaves[distance=3,persistent=true,waterlogged=false]": "acacia_leaves[distance=3,persistent=true]",
"mangrove_leaves[distance=3,persistent=false,waterlogged=true]": "acacia_leaves[distance=3,persistent=false]",
"mangrove_leaves[distance=3,persistent=false,waterlogged=false]": "acacia_leaves[distance=3,persistent=false]",
"mangrove_leaves[distance=4,persistent=true,waterlogged=true]": "acacia_leaves[distance=4,persistent=true]",
"mangrove_leaves[distance=4,persistent=true,waterlogged=false]": "acacia_leaves[distance=4,persistent=true]",
"mangrove_leaves[distance=4,persistent=false,waterlogged=true]": "acacia_leaves[distance=4,persistent=false]",
"mangrove_leaves[distance=4,persistent=false,waterlogged=false]": "acacia_leaves[distance=4,persistent=false]",
"mangrove_leaves[distance=5,persistent=true,waterlogged=true]": "acacia_leaves[distance=5,persistent=true]",
"mangrove_leaves[distance=5,persistent=true,waterlogged=false]": "acacia_leaves[distance=5,persistent=true]",
"mangrove_leaves[distance=5,persistent=false,waterlogged=true]": "acacia_leaves[distance=5,persistent=false]",
"mangrove_leaves[distance=5,persistent=false,waterlogged=false]": "acacia_leaves[distance=5,persistent=false]",
"mangrove_leaves[distance=6,persistent=true,waterlogged=true]": "acacia_leaves[distance=6,persistent=true]",
"mangrove_leaves[distance=6,persistent=true,waterlogged=false]": "acacia_leaves[distance=6,persistent=true]",
"mangrove_leaves[distance=6,persistent=false,waterlogged=true]": "acacia_leaves[distance=6,persistent=false]",
"mangrove_leaves[distance=6,persistent=false,waterlogged=false]": "acacia_leaves[distance=6,persistent=false]",
"mangrove_leaves[distance=7,persistent=true,waterlogged=true]": "acacia_leaves[distance=7,persistent=true]",
"mangrove_leaves[distance=7,persistent=true,waterlogged=false]": "acacia_leaves[distance=7,persistent=true]",
"mangrove_leaves[distance=7,persistent=false,waterlogged=true]": "acacia_leaves[distance=7,persistent=false]",
"mangrove_leaves[distance=7,persistent=false,waterlogged=false]": "acacia_leaves[distance=7,persistent=false]",
"azalea_leaves[distance=1,persistent=true,waterlogged=true]": "azalea_leaves[distance=1,persistent=true]",
"azalea_leaves[distance=1,persistent=true,waterlogged=false]": "azalea_leaves[distance=1,persistent=true]",
"azalea_leaves[distance=1,persistent=false,waterlogged=true]": "azalea_leaves[distance=1,persistent=false]",
"azalea_leaves[distance=1,persistent=false,waterlogged=false]": "azalea_leaves[distance=1,persistent=false]",
"azalea_leaves[distance=2,persistent=true,waterlogged=true]": "azalea_leaves[distance=2,persistent=true]",
"azalea_leaves[distance=2,persistent=true,waterlogged=false]": "azalea_leaves[distance=2,persistent=true]",
"azalea_leaves[distance=2,persistent=false,waterlogged=true]": "azalea_leaves[distance=2,persistent=false]",
"azalea_leaves[distance=2,persistent=false,waterlogged=false]": "azalea_leaves[distance=2,persistent=false]",
"azalea_leaves[distance=3,persistent=true,waterlogged=true]": "azalea_leaves[distance=3,persistent=true]",
"azalea_leaves[distance=3,persistent=true,waterlogged=false]": "azalea_leaves[distance=3,persistent=true]",
"azalea_leaves[distance=3,persistent=false,waterlogged=true]": "azalea_leaves[distance=3,persistent=false]",
"azalea_leaves[distance=3,persistent=false,waterlogged=false]": "azalea_leaves[distance=3,persistent=false]",
"azalea_leaves[distance=4,persistent=true,waterlogged=true]": "azalea_leaves[distance=4,persistent=true]",
"azalea_leaves[distance=4,persistent=true,waterlogged=false]": "azalea_leaves[distance=4,persistent=true]",
"azalea_leaves[distance=4,persistent=false,waterlogged=true]": "azalea_leaves[distance=4,persistent=false]",
"azalea_leaves[distance=4,persistent=false,waterlogged=false]": "azalea_leaves[distance=4,persistent=false]",
"azalea_leaves[distance=5,persistent=true,waterlogged=true]": "azalea_leaves[distance=5,persistent=true]",
"azalea_leaves[distance=5,persistent=true,waterlogged=false]": "azalea_leaves[distance=5,persistent=true]",
"azalea_leaves[distance=5,persistent=false,waterlogged=true]": "azalea_leaves[distance=5,persistent=false]",
"azalea_leaves[distance=5,persistent=false,waterlogged=false]": "azalea_leaves[distance=5,persistent=false]",
"azalea_leaves[distance=6,persistent=true,waterlogged=true]": "azalea_leaves[distance=6,persistent=true]",
"azalea_leaves[distance=6,persistent=true,waterlogged=false]": "azalea_leaves[distance=6,persistent=true]",
"azalea_leaves[distance=6,persistent=false,waterlogged=true]": "azalea_leaves[distance=6,persistent=false]",
"azalea_leaves[distance=6,persistent=false,waterlogged=false]": "azalea_leaves[distance=6,persistent=false]",
"azalea_leaves[distance=7,persistent=true,waterlogged=true]": "azalea_leaves[distance=7,persistent=true]",
"azalea_leaves[distance=7,persistent=true,waterlogged=false]": "azalea_leaves[distance=7,persistent=true]",
"azalea_leaves[distance=7,persistent=false,waterlogged=true]": "azalea_leaves[distance=7,persistent=false]",
"azalea_leaves[distance=7,persistent=false,waterlogged=false]": "azalea_leaves[distance=7,persistent=false]",
"flowering_azalea_leaves[distance=1,persistent=true,waterlogged=true]": "flowering_azalea_leaves[distance=1,persistent=true]",
"flowering_azalea_leaves[distance=1,persistent=true,waterlogged=false]": "flowering_azalea_leaves[distance=1,persistent=true]",
"flowering_azalea_leaves[distance=1,persistent=false,waterlogged=true]": "flowering_azalea_leaves[distance=1,persistent=false]",
"flowering_azalea_leaves[distance=1,persistent=false,waterlogged=false]": "flowering_azalea_leaves[distance=1,persistent=false]",
"flowering_azalea_leaves[distance=2,persistent=true,waterlogged=true]": "flowering_azalea_leaves[distance=2,persistent=true]",
"flowering_azalea_leaves[distance=2,persistent=true,waterlogged=false]": "flowering_azalea_leaves[distance=2,persistent=true]",
"flowering_azalea_leaves[distance=2,persistent=false,waterlogged=true]": "flowering_azalea_leaves[distance=2,persistent=false]",
"flowering_azalea_leaves[distance=2,persistent=false,waterlogged=false]": "flowering_azalea_leaves[distance=2,persistent=false]",
"flowering_azalea_leaves[distance=3,persistent=true,waterlogged=true]": "flowering_azalea_leaves[distance=3,persistent=true]",
"flowering_azalea_leaves[distance=3,persistent=true,waterlogged=false]": "flowering_azalea_leaves[distance=3,persistent=true]",
"flowering_azalea_leaves[distance=3,persistent=false,waterlogged=true]": "flowering_azalea_leaves[distance=3,persistent=false]",
"flowering_azalea_leaves[distance=3,persistent=false,waterlogged=false]": "flowering_azalea_leaves[distance=3,persistent=false]",
"flowering_azalea_leaves[distance=4,persistent=true,waterlogged=true]": "flowering_azalea_leaves[distance=4,persistent=true]",
"flowering_azalea_leaves[distance=4,persistent=true,waterlogged=false]": "flowering_azalea_leaves[distance=4,persistent=true]",
"flowering_azalea_leaves[distance=4,persistent=false,waterlogged=true]": "flowering_azalea_leaves[distance=4,persistent=false]",
"flowering_azalea_leaves[distance=4,persistent=false,waterlogged=false]": "flowering_azalea_leaves[distance=4,persistent=false]",
"flowering_azalea_leaves[distance=5,persistent=true,waterlogged=true]": "flowering_azalea_leaves[distance=5,persistent=true]",
"flowering_azalea_leaves[distance=5,persistent=true,waterlogged=false]": "flowering_azalea_leaves[distance=5,persistent=true]",
"flowering_azalea_leaves[distance=5,persistent=false,waterlogged=true]": "flowering_azalea_leaves[distance=5,persistent=false]",
"flowering_azalea_leaves[distance=5,persistent=false,waterlogged=false]": "flowering_azalea_leaves[distance=5,persistent=false]",
"flowering_azalea_leaves[distance=6,persistent=true,waterlogged=true]": "flowering_azalea_leaves[distance=6,persistent=true]",
"flowering_azalea_leaves[distance=6,persistent=true,waterlogged=false]": "flowering_azalea_leaves[distance=6,persistent=true]",
"flowering_azalea_leaves[distance=6,persistent=false,waterlogged=true]": "flowering_azalea_leaves[distance=6,persistent=false]",
"flowering_azalea_leaves[distance=6,persistent=false,waterlogged=false]": "flowering_azalea_leaves[distance=6,persistent=false]",
"flowering_azalea_leaves[distance=7,persistent=true,waterlogged=true]": "flowering_azalea_leaves[distance=7,persistent=true]",
"flowering_azalea_leaves[distance=7,persistent=true,waterlogged=false]": "flowering_azalea_leaves[distance=7,persistent=true]",
"flowering_azalea_leaves[distance=7,persistent=false,waterlogged=true]": "flowering_azalea_leaves[distance=7,persistent=false]",
"flowering_azalea_leaves[distance=7,persistent=false,waterlogged=false]": "flowering_azalea_leaves[distance=7,persistent=false]",
"chest[type=single,facing=north,waterlogged=true]": "chest[facing=north,type=single,waterlogged=true]",
"chest[type=single,facing=north,waterlogged=false]": "chest[facing=north,type=single,waterlogged=false]",
"chest[type=left,facing=north,waterlogged=true]": "chest[facing=north,type=left,waterlogged=true]",
"chest[type=left,facing=north,waterlogged=false]": "chest[facing=north,type=left,waterlogged=false]",
"chest[type=right,facing=north,waterlogged=true]": "chest[facing=north,type=right,waterlogged=true]",
"chest[type=right,facing=north,waterlogged=false]": "chest[facing=north,type=right,waterlogged=false]",
"chest[type=single,facing=south,waterlogged=true]": "chest[facing=south,type=single,waterlogged=true]",
"chest[type=single,facing=south,waterlogged=false]": "chest[facing=south,type=single,waterlogged=false]",
"chest[type=left,facing=south,waterlogged=true]": "chest[facing=south,type=left,waterlogged=true]",
"chest[type=left,facing=south,waterlogged=false]": "chest[facing=south,type=left,waterlogged=false]",
"chest[type=right,facing=south,waterlogged=true]": "chest[facing=south,type=right,waterlogged=true]",
"chest[type=right,facing=south,waterlogged=false]": "chest[facing=south,type=right,waterlogged=false]",
"chest[type=single,facing=west,waterlogged=true]": "chest[facing=west,type=single,waterlogged=true]",
"chest[type=single,facing=west,waterlogged=false]": "chest[facing=west,type=single,waterlogged=false]",
"chest[type=left,facing=west,waterlogged=true]": "chest[facing=west,type=left,waterlogged=true]",
"chest[type=left,facing=west,waterlogged=false]": "chest[facing=west,type=left,waterlogged=false]",
"chest[type=right,facing=west,waterlogged=true]": "chest[facing=west,type=right,waterlogged=true]",
"chest[type=right,facing=west,waterlogged=false]": "chest[facing=west,type=right,waterlogged=false]",
"chest[type=single,facing=east,waterlogged=true]": "chest[facing=east,type=single,waterlogged=true]",
"chest[type=single,facing=east,waterlogged=false]": "chest[facing=east,type=single,waterlogged=false]",
"chest[type=left,facing=east,waterlogged=true]": "chest[facing=east,type=left,waterlogged=true]",
"chest[type=left,facing=east,waterlogged=false]": "chest[facing=east,type=left,waterlogged=false]",
"chest[type=right,facing=east,waterlogged=true]": "chest[facing=east,type=right,waterlogged=true]",
"chest[type=right,facing=east,waterlogged=false]": "chest[facing=east,type=right,waterlogged=false]",
"trapped_chest[type=single,facing=north,waterlogged=true]": "trapped_chest[facing=north,type=single,waterlogged=true]",
"trapped_chest[type=single,facing=north,waterlogged=false]": "trapped_chest[facing=north,type=single,waterlogged=false]",
"trapped_chest[type=left,facing=north,waterlogged=true]": "trapped_chest[facing=north,type=left,waterlogged=true]",
"trapped_chest[type=left,facing=north,waterlogged=false]": "trapped_chest[facing=north,type=left,waterlogged=false]",
"trapped_chest[type=right,facing=north,waterlogged=true]": "trapped_chest[facing=north,type=right,waterlogged=true]",
"trapped_chest[type=right,facing=north,waterlogged=false]": "trapped_chest[facing=north,type=right,waterlogged=false]",
"trapped_chest[type=single,facing=south,waterlogged=true]": "trapped_chest[facing=south,type=single,waterlogged=true]",
"trapped_chest[type=single,facing=south,waterlogged=false]": "trapped_chest[facing=south,type=single,waterlogged=false]",
"trapped_chest[type=left,facing=south,waterlogged=true]": "trapped_chest[facing=south,type=left,waterlogged=true]",
"trapped_chest[type=left,facing=south,waterlogged=false]": "trapped_chest[facing=south,type=left,waterlogged=false]",
"trapped_chest[type=right,facing=south,waterlogged=true]": "trapped_chest[facing=south,type=right,waterlogged=true]",
"trapped_chest[type=right,facing=south,waterlogged=false]": "trapped_chest[facing=south,type=right,waterlogged=false]",
"trapped_chest[type=single,facing=west,waterlogged=true]": "trapped_chest[facing=west,type=single,waterlogged=true]",
"trapped_chest[type=single,facing=west,waterlogged=false]": "trapped_chest[facing=west,type=single,waterlogged=false]",
"trapped_chest[type=left,facing=west,waterlogged=true]": "trapped_chest[facing=west,type=left,waterlogged=true]",
"trapped_chest[type=left,facing=west,waterlogged=false]": "trapped_chest[facing=west,type=left,waterlogged=false]",
"trapped_chest[type=right,facing=west,waterlogged=true]": "trapped_chest[facing=west,type=right,waterlogged=true]",
"trapped_chest[type=right,facing=west,waterlogged=false]": "trapped_chest[facing=west,type=right,waterlogged=false]",
"trapped_chest[type=single,facing=east,waterlogged=true]": "trapped_chest[facing=east,type=single,waterlogged=true]",
"trapped_chest[type=single,facing=east,waterlogged=false]": "trapped_chest[facing=east,type=single,waterlogged=false]",
"trapped_chest[type=left,facing=east,waterlogged=true]": "trapped_chest[facing=east,type=left,waterlogged=true]",
"trapped_chest[type=left,facing=east,waterlogged=false]": "trapped_chest[facing=east,type=left,waterlogged=false]",
"trapped_chest[type=right,facing=east,waterlogged=true]": "trapped_chest[facing=east,type=right,waterlogged=true]",
"trapped_chest[type=right,facing=east,waterlogged=false]": "trapped_chest[facing=east,type=right,waterlogged=false]",
"moving_piston[type=normal,facing=north]": "moving_piston[facing=north,type=normal]",
"moving_piston[type=sticky,facing=north]": "moving_piston[facing=north,type=sticky]",
"moving_piston[type=normal,facing=east]": "moving_piston[facing=east,type=normal]",
"moving_piston[type=sticky,facing=east]": "moving_piston[facing=east,type=sticky]",
"moving_piston[type=normal,facing=south]": "moving_piston[facing=south,type=normal]",
"moving_piston[type=sticky,facing=south]": "moving_piston[facing=south,type=sticky]",
"moving_piston[type=normal,facing=west]": "moving_piston[facing=west,type=normal]",
"moving_piston[type=sticky,facing=west]": "moving_piston[facing=west,type=sticky]",
"moving_piston[type=normal,facing=up]": "moving_piston[facing=up,type=normal]",
"moving_piston[type=sticky,facing=up]": "moving_piston[facing=up,type=sticky]",
"moving_piston[type=normal,facing=down]": "moving_piston[facing=down,type=normal]",
"moving_piston[type=sticky,facing=down]": "moving_piston[facing=down,type=sticky]",
"piston_head[type=normal,facing=north,short=true]": "piston_head[facing=north,short=true,type=normal]",
"piston_head[type=sticky,facing=north,short=true]": "piston_head[facing=north,short=true,type=sticky]",
"piston_head[type=normal,facing=north,short=false]": "piston_head[facing=north,short=false,type=normal]",
"piston_head[type=sticky,facing=north,short=false]": "piston_head[facing=north,short=false,type=sticky]",
"piston_head[type=normal,facing=east,short=true]": "piston_head[facing=east,short=true,type=normal]",
"piston_head[type=sticky,facing=east,short=true]": "piston_head[facing=east,short=true,type=sticky]",
"piston_head[type=normal,facing=east,short=false]": "piston_head[facing=east,short=false,type=normal]",
"piston_head[type=sticky,facing=east,short=false]": "piston_head[facing=east,short=false,type=sticky]",
"piston_head[type=normal,facing=south,short=true]": "piston_head[facing=south,short=true,type=normal]",
"piston_head[type=sticky,facing=south,short=true]": "piston_head[facing=south,short=true,type=sticky]",
"piston_head[type=normal,facing=south,short=false]": "piston_head[facing=south,short=false,type=normal]",
"piston_head[type=sticky,facing=south,short=false]": "piston_head[facing=south,short=false,type=sticky]",
"piston_head[type=normal,facing=west,short=true]": "piston_head[facing=west,short=true,type=normal]",
"piston_head[type=sticky,facing=west,short=true]": "piston_head[facing=west,short=true,type=sticky]",
"piston_head[type=normal,facing=west,short=false]": "piston_head[facing=west,short=false,type=normal]",
"piston_head[type=sticky,facing=west,short=false]": "piston_head[facing=west,short=false,type=sticky]",
"piston_head[type=normal,facing=up,short=true]": "piston_head[facing=up,short=true,type=normal]",
"piston_head[type=sticky,facing=up,short=true]": "piston_head[facing=up,short=true,type=sticky]",
"piston_head[type=normal,facing=up,short=false]": "piston_head[facing=up,short=false,type=normal]",
"piston_head[type=sticky,facing=up,short=false]": "piston_head[facing=up,short=false,type=sticky]",
"piston_head[type=normal,facing=down,short=true]": "piston_head[facing=down,short=true,type=normal]",
"piston_head[type=sticky,facing=down,short=true]": "piston_head[facing=down,short=true,type=sticky]",
"piston_head[type=normal,facing=down,short=false]": "piston_head[facing=down,short=false,type=normal]",
"piston_head[type=sticky,facing=down,short=false]": "piston_head[facing=down,short=false,type=sticky]"
},
"sounds": {
"music.overworld.deep_dark": "music.end",
"block.sculk_vein.break": "block.sculk_sensor.break",
"block.sculk_vein.fall": "block.sculk_sensor.fall",
"block.sculk_vein.hit": "block.sculk_sensor.hit",
"block.sculk_vein.place": "block.sculk_sensor.place",
"block.sculk_vein.step": "block.sculk_sensor.step",
"block.sculk_catalyst.bloom": "particle.soul_escape",
"block.sculk_catalyst.break": "block.sculk_sensor.break",
"block.sculk_catalyst.fall": "block.sculk_sensor.fall",
"block.sculk_catalyst.hit": "block.sculk_sensor.hit",
"block.sculk_catalyst.place": "block.sculk_sensor.place",
"block.sculk_catalyst.step": "block.sculk_sensor.step",
"block.sculk.spread": "item.ink_sac.use",
"block.sculk.charge": "block.bubble_column.bubble_pop",
"block.sculk.break": "block.sculk_sensor.break",
"block.sculk.fall": "block.sculk_sensor.fall",
"block.sculk.hit": "block.sculk_sensor.hit",
"block.sculk.place": "block.sculk_sensor.place",
"block.sculk.step": "block.sculk_sensor.step",
"block.sculk_shrieker.break": "block.sculk_sensor.break",
"block.sculk_shrieker.fall": "block.sculk_sensor.fall",
"block.sculk_shrieker.hit": "block.sculk_sensor.hit",
"block.sculk_shrieker.place": "block.sculk_sensor.place",
"block.sculk_shrieker.step": "block.sculk_sensor.step",
"block.sculk_shrieker.shriek": "entity.player.breath",
"entity.warden.ambient": "entity.ravager.ambient",
"entity.warden.listening": "entity.ravager.stunned",
"entity.warden.listening_angry": "entity.ravager.celebrate",
"entity.warden.angry": "entity.ravager.ambient",
"entity.warden.hurt": "entity.ravager.hurt",
"entity.warden.death": "entity.ravager.death",
"entity.warden.step": "entity.ravager.step",
"entity.warden.tendril_clicks": "block.sculk_sensor.clicking",
"entity.warden.heartbeat": "block.note_block.basedrum",
"entity.warden.agitated": "entity.ravager.roar",
"entity.warden.attack_impact": "entity.ravager.attack",
"entity.warden.roar": "entity.ravager.roar",
"entity.warden.sniff": "entity.piglin.admiring_item",
"entity.warden.emerge": "item.trident.thunder",
"entity.warden.dig": "block.beacon.deactivate",
"entity.warden.nearby_closest": "block.sculk_sensor.clicking",
"entity.warden.nearby_closer": "block.sculk_sensor.clicking",
"entity.warden.nearby_close": "block.sculk_sensor.clicking",
"item.bucket.empty_tadpole": "item.bucket.empty_fish",
"item.bucket.fill_tadpole": "item.bucket.fill_fish",
"block.froglight.break": "block.slime_block.break",
"block.froglight.fall": "block.slime_block.fall",
"block.froglight.hit": "block.slime_block.hit",
"block.froglight.place": "block.slime_block.place",
"block.froglight.step": "block.slime_block.step",
"block.frogspawn.step": "block.slime_block.step",
"block.frogspawn.break": "block.slime_block.break",
"block.frogspawn.fall": "block.slime_block.fall",
"block.frogspawn.hatch": "entity.turtle.egg_hatch",
"block.frogspawn.hit": "block.slime_block.hit",
"block.frogspawn.place": "block.slime_block.place",
"entity.frog.ambient": "entity.villager.ambient",
"entity.frog.death": "entity.villager.death",
"entity.frog.eat": "entity.player.burp",
"entity.frog.hurt": "entity.villager.hurt",
"entity.frog.lay_spawn": "entity.turtle.lay_egg",
"entity.frog.long_jump": "entity.salmon.flop",
"entity.frog.step": "entity.salmon.flop",
"entity.frog.tongue": "entity.salmon.flop",
"block.mangrove_roots.break": "block.vine.break",
"block.mangrove_roots.fall": "block.vine.fall",
"block.mangrove_roots.hit": "block.vine.hit",
"block.mangrove_roots.place": "block.vine.place",
"block.mangrove_roots.step": "block.vine.step",
"block.mud.break": "block.wet_grass.break",
"block.mud.fall": "block.wet_grass.fall",
"block.mud.hit": "block.wet_grass.hit",
"block.mud.place": "block.wet_grass.place",
"block.mud.step": "block.wet_grass.step",
"block.mud_bricks.break": "block.stone.break",
"block.mud_bricks.fall": "block.stone.fall",
"block.mud_bricks.hit": "block.stone.hit",
"block.mud_bricks.place": "block.stone.place",
"block.mud_bricks.step": "block.stone.step",
"block.muddy_mangrove_roots.break": "block.wet_grass.break",
"block.muddy_mangrove_roots.fall": "block.wet_grass.fall",
"block.muddy_mangrove_roots.hit": "block.wet_grass.hit",
"block.muddy_mangrove_roots.place": "block.wet_grass.place",
"block.muddy_mangrove_roots.step": "block.wet_grass.step",
"block.packed_mud.break": "block.stone.break",
"block.packed_mud.fall": "block.stone.fall",
"block.packed_mud.hit": "block.stone.hit",
"block.packed_mud.place": "block.stone.place",
"block.packed_mud.step": "block.stone.step",
"entity.tadpole.death": "entity.salmon.death",
"entity.tadpole.eat": "entity.salmon.flop",
"entity.tadpole.flop": "entity.salmon.flop",
"entity.tadpole.grow_up": "entity.villager.ambient",
"entity.tadpole.hurt": "entity.salmon.hurt",
"entity.tadpole.step": "entity.salmon.flop",
"entity.allay.ambient_with_item": "block.amethyst_block.chime",
"entity.allay.ambient_without_item": "block.amethyst_block.chime",
"entity.allay.death": "entity.vex.death",
"entity.allay.flap": "block.amethyst_block.chime",
"entity.allay.hurt": "entity.vex.hurt",
"entity.allay.item_given": "entity.item.pickup",
"entity.allay.item_taken": "entity.item.pickup",
"entity.parrot.imitate.warden": "entity.parrot.imitate.ravager",
"entity.warden.sonic_boom": "entity.generic.explode",
"entity.warden.sonic_charge": "entity.tnt.primed",
"entity.allay.item_thrown": "entity.item.pickup",
"music_disc.5": "music_disc.11",
"music.overworld.swamp": "music.game",
"music.overworld.jungle_and_forest": "music.game",
"music.overworld.old_growth_taiga": "music.game",
"entity.goat.horn_break": "entity.zombie.break_wooden_door",
"item.goat_horn.play": "block.note_block.banjo",
"entity.goat.screaming.horn_break": "entity.zombie.break_wooden_door",
"item.goat_horn.sound.0": "block.note_block.bass",
"item.goat_horn.sound.1": "block.note_block.snare",
"item.goat_horn.sound.2": "block.note_block.xylophone",
"item.goat_horn.sound.3": "block.note_block.bit",
"item.goat_horn.sound.4": "block.note_block.harp",
"item.goat_horn.sound.5": "block.note_block.pling",
"item.goat_horn.sound.6": "block.note_block.didgeridoo",
"item.goat_horn.sound.7": "block.note_block.guitar"
},
"items": {
"warden_spawn_egg": {
"id": "glow_squid_spawn_egg",
"name": "1.19 Warden Spawn Egg"
},
"sculk_vein": {
"id": "glow_lichen",
"name": "1.19 Sculk Vein"
},
"sculk_catalyst": {
"id": "end_stone",
"name": "1.19 Sculk Catalyst"
},
"sculk": {
"id": "black_concrete_powder",
"name": "1.19 Sculk"
},
"sculk_shrieker": {
"id": "end_portal_frame",
"name": "1.19 Sculk Shrieker"
},
"mud": {
"id": "coarse_dirt",
"name": "1.19 Mud"
},
"mangrove_planks": {
"id": "acacia_planks",
"name": "1.19 Mangrove Planks"
},
"mangrove_propagule": {
"id": "fern",
"name": "1.19 Mangrove Propagule"
},
"mangrove_log": {
"id": "acacia_log",
"name": "1.19 Mangrove Log"
},
"mangrove_roots": {
"id": "oak_wood",
"name": "1.19 Mangrove Roots"
},
"muddy_mangrove_roots": {
"id": "coarse_dirt",
"name": "1.19 Muddy Mangrove Roots"
},
"stripped_mangrove_log": {
"id": "stripped_acacia_log",
"name": "1.19 Stripped Mangrove Log"
},
"stripped_mangrove_wood": {
"id": "stripped_acacia_wood",
"name": "1.19 Stripped Mangrove Wood"
},
"mangrove_wood": {
"id": "acacia_wood",
"name": "1.19 Mangrove Wood"
},
"mangrove_leaves": {
"id": "acacia_leaves",
"name": "1.19 Mangrove Leaves"
},
"mangrove_slab": {
"id": "acacia_slab",
"name": "1.19 Mangrove Slab"
},
"mud_brick_slab": {
"id": "brick_slab",
"name": "1.19 Mud Brick Slab"
},
"mangrove_fence": {
"id": "acacia_fence",
"name": "1.19 Mangrove Fence"
},
"packed_mud": {
"id": "bricks",
"name": "1.19 Packed Mud"
},
"mud_bricks": {
"id": "bricks",
"name": "1.19 Mud Bricks"
},
"mud_brick_stairs": {
"id": "brick_stairs",
"name": "1.19 Mud Brick Stairs"
},
"mud_brick_wall": {
"id": "brick_wall",
"name": "1.19 Mud Brick Wall"
},
"mangrove_stairs": {
"id": "acacia_stairs",
"name": "1.19 Mangrove Stairs"
},
"mangrove_button": {
"id": "acacia_button",
"name": "1.19 Mangrove Button"
},
"mangrove_pressure_plate": {
"id": "acacia_pressure_plate",
"name": "1.19 Mangrove Pressure Plate"
},
"mangrove_door": {
"id": "acacia_door",
"name": "1.19 Mangrove Door"
},
"mangrove_trapdoor": {
"id": "acacia_trapdoor",
"name": "1.19 Mangrove Trapdoor"
},
"mangrove_fence_gate": {
"id": "acacia_fence_gate",
"name": "1.19 Mangrove Fence Gate"
},
"mangrove_boat": {
"id": "acacia_boat",
"name": "1.19 Mangrove Boat"
},
"mangrove_sign": {
"id": "acacia_sign",
"name": "1.19 Mangrove Sign"
},
"tadpole_bucket": {
"id": "pufferfish_bucket",
"name": "1.19 Tadpole Bucket"
},
"frog_spawn_egg": {
"id": "tropical_fish_spawn_egg",
"name": "1.19 Frog Spawn Egg"
},
"tadpole_spawn_egg": {
"id": "donkey_spawn_egg",
"name": "1.19 Tadpole Spawn Egg"
},
"ochre_froglight": {
"id": "sea_lantern",
"name": "1.19 Ochre Froglight"
},
"verdant_froglight": {
"id": "sea_lantern",
"name": "1.19 Verdant Froglight"
},
"pearlescent_froglight": {
"id": "sea_lantern",
"name": "1.19 Pearlescent Froglight"
},
"frogspawn": {
"id": "glow_lichen",
"name": "1.19 Frogspawn"
},
"acacia_chest_boat": {
"id": "acacia_boat",
"name": "1.19 Acacia Chest Boat"
},
"dark_oak_chest_boat": {
"id": "dark_oak_boat",
"name": "1.19 Dark Oak Chest Boat"
},
"mangrove_chest_boat": {
"id": "acacia_boat",
"name": "1.19 Mangrove Chest Boat"
},
"jungle_chest_boat": {
"id": "jungle_boat",
"name": "1.19 Jungle Chest Boat"
},
"spruce_chest_boat": {
"id": "spruce_boat",
"name": "1.19 Spruce Chest Boat"
},
"oak_chest_boat": {
"id": "oak_boat",
"name": "1.19 Oak Chest Boat"
},
"birch_chest_boat": {
"id": "birch_boat",
"name": "1.19 Birch Chest Boat"
},
"allay_spawn_egg": {
"id": "zombie_spawn_egg",
"name": "1.19 Allay Spawn Egg"
},
"reinforced_deepslate": {
"id": "obsidian",
"name": "1.19 Reinforced Deepslate"
},
"echo_shard": {
"id": "prismarine_shard",
"name": "1.19 Echo Shard"
},
"recovery_compass": {
"id": "compass",
"name": "1.19 Recovery Compass"
},
"music_disc_5": {
"id": "music_disc_13",
"name": "1.19 Music Disc 5"
},
"disc_fragment_5": {
"id": "music_disc_13",
"name": "1.19 Disc Fragment"
},
"goat_horn": {
"id": "dead_horn_coral_fan",
"name": "1.19 Goat Horn"
}
},
"particles": {
"sculk_soul": "soul",
"sculk_charge": "",
"sculk_charge_pop": "bubble_pop",
"shriek": "",
"allay_dust": "wax_off",
"sonic_boom": "enchanted_hit"
},
"blockentities": {
"sculk_catalyst": "",
"sculk_shrieker": ""
},
"enchantments": {
"swift_sneak": "soul_speed"
},
"paintings": {
"earth": "void",
"fire": "void",
"water": "void",
"wind": "void"
},
"argumenttypes": {
"template_mirror": "brigadier:string",
"template_rotation": "brigadier:string"
},
"entitynames": {
"warden": "Warden",
"frog": "Frog",
"tadpole": "Tadpole",
"allay": "Allay"
}
}

Datei anzeigen

@ -1,279 +0,0 @@
{
"blockstates": {
"cherry_planks": "acacia_planks",
"cherry_sapling": "acacia_sapling[",
"suspicious_sand": "sand",
"cherry_log": "acacia_log[",
"stripped_cherry_log": "stripped_acacia_log[",
"cherry_wood": "acacia_wood[",
"stripped_cherry_wood": "stripped_acacia_wood[",
"cherry_leaves": "acacia_leaves[",
"torchflower": "red_tulip",
"cherry_sign": "acacia_sign[",
"cherry_wall_sign": "acacia_wall_sign[",
"cherry_hanging_sign": "acacia_hanging_sign[",
"cherry_wall_hanging_sign": "acacia_wall_hanging_sign[",
"cherry_pressure_plate": "acacia_pressure_plate[",
"cherry_trapdoor": "acacia_trapdoor[",
"potted_torchflower": "potted_red_tulip",
"potted_cherry_sapling": "potted_pink_tulip",
"cherry_button": "acacia_button[",
"cherry_stairs": "acacia_stairs[",
"cherry_slab": "acacia_slab[",
"cherry_fence": "acacia_fence[",
"cherry_fence_gate": "acacia_fence_gate[",
"cherry_door": "acacia_door[",
"torchflower_crop": "melon_stem[",
"pink_petals": "air",
"decorated_pot": "bricks"
},
"blockentities": {
"suspicious_sand": "",
"decorated_pot": ""
},
"items": {
"cherry_planks": {
"id": "acacia_planks",
"name": "1.19.4 Cherry Planks"
},
"cherry_sapling": {
"id": "peony",
"name": "1.19.4 Cherry Sapling"
},
"suspicious_sand": {
"id": "sand",
"name": "1.19.4 Suspicious Sand"
},
"cherry_log": {
"id": "acacia_log",
"name": "1.19.4 Cherry Log"
},
"stripped_cherry_log": {
"id": "stripped_acacia_log",
"name": "1.19.4 Stripped Cherry Log"
},
"stripped_cherry_wood": {
"id": "stripped_acacia_wood",
"name": "1.19.4 Stripped Cherry Wood"
},
"cherry_wood": {
"id": "acacia_wood",
"name": "1.19.4 Cherry Wood"
},
"cherry_leaves": {
"id": "acacia_leaves",
"name": "1.19.4 Cherry Leaves"
},
"torchflower": {
"id": "red_tulip",
"name": "1.19.4 Torchflower"
},
"pink_petals": {
"id": "brain_coral_fan",
"name": "1.19.4 Pink Petals"
},
"cherry_slab": {
"id": "acacia_slab",
"name": "1.19.4 Cherry Slab"
},
"decorated_pot": {
"id": "flower_pot",
"name": "1.19.4 Decorated Pot"
},
"cherry_fence": {
"id": "acacia_fence",
"name": "1.19.4 Cherry Fence"
},
"cherry_stairs": {
"id": "acacia_stairs",
"name": "1.19.4 Cherry Stairs"
},
"cherry_button": {
"id": "acacia_button",
"name": "1.19.4 Cherry Button"
},
"cherry_pressure_plate": {
"id": "acacia_pressure_plate",
"name": "1.19.4 Cherry Pressure Plate"
},
"cherry_door": {
"id": "acacia_door",
"name": "1.19.4 Cherry Door"
},
"cherry_trapdoor": {
"id": "acacia_trapdoor",
"name": "1.19.4 Cherry Trapdoor"
},
"cherry_fence_gate": {
"id": "acacia_fence_gate",
"name": "1.19.4 Cherry Fence Gate"
},
"cherry_boat": {
"id": "acacia_boat",
"name": "1.19.4 Cherry Boat"
},
"cherry_chest_boat": {
"id": "acacia_chest_boat",
"name": "1.19.4 Cherry Chest Boat"
},
"cherry_sign": {
"id": "acacia_sign",
"name": "1.19.4 Cherry Sign"
},
"cherry_hanging_sign": {
"id": "acacia_hanging_sign",
"name": "1.19.4 Cherry Hanging Sign"
},
"sniffer_spawn_egg": {
"id": "strider_spawn_egg",
"name": "1.19.4 Sniffer Spawn Egg"
},
"torchflower_seeds": {
"id": "beetroot_seeds",
"name": "1.19.4 Torchflower Seeds"
},
"brush": {
"id": "shears",
"name": "1.19.4 Brush"
},
"netherite_upgrade_smithing_template": {
"id": "book",
"name": "1.19.4 Netherite Upgrade Smithing Template"
},
"sentry_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Sentry Armor Trim Smithing Template"
},
"dune_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Dune Armor Trim Smithing Template"
},
"coast_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Coast Armor Trim Smithing Template"
},
"wild_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Wild Armor Trim Smithing Template"
},
"ward_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Ward Armor Trim Smithing Template"
},
"eye_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Eye Armor Trim Smithing Template"
},
"vex_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Vex Armor Trim Smithing Template"
},
"tide_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Tide Armor Trim Smithing Template"
},
"snout_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Snout Armor Trim Smithing Template"
},
"rib_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Rib Armor Trim Smithing Template"
},
"spire_armor_trim_smithing_template": {
"id": "book",
"name": "1.19.4 Spire Armor Trim Smithing Template"
},
"pottery_shard_archer": {
"id": "brick",
"name": "1.19.4 Pottery Shard Archer"
},
"pottery_shard_prize": {
"id": "brick",
"name": "1.19.4 Pottery Shard Prize"
},
"pottery_shard_arms_up": {
"id": "brick",
"name": "1.19.4 Pottery Shard Arms Up"
},
"pottery_shard_skull": {
"id": "brick",
"name": "1.19.4 Pottery Shard Skull"
}
},
"sounds": {
"item.brush.brushing": "",
"item.brush.brush_sand_completed": "",
"block.cherry_wood.break": "",
"block.cherry_wood.fall": "",
"block.cherry_wood.hit": "",
"block.cherry_wood.place": "",
"block.cherry_wood.step": "",
"block.cherry_sapling.break": "",
"block.cherry_sapling.fall": "",
"block.cherry_sapling.hit": "",
"block.cherry_sapling.place": "",
"block.cherry_sapling.step": "",
"block.cherry_leaves.break": "",
"block.cherry_leaves.fall": "",
"block.cherry_leaves.hit": "",
"block.cherry_leaves.place": "",
"block.cherry_leaves.step": "",
"block.cherry_wood_hanging_sign.step": "",
"block.cherry_wood_hanging_sign.break": "",
"block.cherry_wood_hanging_sign.fall": "",
"block.cherry_wood_hanging_sign.hit": "",
"block.cherry_wood_hanging_sign.place": "",
"block.cherry_wood_door.close": "",
"block.cherry_wood_door.open": "",
"block.cherry_wood_trapdoor.close": "",
"block.cherry_wood_trapdoor.open": "",
"block.cherry_wood_button.click_off": "",
"block.cherry_wood_button.click_on": "",
"block.cherry_wood_pressure_plate.click_off": "",
"block.cherry_wood_pressure_plate.click_on": "",
"block.cherry_wood_fence_gate.close": "",
"block.cherry_wood_fence_gate.open": "",
"block.decorated_pot.break": "",
"block.decorated_pot.fall": "",
"block.decorated_pot.hit": "",
"block.decorated_pot.step": "",
"block.decorated_pot.place": "",
"block.decorated_pot.shatter": "",
"block.suspicious_sand.break": "",
"block.suspicious_sand.step": "",
"block.suspicious_sand.place": "",
"block.suspicious_sand.hit": "",
"block.suspicious_sand.fall": "",
"block.pink_petals.break": "",
"block.pink_petals.fall": "",
"block.pink_petals.hit": "",
"block.pink_petals.place": "",
"block.pink_petals.step": "",
"music.overworld.cherry_grove": "",
"intentionally_empty": "",
"entity.sniffer.step": "",
"entity.sniffer.eat": "",
"entity.sniffer.idle": "",
"entity.sniffer.hurt": "",
"entity.sniffer.death": "",
"entity.sniffer.drop_seed": "",
"entity.sniffer.scenting": "",
"entity.sniffer.sniffing": "",
"entity.sniffer.searching": "",
"entity.sniffer.digging": "",
"entity.sniffer.digging_stop": "",
"entity.sniffer.happy": ""
},
"particles": {
"dripping_cherry_leaves": "dripping_honey",
"falling_cherry_leaves": "falling_honey",
"landing_cherry_leaves": "landing_honey"
},
"entitynames": {
"sniffer": "Sniffer"
},
"argumenttypes": {
"heightmap": "brigadier:string"
}
}

Datei anzeigen

@ -1,897 +0,0 @@
{
"blockstates": {
"note_block": "note_block[instrument=harp,note=0,powered=false]",
"piglin_head": "zombie_head[",
"piglin_wall_head": "zombie_wall_head[",
"bamboo_planks": "birch_planks",
"bamboo_mosaic": "birch_planks",
"chiseled_bookshelf": "bookshelf",
"bamboo_sign": "birch_sign[",
"bamboo_wall_sign": "birch_wall_sign[",
"oak_hanging_sign[attached=true,rotation=0,waterlogged=true]": "oak_sign[rotation=0,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=0,waterlogged=false]": "oak_sign[rotation=0,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=1,waterlogged=true]": "oak_sign[rotation=1,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=1,waterlogged=false]": "oak_sign[rotation=1,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=2,waterlogged=true]": "oak_sign[rotation=2,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=2,waterlogged=false]": "oak_sign[rotation=2,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=3,waterlogged=true]": "oak_sign[rotation=3,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=3,waterlogged=false]": "oak_sign[rotation=3,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=4,waterlogged=true]": "oak_sign[rotation=4,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=4,waterlogged=false]": "oak_sign[rotation=4,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=5,waterlogged=true]": "oak_sign[rotation=5,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=5,waterlogged=false]": "oak_sign[rotation=5,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=6,waterlogged=true]": "oak_sign[rotation=6,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=6,waterlogged=false]": "oak_sign[rotation=6,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=7,waterlogged=true]": "oak_sign[rotation=7,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=7,waterlogged=false]": "oak_sign[rotation=7,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=8,waterlogged=true]": "oak_sign[rotation=8,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=8,waterlogged=false]": "oak_sign[rotation=8,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=9,waterlogged=true]": "oak_sign[rotation=9,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=9,waterlogged=false]": "oak_sign[rotation=9,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=10,waterlogged=true]": "oak_sign[rotation=10,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=10,waterlogged=false]": "oak_sign[rotation=10,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=11,waterlogged=true]": "oak_sign[rotation=11,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=11,waterlogged=false]": "oak_sign[rotation=11,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=12,waterlogged=true]": "oak_sign[rotation=12,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=12,waterlogged=false]": "oak_sign[rotation=12,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=13,waterlogged=true]": "oak_sign[rotation=13,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=13,waterlogged=false]": "oak_sign[rotation=13,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=14,waterlogged=true]": "oak_sign[rotation=14,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=14,waterlogged=false]": "oak_sign[rotation=14,waterlogged=false]",
"oak_hanging_sign[attached=true,rotation=15,waterlogged=true]": "oak_sign[rotation=15,waterlogged=true]",
"oak_hanging_sign[attached=true,rotation=15,waterlogged=false]": "oak_sign[rotation=15,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=0,waterlogged=true]": "oak_sign[rotation=0,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=0,waterlogged=false]": "oak_sign[rotation=0,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=1,waterlogged=true]": "oak_sign[rotation=1,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=1,waterlogged=false]": "oak_sign[rotation=1,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=2,waterlogged=true]": "oak_sign[rotation=2,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=2,waterlogged=false]": "oak_sign[rotation=2,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=3,waterlogged=true]": "oak_sign[rotation=3,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=3,waterlogged=false]": "oak_sign[rotation=3,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=4,waterlogged=true]": "oak_sign[rotation=4,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=4,waterlogged=false]": "oak_sign[rotation=4,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=5,waterlogged=true]": "oak_sign[rotation=5,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=5,waterlogged=false]": "oak_sign[rotation=5,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=6,waterlogged=true]": "oak_sign[rotation=6,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=6,waterlogged=false]": "oak_sign[rotation=6,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=7,waterlogged=true]": "oak_sign[rotation=7,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=7,waterlogged=false]": "oak_sign[rotation=7,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=8,waterlogged=true]": "oak_sign[rotation=8,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=8,waterlogged=false]": "oak_sign[rotation=8,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=9,waterlogged=true]": "oak_sign[rotation=9,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=9,waterlogged=false]": "oak_sign[rotation=9,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=10,waterlogged=true]": "oak_sign[rotation=10,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=10,waterlogged=false]": "oak_sign[rotation=10,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=11,waterlogged=true]": "oak_sign[rotation=11,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=11,waterlogged=false]": "oak_sign[rotation=11,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=12,waterlogged=true]": "oak_sign[rotation=12,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=12,waterlogged=false]": "oak_sign[rotation=12,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=13,waterlogged=true]": "oak_sign[rotation=13,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=13,waterlogged=false]": "oak_sign[rotation=13,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=14,waterlogged=true]": "oak_sign[rotation=14,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=14,waterlogged=false]": "oak_sign[rotation=14,waterlogged=false]",
"oak_hanging_sign[attached=false,rotation=15,waterlogged=true]": "oak_sign[rotation=15,waterlogged=true]",
"oak_hanging_sign[attached=false,rotation=15,waterlogged=false]": "oak_sign[rotation=15,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=0,waterlogged=true]": "spruce_sign[rotation=0,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=0,waterlogged=false]": "spruce_sign[rotation=0,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=1,waterlogged=true]": "spruce_sign[rotation=1,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=1,waterlogged=false]": "spruce_sign[rotation=1,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=2,waterlogged=true]": "spruce_sign[rotation=2,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=2,waterlogged=false]": "spruce_sign[rotation=2,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=3,waterlogged=true]": "spruce_sign[rotation=3,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=3,waterlogged=false]": "spruce_sign[rotation=3,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=4,waterlogged=true]": "spruce_sign[rotation=4,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=4,waterlogged=false]": "spruce_sign[rotation=4,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=5,waterlogged=true]": "spruce_sign[rotation=5,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=5,waterlogged=false]": "spruce_sign[rotation=5,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=6,waterlogged=true]": "spruce_sign[rotation=6,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=6,waterlogged=false]": "spruce_sign[rotation=6,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=7,waterlogged=true]": "spruce_sign[rotation=7,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=7,waterlogged=false]": "spruce_sign[rotation=7,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=8,waterlogged=true]": "spruce_sign[rotation=8,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=8,waterlogged=false]": "spruce_sign[rotation=8,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=9,waterlogged=true]": "spruce_sign[rotation=9,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=9,waterlogged=false]": "spruce_sign[rotation=9,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=10,waterlogged=true]": "spruce_sign[rotation=10,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=10,waterlogged=false]": "spruce_sign[rotation=10,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=11,waterlogged=true]": "spruce_sign[rotation=11,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=11,waterlogged=false]": "spruce_sign[rotation=11,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=12,waterlogged=true]": "spruce_sign[rotation=12,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=12,waterlogged=false]": "spruce_sign[rotation=12,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=13,waterlogged=true]": "spruce_sign[rotation=13,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=13,waterlogged=false]": "spruce_sign[rotation=13,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=14,waterlogged=true]": "spruce_sign[rotation=14,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=14,waterlogged=false]": "spruce_sign[rotation=14,waterlogged=false]",
"spruce_hanging_sign[attached=true,rotation=15,waterlogged=true]": "spruce_sign[rotation=15,waterlogged=true]",
"spruce_hanging_sign[attached=true,rotation=15,waterlogged=false]": "spruce_sign[rotation=15,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=0,waterlogged=true]": "spruce_sign[rotation=0,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=0,waterlogged=false]": "spruce_sign[rotation=0,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=1,waterlogged=true]": "spruce_sign[rotation=1,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=1,waterlogged=false]": "spruce_sign[rotation=1,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=2,waterlogged=true]": "spruce_sign[rotation=2,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=2,waterlogged=false]": "spruce_sign[rotation=2,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=3,waterlogged=true]": "spruce_sign[rotation=3,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=3,waterlogged=false]": "spruce_sign[rotation=3,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=4,waterlogged=true]": "spruce_sign[rotation=4,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=4,waterlogged=false]": "spruce_sign[rotation=4,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=5,waterlogged=true]": "spruce_sign[rotation=5,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=5,waterlogged=false]": "spruce_sign[rotation=5,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=6,waterlogged=true]": "spruce_sign[rotation=6,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=6,waterlogged=false]": "spruce_sign[rotation=6,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=7,waterlogged=true]": "spruce_sign[rotation=7,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=7,waterlogged=false]": "spruce_sign[rotation=7,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=8,waterlogged=true]": "spruce_sign[rotation=8,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=8,waterlogged=false]": "spruce_sign[rotation=8,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=9,waterlogged=true]": "spruce_sign[rotation=9,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=9,waterlogged=false]": "spruce_sign[rotation=9,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=10,waterlogged=true]": "spruce_sign[rotation=10,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=10,waterlogged=false]": "spruce_sign[rotation=10,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=11,waterlogged=true]": "spruce_sign[rotation=11,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=11,waterlogged=false]": "spruce_sign[rotation=11,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=12,waterlogged=true]": "spruce_sign[rotation=12,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=12,waterlogged=false]": "spruce_sign[rotation=12,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=13,waterlogged=true]": "spruce_sign[rotation=13,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=13,waterlogged=false]": "spruce_sign[rotation=13,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=14,waterlogged=true]": "spruce_sign[rotation=14,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=14,waterlogged=false]": "spruce_sign[rotation=14,waterlogged=false]",
"spruce_hanging_sign[attached=false,rotation=15,waterlogged=true]": "spruce_sign[rotation=15,waterlogged=true]",
"spruce_hanging_sign[attached=false,rotation=15,waterlogged=false]": "spruce_sign[rotation=15,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=0,waterlogged=true]": "birch_sign[rotation=0,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=0,waterlogged=false]": "birch_sign[rotation=0,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=1,waterlogged=true]": "birch_sign[rotation=1,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=1,waterlogged=false]": "birch_sign[rotation=1,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=2,waterlogged=true]": "birch_sign[rotation=2,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=2,waterlogged=false]": "birch_sign[rotation=2,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=3,waterlogged=true]": "birch_sign[rotation=3,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=3,waterlogged=false]": "birch_sign[rotation=3,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=4,waterlogged=true]": "birch_sign[rotation=4,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=4,waterlogged=false]": "birch_sign[rotation=4,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=5,waterlogged=true]": "birch_sign[rotation=5,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=5,waterlogged=false]": "birch_sign[rotation=5,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=6,waterlogged=true]": "birch_sign[rotation=6,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=6,waterlogged=false]": "birch_sign[rotation=6,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=7,waterlogged=true]": "birch_sign[rotation=7,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=7,waterlogged=false]": "birch_sign[rotation=7,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=8,waterlogged=true]": "birch_sign[rotation=8,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=8,waterlogged=false]": "birch_sign[rotation=8,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=9,waterlogged=true]": "birch_sign[rotation=9,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=9,waterlogged=false]": "birch_sign[rotation=9,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=10,waterlogged=true]": "birch_sign[rotation=10,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=10,waterlogged=false]": "birch_sign[rotation=10,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=11,waterlogged=true]": "birch_sign[rotation=11,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=11,waterlogged=false]": "birch_sign[rotation=11,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=12,waterlogged=true]": "birch_sign[rotation=12,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=12,waterlogged=false]": "birch_sign[rotation=12,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=13,waterlogged=true]": "birch_sign[rotation=13,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=13,waterlogged=false]": "birch_sign[rotation=13,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=14,waterlogged=true]": "birch_sign[rotation=14,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=14,waterlogged=false]": "birch_sign[rotation=14,waterlogged=false]",
"birch_hanging_sign[attached=true,rotation=15,waterlogged=true]": "birch_sign[rotation=15,waterlogged=true]",
"birch_hanging_sign[attached=true,rotation=15,waterlogged=false]": "birch_sign[rotation=15,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=0,waterlogged=true]": "birch_sign[rotation=0,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=0,waterlogged=false]": "birch_sign[rotation=0,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=1,waterlogged=true]": "birch_sign[rotation=1,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=1,waterlogged=false]": "birch_sign[rotation=1,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=2,waterlogged=true]": "birch_sign[rotation=2,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=2,waterlogged=false]": "birch_sign[rotation=2,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=3,waterlogged=true]": "birch_sign[rotation=3,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=3,waterlogged=false]": "birch_sign[rotation=3,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=4,waterlogged=true]": "birch_sign[rotation=4,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=4,waterlogged=false]": "birch_sign[rotation=4,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=5,waterlogged=true]": "birch_sign[rotation=5,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=5,waterlogged=false]": "birch_sign[rotation=5,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=6,waterlogged=true]": "birch_sign[rotation=6,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=6,waterlogged=false]": "birch_sign[rotation=6,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=7,waterlogged=true]": "birch_sign[rotation=7,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=7,waterlogged=false]": "birch_sign[rotation=7,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=8,waterlogged=true]": "birch_sign[rotation=8,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=8,waterlogged=false]": "birch_sign[rotation=8,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=9,waterlogged=true]": "birch_sign[rotation=9,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=9,waterlogged=false]": "birch_sign[rotation=9,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=10,waterlogged=true]": "birch_sign[rotation=10,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=10,waterlogged=false]": "birch_sign[rotation=10,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=11,waterlogged=true]": "birch_sign[rotation=11,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=11,waterlogged=false]": "birch_sign[rotation=11,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=12,waterlogged=true]": "birch_sign[rotation=12,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=12,waterlogged=false]": "birch_sign[rotation=12,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=13,waterlogged=true]": "birch_sign[rotation=13,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=13,waterlogged=false]": "birch_sign[rotation=13,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=14,waterlogged=true]": "birch_sign[rotation=14,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=14,waterlogged=false]": "birch_sign[rotation=14,waterlogged=false]",
"birch_hanging_sign[attached=false,rotation=15,waterlogged=true]": "birch_sign[rotation=15,waterlogged=true]",
"birch_hanging_sign[attached=false,rotation=15,waterlogged=false]": "birch_sign[rotation=15,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=0,waterlogged=true]": "acacia_sign[rotation=0,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=0,waterlogged=false]": "acacia_sign[rotation=0,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=1,waterlogged=true]": "acacia_sign[rotation=1,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=1,waterlogged=false]": "acacia_sign[rotation=1,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=2,waterlogged=true]": "acacia_sign[rotation=2,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=2,waterlogged=false]": "acacia_sign[rotation=2,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=3,waterlogged=true]": "acacia_sign[rotation=3,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=3,waterlogged=false]": "acacia_sign[rotation=3,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=4,waterlogged=true]": "acacia_sign[rotation=4,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=4,waterlogged=false]": "acacia_sign[rotation=4,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=5,waterlogged=true]": "acacia_sign[rotation=5,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=5,waterlogged=false]": "acacia_sign[rotation=5,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=6,waterlogged=true]": "acacia_sign[rotation=6,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=6,waterlogged=false]": "acacia_sign[rotation=6,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=7,waterlogged=true]": "acacia_sign[rotation=7,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=7,waterlogged=false]": "acacia_sign[rotation=7,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=8,waterlogged=true]": "acacia_sign[rotation=8,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=8,waterlogged=false]": "acacia_sign[rotation=8,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=9,waterlogged=true]": "acacia_sign[rotation=9,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=9,waterlogged=false]": "acacia_sign[rotation=9,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=10,waterlogged=true]": "acacia_sign[rotation=10,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=10,waterlogged=false]": "acacia_sign[rotation=10,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=11,waterlogged=true]": "acacia_sign[rotation=11,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=11,waterlogged=false]": "acacia_sign[rotation=11,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=12,waterlogged=true]": "acacia_sign[rotation=12,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=12,waterlogged=false]": "acacia_sign[rotation=12,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=13,waterlogged=true]": "acacia_sign[rotation=13,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=13,waterlogged=false]": "acacia_sign[rotation=13,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=14,waterlogged=true]": "acacia_sign[rotation=14,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=14,waterlogged=false]": "acacia_sign[rotation=14,waterlogged=false]",
"acacia_hanging_sign[attached=true,rotation=15,waterlogged=true]": "acacia_sign[rotation=15,waterlogged=true]",
"acacia_hanging_sign[attached=true,rotation=15,waterlogged=false]": "acacia_sign[rotation=15,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=0,waterlogged=true]": "acacia_sign[rotation=0,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=0,waterlogged=false]": "acacia_sign[rotation=0,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=1,waterlogged=true]": "acacia_sign[rotation=1,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=1,waterlogged=false]": "acacia_sign[rotation=1,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=2,waterlogged=true]": "acacia_sign[rotation=2,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=2,waterlogged=false]": "acacia_sign[rotation=2,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=3,waterlogged=true]": "acacia_sign[rotation=3,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=3,waterlogged=false]": "acacia_sign[rotation=3,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=4,waterlogged=true]": "acacia_sign[rotation=4,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=4,waterlogged=false]": "acacia_sign[rotation=4,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=5,waterlogged=true]": "acacia_sign[rotation=5,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=5,waterlogged=false]": "acacia_sign[rotation=5,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=6,waterlogged=true]": "acacia_sign[rotation=6,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=6,waterlogged=false]": "acacia_sign[rotation=6,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=7,waterlogged=true]": "acacia_sign[rotation=7,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=7,waterlogged=false]": "acacia_sign[rotation=7,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=8,waterlogged=true]": "acacia_sign[rotation=8,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=8,waterlogged=false]": "acacia_sign[rotation=8,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=9,waterlogged=true]": "acacia_sign[rotation=9,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=9,waterlogged=false]": "acacia_sign[rotation=9,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=10,waterlogged=true]": "acacia_sign[rotation=10,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=10,waterlogged=false]": "acacia_sign[rotation=10,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=11,waterlogged=true]": "acacia_sign[rotation=11,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=11,waterlogged=false]": "acacia_sign[rotation=11,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=12,waterlogged=true]": "acacia_sign[rotation=12,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=12,waterlogged=false]": "acacia_sign[rotation=12,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=13,waterlogged=true]": "acacia_sign[rotation=13,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=13,waterlogged=false]": "acacia_sign[rotation=13,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=14,waterlogged=true]": "acacia_sign[rotation=14,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=14,waterlogged=false]": "acacia_sign[rotation=14,waterlogged=false]",
"acacia_hanging_sign[attached=false,rotation=15,waterlogged=true]": "acacia_sign[rotation=15,waterlogged=true]",
"acacia_hanging_sign[attached=false,rotation=15,waterlogged=false]": "acacia_sign[rotation=15,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=0,waterlogged=true]": "jungle_sign[rotation=0,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=0,waterlogged=false]": "jungle_sign[rotation=0,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=1,waterlogged=true]": "jungle_sign[rotation=1,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=1,waterlogged=false]": "jungle_sign[rotation=1,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=2,waterlogged=true]": "jungle_sign[rotation=2,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=2,waterlogged=false]": "jungle_sign[rotation=2,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=3,waterlogged=true]": "jungle_sign[rotation=3,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=3,waterlogged=false]": "jungle_sign[rotation=3,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=4,waterlogged=true]": "jungle_sign[rotation=4,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=4,waterlogged=false]": "jungle_sign[rotation=4,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=5,waterlogged=true]": "jungle_sign[rotation=5,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=5,waterlogged=false]": "jungle_sign[rotation=5,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=6,waterlogged=true]": "jungle_sign[rotation=6,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=6,waterlogged=false]": "jungle_sign[rotation=6,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=7,waterlogged=true]": "jungle_sign[rotation=7,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=7,waterlogged=false]": "jungle_sign[rotation=7,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=8,waterlogged=true]": "jungle_sign[rotation=8,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=8,waterlogged=false]": "jungle_sign[rotation=8,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=9,waterlogged=true]": "jungle_sign[rotation=9,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=9,waterlogged=false]": "jungle_sign[rotation=9,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=10,waterlogged=true]": "jungle_sign[rotation=10,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=10,waterlogged=false]": "jungle_sign[rotation=10,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=11,waterlogged=true]": "jungle_sign[rotation=11,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=11,waterlogged=false]": "jungle_sign[rotation=11,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=12,waterlogged=true]": "jungle_sign[rotation=12,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=12,waterlogged=false]": "jungle_sign[rotation=12,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=13,waterlogged=true]": "jungle_sign[rotation=13,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=13,waterlogged=false]": "jungle_sign[rotation=13,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=14,waterlogged=true]": "jungle_sign[rotation=14,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=14,waterlogged=false]": "jungle_sign[rotation=14,waterlogged=false]",
"jungle_hanging_sign[attached=true,rotation=15,waterlogged=true]": "jungle_sign[rotation=15,waterlogged=true]",
"jungle_hanging_sign[attached=true,rotation=15,waterlogged=false]": "jungle_sign[rotation=15,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=0,waterlogged=true]": "jungle_sign[rotation=0,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=0,waterlogged=false]": "jungle_sign[rotation=0,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=1,waterlogged=true]": "jungle_sign[rotation=1,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=1,waterlogged=false]": "jungle_sign[rotation=1,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=2,waterlogged=true]": "jungle_sign[rotation=2,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=2,waterlogged=false]": "jungle_sign[rotation=2,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=3,waterlogged=true]": "jungle_sign[rotation=3,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=3,waterlogged=false]": "jungle_sign[rotation=3,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=4,waterlogged=true]": "jungle_sign[rotation=4,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=4,waterlogged=false]": "jungle_sign[rotation=4,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=5,waterlogged=true]": "jungle_sign[rotation=5,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=5,waterlogged=false]": "jungle_sign[rotation=5,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=6,waterlogged=true]": "jungle_sign[rotation=6,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=6,waterlogged=false]": "jungle_sign[rotation=6,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=7,waterlogged=true]": "jungle_sign[rotation=7,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=7,waterlogged=false]": "jungle_sign[rotation=7,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=8,waterlogged=true]": "jungle_sign[rotation=8,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=8,waterlogged=false]": "jungle_sign[rotation=8,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=9,waterlogged=true]": "jungle_sign[rotation=9,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=9,waterlogged=false]": "jungle_sign[rotation=9,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=10,waterlogged=true]": "jungle_sign[rotation=10,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=10,waterlogged=false]": "jungle_sign[rotation=10,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=11,waterlogged=true]": "jungle_sign[rotation=11,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=11,waterlogged=false]": "jungle_sign[rotation=11,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=12,waterlogged=true]": "jungle_sign[rotation=12,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=12,waterlogged=false]": "jungle_sign[rotation=12,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=13,waterlogged=true]": "jungle_sign[rotation=13,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=13,waterlogged=false]": "jungle_sign[rotation=13,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=14,waterlogged=true]": "jungle_sign[rotation=14,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=14,waterlogged=false]": "jungle_sign[rotation=14,waterlogged=false]",
"jungle_hanging_sign[attached=false,rotation=15,waterlogged=true]": "jungle_sign[rotation=15,waterlogged=true]",
"jungle_hanging_sign[attached=false,rotation=15,waterlogged=false]": "jungle_sign[rotation=15,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=0,waterlogged=true]": "dark_oak_sign[rotation=0,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=0,waterlogged=false]": "dark_oak_sign[rotation=0,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=1,waterlogged=true]": "dark_oak_sign[rotation=1,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=1,waterlogged=false]": "dark_oak_sign[rotation=1,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=2,waterlogged=true]": "dark_oak_sign[rotation=2,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=2,waterlogged=false]": "dark_oak_sign[rotation=2,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=3,waterlogged=true]": "dark_oak_sign[rotation=3,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=3,waterlogged=false]": "dark_oak_sign[rotation=3,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=4,waterlogged=true]": "dark_oak_sign[rotation=4,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=4,waterlogged=false]": "dark_oak_sign[rotation=4,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=5,waterlogged=true]": "dark_oak_sign[rotation=5,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=5,waterlogged=false]": "dark_oak_sign[rotation=5,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=6,waterlogged=true]": "dark_oak_sign[rotation=6,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=6,waterlogged=false]": "dark_oak_sign[rotation=6,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=7,waterlogged=true]": "dark_oak_sign[rotation=7,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=7,waterlogged=false]": "dark_oak_sign[rotation=7,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=8,waterlogged=true]": "dark_oak_sign[rotation=8,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=8,waterlogged=false]": "dark_oak_sign[rotation=8,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=9,waterlogged=true]": "dark_oak_sign[rotation=9,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=9,waterlogged=false]": "dark_oak_sign[rotation=9,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=10,waterlogged=true]": "dark_oak_sign[rotation=10,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=10,waterlogged=false]": "dark_oak_sign[rotation=10,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=11,waterlogged=true]": "dark_oak_sign[rotation=11,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=11,waterlogged=false]": "dark_oak_sign[rotation=11,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=12,waterlogged=true]": "dark_oak_sign[rotation=12,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=12,waterlogged=false]": "dark_oak_sign[rotation=12,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=13,waterlogged=true]": "dark_oak_sign[rotation=13,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=13,waterlogged=false]": "dark_oak_sign[rotation=13,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=14,waterlogged=true]": "dark_oak_sign[rotation=14,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=14,waterlogged=false]": "dark_oak_sign[rotation=14,waterlogged=false]",
"dark_oak_hanging_sign[attached=true,rotation=15,waterlogged=true]": "dark_oak_sign[rotation=15,waterlogged=true]",
"dark_oak_hanging_sign[attached=true,rotation=15,waterlogged=false]": "dark_oak_sign[rotation=15,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=0,waterlogged=true]": "dark_oak_sign[rotation=0,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=0,waterlogged=false]": "dark_oak_sign[rotation=0,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=1,waterlogged=true]": "dark_oak_sign[rotation=1,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=1,waterlogged=false]": "dark_oak_sign[rotation=1,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=2,waterlogged=true]": "dark_oak_sign[rotation=2,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=2,waterlogged=false]": "dark_oak_sign[rotation=2,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=3,waterlogged=true]": "dark_oak_sign[rotation=3,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=3,waterlogged=false]": "dark_oak_sign[rotation=3,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=4,waterlogged=true]": "dark_oak_sign[rotation=4,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=4,waterlogged=false]": "dark_oak_sign[rotation=4,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=5,waterlogged=true]": "dark_oak_sign[rotation=5,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=5,waterlogged=false]": "dark_oak_sign[rotation=5,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=6,waterlogged=true]": "dark_oak_sign[rotation=6,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=6,waterlogged=false]": "dark_oak_sign[rotation=6,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=7,waterlogged=true]": "dark_oak_sign[rotation=7,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=7,waterlogged=false]": "dark_oak_sign[rotation=7,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=8,waterlogged=true]": "dark_oak_sign[rotation=8,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=8,waterlogged=false]": "dark_oak_sign[rotation=8,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=9,waterlogged=true]": "dark_oak_sign[rotation=9,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=9,waterlogged=false]": "dark_oak_sign[rotation=9,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=10,waterlogged=true]": "dark_oak_sign[rotation=10,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=10,waterlogged=false]": "dark_oak_sign[rotation=10,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=11,waterlogged=true]": "dark_oak_sign[rotation=11,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=11,waterlogged=false]": "dark_oak_sign[rotation=11,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=12,waterlogged=true]": "dark_oak_sign[rotation=12,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=12,waterlogged=false]": "dark_oak_sign[rotation=12,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=13,waterlogged=true]": "dark_oak_sign[rotation=13,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=13,waterlogged=false]": "dark_oak_sign[rotation=13,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=14,waterlogged=true]": "dark_oak_sign[rotation=14,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=14,waterlogged=false]": "dark_oak_sign[rotation=14,waterlogged=false]",
"dark_oak_hanging_sign[attached=false,rotation=15,waterlogged=true]": "dark_oak_sign[rotation=15,waterlogged=true]",
"dark_oak_hanging_sign[attached=false,rotation=15,waterlogged=false]": "dark_oak_sign[rotation=15,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=0,waterlogged=true]": "crimson_sign[rotation=0,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=0,waterlogged=false]": "crimson_sign[rotation=0,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=1,waterlogged=true]": "crimson_sign[rotation=1,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=1,waterlogged=false]": "crimson_sign[rotation=1,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=2,waterlogged=true]": "crimson_sign[rotation=2,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=2,waterlogged=false]": "crimson_sign[rotation=2,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=3,waterlogged=true]": "crimson_sign[rotation=3,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=3,waterlogged=false]": "crimson_sign[rotation=3,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=4,waterlogged=true]": "crimson_sign[rotation=4,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=4,waterlogged=false]": "crimson_sign[rotation=4,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=5,waterlogged=true]": "crimson_sign[rotation=5,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=5,waterlogged=false]": "crimson_sign[rotation=5,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=6,waterlogged=true]": "crimson_sign[rotation=6,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=6,waterlogged=false]": "crimson_sign[rotation=6,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=7,waterlogged=true]": "crimson_sign[rotation=7,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=7,waterlogged=false]": "crimson_sign[rotation=7,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=8,waterlogged=true]": "crimson_sign[rotation=8,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=8,waterlogged=false]": "crimson_sign[rotation=8,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=9,waterlogged=true]": "crimson_sign[rotation=9,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=9,waterlogged=false]": "crimson_sign[rotation=9,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=10,waterlogged=true]": "crimson_sign[rotation=10,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=10,waterlogged=false]": "crimson_sign[rotation=10,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=11,waterlogged=true]": "crimson_sign[rotation=11,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=11,waterlogged=false]": "crimson_sign[rotation=11,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=12,waterlogged=true]": "crimson_sign[rotation=12,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=12,waterlogged=false]": "crimson_sign[rotation=12,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=13,waterlogged=true]": "crimson_sign[rotation=13,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=13,waterlogged=false]": "crimson_sign[rotation=13,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=14,waterlogged=true]": "crimson_sign[rotation=14,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=14,waterlogged=false]": "crimson_sign[rotation=14,waterlogged=false]",
"crimson_hanging_sign[attached=true,rotation=15,waterlogged=true]": "crimson_sign[rotation=15,waterlogged=true]",
"crimson_hanging_sign[attached=true,rotation=15,waterlogged=false]": "crimson_sign[rotation=15,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=0,waterlogged=true]": "crimson_sign[rotation=0,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=0,waterlogged=false]": "crimson_sign[rotation=0,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=1,waterlogged=true]": "crimson_sign[rotation=1,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=1,waterlogged=false]": "crimson_sign[rotation=1,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=2,waterlogged=true]": "crimson_sign[rotation=2,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=2,waterlogged=false]": "crimson_sign[rotation=2,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=3,waterlogged=true]": "crimson_sign[rotation=3,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=3,waterlogged=false]": "crimson_sign[rotation=3,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=4,waterlogged=true]": "crimson_sign[rotation=4,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=4,waterlogged=false]": "crimson_sign[rotation=4,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=5,waterlogged=true]": "crimson_sign[rotation=5,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=5,waterlogged=false]": "crimson_sign[rotation=5,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=6,waterlogged=true]": "crimson_sign[rotation=6,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=6,waterlogged=false]": "crimson_sign[rotation=6,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=7,waterlogged=true]": "crimson_sign[rotation=7,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=7,waterlogged=false]": "crimson_sign[rotation=7,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=8,waterlogged=true]": "crimson_sign[rotation=8,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=8,waterlogged=false]": "crimson_sign[rotation=8,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=9,waterlogged=true]": "crimson_sign[rotation=9,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=9,waterlogged=false]": "crimson_sign[rotation=9,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=10,waterlogged=true]": "crimson_sign[rotation=10,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=10,waterlogged=false]": "crimson_sign[rotation=10,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=11,waterlogged=true]": "crimson_sign[rotation=11,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=11,waterlogged=false]": "crimson_sign[rotation=11,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=12,waterlogged=true]": "crimson_sign[rotation=12,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=12,waterlogged=false]": "crimson_sign[rotation=12,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=13,waterlogged=true]": "crimson_sign[rotation=13,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=13,waterlogged=false]": "crimson_sign[rotation=13,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=14,waterlogged=true]": "crimson_sign[rotation=14,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=14,waterlogged=false]": "crimson_sign[rotation=14,waterlogged=false]",
"crimson_hanging_sign[attached=false,rotation=15,waterlogged=true]": "crimson_sign[rotation=15,waterlogged=true]",
"crimson_hanging_sign[attached=false,rotation=15,waterlogged=false]": "crimson_sign[rotation=15,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=0,waterlogged=true]": "warped_sign[rotation=0,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=0,waterlogged=false]": "warped_sign[rotation=0,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=1,waterlogged=true]": "warped_sign[rotation=1,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=1,waterlogged=false]": "warped_sign[rotation=1,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=2,waterlogged=true]": "warped_sign[rotation=2,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=2,waterlogged=false]": "warped_sign[rotation=2,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=3,waterlogged=true]": "warped_sign[rotation=3,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=3,waterlogged=false]": "warped_sign[rotation=3,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=4,waterlogged=true]": "warped_sign[rotation=4,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=4,waterlogged=false]": "warped_sign[rotation=4,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=5,waterlogged=true]": "warped_sign[rotation=5,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=5,waterlogged=false]": "warped_sign[rotation=5,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=6,waterlogged=true]": "warped_sign[rotation=6,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=6,waterlogged=false]": "warped_sign[rotation=6,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=7,waterlogged=true]": "warped_sign[rotation=7,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=7,waterlogged=false]": "warped_sign[rotation=7,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=8,waterlogged=true]": "warped_sign[rotation=8,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=8,waterlogged=false]": "warped_sign[rotation=8,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=9,waterlogged=true]": "warped_sign[rotation=9,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=9,waterlogged=false]": "warped_sign[rotation=9,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=10,waterlogged=true]": "warped_sign[rotation=10,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=10,waterlogged=false]": "warped_sign[rotation=10,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=11,waterlogged=true]": "warped_sign[rotation=11,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=11,waterlogged=false]": "warped_sign[rotation=11,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=12,waterlogged=true]": "warped_sign[rotation=12,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=12,waterlogged=false]": "warped_sign[rotation=12,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=13,waterlogged=true]": "warped_sign[rotation=13,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=13,waterlogged=false]": "warped_sign[rotation=13,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=14,waterlogged=true]": "warped_sign[rotation=14,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=14,waterlogged=false]": "warped_sign[rotation=14,waterlogged=false]",
"warped_hanging_sign[attached=true,rotation=15,waterlogged=true]": "warped_sign[rotation=15,waterlogged=true]",
"warped_hanging_sign[attached=true,rotation=15,waterlogged=false]": "warped_sign[rotation=15,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=0,waterlogged=true]": "warped_sign[rotation=0,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=0,waterlogged=false]": "warped_sign[rotation=0,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=1,waterlogged=true]": "warped_sign[rotation=1,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=1,waterlogged=false]": "warped_sign[rotation=1,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=2,waterlogged=true]": "warped_sign[rotation=2,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=2,waterlogged=false]": "warped_sign[rotation=2,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=3,waterlogged=true]": "warped_sign[rotation=3,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=3,waterlogged=false]": "warped_sign[rotation=3,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=4,waterlogged=true]": "warped_sign[rotation=4,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=4,waterlogged=false]": "warped_sign[rotation=4,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=5,waterlogged=true]": "warped_sign[rotation=5,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=5,waterlogged=false]": "warped_sign[rotation=5,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=6,waterlogged=true]": "warped_sign[rotation=6,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=6,waterlogged=false]": "warped_sign[rotation=6,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=7,waterlogged=true]": "warped_sign[rotation=7,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=7,waterlogged=false]": "warped_sign[rotation=7,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=8,waterlogged=true]": "warped_sign[rotation=8,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=8,waterlogged=false]": "warped_sign[rotation=8,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=9,waterlogged=true]": "warped_sign[rotation=9,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=9,waterlogged=false]": "warped_sign[rotation=9,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=10,waterlogged=true]": "warped_sign[rotation=10,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=10,waterlogged=false]": "warped_sign[rotation=10,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=11,waterlogged=true]": "warped_sign[rotation=11,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=11,waterlogged=false]": "warped_sign[rotation=11,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=12,waterlogged=true]": "warped_sign[rotation=12,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=12,waterlogged=false]": "warped_sign[rotation=12,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=13,waterlogged=true]": "warped_sign[rotation=13,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=13,waterlogged=false]": "warped_sign[rotation=13,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=14,waterlogged=true]": "warped_sign[rotation=14,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=14,waterlogged=false]": "warped_sign[rotation=14,waterlogged=false]",
"warped_hanging_sign[attached=false,rotation=15,waterlogged=true]": "warped_sign[rotation=15,waterlogged=true]",
"warped_hanging_sign[attached=false,rotation=15,waterlogged=false]": "warped_sign[rotation=15,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=0,waterlogged=true]": "mangrove_sign[rotation=0,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=0,waterlogged=false]": "mangrove_sign[rotation=0,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=1,waterlogged=true]": "mangrove_sign[rotation=1,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=1,waterlogged=false]": "mangrove_sign[rotation=1,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=2,waterlogged=true]": "mangrove_sign[rotation=2,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=2,waterlogged=false]": "mangrove_sign[rotation=2,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=3,waterlogged=true]": "mangrove_sign[rotation=3,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=3,waterlogged=false]": "mangrove_sign[rotation=3,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=4,waterlogged=true]": "mangrove_sign[rotation=4,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=4,waterlogged=false]": "mangrove_sign[rotation=4,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=5,waterlogged=true]": "mangrove_sign[rotation=5,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=5,waterlogged=false]": "mangrove_sign[rotation=5,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=6,waterlogged=true]": "mangrove_sign[rotation=6,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=6,waterlogged=false]": "mangrove_sign[rotation=6,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=7,waterlogged=true]": "mangrove_sign[rotation=7,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=7,waterlogged=false]": "mangrove_sign[rotation=7,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=8,waterlogged=true]": "mangrove_sign[rotation=8,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=8,waterlogged=false]": "mangrove_sign[rotation=8,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=9,waterlogged=true]": "mangrove_sign[rotation=9,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=9,waterlogged=false]": "mangrove_sign[rotation=9,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=10,waterlogged=true]": "mangrove_sign[rotation=10,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=10,waterlogged=false]": "mangrove_sign[rotation=10,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=11,waterlogged=true]": "mangrove_sign[rotation=11,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=11,waterlogged=false]": "mangrove_sign[rotation=11,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=12,waterlogged=true]": "mangrove_sign[rotation=12,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=12,waterlogged=false]": "mangrove_sign[rotation=12,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=13,waterlogged=true]": "mangrove_sign[rotation=13,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=13,waterlogged=false]": "mangrove_sign[rotation=13,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=14,waterlogged=true]": "mangrove_sign[rotation=14,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=14,waterlogged=false]": "mangrove_sign[rotation=14,waterlogged=false]",
"mangrove_hanging_sign[attached=true,rotation=15,waterlogged=true]": "mangrove_sign[rotation=15,waterlogged=true]",
"mangrove_hanging_sign[attached=true,rotation=15,waterlogged=false]": "mangrove_sign[rotation=15,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=0,waterlogged=true]": "mangrove_sign[rotation=0,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=0,waterlogged=false]": "mangrove_sign[rotation=0,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=1,waterlogged=true]": "mangrove_sign[rotation=1,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=1,waterlogged=false]": "mangrove_sign[rotation=1,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=2,waterlogged=true]": "mangrove_sign[rotation=2,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=2,waterlogged=false]": "mangrove_sign[rotation=2,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=3,waterlogged=true]": "mangrove_sign[rotation=3,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=3,waterlogged=false]": "mangrove_sign[rotation=3,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=4,waterlogged=true]": "mangrove_sign[rotation=4,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=4,waterlogged=false]": "mangrove_sign[rotation=4,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=5,waterlogged=true]": "mangrove_sign[rotation=5,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=5,waterlogged=false]": "mangrove_sign[rotation=5,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=6,waterlogged=true]": "mangrove_sign[rotation=6,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=6,waterlogged=false]": "mangrove_sign[rotation=6,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=7,waterlogged=true]": "mangrove_sign[rotation=7,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=7,waterlogged=false]": "mangrove_sign[rotation=7,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=8,waterlogged=true]": "mangrove_sign[rotation=8,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=8,waterlogged=false]": "mangrove_sign[rotation=8,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=9,waterlogged=true]": "mangrove_sign[rotation=9,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=9,waterlogged=false]": "mangrove_sign[rotation=9,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=10,waterlogged=true]": "mangrove_sign[rotation=10,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=10,waterlogged=false]": "mangrove_sign[rotation=10,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=11,waterlogged=true]": "mangrove_sign[rotation=11,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=11,waterlogged=false]": "mangrove_sign[rotation=11,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=12,waterlogged=true]": "mangrove_sign[rotation=12,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=12,waterlogged=false]": "mangrove_sign[rotation=12,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=13,waterlogged=true]": "mangrove_sign[rotation=13,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=13,waterlogged=false]": "mangrove_sign[rotation=13,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=14,waterlogged=true]": "mangrove_sign[rotation=14,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=14,waterlogged=false]": "mangrove_sign[rotation=14,waterlogged=false]",
"mangrove_hanging_sign[attached=false,rotation=15,waterlogged=true]": "mangrove_sign[rotation=15,waterlogged=true]",
"mangrove_hanging_sign[attached=false,rotation=15,waterlogged=false]": "mangrove_sign[rotation=15,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=0,waterlogged=true]": "birch_sign[rotation=0,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=0,waterlogged=false]": "birch_sign[rotation=0,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=1,waterlogged=true]": "birch_sign[rotation=1,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=1,waterlogged=false]": "birch_sign[rotation=1,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=2,waterlogged=true]": "birch_sign[rotation=2,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=2,waterlogged=false]": "birch_sign[rotation=2,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=3,waterlogged=true]": "birch_sign[rotation=3,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=3,waterlogged=false]": "birch_sign[rotation=3,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=4,waterlogged=true]": "birch_sign[rotation=4,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=4,waterlogged=false]": "birch_sign[rotation=4,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=5,waterlogged=true]": "birch_sign[rotation=5,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=5,waterlogged=false]": "birch_sign[rotation=5,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=6,waterlogged=true]": "birch_sign[rotation=6,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=6,waterlogged=false]": "birch_sign[rotation=6,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=7,waterlogged=true]": "birch_sign[rotation=7,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=7,waterlogged=false]": "birch_sign[rotation=7,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=8,waterlogged=true]": "birch_sign[rotation=8,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=8,waterlogged=false]": "birch_sign[rotation=8,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=9,waterlogged=true]": "birch_sign[rotation=9,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=9,waterlogged=false]": "birch_sign[rotation=9,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=10,waterlogged=true]": "birch_sign[rotation=10,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=10,waterlogged=false]": "birch_sign[rotation=10,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=11,waterlogged=true]": "birch_sign[rotation=11,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=11,waterlogged=false]": "birch_sign[rotation=11,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=12,waterlogged=true]": "birch_sign[rotation=12,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=12,waterlogged=false]": "birch_sign[rotation=12,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=13,waterlogged=true]": "birch_sign[rotation=13,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=13,waterlogged=false]": "birch_sign[rotation=13,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=14,waterlogged=true]": "birch_sign[rotation=14,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=14,waterlogged=false]": "birch_sign[rotation=14,waterlogged=false]",
"bamboo_hanging_sign[attached=true,rotation=15,waterlogged=true]": "birch_sign[rotation=15,waterlogged=true]",
"bamboo_hanging_sign[attached=true,rotation=15,waterlogged=false]": "birch_sign[rotation=15,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=0,waterlogged=true]": "birch_sign[rotation=0,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=0,waterlogged=false]": "birch_sign[rotation=0,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=1,waterlogged=true]": "birch_sign[rotation=1,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=1,waterlogged=false]": "birch_sign[rotation=1,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=2,waterlogged=true]": "birch_sign[rotation=2,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=2,waterlogged=false]": "birch_sign[rotation=2,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=3,waterlogged=true]": "birch_sign[rotation=3,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=3,waterlogged=false]": "birch_sign[rotation=3,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=4,waterlogged=true]": "birch_sign[rotation=4,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=4,waterlogged=false]": "birch_sign[rotation=4,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=5,waterlogged=true]": "birch_sign[rotation=5,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=5,waterlogged=false]": "birch_sign[rotation=5,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=6,waterlogged=true]": "birch_sign[rotation=6,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=6,waterlogged=false]": "birch_sign[rotation=6,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=7,waterlogged=true]": "birch_sign[rotation=7,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=7,waterlogged=false]": "birch_sign[rotation=7,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=8,waterlogged=true]": "birch_sign[rotation=8,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=8,waterlogged=false]": "birch_sign[rotation=8,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=9,waterlogged=true]": "birch_sign[rotation=9,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=9,waterlogged=false]": "birch_sign[rotation=9,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=10,waterlogged=true]": "birch_sign[rotation=10,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=10,waterlogged=false]": "birch_sign[rotation=10,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=11,waterlogged=true]": "birch_sign[rotation=11,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=11,waterlogged=false]": "birch_sign[rotation=11,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=12,waterlogged=true]": "birch_sign[rotation=12,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=12,waterlogged=false]": "birch_sign[rotation=12,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=13,waterlogged=true]": "birch_sign[rotation=13,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=13,waterlogged=false]": "birch_sign[rotation=13,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=14,waterlogged=true]": "birch_sign[rotation=14,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=14,waterlogged=false]": "birch_sign[rotation=14,waterlogged=false]",
"bamboo_hanging_sign[attached=false,rotation=15,waterlogged=true]": "birch_sign[rotation=15,waterlogged=true]",
"bamboo_hanging_sign[attached=false,rotation=15,waterlogged=false]": "birch_sign[rotation=15,waterlogged=false]",
"oak_wall_hanging_sign": "oak_wall_sign[",
"spruce_wall_hanging_sign": "spruce_wall_sign[",
"birch_wall_hanging_sign": "birch_wall_sign[",
"acacia_wall_hanging_sign": "acacia_wall_sign[",
"jungle_wall_hanging_sign": "jungle_wall_sign[",
"dark_oak_wall_hanging_sign": "dark_oak_wall_sign[",
"mangrove_wall_hanging_sign": "mangrove_wall_sign[",
"crimson_wall_hanging_sign": "crimson_wall_sign[",
"warped_wall_hanging_sign": "warped_wall_sign[",
"bamboo_wall_hanging_sign": "birch_wall_sign[",
"bamboo_pressure_plate": "birch_pressure_plate[",
"bamboo_trapdoor": "birch_trapdoor[",
"bamboo_button": "birch_button[",
"bamboo_stairs": "birch_stairs[",
"bamboo_mosaic_stairs": "birch_stairs[",
"bamboo_slab": "birch_slab[",
"bamboo_mosaic_slab": "birch_slab[",
"bamboo_fence": "birch_fence[",
"bamboo_fence_gate": "birch_fence_gate[",
"bamboo_door": "birch_door[",
"bamboo_block": "birch_wood[",
"stripped_bamboo_block": "stripped_birch_wood["
},
"argumenttypes": {
"resource_key": "resource_or_tag",
"resource_or_tag_key": "resource_or_tag",
"gamemode": "brigadier:string"
},
"blockentities": {
"hanging_sign": "sign",
"chiseled_bookshelf": ""
},
"items": {
"bamboo_planks": {
"id": "birch_planks",
"name": "1.19.3 Bamboo Planks"
},
"bamboo_mosaic": {
"id": "birch_planks",
"name": "1.19.3 Bamboo Mosaic"
},
"bamboo_slab": {
"id": "birch_slab",
"name": "1.19.3 Bamboo Slab"
},
"bamboo_mosaic_slab": {
"id": "birch_slab",
"name": "1.19.3 Bamboo Mosaic Slab"
},
"chiseled_bookshelf": {
"id": "bookshelf",
"name": "1.19.3 Chiseled Bookshelf"
},
"bamboo_fence": {
"id": "birch_fence",
"name": "1.19.3 Bamboo Fence"
},
"bamboo_stairs": {
"id": "birch_stairs",
"name": "1.19.3 Bamboo Stairs"
},
"bamboo_mosaic_stairs": {
"id": "birch_stairs",
"name": "1.19.3 Bamboo Mosaic Stairs"
},
"bamboo_button": {
"id": "birch_button",
"name": "1.19.3 Bamboo Button"
},
"bamboo_pressure_plate": {
"id": "birch_pressure_plate",
"name": "1.19.3 Bamboo Pressure Plate"
},
"bamboo_door": {
"id": "birch_door",
"name": "1.19.3 Bamboo Door"
},
"bamboo_trapdoor": {
"id": "birch_trapdoor",
"name": "1.19.3 Bamboo Trapdoor"
},
"bamboo_fence_gate": {
"id": "birch_fence_gate",
"name": "1.19.3 Bamboo Fence Gate"
},
"bamboo_raft": {
"id": "birch_boat",
"name": "1.19.3 Bamboo Raft"
},
"bamboo_chest_raft": {
"id": "birch_chest_boat",
"name": "1.19.3 Bamboo Chest Raft"
},
"bamboo_sign": {
"id": "birch_sign",
"name": "1.19.3 Bamboo Sign"
},
"oak_hanging_sign": {
"id": "birch_sign",
"name": "1.19.3 Oak Hanging Sign"
},
"spruce_hanging_sign": {
"id": "spruce_sign",
"name": "1.19.3 Spruce Hanging Sign"
},
"birch_hanging_sign": {
"id": "birch_sign",
"name": "1.19.3 Birch Hanging Sign"
},
"jungle_hanging_sign": {
"id": "jungle_sign",
"name": "1.19.3 Jungle Hanging Sign"
},
"acacia_hanging_sign": {
"id": "acacia_sign",
"name": "1.19.3 Acacia Hanging Sign"
},
"dark_oak_hanging_sign": {
"id": "dark_oak_sign",
"name": "1.19.3 Dark Oak Hanging Sign"
},
"mangrove_hanging_sign": {
"id": "mangrove_sign",
"name": "1.19.3 Mangrove Hanging Sign"
},
"bamboo_hanging_sign": {
"id": "birch_sign",
"name": "1.19.3 Bamboo Hanging Sign"
},
"crimson_hanging_sign": {
"id": "crimson_sign",
"name": "1.19.3 Crimson Hanging Sign"
},
"warped_hanging_sign": {
"id": "warped_sign",
"name": "1.19.3 Warped Hanging Sign"
},
"camel_spawn_egg": {
"id": "donkey_spawn_egg",
"name": "1.19.3 Camel Spawn Egg"
},
"ender_dragon_spawn_egg": {
"id": "enderman_spawn_egg",
"name": "1.19.3 Ender Dragon Spawn Egg"
},
"iron_golem_spawn_egg": {
"id": "polar_bear_spawn_egg",
"name": "1.19.3 Iron Golem Spawn Egg"
},
"snow_golem_spawn_egg": {
"id": "polar_bear_spawn_egg",
"name": "1.19.3 Snow Golem Spawn Egg"
},
"wither_spawn_egg": {
"id": "squid_spawn_egg",
"name": "1.19.3 Wither Spawn Egg"
},
"bamboo_block": {
"id": "birch_wood",
"name": "1.19.3 Bamboo Block"
},
"stripped_bamboo_block": {
"id": "stripped_birch_wood",
"name": "1.19.3 Stripped Bamboo Block"
},
"piglin_head": {
"id": "zombie_head",
"name": "1.19.3 Piglin Head"
}
},
"sounds": {
"block.bamboo_wood.break": "",
"block.bamboo_wood.fall": "",
"block.bamboo_wood.hit": "",
"block.bamboo_wood.place": "",
"block.bamboo_wood.step": "",
"block.bamboo_wood_door.close": "",
"block.bamboo_wood_door.open": "",
"block.bamboo_wood_trapdoor.close": "",
"block.bamboo_wood_trapdoor.open": "",
"block.bamboo_wood_button.click_off": "",
"block.bamboo_wood_button.click_on": "",
"block.bamboo_wood_pressure_plate.click_off": "",
"block.bamboo_wood_pressure_plate.click_on": "",
"block.bamboo_wood_fence_gate.close": "",
"block.bamboo_wood_fence_gate.open": "",
"entity.camel.ambient": "",
"entity.camel.dash": "",
"entity.camel.dash_ready": "",
"entity.camel.death": "",
"entity.camel.eat": "",
"entity.camel.hurt": "",
"entity.camel.saddle": "",
"entity.camel.sit": "",
"entity.camel.stand": "",
"entity.camel.step": "",
"entity.camel.step_sand": "",
"block.hanging_sign.step": "",
"block.hanging_sign.break": "",
"block.hanging_sign.fall": "",
"block.hanging_sign.hit": "",
"block.hanging_sign.place": "",
"block.nether_wood.break": "",
"block.nether_wood.fall": "",
"block.nether_wood.hit": "",
"block.nether_wood.place": "",
"block.nether_wood.step": "",
"block.nether_wood_door.close": "",
"block.nether_wood_door.open": "",
"block.nether_wood_trapdoor.close": "",
"block.nether_wood_trapdoor.open": "",
"block.nether_wood_button.click_off": "",
"block.nether_wood_button.click_on": "",
"block.nether_wood_pressure_plate.click_off": "",
"block.nether_wood_pressure_plate.click_on": "",
"block.nether_wood_fence_gate.close": "",
"block.nether_wood_fence_gate.open": "",
"block.chiseled_bookshelf.break": "",
"block.chiseled_bookshelf.fall": "",
"block.chiseled_bookshelf.hit": "",
"block.chiseled_bookshelf.insert": "",
"block.chiseled_bookshelf.insert.enchanted": "",
"block.chiseled_bookshelf.step": "",
"block.chiseled_bookshelf.pickup": "",
"block.chiseled_bookshelf.pickup.enchanted": "",
"block.chiseled_bookshelf.place": "",
"block.nether_wood_hanging_sign.step": "",
"block.nether_wood_hanging_sign.break": "",
"block.nether_wood_hanging_sign.fall": "",
"block.nether_wood_hanging_sign.hit": "",
"block.nether_wood_hanging_sign.place": "",
"block.bamboo_wood_hanging_sign.step": "",
"block.bamboo_wood_hanging_sign.break": "",
"block.bamboo_wood_hanging_sign.fall": "",
"block.bamboo_wood_hanging_sign.hit": "",
"block.bamboo_wood_hanging_sign.place": "",
"block.note_block.imitate.zombie": "",
"block.note_block.imitate.skeleton": "",
"block.note_block.imitate.creeper": "",
"block.note_block.imitate.ender_dragon": "",
"block.note_block.imitate.wither_skeleton": "",
"block.note_block.imitate.piglin": ""
},
"entitynames": {
"camel": "Camel"
}
}

Datei anzeigen

@ -1,26 +0,0 @@
{
"sounds": {
"block.enchantment_table.use": "",
"entity.husk.ambient": "entity.zombie.ambient",
"entity.husk.death": "entity.zombie.death",
"entity.husk.hurt": "entity.zombie.hurt",
"entity.husk.step": "entity.zombie.step",
"entity.polar_bear.ambient": "entity.zombie.ambient",
"entity.polar_bear.baby_ambient": "entity.zombie.ambient",
"entity.polar_bear.death": "entity.zombie.death",
"entity.polar_bear.hurt": "entity.shulker.hurt",
"entity.polar_bear.step": "entity.horse.step",
"entity.polar_bear.warning": "entity.wolf.growl",
"entity.stray.ambient": "entity.skeleton.ambient",
"entity.stray.death": "entity.skeleton.death",
"entity.stray.hurt": "entity.skeleton.hurt",
"entity.stray.step": "entity.skeleton.step",
"entity.wither_skeleton.ambient": "entity.skeleton.ambient",
"entity.wither_skeleton.death": "entity.skeleton.death",
"entity.wither_skeleton.hurt": "entity.skeleton.hurt",
"entity.wither_skeleton.step": "entity.skeleton.step"
},
"entitynames": {
"polar_bear": "Polar Bear"
}
}

Datei-Diff unterdrückt, da er zu groß ist Diff laden

Datei anzeigen

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
networkTimeout=10000 networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

Datei anzeigen

@ -47,7 +47,7 @@ public class SpongePlugin implements ViaBackwardsPlatform {
@Listener @Listener
public void constructPlugin(ConstructPluginEvent event) { public void constructPlugin(ConstructPluginEvent event) {
MappingDataLoader.enableMappingsCache(); // MappingDataLoader.enableMappingsCache();
Via.getManager().addEnableListener(() -> this.init(getDataFolder())); Via.getManager().addEnableListener(() -> this.init(getDataFolder()));
} }

Datei anzeigen

@ -52,7 +52,7 @@ public class VelocityPlugin implements ViaBackwardsPlatform {
@Subscribe(order = PostOrder.LATE) @Subscribe(order = PostOrder.LATE)
public void onProxyStart(ProxyInitializeEvent event) { public void onProxyStart(ProxyInitializeEvent event) {
this.logger = new LoggerWrapper(loggerSlf4j); this.logger = new LoggerWrapper(loggerSlf4j);
MappingDataLoader.enableMappingsCache(); // MappingDataLoader.enableMappingsCache();
Via.getManager().addEnableListener(() -> this.init(getDataFolder())); Via.getManager().addEnableListener(() -> this.init(getDataFolder()));
} }