mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 16:16:17 +02:00
dissalow use of gui and add warning for folia.
This commit is contained in:
parent
80aeb165cc
commit
1ec4bc27f2
3 changed files with 22 additions and 7 deletions
|
|
@ -6,7 +6,7 @@ import org.bukkit.entity.Entity
|
||||||
import org.bukkit.plugin.Plugin
|
import org.bukkit.plugin.Plugin
|
||||||
import java.util.function.Consumer
|
import java.util.function.Consumer
|
||||||
|
|
||||||
class PaperScheduler : TaskScheduler {
|
class FoliaScheduler : TaskScheduler {
|
||||||
override fun scheduleGlobally(plugin: Plugin, task: Runnable, time: Long): Any? {
|
override fun scheduleGlobally(plugin: Plugin, task: Runnable, time: Long): Any? {
|
||||||
if(time < 1){
|
if(time < 1){
|
||||||
return Bukkit.getGlobalRegionScheduler().run(
|
return Bukkit.getGlobalRegionScheduler().run(
|
||||||
|
|
@ -39,11 +39,11 @@ class PaperScheduler : TaskScheduler {
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun isPaper(): Boolean {
|
fun isFolia(): Boolean {
|
||||||
try {
|
try {
|
||||||
Bukkit::class.java.getDeclaredMethod("getGlobalRegionScheduler")
|
Class.forName("io.papermc.paper.threadedregions.RegionizedServer")
|
||||||
return true
|
return true
|
||||||
} catch (e: NoSuchMethodException) {
|
} catch (e: ClassNotFoundException) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -5,6 +5,7 @@ import org.bukkit.command.Command
|
||||||
import org.bukkit.command.CommandExecutor
|
import org.bukkit.command.CommandExecutor
|
||||||
import org.bukkit.command.CommandSender
|
import org.bukkit.command.CommandSender
|
||||||
import org.bukkit.entity.HumanEntity
|
import org.bukkit.entity.HumanEntity
|
||||||
|
import xyz.alexcrea.cuanvil.dependency.DependencyManager
|
||||||
import xyz.alexcrea.cuanvil.gui.config.MainConfigGui
|
import xyz.alexcrea.cuanvil.gui.config.MainConfigGui
|
||||||
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions
|
import xyz.alexcrea.cuanvil.gui.util.GuiGlobalActions
|
||||||
|
|
||||||
|
|
@ -15,6 +16,15 @@ class EditConfigExecutor : CommandExecutor {
|
||||||
sender.sendMessage(GuiGlobalActions.NO_EDIT_PERM)
|
sender.sendMessage(GuiGlobalActions.NO_EDIT_PERM)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
if(DependencyManager.isFolia){
|
||||||
|
sender.sendMessage("§cIt look like you are using Folia. Sadly Custom Anvil do not support Config gui for Folia.")
|
||||||
|
sender.sendMessage("§eIt is may come in a future version.")
|
||||||
|
sender.sendMessage("")
|
||||||
|
sender.sendMessage("§eCurrently you need to edit manually the config or copy from another server (spigot or better)")
|
||||||
|
sender.sendMessage("§eThen /anvilconfigreload after config file is edited")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
if (sender !is HumanEntity) return false
|
if (sender !is HumanEntity) return false
|
||||||
MainConfigGui.getInstance().show(sender)
|
MainConfigGui.getInstance().show(sender)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package xyz.alexcrea.cuanvil.dependency
|
package xyz.alexcrea.cuanvil.dependency
|
||||||
|
|
||||||
|
import io.delilaheve.CustomAnvil
|
||||||
import org.bukkit.Bukkit
|
import org.bukkit.Bukkit
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent
|
import org.bukkit.event.inventory.InventoryClickEvent
|
||||||
import org.bukkit.event.inventory.PrepareAnvilEvent
|
import org.bukkit.event.inventory.PrepareAnvilEvent
|
||||||
|
|
@ -8,11 +9,12 @@ 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.PacketManagerSelector
|
import xyz.alexcrea.cuanvil.dependency.packet.PacketManagerSelector
|
||||||
import xyz.alexcrea.cuanvil.dependency.scheduler.BukkitScheduler
|
import xyz.alexcrea.cuanvil.dependency.scheduler.BukkitScheduler
|
||||||
import xyz.alexcrea.cuanvil.dependency.scheduler.PaperScheduler
|
import xyz.alexcrea.cuanvil.dependency.scheduler.FoliaScheduler
|
||||||
import xyz.alexcrea.cuanvil.dependency.scheduler.TaskScheduler
|
import xyz.alexcrea.cuanvil.dependency.scheduler.TaskScheduler
|
||||||
|
|
||||||
object DependencyManager {
|
object DependencyManager {
|
||||||
|
|
||||||
|
var isFolia: Boolean = false
|
||||||
lateinit var scheduler: TaskScheduler
|
lateinit var scheduler: TaskScheduler
|
||||||
lateinit var packetManager: PacketManager
|
lateinit var packetManager: PacketManager
|
||||||
var enchantmentSquaredCompatibility: EnchantmentSquaredDependency? = null
|
var enchantmentSquaredCompatibility: EnchantmentSquaredDependency? = null
|
||||||
|
|
@ -23,9 +25,12 @@ object DependencyManager {
|
||||||
val pluginManager = Bukkit.getPluginManager()
|
val pluginManager = Bukkit.getPluginManager()
|
||||||
|
|
||||||
// Bukkit or Paper scheduler ?
|
// Bukkit or Paper scheduler ?
|
||||||
scheduler = if(PaperScheduler.isPaper()) PaperScheduler()
|
isFolia = FoliaScheduler.isFolia()
|
||||||
else BukkitScheduler()
|
scheduler = if(isFolia) {
|
||||||
|
CustomAnvil.instance.logger.info("Folia detected... Custom Anvil Folia support is experimental. issues are more likely to happens.")
|
||||||
|
|
||||||
|
FoliaScheduler()
|
||||||
|
} else BukkitScheduler()
|
||||||
|
|
||||||
// Packet Manager
|
// Packet Manager
|
||||||
val forceProtocolib = ConfigHolder.DEFAULT_CONFIG.config.getBoolean("force_protocolib", false)
|
val forceProtocolib = ConfigHolder.DEFAULT_CONFIG.config.getBoolean("force_protocolib", false)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue