mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 08:14:00 +02:00
Add new Packet Manager Selector
This commit is contained in:
parent
3cc9c674f3
commit
6c5eab6fff
2 changed files with 45 additions and 5 deletions
|
|
@ -0,0 +1,41 @@
|
|||
package xyz.alexcrea.cuanvil.dependency.packet;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class PacketManagerSelector {
|
||||
|
||||
private PacketManagerSelector(){}
|
||||
|
||||
public static @NotNull PacketManager selectPacketManager(boolean forceProtocolib){
|
||||
// Try to find version
|
||||
if(forceProtocolib){
|
||||
PacketManager protocolibPacketManager = getProtocolibIfPresent();
|
||||
if(protocolibPacketManager != null) return protocolibPacketManager;
|
||||
}
|
||||
|
||||
PacketManager versionSpecificManager = getVersionSpecificManager();
|
||||
if(versionSpecificManager != null) return versionSpecificManager;
|
||||
|
||||
if(!forceProtocolib){
|
||||
PacketManager protocolibPacketManager = getProtocolibIfPresent();
|
||||
if(protocolibPacketManager != null) return protocolibPacketManager;
|
||||
}
|
||||
return new NoPacketManager();
|
||||
}
|
||||
|
||||
private static @Nullable PacketManager getProtocolibIfPresent(){
|
||||
if(Bukkit.getPluginManager().isPluginEnabled("ProtocolLib")) return new ProtocoLibWrapper();
|
||||
return null;
|
||||
}
|
||||
|
||||
private static @Nullable PacketManager getVersionSpecificManager() {
|
||||
|
||||
|
||||
//TODO depending on version. find the manager !
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue