mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package xyz.alexcrea.cuanvil.dependency
|
||||
|
||||
import org.bukkit.Bukkit
|
||||
import xyz.alexcrea.cuanvil.dependency.packet.NoPacketManager
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder
|
||||
import xyz.alexcrea.cuanvil.dependency.packet.PacketManager
|
||||
import xyz.alexcrea.cuanvil.dependency.packet.ProtocoLibWrapper
|
||||
import xyz.alexcrea.cuanvil.dependency.packet.PacketManagerSelector
|
||||
|
||||
object DependencyManager {
|
||||
|
||||
|
|
@ -15,9 +15,8 @@ object DependencyManager {
|
|||
val pluginManager = Bukkit.getPluginManager()
|
||||
|
||||
// ProtocolLib dependency
|
||||
packetManager =
|
||||
if(pluginManager.isPluginEnabled("ProtocolLib")) ProtocoLibWrapper()
|
||||
else NoPacketManager()
|
||||
val forceProtocolib = ConfigHolder.DEFAULT_CONFIG.config.getBoolean("force_protocolib", false)
|
||||
packetManager = PacketManagerSelector.selectPacketManager(forceProtocolib)
|
||||
|
||||
// Enchantment Squared dependency
|
||||
if(pluginManager.isPluginEnabled("EnchantsSquared")){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue