From 61b1f0d8a4dcf754f77d41814d858719ecc388ab Mon Sep 17 00:00:00 2001 From: KennyTV Date: Wed, 15 Jul 2020 11:49:33 +0200 Subject: [PATCH] More reciperewriter cleanup --- .../packets/BlockItemPackets1_14.java | 6 +- .../Protocol1_14_2To1_14_3.java | 83 +++++-------------- .../packets/BlockItemPackets1_15.java | 4 +- .../packets/BlockItemPackets1_16.java | 4 +- 4 files changed, 26 insertions(+), 71 deletions(-) diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/BlockItemPackets1_14.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/BlockItemPackets1_14.java index c1a605f6..c346d83e 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/BlockItemPackets1_14.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_13_2to1_14/packets/BlockItemPackets1_14.java @@ -28,10 +28,10 @@ import us.myles.ViaVersion.api.type.types.version.Types1_13; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.ChatRewriter; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.ClientboundPackets1_13; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.ServerboundPackets1_13; +import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.data.RecipeRewriter1_13_2; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.types.Chunk1_13Type; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.data.MappingData; -import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.data.RecipeRewriter1_14; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.types.Chunk1_14Type; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; import us.myles.viaversion.libs.gson.JsonElement; @@ -283,8 +283,8 @@ public class BlockItemPackets1_14 extends nl.matsv.viabackwards.api.rewriters.It } }); - RecipeRewriter recipeHandler = new RecipeRewriter1_14(protocol, this::handleItemToClient); - protocol.registerOutgoing(ClientboundPackets1_14.DECLARE_RECIPES, new PacketRemapper() { // c + RecipeRewriter recipeHandler = new RecipeRewriter1_13_2(protocol, this::handleItemToClient); + protocol.registerOutgoing(ClientboundPackets1_14.DECLARE_RECIPES, new PacketRemapper() { @Override public void registerMap() { handler(new PacketHandler() { diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_2to1_14_3/Protocol1_14_2To1_14_3.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_2to1_14_3/Protocol1_14_2To1_14_3.java index 94863436..9bd3e432 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_2to1_14_3/Protocol1_14_2To1_14_3.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_2to1_14_3/Protocol1_14_2To1_14_3.java @@ -4,9 +4,11 @@ import nl.matsv.viabackwards.api.BackwardsProtocol; import us.myles.ViaVersion.api.PacketWrapper; import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; +import us.myles.ViaVersion.api.rewriters.RecipeRewriter; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.ClientboundPackets1_14; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.ServerboundPackets1_14; +import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.data.RecipeRewriter1_14; public class Protocol1_14_2To1_14_3 extends BackwardsProtocol { @@ -47,77 +49,30 @@ public class Protocol1_14_2To1_14_3 extends BackwardsProtocol {}); registerOutgoing(ClientboundPackets1_14.DECLARE_RECIPES, new PacketRemapper() { @Override public void registerMap() { - handler(new PacketHandler() { - @Override - public void handle(PacketWrapper wrapper) throws Exception { - int size = wrapper.passthrough(Type.VAR_INT); - int deleted = 0; - for (int i = 0; i < size; i++) { - String fullType = wrapper.read(Type.STRING); - String type = fullType.replace("minecraft:", ""); - String id = wrapper.read(Type.STRING); // id + handler(wrapper -> { + int size = wrapper.passthrough(Type.VAR_INT); + int deleted = 0; + for (int i = 0; i < size; i++) { + String fullType = wrapper.read(Type.STRING); + String type = fullType.replace("minecraft:", ""); + String id = wrapper.read(Type.STRING); // id - if (type.equals("crafting_special_repairitem")) { - deleted++; - continue; - } - - wrapper.write(Type.STRING, fullType); - wrapper.write(Type.STRING, id); - - switch (type) { - case "crafting_shapeless": { - wrapper.passthrough(Type.STRING); // Group - - int ingredientsNo = wrapper.passthrough(Type.VAR_INT); - for (int j = 0; j < ingredientsNo; j++) { - wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients - } - wrapper.passthrough(Type.FLAT_VAR_INT_ITEM);// Result - - break; - } - case "crafting_shaped": { - int ingredientsNo = wrapper.passthrough(Type.VAR_INT) * wrapper.passthrough(Type.VAR_INT); - wrapper.passthrough(Type.STRING); // Group - - for (int j = 0; j < ingredientsNo; j++) { - wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients - } - wrapper.passthrough(Type.FLAT_VAR_INT_ITEM);// Result - - break; - } - case "stonecutting": - wrapper.passthrough(Type.STRING); // Group? - - wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients - - wrapper.passthrough(Type.FLAT_VAR_INT_ITEM); // Result - - break; - case "smelting": - case "blasting": - case "campfire_cooking": - case "smoking": - wrapper.passthrough(Type.STRING); // Group - - wrapper.passthrough(Type.FLAT_VAR_INT_ITEM_ARRAY_VAR_INT); // Ingredients - - wrapper.passthrough(Type.FLAT_VAR_INT_ITEM); - wrapper.passthrough(Type.FLOAT); // EXP - - wrapper.passthrough(Type.VAR_INT); // Cooking time - - break; - } + if (type.equals("crafting_special_repairitem")) { + deleted++; + continue; } - wrapper.set(Type.VAR_INT, 0, size - deleted); + wrapper.write(Type.STRING, fullType); + wrapper.write(Type.STRING, id); + + recipeHandler.handle(wrapper, type); } + + wrapper.set(Type.VAR_INT, 0, size - deleted); }); } }); diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/packets/BlockItemPackets1_15.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/packets/BlockItemPackets1_15.java index 7183abe5..9e6147b6 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/packets/BlockItemPackets1_15.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_14_4to1_15/packets/BlockItemPackets1_15.java @@ -15,10 +15,10 @@ import us.myles.ViaVersion.api.rewriters.BlockRewriter; import us.myles.ViaVersion.api.rewriters.ItemRewriter; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.ServerboundPackets1_14; +import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.data.RecipeRewriter1_14; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.types.Chunk1_14Type; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.ClientboundPackets1_15; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.data.MappingData; -import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.data.RecipeRewriter1_15; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.types.Chunk1_15Type; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; @@ -33,7 +33,7 @@ public class BlockItemPackets1_15 extends nl.matsv.viabackwards.api.rewriters.It ItemRewriter itemRewriter = new ItemRewriter(protocol, this::handleItemToClient, this::handleItemToServer); BlockRewriter blockRewriter = new BlockRewriter(protocol, Type.POSITION1_14, Protocol1_14_4To1_15::getNewBlockStateId, Protocol1_14_4To1_15::getNewBlockId); - new RecipeRewriter1_15(protocol, this::handleItemToClient).registerDefaultHandler(ClientboundPackets1_15.DECLARE_RECIPES); + new RecipeRewriter1_14(protocol, this::handleItemToClient).registerDefaultHandler(ClientboundPackets1_15.DECLARE_RECIPES); protocol.registerIncoming(ServerboundPackets1_14.EDIT_BOOK, new PacketRemapper() { @Override diff --git a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/BlockItemPackets1_16.java b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/BlockItemPackets1_16.java index 03b28b84..e5412c13 100644 --- a/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/BlockItemPackets1_16.java +++ b/core/src/main/java/nl/matsv/viabackwards/protocol/protocol1_15_2to1_16/packets/BlockItemPackets1_16.java @@ -17,11 +17,11 @@ import us.myles.ViaVersion.api.rewriters.ItemRewriter; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.UUIDIntArrayType; import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.ServerboundPackets1_14; +import us.myles.ViaVersion.protocols.protocol1_14to1_13_2.data.RecipeRewriter1_14; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.ClientboundPackets1_15; import us.myles.ViaVersion.protocols.protocol1_15to1_14_4.types.Chunk1_15Type; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.ClientboundPackets1_16; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.data.MappingData; -import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.data.RecipeRewriter1_16; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.packets.InventoryPackets; import us.myles.ViaVersion.protocols.protocol1_16to1_15_2.types.Chunk1_16Type; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.storage.ClientWorld; @@ -50,7 +50,7 @@ public class BlockItemPackets1_16 extends nl.matsv.viabackwards.api.rewriters.It ItemRewriter itemRewriter = new ItemRewriter(protocol, this::handleItemToClient, this::handleItemToServer); BlockRewriter blockRewriter = new BlockRewriter(protocol, Type.POSITION1_14, Protocol1_15_2To1_16::getNewBlockStateId, Protocol1_15_2To1_16::getNewBlockId); - RecipeRewriter1_16 recipeRewriter = new RecipeRewriter1_16(protocol, this::handleItemToClient); + RecipeRewriter1_14 recipeRewriter = new RecipeRewriter1_14(protocol, this::handleItemToClient); // Remove new smithing type, only in this handler protocol.registerOutgoing(ClientboundPackets1_16.DECLARE_RECIPES, new PacketRemapper() { @Override