3
0
Mirror von https://github.com/ViaVersion/ViaBackwards.git synchronisiert 2024-10-05 01:41:05 +02:00
Dieser Commit ist enthalten in:
KennyTV 2021-04-27 10:29:53 +02:00
Ursprung 24aebfe92a
Commit face56dce1
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 6BE3B555EBC5982B
4 geänderte Dateien mit 26 neuen und 18 gelöschten Zeilen

Datei anzeigen

@ -18,18 +18,20 @@
package com.viaversion.viabackwards.api.data; package com.viaversion.viabackwards.api.data;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viabackwards.api.BackwardsProtocol; import com.viaversion.viabackwards.api.BackwardsProtocol;
import org.checkerframework.checker.nullness.qual.Nullable;
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.data.MappingData; 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.gson.JsonObject;
import org.checkerframework.checker.nullness.qual.Nullable;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger;
public class BackwardsMappings extends MappingData { public class BackwardsMappings extends MappingDataBase {
private final Class<? extends Protocol> vvProtocolClass; private final Class<? extends Protocol> vvProtocolClass;
private Int2ObjectMap<MappedItem> backwardsItemMappings; private Int2ObjectMap<MappedItem> backwardsItemMappings;
@ -101,6 +103,11 @@ public class BackwardsMappings extends MappingData {
return !key.equals("blocks") && !key.equals("statistics"); return !key.equals("blocks") && !key.equals("statistics");
} }
@Override
protected Logger getLogger() {
return ViaBackwards.getPlatform().getLogger();
}
/** /**
* @see #getMappedItem(int) for custom backwards mappings * @see #getMappedItem(int) for custom backwards mappings
*/ */

Datei anzeigen

@ -68,11 +68,11 @@ public class VBMappingDataLoader {
} }
} }
public static void mapIdentifiers(short[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers, JsonObject diffIdentifiers) { public static void mapIdentifiers(int[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers, JsonObject diffIdentifiers) {
mapIdentifiers(output, oldIdentifiers, newIdentifiers, diffIdentifiers, true); mapIdentifiers(output, oldIdentifiers, newIdentifiers, diffIdentifiers, true);
} }
public static void mapIdentifiers(short[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers, JsonObject diffIdentifiers, boolean warnOnMissing) { public static void mapIdentifiers(int[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers, JsonObject diffIdentifiers, boolean warnOnMissing) {
Object2IntMap newIdentifierMap = MappingDataLoader.indexedObjectToMap(newIdentifiers); Object2IntMap newIdentifierMap = MappingDataLoader.indexedObjectToMap(newIdentifiers);
for (Map.Entry<String, JsonElement> entry : oldIdentifiers.entrySet()) { for (Map.Entry<String, JsonElement> entry : oldIdentifiers.entrySet()) {
String key = entry.getValue().getAsString(); String key = entry.getValue().getAsString();
@ -109,7 +109,7 @@ public class VBMappingDataLoader {
} }
} }
output[Integer.parseInt(entry.getKey())] = (short) mappedId; output[Integer.parseInt(entry.getKey())] = mappedId;
} }
} }

Datei anzeigen

@ -17,13 +17,13 @@
*/ */
package com.viaversion.viabackwards.api.data; package com.viaversion.viabackwards.api.data;
import com.viaversion.viaversion.api.data.Mappings; import com.viaversion.viaversion.api.data.IntArrayMappings;
import com.viaversion.viaversion.libs.gson.JsonArray; import com.viaversion.viaversion.libs.gson.JsonArray;
import com.viaversion.viaversion.libs.gson.JsonObject; import com.viaversion.viaversion.libs.gson.JsonObject;
import java.util.Arrays; import java.util.Arrays;
public class VBMappings extends Mappings { public class VBMappings extends IntArrayMappings {
public VBMappings(int size, JsonObject oldMapping, JsonObject newMapping, JsonObject diffMapping, boolean warnOnMissing) { public VBMappings(int size, JsonObject oldMapping, JsonObject newMapping, JsonObject diffMapping, boolean warnOnMissing) {
super(create(size, oldMapping, newMapping, diffMapping, warnOnMissing)); super(create(size, oldMapping, newMapping, diffMapping, warnOnMissing));
@ -41,9 +41,9 @@ public class VBMappings extends Mappings {
super(oldMapping.size(), oldMapping, newMapping, diffMapping, warnOnMissing); super(oldMapping.size(), oldMapping, newMapping, diffMapping, warnOnMissing);
} }
private static short[] create(int size, JsonObject oldMapping, JsonObject newMapping, JsonObject diffMapping, boolean warnOnMissing) { private static int[] create(int size, JsonObject oldMapping, JsonObject newMapping, JsonObject diffMapping, boolean warnOnMissing) {
short[] oldToNew = new short[size]; int[] oldToNew = new int[size];
Arrays.fill(oldToNew, (short) -1); Arrays.fill(oldToNew, -1);
VBMappingDataLoader.mapIdentifiers(oldToNew, oldMapping, newMapping, diffMapping, warnOnMissing); VBMappingDataLoader.mapIdentifiers(oldToNew, oldMapping, newMapping, diffMapping, warnOnMissing);
return oldToNew; return oldToNew;
} }

Datei anzeigen

@ -20,18 +20,19 @@ package com.viaversion.viabackwards.protocol.protocol1_12_2to1_13.data;
import com.viaversion.viabackwards.ViaBackwards; import com.viaversion.viabackwards.ViaBackwards;
import com.viaversion.viabackwards.api.data.VBMappings; import com.viaversion.viabackwards.api.data.VBMappings;
import org.checkerframework.checker.nullness.qual.Nullable;
import com.viaversion.viaversion.api.Via; 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.MappingDataLoader;
import com.viaversion.viaversion.api.data.Mappings; import com.viaversion.viaversion.api.data.Mappings;
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.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.JsonElement; import com.viaversion.viaversion.libs.gson.JsonElement;
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.protocols.protocol1_13to1_12_2.Protocol1_13To1_12_2;
import com.viaversion.viaversion.protocols.protocol1_13to1_12_2.data.StatisticMappings;
import org.checkerframework.checker.nullness.qual.Nullable;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@ -58,7 +59,7 @@ public class BackwardsMappings extends com.viaversion.viabackwards.api.data.Back
} }
// Has lots of compat layers, so we can't use the default Via method // Has lots of compat layers, so we can't use the default Via method
private static void mapIdentifiers(short[] output, JsonObject newIdentifiers, JsonObject oldIdentifiers, JsonObject mapping) { private static void mapIdentifiers(int[] output, JsonObject newIdentifiers, JsonObject oldIdentifiers, JsonObject mapping) {
Object2IntMap newIdentifierMap = MappingDataLoader.indexedObjectToMap(oldIdentifiers); Object2IntMap newIdentifierMap = MappingDataLoader.indexedObjectToMap(oldIdentifiers);
for (Map.Entry<String, JsonElement> entry : newIdentifiers.entrySet()) { for (Map.Entry<String, JsonElement> entry : newIdentifiers.entrySet()) {
String key = entry.getValue().getAsString(); String key = entry.getValue().getAsString();
@ -97,10 +98,10 @@ public class BackwardsMappings extends com.viaversion.viabackwards.api.data.Back
@Override @Override
protected @Nullable Mappings loadFromObject(JsonObject oldMappings, JsonObject newMappings, @Nullable JsonObject diffMappings, String key) { protected @Nullable Mappings loadFromObject(JsonObject oldMappings, JsonObject newMappings, @Nullable JsonObject diffMappings, String key) {
if (key.equals("blockstates")) { if (key.equals("blockstates")) {
short[] oldToNew = new short[8582]; int[] oldToNew = new int[8582];
Arrays.fill(oldToNew, (short) -1); Arrays.fill(oldToNew, -1);
mapIdentifiers(oldToNew, oldMappings.getAsJsonObject("blockstates"), newMappings.getAsJsonObject("blocks"), diffMappings.getAsJsonObject("blockstates")); mapIdentifiers(oldToNew, oldMappings.getAsJsonObject("blockstates"), newMappings.getAsJsonObject("blocks"), diffMappings.getAsJsonObject("blockstates"));
return new Mappings(oldToNew); return new IntArrayMappings(oldToNew);
} else { } else {
return super.loadFromObject(oldMappings, newMappings, diffMappings, key); return super.loadFromObject(oldMappings, newMappings, diffMappings, key);
} }