Add constructors to LegacyBlockItemRewriter to define item types

This commit is contained in:
FlorianMichael 2024-04-26 15:15:24 +02:00
parent 27dd2e39bd
commit 78a667c5b9
No known key found for this signature in database
GPG Key ID: C2FB87E71C425126

View File

@ -59,14 +59,22 @@ public abstract class LegacyBlockItemRewriter<C extends ClientboundPacketType, S
protected final Int2ObjectMap<MappedLegacyBlockItem> replacementData = new Int2ObjectOpenHashMap<>(8); // Raw id -> mapped data
protected LegacyBlockItemRewriter(T protocol, String name) {
super(protocol, Type.ITEM1_8, Type.ITEM1_8_SHORT_ARRAY, false);
protected LegacyBlockItemRewriter(T protocol, String name, Type<Item> itemType, Type<Item[]> itemArrayType, Type<Item> mappedItemType, Type<Item[]> mappedItemArrayType) {
super(protocol, itemType, itemArrayType, mappedItemType, mappedItemArrayType, false);
final JsonObject jsonObject = readMappingsFile("item-mappings-" + name + ".json");
for (final MappedLegacyBlockItem.Type value : MappedLegacyBlockItem.Type.values()) {
addMappings(value, jsonObject, replacementData);
}
}
protected LegacyBlockItemRewriter(T protocol, String name, Type<Item> itemType, Type<Item[]> itemArrayType) {
this(protocol, name, itemType, itemArrayType, itemType, itemArrayType);
}
protected LegacyBlockItemRewriter(T protocol, String name) {
this(protocol, name, Type.ITEM1_8, Type.ITEM1_8_SHORT_ARRAY);
}
private void addMappings(MappedLegacyBlockItem.Type type, JsonObject object, Int2ObjectMap<MappedLegacyBlockItem> mappings) {
if (object.has(type.getName())) {
final JsonObject mappingsObject = object.getAsJsonObject(type.getName());