diff --git a/src/main/java/us/myles/ViaVersion/packets/PacketType.java b/src/main/java/us/myles/ViaVersion/packets/PacketType.java index e0dbd4066..fcd44c65b 100644 --- a/src/main/java/us/myles/ViaVersion/packets/PacketType.java +++ b/src/main/java/us/myles/ViaVersion/packets/PacketType.java @@ -170,7 +170,7 @@ public enum PacketType { if(id == -1) return null; for (PacketType pt : values()) { - if (pt.getNewPacketID() == id && id != -1 + if (pt.getNewPacketID() == id && pt.getState() == state && pt.getDirection() == direction) return pt; @@ -182,7 +182,7 @@ public enum PacketType { if(id == -1) return null; for (PacketType pt : values()) { - if (pt.getPacketID() == id && id != -1 + if (pt.getPacketID() == id && pt.getState() == state && pt.getDirection() == direction) return pt; diff --git a/src/main/java/us/myles/ViaVersion/sounds/SoundEffect.java b/src/main/java/us/myles/ViaVersion/sounds/SoundEffect.java index a78b2e8a8..8c1c8b840 100644 --- a/src/main/java/us/myles/ViaVersion/sounds/SoundEffect.java +++ b/src/main/java/us/myles/ViaVersion/sounds/SoundEffect.java @@ -252,11 +252,13 @@ public enum SoundEffect { private String name; private String newname; private SoundCategory cat; + private boolean breaksound; SoundEffect(String name, String newname, SoundCategory cat) { this.cat = cat; this.newname = newname; this.name = name; + this.breaksound = name.startsWith("dig."); } public static SoundEffect getByName(String name) { @@ -279,5 +281,9 @@ public enum SoundEffect { public SoundCategory getCategory() { return cat; } + + public boolean isBreakPlaceSound() { + return breaksound; + } } diff --git a/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java b/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java index ceda3a0f8..13679fc26 100644 --- a/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java +++ b/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java @@ -59,6 +59,11 @@ public class OutgoingTransformer { int catid = 0; String newname = name; if (effect != null) { + if(effect.isBreakPlaceSound()) { + input.readBytes(input.readableBytes()); + output.clear(); + return; + } catid = effect.getCategory().getId(); newname = effect.getNewName(); }