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
|
package xyz.alexcrea.cuanvil.dependency
|
||||||
|
|
||||||
import org.bukkit.Bukkit
|
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.PacketManager
|
||||||
import xyz.alexcrea.cuanvil.dependency.packet.ProtocoLibWrapper
|
import xyz.alexcrea.cuanvil.dependency.packet.PacketManagerSelector
|
||||||
|
|
||||||
object DependencyManager {
|
object DependencyManager {
|
||||||
|
|
||||||
|
|
@ -15,9 +15,8 @@ object DependencyManager {
|
||||||
val pluginManager = Bukkit.getPluginManager()
|
val pluginManager = Bukkit.getPluginManager()
|
||||||
|
|
||||||
// ProtocolLib dependency
|
// ProtocolLib dependency
|
||||||
packetManager =
|
val forceProtocolib = ConfigHolder.DEFAULT_CONFIG.config.getBoolean("force_protocolib", false)
|
||||||
if(pluginManager.isPluginEnabled("ProtocolLib")) ProtocoLibWrapper()
|
packetManager = PacketManagerSelector.selectPacketManager(forceProtocolib)
|
||||||
else NoPacketManager()
|
|
||||||
|
|
||||||
// Enchantment Squared dependency
|
// Enchantment Squared dependency
|
||||||
if(pluginManager.isPluginEnabled("EnchantsSquared")){
|
if(pluginManager.isPluginEnabled("EnchantsSquared")){
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue