* PacketManager micro optimization with the channel caching
* Player ejected when they leave
This commit is contained in:
1 parent
4078418376
commit
052a65f6ef
3 files changed
+8
-5
No files matched your search
@@ -305,5 +305,6 @@ public final class PacketEvents implements Listener, EventManager {
|
||||
getPlayerUtils().clientVersionsMap.remove(channel);
|
||||
getPlayerUtils().playerPingMap.remove(uuid);
|
||||
getPlayerUtils().playerSmoothedPingMap.remove(uuid);
|
||||
packetManager.ejectPlayer(e.getPlayer());
|
||||
}
|
||||
}
|
||||
@@ -25,9 +25,6 @@
|
||||
package io.github.retrooper.packetevents.example;
|
||||
|
||||
import io.github.retrooper.packetevents.PacketEvents;
|
||||
import io.github.retrooper.packetevents.event.PacketListenerDynamic;
|
||||
import io.github.retrooper.packetevents.event.impl.PostPlayerInjectEvent;
|
||||
import io.github.retrooper.packetevents.event.priority.PacketEventPriority;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class MainExample extends JavaPlugin {
|
||||
|
||||
@@ -76,8 +76,9 @@ public class PacketManager {
|
||||
public Object getChannel(String name) {
|
||||
Object channel = channelMap.get(name);
|
||||
if(channel == null) {
|
||||
channelMap.put(name, NMSUtils.getChannel(Bukkit.getPlayer(name)));
|
||||
return channelMap.get(name);
|
||||
channel = NMSUtils.getChannel(Bukkit.getPlayer(name));
|
||||
channelMap.put(name, channel);
|
||||
return channel;
|
||||
}
|
||||
return channel;
|
||||
}
|
||||
@@ -132,6 +133,8 @@ public class PacketManager {
|
||||
} else {
|
||||
Objects.requireNonNull(lateInjector).ejectPlayerSync(player);
|
||||
}
|
||||
firstPacketCache.remove(getChannel(player.getName()));
|
||||
channelMap.remove(player.getName());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,6 +148,8 @@ public class PacketManager {
|
||||
} else {
|
||||
Objects.requireNonNull(lateInjector).ejectPlayerAsync(player);
|
||||
}
|
||||
firstPacketCache.remove(getChannel(player.getName()));
|
||||
channelMap.remove(player.getName());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user