Skip to content

Commit d73af7b

Browse files
committed
Fixed event bugs.
1 parent 0f2f98c commit d73af7b

File tree

10 files changed

+23
-25
lines changed

10 files changed

+23
-25
lines changed

Diff for: build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
}
99

1010
group = "me.scoretwo"
11-
version = "1.1.0-SNAPSHOT"
11+
version = "1.1.1-SNAPSHOT"
1212
description = "FastScript is a Spigot plugin, which can run JavaScript-based scripts more efficiently."
1313

1414
defaultTasks = mutableListOf("ShadowJar", "publishToMavenLocal")

Diff for: common/src/main/kotlin/me/scoretwo/fastscript/api/plugin/ScriptPlugin.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ abstract class ScriptPlugin(val plugin: GlobalPlugin): GlobalPlugin {
2222
abstract fun toOriginalPlayer(player: GlobalPlayer): Any?
2323
abstract fun toOriginalServer(): Any?
2424

25-
abstract fun registerListener(any: Any): Boolean
26-
abstract fun unregisterListener(any: Any): Boolean
25+
abstract fun registerListener(any: Any?): Boolean
26+
abstract fun unregisterListener(any: Any?): Boolean
2727

2828
open fun load() {}
2929
open fun reload() {}

Diff for: common/src/main/kotlin/me/scoretwo/fastscript/api/script/Script.kt

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ abstract class Script(
2929
}
3030
val init = Init(option)
3131

32-
val listeners = mutableListOf<Any>()
32+
val listeners = mutableListOf<Any?>()
3333

3434
fun bindExpansions() =
3535
mutableListOf<FastScriptExpansion>().also { expansions ->
@@ -50,7 +50,7 @@ abstract class Script(
5050
fun execute(expansion: FastScriptExpansion?, sender: GlobalSender, main: String = option.main, args: Array<Any?> = arrayOf()): Any? =
5151
expansion?.execute(this, sender, main, args)
5252

53-
fun registerListener(any: Any) {
53+
fun registerListener(any: Any?) {
5454
if (!plugin.registerListener(any))
5555
plugin.server.console.sendMessage(
5656
FormatHeader.WARN,
@@ -60,17 +60,17 @@ abstract class Script(
6060
listeners.add(any)
6161
}
6262

63-
fun unregisterListener(any: Any) {
63+
fun unregisterListener(any: Any?) {
6464
if (!plugin.unregisterListener(any))
6565
plugin.server.console.sendMessage(
6666
FormatHeader.WARN,
6767
languages["SCRIPT.LISTENERS.FAILED-UNREGISTER"].setPlaceholder("script_name" to name)
6868
)
6969
else
70-
listeners.add(any)
70+
listeners.remove(any)
7171
}
7272

7373
fun unregisterListeners() {
74-
listeners.forEach { unregisterListener(it) }
74+
listeners.toMutableList().forEach { unregisterListener(it) }
7575
}
7676
}

Diff for: common/src/main/kotlin/me/scoretwo/fastscript/command/FSCommandNexus.kt

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package me.scoretwo.fastscript.command
22

33
import me.scoretwo.fastscript.*
44
import me.scoretwo.fastscript.command.commands.*
5-
import me.scoretwo.fastscript.utils.assist
65
import me.scoretwo.utils.bukkit.configuration.yaml.patchs.ignoreCase
76
import me.scoretwo.utils.command.CommandBuilder
87
import me.scoretwo.utils.command.CommandNexus

Diff for: common/src/main/kotlin/me/scoretwo/fastscript/expansion/typeengine/TypeEngineExpansion.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ abstract class TypeEngineExpansion: FastScriptExpansion() {
3333

3434
newEngine.put("meta", HashMap<String, Any?>())
3535
newEngine.put("plugin", plugin.toOriginalPlugin())
36+
newEngine.put("script", script)
3637
newEngine.put("server", plugin.toOriginalServer())
3738
newEngine.put("globalServer", plugin.server)
3839
newEngine.put("scriptManager", FastScript.instance.scriptManager)
@@ -52,8 +53,6 @@ abstract class TypeEngineExpansion: FastScriptExpansion() {
5253
newEngine.put("args", args)
5354
newEngine.put("utils", assist)
5455
newEngine.put("util", assist)
55-
newEngine.put("registerListener", script::registerListener)
56-
newEngine.put("unregisterListener", script::unregisterListener)
5756
otherBindings.forEach { newEngine.put(it.key, it.value) }
5857

5958
engineScripts[script] = newEngine

Diff for: version-control/FastScript-bukkit/src/main/kotlin/me/scoretwo/fastscript/bukkit/BukkitPlugin.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,15 @@ class BukkitPlugin(plugin: GlobalPlugin): ScriptPlugin(plugin) {
103103

104104
override fun toOriginalServer() = Bukkit.getServer()
105105

106-
override fun registerListener(any: Any): Boolean {
106+
override fun registerListener(any: Any?): Boolean {
107107
if (any !is Listener) {
108108
return false
109109
}
110110
Bukkit.getPluginManager().registerEvents(any, toBukkitPlugin())
111111
return true
112112
}
113113

114-
override fun unregisterListener(any: Any): Boolean {
114+
override fun unregisterListener(any: Any?): Boolean {
115115
if (any !is Listener) {
116116
return false
117117
}

Diff for: version-control/FastScript-bungee/src/main/kotlin/me/scoretwo/fastscript/bungee/BungeePlugin.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class BungeePlugin(plugin: GlobalPlugin): ScriptPlugin(plugin) {
3535

3636
override fun toOriginalServer(): Any? = ProxyServer.getInstance()
3737

38-
override fun registerListener(any: Any): Boolean {
38+
override fun registerListener(any: Any?): Boolean {
3939
if (any !is Listener) {
4040
return false
4141
}
@@ -44,7 +44,7 @@ class BungeePlugin(plugin: GlobalPlugin): ScriptPlugin(plugin) {
4444
return true
4545
}
4646

47-
override fun unregisterListener(any: Any): Boolean {
47+
override fun unregisterListener(any: Any?): Boolean {
4848
if (any !is Listener) {
4949
return false
5050
}

Diff for: version-control/FastScript-nukkit/src/main/kotlin/me/scoretwo/fastscript/nukkit/NukkitPlugin.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@ class NukkitPlugin(plugin: GlobalPlugin): ScriptPlugin(plugin) {
3939

4040
override fun toOriginalServer(): Any = Server.getInstance()
4141

42-
override fun registerListener(any: Any): Boolean {
42+
override fun registerListener(any: Any?): Boolean {
4343
if (any !is Listener) {
4444
return false
4545
}
4646
Server.getInstance().pluginManager.registerEvents(any, toNukkitPlugin())
4747
return true
4848
}
4949

50-
override fun unregisterListener(any: Any): Boolean {
50+
override fun unregisterListener(any: Any?): Boolean {
5151
if (any !is Listener) {
5252
return false
5353
}

Diff for: version-control/FastScript-sponge/src/main/kotlin/me/scoretwo/fastscript/sponge/SpongePlugin.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ class SpongePlugin(plugin: GlobalPlugin): ScriptPlugin(plugin) {
4141

4242
override fun toOriginalServer(): Any? = Sponge.getServer()
4343

44-
override fun registerListener(any: Any) = try {
45-
Sponge.getEventManager().registerListeners(toSpongePlugin(), any)
44+
override fun registerListener(any: Any?): Boolean = try {
45+
Sponge.getEventManager().registerListeners(toSpongePlugin(), any ?: false)
4646
true
4747
} catch (t: Throwable) {
4848
false
4949
}
5050

51-
override fun unregisterListener(any: Any) = try {
52-
Sponge.getEventManager().unregisterListeners(any)
51+
override fun unregisterListener(any: Any?): Boolean = try {
52+
Sponge.getEventManager().unregisterListeners(any ?: false)
5353
true
5454
} catch (t: Throwable) {
5555
false

Diff for: version-control/FastScript-velocity/src/main/kotlin/me/scoretwo/fastscript/velocity/VelocityPlugin.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ class VelocityPlugin(plugin: GlobalPlugin): ScriptPlugin(plugin) {
3737

3838
override fun toOriginalServer() = proxyServer
3939

40-
override fun registerListener(any: Any) = try {
41-
proxyServer.eventManager.register(toVelocityPlugin(), any)
40+
override fun registerListener(any: Any?): Boolean = try {
41+
proxyServer.eventManager.register(toVelocityPlugin(), any ?: false)
4242
true
4343
} catch (t: Throwable) {
4444
false
4545
}
4646

47-
override fun unregisterListener(any: Any) = try {
48-
proxyServer.eventManager.unregisterListener(toVelocityPlugin(), any)
47+
override fun unregisterListener(any: Any?): Boolean = try {
48+
proxyServer.eventManager.unregisterListener(toVelocityPlugin(), any ?: false)
4949
true
5050
} catch (t: Throwable) {
5151
false

0 commit comments

Comments
 (0)