From b61e84a2355db2deadc0f76362a9926ec0f0c11f Mon Sep 17 00:00:00 2001 From: RaphiMC <50594595+RaphiMC@users.noreply.github.com> Date: Wed, 24 Jul 2024 00:01:31 +0200 Subject: [PATCH] Use enhanced switch --- .../vialegacy/api/splitter/PreNettyTypes.java | 131 ++++++------------ .../vialegacy/api/util/ChunkCoordSpiral.java | 16 +-- .../Protocola1_2_3_5_1_2_6Tob1_0_1_1_1.java | 17 +-- .../storage/AlphaInventoryTracker.java | 40 +++--- .../Protocolb1_1_2Tob1_2_0_2.java | 24 +--- .../Protocolb1_2_0_2Tob1_3_0_1.java | 16 +-- .../Protocolr1_2_4_5Tor1_3_1_2.java | 18 +-- .../Protocolr1_4_6_7Tor1_5_0_1.java | 8 +- .../rewriter/EntityDataRewriter.java | 26 ++-- .../Protocolr1_6_4Tor1_7_2_5.java | 9 +- .../Protocolr1_7_6_10Tor1_8.java | 111 +++++---------- .../rewriter/EntityDataRewriter.java | 30 ++-- 12 files changed, 149 insertions(+), 297 deletions(-) diff --git a/src/main/java/net/raphimc/vialegacy/api/splitter/PreNettyTypes.java b/src/main/java/net/raphimc/vialegacy/api/splitter/PreNettyTypes.java index 7618b2d..2e3e95b 100644 --- a/src/main/java/net/raphimc/vialegacy/api/splitter/PreNettyTypes.java +++ b/src/main/java/net/raphimc/vialegacy/api/splitter/PreNettyTypes.java @@ -90,28 +90,17 @@ public class PreNettyTypes { for (byte b = buffer.readByte(); b != 127; b = buffer.readByte()) { int i = (b & 224) >> 5; switch (i) { - case 0: - buffer.readByte(); - break; - case 1: - buffer.readShort(); - break; - case 2: - buffer.readInt(); - break; - case 3: - buffer.readFloat(); - break; - case 4: - readString(buffer); - break; - case 5: - readItemStack1_3_1(buffer); - break; - case 6: + case 0 -> buffer.readByte(); + case 1 -> buffer.readShort(); + case 2 -> buffer.readInt(); + case 3 -> buffer.readFloat(); + case 4 -> readString(buffer); + case 5 -> readItemStack1_3_1(buffer); + case 6 -> { buffer.readInt(); buffer.readInt(); buffer.readInt(); + } } } } @@ -120,32 +109,23 @@ public class PreNettyTypes { for (byte b = buffer.readByte(); b != 127; b = buffer.readByte()) { int i = (b & 224) >> 5; switch (i) { - case 0: - buffer.readByte(); - break; - case 1: - buffer.readShort(); - break; - case 2: - buffer.readInt(); - break; - case 3: - buffer.readFloat(); - break; - case 4: - readString(buffer); - break; - case 5: + case 0 -> buffer.readByte(); + case 1 -> buffer.readShort(); + case 2 -> buffer.readInt(); + case 3 -> buffer.readFloat(); + case 4 -> readString(buffer); + case 5 -> { short x = buffer.readShort(); if (x > -1) { buffer.readByte(); buffer.readShort(); } - break; - case 6: + } + case 6 -> { buffer.readInt(); buffer.readInt(); buffer.readInt(); + } } } } @@ -154,30 +134,21 @@ public class PreNettyTypes { for (byte b = buffer.readByte(); b != 127; b = buffer.readByte()) { int i = (b & 224) >> 5; switch (i) { - case 0: - buffer.readByte(); - break; - case 1: - buffer.readShort(); - break; - case 2: - buffer.readInt(); - break; - case 3: - buffer.readFloat(); - break; - case 4: - readString(buffer); - break; - case 5: + case 0 -> buffer.readByte(); + case 1 -> buffer.readShort(); + case 2 -> buffer.readInt(); + case 3 -> buffer.readFloat(); + case 4 -> readString(buffer); + case 5 -> { buffer.readShort(); buffer.readByte(); buffer.readShort(); - break; - case 6: + } + case 6 -> { buffer.readInt(); buffer.readInt(); buffer.readInt(); + } } } } @@ -186,30 +157,21 @@ public class PreNettyTypes { for (byte b = buffer.readByte(); b != 127; b = buffer.readByte()) { int i = (b & 224) >> 5; switch (i) { - case 0: - buffer.readByte(); - break; - case 1: - buffer.readShort(); - break; - case 2: - buffer.readInt(); - break; - case 3: - buffer.readFloat(); - break; - case 4: - readUTF(buffer); - break; - case 5: + case 0 -> buffer.readByte(); + case 1 -> buffer.readShort(); + case 2 -> buffer.readInt(); + case 3 -> buffer.readFloat(); + case 4 -> readUTF(buffer); + case 5 -> { buffer.readShort(); buffer.readByte(); buffer.readShort(); - break; - case 6: + } + case 6 -> { buffer.readInt(); buffer.readInt(); buffer.readInt(); + } } } } @@ -218,25 +180,16 @@ public class PreNettyTypes { for (byte b = buffer.readByte(); b != 127; b = buffer.readByte()) { int i = (b & 224) >> 5; switch (i) { - case 0: - buffer.readByte(); - break; - case 1: - buffer.readShort(); - break; - case 2: - buffer.readInt(); - break; - case 3: - buffer.readFloat(); - break; - case 4: - readUTF(buffer); - break; - case 5: + case 0 -> buffer.readByte(); + case 1 -> buffer.readShort(); + case 2 -> buffer.readInt(); + case 3 -> buffer.readFloat(); + case 4 -> readUTF(buffer); + case 5 -> { buffer.readShort(); buffer.readByte(); buffer.readShort(); + } } } } diff --git a/src/main/java/net/raphimc/vialegacy/api/util/ChunkCoordSpiral.java b/src/main/java/net/raphimc/vialegacy/api/util/ChunkCoordSpiral.java index 909f4a2..820c9b0 100644 --- a/src/main/java/net/raphimc/vialegacy/api/util/ChunkCoordSpiral.java +++ b/src/main/java/net/raphimc/vialegacy/api/util/ChunkCoordSpiral.java @@ -73,18 +73,10 @@ public class ChunkCoordSpiral implements Iterable { floorN = (int) Math.floor(n); if (j < floorN) { switch (i % 4) { - case 0: - z += step; - break; - case 1: - x += step; - break; - case 2: - z -= step; - break; - case 3: - x -= step; - break; + case 0 -> z += step; + case 1 -> x += step; + case 2 -> z -= step; + case 3 -> x -= step; } j++; return new ChunkCoord(x, z); diff --git a/src/main/java/net/raphimc/vialegacy/protocol/alpha/a1_2_3_5_1_2_6tob1_0_1_1_1/Protocola1_2_3_5_1_2_6Tob1_0_1_1_1.java b/src/main/java/net/raphimc/vialegacy/protocol/alpha/a1_2_3_5_1_2_6tob1_0_1_1_1/Protocola1_2_3_5_1_2_6Tob1_0_1_1_1.java index a79ef33..561316f 100644 --- a/src/main/java/net/raphimc/vialegacy/protocol/alpha/a1_2_3_5_1_2_6tob1_0_1_1_1/Protocola1_2_3_5_1_2_6Tob1_0_1_1_1.java +++ b/src/main/java/net/raphimc/vialegacy/protocol/alpha/a1_2_3_5_1_2_6tob1_0_1_1_1/Protocola1_2_3_5_1_2_6Tob1_0_1_1_1.java @@ -80,21 +80,22 @@ public class Protocola1_2_3_5_1_2_6Tob1_0_1_1_1 extends StatelessProtocol { inventoryStorage.mainInventory = items; if (inventoryTracker != null) inventoryTracker.setMainInventory(copyItems(items)); System.arraycopy(items, 0, windowItems, 36, 9); - System.arraycopy(items, 9, windowItems, 9, 36 - 9); - break; - case -2: // crafting + System.arraycopy(items, 9, windowItems, 9, 36 - 9); // main + } + case -2 /* crafting */ -> { inventoryStorage.craftingInventory = items; if (inventoryTracker != null) inventoryTracker.setCraftingInventory(copyItems(items)); - System.arraycopy(items, 0, windowItems, 1, 4); - break; - case -3: // armor + System.arraycopy(items, 0, windowItems, 1, 4); // crafting + } + case -3 /* armor */ -> { inventoryStorage.armorInventory = items; if (inventoryTracker != null) inventoryTracker.setArmorInventory(copyItems(items)); - System.arraycopy(reverseArray(items), 0, windowItems, 5, 4); + System.arraycopy(reverseArray(items), 0, windowItems, 5, 4); // armor + } } wrapper.write(Types.BYTE, (byte) 0); // window id diff --git a/src/main/java/net/raphimc/vialegacy/protocol/alpha/a1_2_3_5_1_2_6tob1_0_1_1_1/storage/AlphaInventoryTracker.java b/src/main/java/net/raphimc/vialegacy/protocol/alpha/a1_2_3_5_1_2_6tob1_0_1_1_1/storage/AlphaInventoryTracker.java index a46018a..7dba43d 100644 --- a/src/main/java/net/raphimc/vialegacy/protocol/alpha/a1_2_3_5_1_2_6tob1_0_1_1_1/storage/AlphaInventoryTracker.java +++ b/src/main/java/net/raphimc/vialegacy/protocol/alpha/a1_2_3_5_1_2_6tob1_0_1_1_1/storage/AlphaInventoryTracker.java @@ -110,7 +110,7 @@ public class AlphaInventoryTracker extends StoredObject { int slotStackLimit = 64; boolean isCraftingResultSlot = false; switch (windowId) { - case 0: + case 0 -> { slots = new Item[45]; System.arraycopy(this.mainInventory, 0, slots, 36, 9); System.arraycopy(this.mainInventory, 9, slots, 9, 36 - 9); @@ -122,8 +122,8 @@ public class AlphaInventoryTracker extends StoredObject { if (isCraftingResultSlot) { slots[0] = CraftingManager.getResult(this.craftingInventory); } - break; - case InventoryStorage.WORKBENCH_WID: + } + case InventoryStorage.WORKBENCH_WID -> { slots = new Item[46]; System.arraycopy(this.openContainerItems, 0, slots, 0, 10); System.arraycopy(this.mainInventory, 0, slots, 37, 9); @@ -134,19 +134,19 @@ public class AlphaInventoryTracker extends StoredObject { final Item[] craftingGrid = Arrays.copyOfRange(this.openContainerItems, 1, 10); slots[0] = CraftingManager.getResult(craftingGrid); } - break; - case InventoryStorage.FURNACE_WID: + } + case InventoryStorage.FURNACE_WID -> { slots = new Item[39]; System.arraycopy(this.openContainerItems, 0, slots, 0, 3); System.arraycopy(this.mainInventory, 0, slots, 30, 9); System.arraycopy(this.mainInventory, 9, slots, 3, 36 - 9); - break; - case InventoryStorage.CHEST_WID: + } + case InventoryStorage.CHEST_WID -> { slots = new Item[63]; System.arraycopy(this.openContainerItems, 0, slots, 0, 3 * 9); System.arraycopy(this.mainInventory, 0, slots, 54, 9); System.arraycopy(this.mainInventory, 9, slots, 27, 36 - 9); - break; + } } if (slots != null) { @@ -192,46 +192,46 @@ public class AlphaInventoryTracker extends StoredObject { } switch (windowId) { - case 0: + case 0 -> { System.arraycopy(slots, 36, this.mainInventory, 0, 9); System.arraycopy(slots, 9, this.mainInventory, 9, 36 - 9); System.arraycopy(slots, 1, this.craftingInventory, 0, 4); System.arraycopy(slots, 5, this.armorInventory, 0, 4); this.armorInventory = reverseArray(this.armorInventory); - break; - case InventoryStorage.WORKBENCH_WID: + } + case InventoryStorage.WORKBENCH_WID -> { System.arraycopy(slots, 0, this.openContainerItems, 0, 10); System.arraycopy(slots, 37, this.mainInventory, 0, 9); System.arraycopy(slots, 10, this.mainInventory, 9, 36 - 9); - break; - case InventoryStorage.FURNACE_WID: + } + case InventoryStorage.FURNACE_WID -> { System.arraycopy(slots, 0, this.openContainerItems, 0, 3); System.arraycopy(slots, 30, this.mainInventory, 0, 9); System.arraycopy(slots, 3, this.mainInventory, 9, 36 - 9); - break; - case InventoryStorage.CHEST_WID: + } + case InventoryStorage.CHEST_WID -> { System.arraycopy(slots, 0, this.openContainerItems, 0, 3 * 9); System.arraycopy(slots, 54, this.mainInventory, 0, 9); System.arraycopy(slots, 27, this.mainInventory, 9, 36 - 9); - break; + } } this.updateInventory(windowId, slots); boolean updateCraftResultSlot = false; switch (windowId) { - case 0: + case 0 -> { updateCraftResultSlot = !this.isEmpty(this.craftingInventory); if (updateCraftResultSlot) { slots[0] = CraftingManager.getResult(this.craftingInventory); } - break; - case InventoryStorage.WORKBENCH_WID: + } + case InventoryStorage.WORKBENCH_WID -> { final Item[] craftingGrid = Arrays.copyOfRange(this.openContainerItems, 1, 10); updateCraftResultSlot = !this.isEmpty(craftingGrid); if (updateCraftResultSlot) { slots[0] = CraftingManager.getResult(craftingGrid); } - break; + } } if (updateCraftResultSlot) this.updateInventorySlot(windowId, (short) 0, slots[0]); diff --git a/src/main/java/net/raphimc/vialegacy/protocol/beta/b1_1_2tob1_2_0_2/Protocolb1_1_2Tob1_2_0_2.java b/src/main/java/net/raphimc/vialegacy/protocol/beta/b1_1_2tob1_2_0_2/Protocolb1_1_2Tob1_2_0_2.java index 0406167..50580fd 100644 --- a/src/main/java/net/raphimc/vialegacy/protocol/beta/b1_1_2tob1_2_0_2/Protocolb1_1_2Tob1_2_0_2.java +++ b/src/main/java/net/raphimc/vialegacy/protocol/beta/b1_1_2tob1_2_0_2/Protocolb1_1_2Tob1_2_0_2.java @@ -74,24 +74,12 @@ public class Protocolb1_1_2Tob1_2_0_2 extends StatelessProtocol entityFlagStorage.setFlag(entityId, 2, true); + case 101 /* stop riding */ -> entityFlagStorage.setFlag(entityId, 2, false); + case 102 /* start burning */ -> entityFlagStorage.setFlag(entityId, 0, true); + case 103 /* stop burning */ -> entityFlagStorage.setFlag(entityId, 0, false); + case 104 /* start sneaking */ -> entityFlagStorage.setFlag(entityId, 1, true); + case 105 /* stop sneaking */ -> entityFlagStorage.setFlag(entityId, 1, false); } if (oldMask != entityFlagStorage.getFlagMask(entityId)) { diff --git a/src/main/java/net/raphimc/vialegacy/protocol/beta/b1_2_0_2tob1_3_0_1/Protocolb1_2_0_2Tob1_3_0_1.java b/src/main/java/net/raphimc/vialegacy/protocol/beta/b1_2_0_2tob1_3_0_1/Protocolb1_2_0_2Tob1_3_0_1.java index 6e7fa0d..a3fbeeb 100644 --- a/src/main/java/net/raphimc/vialegacy/protocol/beta/b1_2_0_2tob1_3_0_1/Protocolb1_2_0_2Tob1_3_0_1.java +++ b/src/main/java/net/raphimc/vialegacy/protocol/beta/b1_2_0_2tob1_3_0_1/Protocolb1_2_0_2Tob1_3_0_1.java @@ -85,7 +85,7 @@ public class Protocolb1_2_0_2Tob1_3_0_1 extends StatelessProtocol { final IdAndData blockBeingBroken = wrapper.user().get(ChunkTracker.class).getBlockNotNull(pos); if (BlockHardnessList.canBeBrokenInstantly(blockBeingBroken)) { sendBlockDigPacket(wrapper.user(), (byte) 0, pos, facing); @@ -97,18 +97,14 @@ public class Protocolb1_2_0_2Tob1_3_0_1 extends StatelessProtocol sendBlockDigPacket(wrapper.user(), (byte) 2, pos, facing); + case 2 -> { sendBlockDigPacket(wrapper.user(), (byte) 1, pos, facing); sendBlockDigPacket(wrapper.user(), (byte) 3, pos, facing); sendBlockDigPacket(wrapper.user(), (byte) 2, pos, facing); - break; - case 4: - sendBlockDigPacket(wrapper.user(), (byte) 4, pos, facing); - break; + } + case 4 -> sendBlockDigPacket(wrapper.user(), (byte) 4, pos, facing); } }); this.registerServerbound(ServerboundPacketsb1_4.PLAYER_COMMAND, new PacketHandlers() { diff --git a/src/main/java/net/raphimc/vialegacy/protocol/release/r1_2_4_5tor1_3_1_2/Protocolr1_2_4_5Tor1_3_1_2.java b/src/main/java/net/raphimc/vialegacy/protocol/release/r1_2_4_5tor1_3_1_2/Protocolr1_2_4_5Tor1_3_1_2.java index 6de954a..2b9d6bd 100644 --- a/src/main/java/net/raphimc/vialegacy/protocol/release/r1_2_4_5tor1_3_1_2/Protocolr1_2_4_5Tor1_3_1_2.java +++ b/src/main/java/net/raphimc/vialegacy/protocol/release/r1_2_4_5tor1_3_1_2/Protocolr1_2_4_5Tor1_3_1_2.java @@ -276,23 +276,15 @@ public class Protocolr1_2_4_5Tor1_3_1_2 extends StatelessProtocol entityTracker.playSoundAt(location, Sound.RANDOM_FUSE, 1.0F, 1.0F); + case TIPPED_ARROW -> { pitch = 1.0F / (entityTracker.RND.nextFloat() * 0.4F + 1.2F) + 0.5F; entityTracker.playSoundAt(location, Sound.RANDOM_BOW, 1.0F, pitch); - break; - case SNOWBALL: - case EGG: - case ENDER_PEARL: - case EYE_OF_ENDER: - case POTION: - case EXPERIENCE_BOTTLE: - case FISHIHNG_HOOK: + } + case SNOWBALL, EGG, ENDER_PEARL, EYE_OF_ENDER, POTION, EXPERIENCE_BOTTLE, FISHIHNG_HOOK -> { pitch = 0.4F / (entityTracker.RND.nextFloat() * 0.4F + 0.8F); entityTracker.playSoundAt(location, Sound.RANDOM_BOW, 0.5F, pitch); - break; + } } }); } diff --git a/src/main/java/net/raphimc/vialegacy/protocol/release/r1_4_6_7tor1_5_0_1/Protocolr1_4_6_7Tor1_5_0_1.java b/src/main/java/net/raphimc/vialegacy/protocol/release/r1_4_6_7tor1_5_0_1/Protocolr1_4_6_7Tor1_5_0_1.java index 5c2054f..7722f2d 100644 --- a/src/main/java/net/raphimc/vialegacy/protocol/release/r1_4_6_7tor1_5_0_1/Protocolr1_4_6_7Tor1_5_0_1.java +++ b/src/main/java/net/raphimc/vialegacy/protocol/release/r1_4_6_7tor1_5_0_1/Protocolr1_4_6_7Tor1_5_0_1.java @@ -113,14 +113,12 @@ public class Protocolr1_4_6_7Tor1_5_0_1 extends StatelessProtocol droppingUsingQ = button + (slot != -999 ? 2 : 0) == 2; + case 5 -> { startDragging = button == 0; endDragging = button == 2; addSlot = button == 1; - break; + } } final boolean leftClick = startDragging || addSlot || endDragging; diff --git a/src/main/java/net/raphimc/vialegacy/protocol/release/r1_5_2tor1_6_1/rewriter/EntityDataRewriter.java b/src/main/java/net/raphimc/vialegacy/protocol/release/r1_5_2tor1_6_1/rewriter/EntityDataRewriter.java index ad62090..f35d7a5 100644 --- a/src/main/java/net/raphimc/vialegacy/protocol/release/r1_5_2tor1_6_1/rewriter/EntityDataRewriter.java +++ b/src/main/java/net/raphimc/vialegacy/protocol/release/r1_5_2tor1_6_1/rewriter/EntityDataRewriter.java @@ -41,28 +41,18 @@ public class EntityDataRewriter { entry.setId(entityDataIndex.getNewIndex()); switch (entityDataIndex.getNewType()) { - case BYTE: - entry.setValue(((Number) value).byteValue()); - break; - case SHORT: - entry.setValue(((Number) value).shortValue()); - break; - case INT: - entry.setValue(((Number) value).intValue()); - break; - case FLOAT: - entry.setValue(((Number) value).floatValue()); - break; - case ITEM: - case STRING: - case BLOCK_POSITION: - break; - default: + case BYTE -> entry.setValue(((Number) value).byteValue()); + case SHORT -> entry.setValue(((Number) value).shortValue()); + case INT -> entry.setValue(((Number) value).intValue()); + case FLOAT -> entry.setValue(((Number) value).floatValue()); + case ITEM, STRING, BLOCK_POSITION -> { + } + default -> { if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { ViaLegacy.getPlatform().getLogger().warning("1.5.2 EntityDataRewriter: Unhandled Type: " + entityDataIndex.getNewType() + " " + entry); } list.remove(entry); - break; + } } } catch (Throwable e) { if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { diff --git a/src/main/java/net/raphimc/vialegacy/protocol/release/r1_6_4tor1_7_2_5/Protocolr1_6_4Tor1_7_2_5.java b/src/main/java/net/raphimc/vialegacy/protocol/release/r1_6_4tor1_7_2_5/Protocolr1_6_4Tor1_7_2_5.java index cebe04a..8ca5596 100644 --- a/src/main/java/net/raphimc/vialegacy/protocol/release/r1_6_4tor1_7_2_5/Protocolr1_6_4Tor1_7_2_5.java +++ b/src/main/java/net/raphimc/vialegacy/protocol/release/r1_6_4tor1_7_2_5/Protocolr1_6_4Tor1_7_2_5.java @@ -1070,12 +1070,11 @@ public class Protocolr1_6_4Tor1_7_2_5 extends StatelessTransitionProtocol { itemRewriter.handleItemToServer(wrapper.user(), wrapper.passthrough(Types1_7_6.ITEM)); length = (short) PacketUtil.calculateLength(wrapper); - break; - case "MC|AdvCdm": + } + case "MC|AdvCdm" -> { final byte type = wrapper.read(Types.BYTE); // command block type if (type == 0) { wrapper.passthrough(Types.INT); // x @@ -1087,7 +1086,7 @@ public class Protocolr1_6_4Tor1_7_2_5 extends StatelessTransitionProtocol modZ = 1; + case 1 -> modX = -1; + case 2 -> modZ = -1; + case 3 -> modX = 1; } wrapper.set(Types.BLOCK_POSITION1_8, 0, new BlockPosition(pos.x() + modX, pos.y(), pos.z() + modZ)); @@ -821,48 +813,25 @@ public class Protocolr1_7_6_10Tor1_8 extends AbstractProtocol inventoryName = "minecraft:chest"; + case 1 -> inventoryName = "minecraft:crafting_table"; + case 2 -> inventoryName = "minecraft:furnace"; + case 3 -> inventoryName = "minecraft:dispenser"; + case 4 -> inventoryName = "minecraft:enchanting_table"; + case 5 -> inventoryName = "minecraft:brewing_stand"; + case 6 -> { inventoryName = "minecraft:villager"; if (!useProvidedWindowTitle || title.isEmpty()) { title = "entity.Villager.name"; useProvidedWindowTitle = false; } - break; - case 7: - inventoryName = "minecraft:beacon"; - break; - case 8: - inventoryName = "minecraft:anvil"; - break; - case 9: - inventoryName = "minecraft:hopper"; - break; - case 10: - inventoryName = "minecraft:dropper"; - break; - case 11: - inventoryName = "EntityHorse"; - break; - default: - throw new IllegalArgumentException("Unknown window type: " + windowType); + } + case 7 -> inventoryName = "minecraft:beacon"; + case 8 -> inventoryName = "minecraft:anvil"; + case 9 -> inventoryName = "minecraft:hopper"; + case 10 -> inventoryName = "minecraft:dropper"; + case 11 -> inventoryName = "EntityHorse"; + default -> throw new IllegalArgumentException("Unknown window type: " + windowType); } if (windowType == 1/*crafting_table*/ || windowType == 4/*enchanting_table*/ || windowType == 8/*anvil*/) { @@ -928,23 +897,16 @@ public class Protocolr1_7_6_10Tor1_8 extends AbstractProtocol { progressBar = 2; final PacketWrapper windowProperty = PacketWrapper.create(ClientboundPackets1_8.CONTAINER_SET_DATA, wrapper.user()); windowProperty.write(Types.UNSIGNED_BYTE, windowId); windowProperty.write(Types.SHORT, (short) 3); windowProperty.write(Types.SHORT, (short) 200); windowProperty.send(Protocolr1_7_6_10Tor1_8.class); - break; - } - case 1: { // furnaceBurnTime - progressBar = 0; - break; - } - case 2: { // currentItemBurnTime - progressBar = 1; - break; } + case 1 /* furnaceBurnTime */ -> progressBar = 0; + case 2 /* currentItemBurnTime */ -> progressBar = 1; } wrapper.set(Types.SHORT, 0, progressBar); } @@ -1115,11 +1077,8 @@ public class Protocolr1_7_6_10Tor1_8 extends AbstractProtocol { final String channel = wrapper.get(Types.STRING, 0); switch (channel) { - case "MC|Brand": { - wrapper.write(Types.STRING, new String(wrapper.read(Types.REMAINING_BYTES), StandardCharsets.UTF_8)); // brand - break; - } - case "MC|TrList": + case "MC|Brand" -> wrapper.write(Types.STRING, new String(wrapper.read(Types.REMAINING_BYTES), StandardCharsets.UTF_8)); // brand + case "MC|TrList" -> { wrapper.passthrough(Types.INT); // window id final int count = wrapper.passthrough(Types.UNSIGNED_BYTE); // count for (int i = 0; i < count; i++) { @@ -1142,14 +1101,13 @@ public class Protocolr1_7_6_10Tor1_8 extends AbstractProtocol { final String url = new String(wrapper.read(Types.REMAINING_BYTES), StandardCharsets.UTF_8); // url wrapper.clearPacket(); wrapper.setPacketType(ClientboundPackets1_8.RESOURCE_PACK); wrapper.write(Types.STRING, url); // url wrapper.write(Types.STRING, "legacy"); // hash - break; } } }); @@ -1378,18 +1336,16 @@ public class Protocolr1_7_6_10Tor1_8 extends AbstractProtocol { final Item item = wrapper.read(Types.ITEM1_8); // book itemRewriter.handleItemToServer(wrapper.user(), item); wrapper.write(Types1_7_6.ITEM, item); // book - break; - case "MC|Brand": - case "MC|ItemName": + } + case "MC|Brand", "MC|ItemName" -> { final String content = wrapper.read(Types.STRING); // client brand or item name wrapper.write(Types.REMAINING_BYTES, content.getBytes(StandardCharsets.UTF_8)); // client brand or item name - break; - case "MC|AdvCdm": + } + case "MC|AdvCdm" -> { final byte type = wrapper.passthrough(Types.BYTE); // command block type (0 = Block, 1 = Minecart) if (type == 0) { wrapper.passthrough(Types.INT); // x @@ -1406,9 +1362,8 @@ public class Protocolr1_7_6_10Tor1_8 extends AbstractProtocol { byte[] channels = wrapper.read(Types.REMAINING_BYTES); if (ViaLegacy.getConfig().isIgnoreLong1_8ChannelNames()) { @@ -1431,7 +1386,7 @@ public class Protocolr1_7_6_10Tor1_8 extends AbstractProtocol entry.setValue(((Number) value).byteValue()); + case SHORT -> entry.setValue(((Number) value).shortValue()); + case INT -> entry.setValue(((Number) value).intValue()); + case FLOAT -> entry.setValue(((Number) value).floatValue()); + case ITEM -> this.protocol.getItemRewriter().handleItemToClient(user, (Item) value); + case STRING, BLOCK_POSITION, ROTATIONS -> { + } + default -> { if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) { ViaLegacy.getPlatform().getLogger().warning("1.7.10 EntityDataRewriter: Unhandled Type: " + entityDataIndex.getNewType() + " " + entry); } list.remove(entry); - break; + } } } catch (Throwable e) { if (!Via.getConfig().isSuppressConversionWarnings() || Via.getManager().isDebug()) {