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.PacketType;
|
||||||
import com.comphenix.protocol.ProtocolLibrary;
|
import com.comphenix.protocol.ProtocolLibrary;
|
||||||
|
import com.comphenix.protocol.async.AsyncListenerHandler;
|
||||||
import com.comphenix.protocol.events.ListenerPriority;
|
import com.comphenix.protocol.events.ListenerPriority;
|
||||||
import com.comphenix.protocol.events.PacketAdapter;
|
import com.comphenix.protocol.events.PacketAdapter;
|
||||||
import com.comphenix.protocol.events.PacketContainer;
|
import com.comphenix.protocol.events.PacketContainer;
|
||||||
@ -54,6 +55,7 @@ import com.comphenix.protocol.wrappers.WrappedGameProfile;
|
|||||||
import com.comphenix.protocol.wrappers.WrappedWatchableObject;
|
import com.comphenix.protocol.wrappers.WrappedWatchableObject;
|
||||||
|
|
||||||
public class PacketsManager {
|
public class PacketsManager {
|
||||||
|
private static AsyncListenerHandler asyncSoundsListener;
|
||||||
/**
|
/**
|
||||||
* This is a fix for the stupidity that is
|
* 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"
|
* "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) {
|
if (soundsListenerEnabled != enabled) {
|
||||||
soundsListenerEnabled = enabled;
|
soundsListenerEnabled = enabled;
|
||||||
if (soundsListenerEnabled) {
|
if (soundsListenerEnabled) {
|
||||||
ProtocolLibrary.getProtocolManager().addPacketListener(soundsListener);
|
asyncSoundsListener = ProtocolLibrary.getProtocolManager().getAsynchronousManager()
|
||||||
|
.registerAsyncHandler(soundsListener);
|
||||||
} else {
|
} else {
|
||||||
ProtocolLibrary.getProtocolManager().removePacketListener(soundsListener);
|
ProtocolLibrary.getProtocolManager().getAsynchronousManager().unregisterAsyncHandler(asyncSoundsListener);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user