Use async packet listener for sounds packets. Prevents async concurrent modification exception. May be replaced later.
This commit is contained in:
parent
4038a090d8
commit
4c85f6c319
@ -41,6 +41,7 @@ import org.bukkit.util.Vector;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
import com.comphenix.protocol.ProtocolLibrary;
|
||||
import com.comphenix.protocol.async.AsyncListenerHandler;
|
||||
import com.comphenix.protocol.events.ListenerPriority;
|
||||
import com.comphenix.protocol.events.PacketAdapter;
|
||||
import com.comphenix.protocol.events.PacketContainer;
|
||||
@ -54,6 +55,7 @@ import com.comphenix.protocol.wrappers.WrappedGameProfile;
|
||||
import com.comphenix.protocol.wrappers.WrappedWatchableObject;
|
||||
|
||||
public class PacketsManager {
|
||||
private static AsyncListenerHandler asyncSoundsListener;
|
||||
/**
|
||||
* This is a fix for the stupidity that is
|
||||
* "I can't separate the sounds from the sounds the player heard, and the sounds of the entity tracker heard"
|
||||
@ -1062,9 +1064,10 @@ public class PacketsManager {
|
||||
if (soundsListenerEnabled != enabled) {
|
||||
soundsListenerEnabled = enabled;
|
||||
if (soundsListenerEnabled) {
|
||||
ProtocolLibrary.getProtocolManager().addPacketListener(soundsListener);
|
||||
asyncSoundsListener = ProtocolLibrary.getProtocolManager().getAsynchronousManager()
|
||||
.registerAsyncHandler(soundsListener);
|
||||
} else {
|
||||
ProtocolLibrary.getProtocolManager().removePacketListener(soundsListener);
|
||||
ProtocolLibrary.getProtocolManager().getAsynchronousManager().unregisterAsyncHandler(asyncSoundsListener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user