Use enhanced switch

This commit is contained in:
RaphiMC 2024-07-24 00:01:31 +02:00
parent e4c52ec587
commit b61e84a235
No known key found for this signature in database
GPG Key ID: 0F6BB0657A03AC94
12 changed files with 149 additions and 297 deletions

View File

@ -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();
}
}
}
}

View File

@ -73,18 +73,10 @@ public class ChunkCoordSpiral implements Iterable<ChunkCoord> {
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);

View File

@ -80,21 +80,22 @@ public class Protocola1_2_3_5_1_2_6Tob1_0_1_1_1 extends StatelessProtocol<Client
System.arraycopy(inventoryStorage.armorInventory, 0, windowItems, 5, 4);
switch (type) {
case -1: // main
case -1 /* maim */ -> {
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

View File

@ -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]);

View File

@ -74,24 +74,12 @@ public class Protocolb1_1_2Tob1_2_0_2 extends StatelessProtocol<ClientboundPacke
final EntityFlagStorage entityFlagStorage = wrapper.user().get(EntityFlagStorage.class);
final int oldMask = entityFlagStorage.getFlagMask(entityId);
switch (animationId) {
case 100: // start riding
entityFlagStorage.setFlag(entityId, 2, true);
break;
case 101: // stop riding
entityFlagStorage.setFlag(entityId, 2, false);
break;
case 102: // start burning
entityFlagStorage.setFlag(entityId, 0, true);
break;
case 103: // stop burning
entityFlagStorage.setFlag(entityId, 0, false);
break;
case 104: // start sneaking
entityFlagStorage.setFlag(entityId, 1, true);
break;
case 105: // stop sneaking
entityFlagStorage.setFlag(entityId, 1, false);
break;
case 100 /* start riding */ -> 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)) {

View File

@ -85,7 +85,7 @@ public class Protocolb1_2_0_2Tob1_3_0_1 extends StatelessProtocol<ClientboundPac
}
switch (status) {
case 0:
case 0 -> {
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<ClientboundPac
wrapper.user().put(new BlockDigStorage(wrapper.user(), pos, facing));
sendBlockDigPacket(wrapper.user(), (byte) 0, pos, facing);
sendBlockDigPacket(wrapper.user(), (byte) 1, pos, facing);
break;
case 1:
sendBlockDigPacket(wrapper.user(), (byte) 2, pos, facing);
break;
case 2:
}
case 1 -> 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() {

View File

@ -276,23 +276,15 @@ public class Protocolr1_2_4_5Tor1_3_1_2 extends StatelessProtocol<ClientboundPac
float pitch;
switch (objectType) {
case TNT_PRIMED:
entityTracker.playSoundAt(location, Sound.RANDOM_FUSE, 1.0F, 1.0F);
break;
case TIPPED_ARROW:
case TNT_PRIMED -> 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;
}
}
});
}

View File

@ -113,14 +113,12 @@ public class Protocolr1_4_6_7Tor1_5_0_1 extends StatelessProtocol<ClientboundPac
boolean addSlot = false;
switch (mode) {
case 4:
droppingUsingQ = button + (slot != -999 ? 2 : 0) == 2;
break;
case 5:
case 4 -> 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;

View File

@ -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()) {

View File

@ -1070,12 +1070,11 @@ public class Protocolr1_6_4Tor1_7_2_5 extends StatelessTransitionProtocol<Client
short length = wrapper.read(Types.SHORT); // length
switch (channel) {
case "MC|BEdit":
case "MC|BSign":
case "MC|BEdit", "MC|BSign" -> {
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<Client
return;
}
length = (short) PacketUtil.calculateLength(wrapper);
break;
}
}
wrapper.resetReader();

View File

@ -368,18 +368,10 @@ public class Protocolr1_7_6_10Tor1_8 extends AbstractProtocol<ClientboundPackets
int modX = 0;
int modZ = 0;
switch (rotation) {
case 0:
modZ = 1;
break;
case 1:
modX = -1;
break;
case 2:
modZ = -1;
break;
case 3:
modX = 1;
break;
case 0 -> 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<ClientboundPackets
final String inventoryName;
switch (windowType) {
case 0:
inventoryName = "minecraft:chest";
break;
case 1:
inventoryName = "minecraft:crafting_table";
break;
case 2:
inventoryName = "minecraft:furnace";
break;
case 3:
inventoryName = "minecraft:dispenser";
break;
case 4:
inventoryName = "minecraft:enchanting_table";
break;
case 5:
inventoryName = "minecraft:brewing_stand";
break;
case 6:
case 0 -> 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<ClientboundPackets
final short windowType = wrapper.user().get(WindowTracker.class).get(windowId);
if (windowType == 2) { // furnace
switch (progressBar) {
case 0: { // cookTime
case 0 /* cookTime */ -> {
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<ClientboundPackets
handlerSoftFail(wrapper -> {
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<ClientboundPackets
wrapper.write(Types.INT, 0); // uses
wrapper.write(Types.INT, Integer.MAX_VALUE); // max uses
}
break;
case "MC|RPack": {
}
case "MC|RPack" -> {
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<ClientboundPackets
}
switch (channel) {
case "MC|BEdit":
case "MC|BSign":
case "MC|BEdit", "MC|BSign" -> {
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<ClientboundPackets
}
wrapper.passthrough(Types.STRING); // command
wrapper.read(Types.BOOLEAN); // track output
break;
case "REGISTER":
case "UNREGISTER":
}
case "REGISTER", "UNREGISTER" -> {
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<ClientboundPackets
}
wrapper.write(Types.REMAINING_BYTES, channels); // data
break;
}
}
final short length = (short) PacketUtil.calculateLength(wrapper);

View File

@ -87,31 +87,19 @@ public class EntityDataRewriter {
}
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:
this.protocol.getItemRewriter().handleItemToClient(user, (Item) value);
break;
case STRING:
case BLOCK_POSITION:
case ROTATIONS:
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 -> 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()) {