Skip to content

Commit a4631da

Browse files
feat: refactor config handling by introducing LobbyConfigHolder and update event cancellation usage
1 parent 6dc800c commit a4631da

File tree

6 files changed

+47
-31
lines changed

6 files changed

+47
-31
lines changed

src/main/kotlin/dev/slne/surf/lobby/PaperMain.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package dev.slne.surf.lobby
22

33
import com.github.shynixn.mccoroutine.folia.SuspendingJavaPlugin
44
import dev.slne.surf.lobby.command.lobbyCommand
5-
import dev.slne.surf.lobby.config.LobbyConfig
5+
import dev.slne.surf.lobby.config.LobbyConfigHolder
66
import dev.slne.surf.lobby.hologram.SurfHologramHook
77
import dev.slne.surf.lobby.listener.DoubleJumpListener
88
import dev.slne.surf.lobby.listener.GameModeListener
@@ -34,7 +34,7 @@ class PaperMain : SuspendingJavaPlugin() {
3434
}
3535
}
3636

37-
val lobbyConfig get() = LobbyConfig.getConfig()
38-
37+
val lobbyConfigHolder = LobbyConfigHolder()
38+
val lobbyConfig get() = lobbyConfigHolder.lobbyConfig
3939
val surfNpcHook get() = Bukkit.getPluginManager().isPluginEnabled("surf-npc-bukkit")
4040
val surfHologramHook get() = Bukkit.getPluginManager().isPluginEnabled("surf-hologram-paper")

src/main/kotlin/dev/slne/surf/lobby/command/LobbyCommand.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package dev.slne.surf.lobby.command
33
import dev.jorel.commandapi.kotlindsl.anyExecutor
44
import dev.jorel.commandapi.kotlindsl.commandTree
55
import dev.jorel.commandapi.kotlindsl.literalArgument
6-
import dev.slne.surf.lobby.config.LobbyConfig
6+
import dev.slne.surf.lobby.lobbyConfigHolder
77
import dev.slne.surf.lobby.utils.PermissionRegistry
88
import dev.slne.surf.surfapi.core.api.messages.adventure.sendText
99

@@ -13,7 +13,7 @@ fun lobbyCommand() = commandTree("lobby") {
1313
literalArgument("reload") {
1414
withPermission(PermissionRegistry.COMMAND_LOBBY_RELOAD)
1515
anyExecutor { executor, _ ->
16-
LobbyConfig.reloadFromFile()
16+
lobbyConfigHolder.reload()
1717

1818
executor.sendText {
1919
appendPrefix()
Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package dev.slne.surf.lobby.config
22

3-
import dev.slne.surf.lobby.plugin
4-
import dev.slne.surf.surfapi.core.api.config.SpongeYmlConfigClass
53
import org.bukkit.Location
64
import org.spongepowered.configurate.objectmapping.ConfigSerializable
75

@@ -11,16 +9,7 @@ data class LobbyConfig(
119
val survivalNpc: LocationConfig = LocationConfig.default(),
1210
val eventNpc: LocationConfig = LocationConfig.default()
1311
) {
14-
companion object : SpongeYmlConfigClass<LobbyConfig>(
15-
LobbyConfig::class.java,
16-
plugin.dataPath,
17-
"lobby.yml"
18-
) {
19-
init {
20-
init()
21-
}
22-
}
23-
12+
@ConfigSerializable
2413
data class LocationConfig(
2514
val world: String,
2615
val x: Double,
@@ -37,16 +26,14 @@ data class LobbyConfig(
3726
}
3827

3928
companion object {
40-
fun default(): LocationConfig {
41-
return LocationConfig(
42-
world = "world",
43-
x = 0.0,
44-
y = 100.0,
45-
z = 0.0,
46-
yaw = 0.0f,
47-
pitch = 0.0f
48-
)
49-
}
29+
fun default() = LocationConfig(
30+
world = "world",
31+
x = 0.0,
32+
y = 100.0,
33+
z = 0.0,
34+
yaw = 0.0f,
35+
pitch = 0.0f
36+
)
5037
}
5138
}
5239
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package dev.slne.surf.lobby.config
2+
3+
import dev.slne.surf.lobby.plugin
4+
import dev.slne.surf.surfapi.core.api.config.manager.SpongeConfigManager
5+
import dev.slne.surf.surfapi.core.api.config.surfConfigApi
6+
7+
class LobbyConfigHolder {
8+
private val configManager: SpongeConfigManager<LobbyConfig>
9+
10+
init {
11+
surfConfigApi.createSpongeYmlConfig(
12+
LobbyConfig::class.java,
13+
plugin.dataPath,
14+
"lobby.yml"
15+
)
16+
configManager = surfConfigApi.getSpongeConfigManagerForConfig(
17+
LobbyConfig::class.java
18+
)
19+
reload()
20+
}
21+
22+
fun reload() {
23+
configManager.reloadFromFile()
24+
}
25+
26+
val lobbyConfig get() = configManager.config
27+
}

src/main/kotlin/dev/slne/surf/lobby/listener/DoubleJumpListener.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package dev.slne.surf.lobby.listener
22

3+
import dev.slne.surf.surfapi.bukkit.api.event.cancel
34
import org.bukkit.GameMode
45
import org.bukkit.Particle
56
import org.bukkit.block.BlockFace
@@ -36,6 +37,6 @@ object DoubleJumpListener : Listener {
3637
player.allowFlight = false
3738
player.isFlying = false
3839

39-
event.isCancelled = true
40+
event.cancel()
4041
}
4142
}

src/main/kotlin/dev/slne/surf/lobby/listener/WorldProtectionListener.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package dev.slne.surf.lobby.listener
22

33
import dev.slne.surf.lobby.utils.PermissionRegistry
4+
import dev.slne.surf.surfapi.bukkit.api.event.cancel
45
import org.bukkit.event.EventHandler
56
import org.bukkit.event.Listener
67
import org.bukkit.event.block.BlockBreakEvent
@@ -14,7 +15,7 @@ object WorldProtectionListener : Listener {
1415
return
1516
}
1617

17-
event.isCancelled = true
18+
event.cancel()
1819
}
1920

2021
@EventHandler
@@ -23,7 +24,7 @@ object WorldProtectionListener : Listener {
2324
return
2425
}
2526

26-
event.isCancelled = true
27+
event.cancel()
2728
}
2829

2930
@EventHandler
@@ -32,6 +33,6 @@ object WorldProtectionListener : Listener {
3233
return
3334
}
3435

35-
event.isCancelled = true
36+
event.cancel()
3637
}
3738
}

0 commit comments

Comments
 (0)