Skip to content

Commit f6effbf

Browse files
committed
Update dependencies and refactor MockBukkit usage
This commit upgrades several dependencies, including Kotlin (2.1.10), kotlinx-coroutines (1.10.1), and Paper (1.21.4). MockBukkit has been migrated to the latest `org.mockbukkit.mockbukkit` package. Additionally, test assertions for command success/failure have been refactored for improved readability and consistency.
1 parent cb49a51 commit f6effbf

File tree

8 files changed

+43
-55
lines changed

8 files changed

+43
-55
lines changed

gradle/libs.versions.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[versions]
2-
kotlin = "2.0.20"
3-
kotlinx-coroutines = "1.9.0"
4-
paper = "1.21-R0.1-SNAPSHOT"
2+
kotlin = "2.1.10"
3+
kotlinx-coroutines = "1.10.1"
4+
paper = "1.21.4-R0.1-SNAPSHOT"
55

66
[libraries]
77
paper-api = { group = "io.papermc.paper", name = "paper-api", version.ref = "paper" }
@@ -11,7 +11,7 @@ kotlin-test-junit5 = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit
1111
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
1212
kotlinx-coroutines-reactive = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-reactive", version.ref = "kotlinx-coroutines" }
1313
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
14-
mockbukkit = { group = "com.github.seeseemelk", name = "MockBukkit-v1.21", version = "3.127.1" }
14+
mockbukkit = { group = "org.mockbukkit.mockbukkit", name = "mockbukkit-v1.21", version = "4.33.3" }
1515
reflections = { group = "org.reflections", name = "reflections", version = "0.10.2" }
1616
guice = { group = "com.google.inject", name = "guice", version = "7.0.0" }
1717
kotest = { group = "io.kotest", name = "kotest-assertions-core-jvm", version = "5.9.1" }

src/main/kotlin/dev/newspicel/coroutine/CoroutineJavaPluginExt.kt

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,15 @@
11
package dev.newspicel.coroutine
22

3-
import kotlinx.coroutines.CoroutineDispatcher
4-
import kotlinx.coroutines.CoroutineScope
5-
import kotlinx.coroutines.CoroutineStart
6-
import kotlinx.coroutines.Job
7-
import kotlinx.coroutines.isActive
8-
import kotlinx.coroutines.launch
93
import dev.newspicel.utils.pluginLazy
4+
import kotlinx.coroutines.*
105
import org.bukkit.plugin.Plugin
11-
import org.bukkit.plugin.java.JavaPlugin
126
import kotlin.coroutines.CoroutineContext
13-
import kotlin.coroutines.resume
14-
import kotlin.coroutines.suspendCoroutine
157

168
fun Plugin.launch(
179
context: CoroutineContext = syncDispatcher,
1810
start: CoroutineStart = CoroutineStart.DEFAULT,
1911
block: suspend CoroutineScope.() -> Unit,
2012
): Job {
21-
if (!coroutineScope.isActive) {
22-
return Job()
23-
}
24-
2513
return coroutineScope.launch(context, start, block)
2614
}
2715

src/main/kotlin/dev/newspicel/di/DIJavaPlugin.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,15 @@ abstract class DIJavaPlugin : JavaPlugin() {
123123
}
124124

125125
// Lock this stuff down
126-
final override fun onTabComplete(sender: CommandSender, command: org.bukkit.command.Command, alias: String, args: Array<out String>?): MutableList<String> {
126+
final override fun onTabComplete(sender: CommandSender, command: org.bukkit.command.Command, alias: String, args: Array<out String>): List<String> {
127127
sender.sendMessage(text("An error occurred while executing this command. Please contact the server administrators."))
128-
logger.warning("OnTabComplete was called for ${command.name} with alias $alias and args ${args?.joinToString(", ")} but no tab complete was registered.")
128+
logger.warning("OnTabComplete was called for ${command.name} with alias $alias and args ${args.joinToString(", ")} but no tab complete was registered.")
129129
return emptyList<String>().toMutableList()
130130
}
131131

132-
final override fun onCommand(sender: CommandSender, command: org.bukkit.command.Command, label: String, args: Array<out String>?): Boolean {
132+
final override fun onCommand(sender: CommandSender, command: org.bukkit.command.Command, label: String, args: Array<out String>): Boolean {
133133
sender.sendMessage(text("An error occurred while executing this command. Please contact the server administrators."))
134-
logger.warning("OnCommand was called for ${command.name} with alias $label and args ${args?.joinToString(", ")} but no command was registered.")
134+
logger.warning("OnCommand was called for ${command.name} with alias $label and args ${args.joinToString(", ")} but no command was registered.")
135135
return false
136136
}
137137
}

src/test/kotlin/dev/newspicel/di/GuiceJavaPluginTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package dev.newspicel.di
22

3-
import be.seeseemelk.mockbukkit.MockBukkit
4-
import be.seeseemelk.mockbukkit.ServerMock
3+
import dev.newspicel.di.commands.CommandTestController
54
import io.kotest.matchers.shouldBe
65
import io.kotest.matchers.shouldNotBe
7-
import dev.newspicel.di.commands.CommandTestController
86
import org.bukkit.Server
97
import org.bukkit.plugin.java.JavaPlugin
108
import org.junit.jupiter.api.AfterEach
11-
import org.junit.jupiter.api.Test
129
import org.junit.jupiter.api.BeforeEach
10+
import org.junit.jupiter.api.Test
1311
import org.junit.jupiter.api.TestInstance
12+
import org.mockbukkit.mockbukkit.MockBukkit
13+
import org.mockbukkit.mockbukkit.ServerMock
1414

1515
@TestInstance(TestInstance.Lifecycle.PER_METHOD)
1616
class GuiceJavaPluginTest {

src/test/kotlin/dev/newspicel/di/UtilsTests.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package dev.newspicel.di
22

3-
import be.seeseemelk.mockbukkit.MockBukkit
4-
import be.seeseemelk.mockbukkit.ServerMock
5-
import dev.newspicel.di.logger
63
import io.kotest.matchers.shouldBe
74
import io.kotest.matchers.shouldNotBe
85
import org.junit.jupiter.api.AfterEach
96
import org.junit.jupiter.api.BeforeEach
107
import org.junit.jupiter.api.TestInstance
8+
import org.mockbukkit.mockbukkit.MockBukkit
9+
import org.mockbukkit.mockbukkit.ServerMock
1110
import java.util.logging.Logger
1211
import kotlin.test.Test
1312

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package dev.newspicel.di.commands
22

3-
import be.seeseemelk.mockbukkit.MockBukkit
4-
import be.seeseemelk.mockbukkit.ServerMock
53
import dev.newspicel.di.TestPlugin
64
import io.kotest.matchers.ints.shouldBeInRange
75
import io.kotest.matchers.shouldBe
@@ -11,6 +9,8 @@ import org.junit.jupiter.api.AfterEach
119
import org.junit.jupiter.api.BeforeEach
1210
import org.junit.jupiter.api.Test
1311
import org.junit.jupiter.api.TestInstance
12+
import org.mockbukkit.mockbukkit.MockBukkit
13+
import org.mockbukkit.mockbukkit.ServerMock
1414

1515
@TestInstance(TestInstance.Lifecycle.PER_METHOD)
1616
open class CommandTests {
@@ -32,8 +32,8 @@ open class CommandTests {
3232
@Test
3333
fun `is command registered`() {
3434
server.addPlayer()
35-
server.executePlayer("test").assertSucceeded()
36-
server.executePlayer("test2").assertSucceeded()
35+
server.executePlayer("test").hasSucceeded() shouldBe true
36+
server.executePlayer("test2").hasSucceeded() shouldBe true
3737
try {
3838
server.executePlayer("test21i03023")
3939
} catch (e: Exception) {
@@ -44,7 +44,7 @@ open class CommandTests {
4444
@Test
4545
fun `check if alias is registered`() {
4646
server.addPlayer()
47-
server.executePlayer("test-alias").assertSucceeded()
47+
server.executePlayer("test-alias").hasSucceeded() shouldBe true
4848
}
4949

5050
@Test
@@ -53,8 +53,8 @@ open class CommandTests {
5353
ctc?.i = 0
5454
server.addPlayer()
5555
repeat(10) {
56-
server.executePlayer("test").assertSucceeded()
57-
server.executePlayer("test2").assertSucceeded()
56+
server.executePlayer("test").hasSucceeded() shouldBe true
57+
server.executePlayer("test2").hasSucceeded() shouldBe true
5858
}
5959
delay(4000)
6060
ctc?.i?.shouldBeInRange(18..20)
@@ -63,39 +63,39 @@ open class CommandTests {
6363
@Test
6464
fun `should return value work`() {
6565
server.addPlayer()
66-
server.executePlayer("test").assertSucceeded()
67-
server.executePlayer("test2").assertSucceeded()
66+
server.executePlayer("test").hasSucceeded() shouldBe true
67+
server.executePlayer("test2").hasSucceeded() shouldBe true
6868
}
6969

7070
@Test
7171
fun `check if is player`() {
72-
server.executeConsole("test").assertFailed()
72+
server.executeConsole("test").hasSucceeded() shouldBe false
7373
server.addPlayer()
74-
server.executePlayer("test").assertSucceeded()
74+
server.executePlayer("test").hasSucceeded() shouldBe true
7575
}
7676

7777
@Test
7878
fun `check if permissions checks work`() {
7979
val player = server.addPlayer()
80-
server.execute("test-op", player).assertFailed()
81-
server.execute("test-permission", player).assertFailed()
82-
server.execute("test", player).assertSucceeded()
80+
server.execute("test-op", player).hasSucceeded() shouldBe false
81+
server.execute("test-permission", player).hasSucceeded() shouldBe false
82+
server.execute("test", player).hasSucceeded() shouldBe true
8383
player.isOp = true
84-
server.execute("test-op", player).assertSucceeded()
85-
server.execute("test-permission", player).assertSucceeded()
84+
server.execute("test-op", player).hasSucceeded() shouldBe true
85+
server.execute("test-permission", player).hasSucceeded() shouldBe true
8686
player.isOp = false
8787
player.addAttachment(plugin, "test", true)
88-
server.execute("test-op", player).assertFailed()
89-
server.execute("test-permission", player).assertSucceeded()
88+
server.execute("test-op", player).hasSucceeded() shouldBe false
89+
server.execute("test-permission", player).hasSucceeded() shouldBe true
9090
player.addAttachment(plugin, "test", false)
91-
server.execute("test-op", player).assertFailed()
92-
server.execute("test-permission", player).assertFailed()
91+
server.execute("test-op", player).hasSucceeded() shouldBe false
92+
server.execute("test-permission", player).hasSucceeded() shouldBe false
9393
}
9494

9595
@Test
9696
fun `should args as list or array work`() {
9797
server.addPlayer()
98-
server.executePlayer("array", "test").assertSucceeded()
99-
server.executePlayer("list", "test").assertSucceeded()
98+
server.executePlayer("array", "test").hasSucceeded() shouldBe true
99+
server.executePlayer("list", "test").hasSucceeded() shouldBe true
100100
}
101101
}

src/test/kotlin/dev/newspicel/di/events/EventsTests.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package dev.newspicel.di.events
22

3-
import be.seeseemelk.mockbukkit.MockBukkit
4-
import be.seeseemelk.mockbukkit.ServerMock
53
import io.kotest.matchers.shouldBe
64
import kotlinx.coroutines.delay
75
import kotlinx.coroutines.runBlocking
@@ -11,6 +9,8 @@ import org.junit.jupiter.api.AfterEach
119
import org.junit.jupiter.api.BeforeEach
1210
import org.junit.jupiter.api.Test
1311
import org.junit.jupiter.api.TestInstance
12+
import org.mockbukkit.mockbukkit.MockBukkit
13+
import org.mockbukkit.mockbukkit.ServerMock
1414

1515
@TestInstance(TestInstance.Lifecycle.PER_METHOD)
1616
open class EventsTests {

src/test/kotlin/dev/newspicel/di/serverevents/ServerEventsTests.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package dev.newspicel.di.serverevents
22

3-
import be.seeseemelk.mockbukkit.MockBukkit
4-
import be.seeseemelk.mockbukkit.ServerMock
5-
import io.kotest.matchers.shouldBe
63
import dev.newspicel.di.TestPlugin
4+
import io.kotest.matchers.shouldBe
75
import org.junit.jupiter.api.AfterEach
86
import org.junit.jupiter.api.BeforeEach
97
import org.junit.jupiter.api.Test
108
import org.junit.jupiter.api.TestInstance
9+
import org.mockbukkit.mockbukkit.MockBukkit
10+
import org.mockbukkit.mockbukkit.ServerMock
11+
1112
@TestInstance(TestInstance.Lifecycle.PER_METHOD)
1213
open class ServerEventsTests {
1314

0 commit comments

Comments
 (0)