mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +02:00
Created 1.18 R1 (plugin's native version) nms package.
Created 1.18 R1 handling of sending player abilities packet and tested on spigot. Documented force_protocolib config.
This commit is contained in:
parent
6c5eab6fff
commit
0f2a295039
15 changed files with 201 additions and 67 deletions
|
|
@ -98,6 +98,12 @@ class CustomAnvil : JavaPlugin() {
|
|||
chatListener = ChatEventListener()
|
||||
server.pluginManager.registerEvents(chatListener, this)
|
||||
|
||||
// Load default configuration
|
||||
if (!ConfigHolder.loadDefaultConfig()) {
|
||||
logger.log(Level.SEVERE,"could not load default config.")
|
||||
return
|
||||
}
|
||||
|
||||
// Load dependency
|
||||
DependencyManager.loadDependency()
|
||||
|
||||
|
|
@ -113,12 +119,6 @@ class CustomAnvil : JavaPlugin() {
|
|||
}
|
||||
|
||||
private fun loadEnchantmentSystem(){
|
||||
// Load default configuration
|
||||
if (!ConfigHolder.loadDefaultConfig()) {
|
||||
logger.log(Level.SEVERE,"could not load default config.")
|
||||
return
|
||||
}
|
||||
|
||||
// Register enchantments
|
||||
CAEnchantmentRegistry.getInstance().registerBukkit()
|
||||
DependencyManager.registerEnchantments()
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ object DependencyManager {
|
|||
fun loadDependency(){
|
||||
val pluginManager = Bukkit.getPluginManager()
|
||||
|
||||
// ProtocolLib dependency
|
||||
// Packet Manager
|
||||
val forceProtocolib = ConfigHolder.DEFAULT_CONFIG.config.getBoolean("force_protocolib", false)
|
||||
packetManager = PacketManagerSelector.selectPacketManager(forceProtocolib)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
package xyz.alexcrea.cuanvil.dependency.packet
|
||||
|
||||
import org.bukkit.Bukkit
|
||||
import xyz.alexcrea.cuanvil.dependency.packet.versions.V1_18R1_Manager
|
||||
import xyz.alexcrea.cuanvil.update.UpdateUtils
|
||||
|
||||
object PacketManagerSelector {
|
||||
fun selectPacketManager(forceProtocolib: Boolean): PacketManager {
|
||||
// Try to find version
|
||||
return if (forceProtocolib)
|
||||
protocolibIfPresent
|
||||
else
|
||||
versionSpecificManager ?: protocolibIfPresent
|
||||
}
|
||||
|
||||
private val protocolibIfPresent: PacketManager
|
||||
get() =
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("ProtocolLib"))
|
||||
ProtocoLibWrapper()
|
||||
else
|
||||
NoPacketManager()
|
||||
private val versionSpecificManager: PacketManager?
|
||||
get() {
|
||||
val versionParts = UpdateUtils.currentMinecraftVersion()
|
||||
if (versionParts[0] != 1) return null;
|
||||
|
||||
return when (versionParts[1]) {
|
||||
16 -> when (versionParts[2]) {
|
||||
4, 5 -> null // TODO V1_16R3 (if possible)
|
||||
else -> null
|
||||
}
|
||||
|
||||
17 -> when (versionParts[2]) {
|
||||
0, 1 -> null // TODO V1_17R1 (if possible)
|
||||
else -> null
|
||||
}
|
||||
|
||||
18 -> when (versionParts[2]) {
|
||||
0, 1 -> V1_18R1_Manager()
|
||||
2 -> null // TODO V1_18R2
|
||||
else -> null
|
||||
}
|
||||
|
||||
19 -> when (versionParts[2]) {
|
||||
0, 1, 2 -> null // TODO V1_19R1
|
||||
3 -> null // TODO V1_19R2
|
||||
4 -> null // TODO V1_19R3
|
||||
else -> null
|
||||
}
|
||||
|
||||
20 -> when (versionParts[2]) {
|
||||
0, 1 -> null // TODO V1_20R1
|
||||
2 -> null // TODO V1_20R2
|
||||
3, 4 -> null // TODO V1_20R3
|
||||
5, 6 -> null // TODO V1_20R4
|
||||
else -> null
|
||||
}
|
||||
|
||||
21 -> when (versionParts[2]) {
|
||||
0 -> null // TODO V1_21R1
|
||||
else -> null
|
||||
}
|
||||
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue