Skip to content

Commit 4499b26

Browse files
committed
WIP: Cleanup & refactoring.
1 parent 87ce212 commit 4499b26

File tree

19 files changed

+200
-263
lines changed

19 files changed

+200
-263
lines changed

ScriptableMC-Engine-Core/build.gradle.kts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,26 @@ idea {
2020
}
2121

2222
dependencies {
23+
// Kotlin Standard Library & Reflection
24+
implementation("org.jetbrains.kotlin:kotlin-stdlib")
25+
implementation("org.jetbrains.kotlin:kotlin-reflect")
26+
27+
// SpigotMC API
28+
compileOnly("org.spigotmc:spigot-api:$spigotmcVersion") {
29+
isChanging = true
30+
}
31+
2332
// GraalVM SDK & GraalJS Engine
2433
compileOnly("org.graalvm.sdk:graal-sdk:$graalvmVersion")
2534
compileOnly("org.graalvm.truffle:truffle-api:$graalvmVersion")
2635

36+
// 3rd-Party Libraries
2737
implementation("com.github.jkcclemens:khttp:-SNAPSHOT")
28-
compileOnly("org.spigotmc:spigot-api:$spigotmcVersion")
2938
implementation("co.aikar:acf-paper:0.5.0-SNAPSHOT")
30-
implementation("fr.minuskube.inv:smart-invs:1.2.7")
39+
compileOnly("fr.minuskube.inv:smart-invs:1.2.7")
3140
compileOnly("me.clip:placeholderapi:2.10.4")
32-
implementation("org.jetbrains.kotlin:kotlin-stdlib")
33-
implementation("org.jetbrains.kotlin:kotlin-reflect")
34-
implementation("commons-io:commons-io:2.6")
35-
implementation("de.tr7zw:item-nbt-api:2.7.1")
41+
compileOnly("commons-io:commons-io:2.6")
42+
compileOnly("de.tr7zw:item-nbt-api:2.7.1")
3643

3744
testImplementation("junit", "junit", "4.12")
3845
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import org.bukkit.command.CommandSender
99

1010
@Suppress("unused")
1111
@CommandAlias("scriptablemc|smc")
12-
class ScriptEngineGlobalCommands(private val basePlugin: ScriptEngineMain) : BaseCommand() {
12+
class PluginEngineCommands(private val basePlugin: PluginEngineMain) : BaseCommand() {
1313

1414
@Subcommand("info|i")
1515
@CommandAlias("smci")
@@ -18,7 +18,7 @@ class ScriptEngineGlobalCommands(private val basePlugin: ScriptEngineMain) : Bas
1818
sender.sendMessage("-----------------------------------------------------")
1919
sender.sendMessage("- ${ChatColor.DARK_PURPLE}ScriptableMC Version: ${basePlugin.description.version}")
2020
sender.sendMessage("-----------------------------------------------------")
21-
for (scriptEngineMain in ScriptEngineMain.getAllScriptEngines()) {
21+
for (scriptEngineMain in PluginEngineMain.getAllScriptEngines()) {
2222
if (scriptEngineMain.scriptLanguage == "js") {
2323
val scriptEngine = scriptEngineMain.scriptEngine
2424
val isGraalRuntime = scriptEngine?.eval("if (typeof Graal != 'undefined') { Graal.isGraalRuntime() } else { false }")?.asBoolean() == true
@@ -54,7 +54,7 @@ class ScriptEngineGlobalCommands(private val basePlugin: ScriptEngineMain) : Bas
5454
@CommandAlias("smcrl")
5555
@CommandPermission("scriptablemc.reload")
5656
fun reload(sender: CommandSender) {
57-
ScriptEngineMain.reloadAllScriptEngines(sender)
57+
PluginEngineMain.reloadAllScriptEngines(sender)
5858
}
5959

6060
}

ScriptableMC-Engine-Core/src/main/kotlin/com/pixlfox/scriptablemc/ScriptEngineConfig.kt renamed to ScriptableMC-Engine-Core/src/main/kotlin/com/pixlfox/scriptablemc/PluginEngineConfig.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.pixlfox.scriptablemc
22

33
import org.bukkit.configuration.file.FileConfiguration
44

5-
abstract class ScriptEngineConfig(private val config: FileConfiguration) {
5+
abstract class PluginEngineConfig(private val config: FileConfiguration) {
66
val rootScriptsFolder: String
77
get() = readConfigString("root_scripts_folder", "./scripts")
88

@@ -56,15 +56,15 @@ abstract class ScriptEngineConfig(private val config: FileConfiguration) {
5656
fun readConfigBoolean(path: String, def: Boolean = false): Boolean {
5757
return readConfigString(path, def.toString()).equals("true", true)
5858
}
59-
}
6059

61-
class ScriptEngineDebuggerConfig(private val config: ScriptEngineConfig) {
62-
val enabled: Boolean
63-
get() = config.readConfigBoolean("debugger.enabled", false)
60+
class ScriptEngineDebuggerConfig(private val config: PluginEngineConfig) {
61+
val enabled: Boolean
62+
get() = config.readConfigBoolean("debugger.enabled", false)
6463

65-
val address: String
66-
get() = config.readConfigString("debugger.address", "127.0.0.1:9229")
64+
val address: String
65+
get() = config.readConfigString("debugger.address", "127.0.0.1:9229")
6766

68-
val waitAttached: Boolean
69-
get() = config.readConfigBoolean("debugger.wait_attached", true)
67+
val waitAttached: Boolean
68+
get() = config.readConfigBoolean("debugger.wait_attached", true)
69+
}
7070
}

ScriptableMC-Engine-Core/src/main/kotlin/com/pixlfox/scriptablemc/ScriptEngineMain.kt renamed to ScriptableMC-Engine-Core/src/main/kotlin/com/pixlfox/scriptablemc/PluginEngineMain.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import org.bukkit.command.CommandSender
88
import org.bukkit.plugin.java.JavaPlugin
99

1010
@Suppress("unused")
11-
abstract class ScriptEngineMain : JavaPlugin() {
11+
abstract class PluginEngineMain : JavaPlugin() {
1212
var scriptEngine: ScriptablePluginEngine? = null
1313
var commandManager: PaperCommandManager? = null
1414
abstract val chatMessagePrefix: String
@@ -46,7 +46,7 @@ abstract class ScriptEngineMain : JavaPlugin() {
4646
}
4747

4848
companion object {
49-
private val scriptEngines: MutableMap<String, ScriptEngineMain?> = mutableMapOf()
49+
private val scriptEngines: MutableMap<String, PluginEngineMain?> = mutableMapOf()
5050
/**
5151
* Patches the bukkit class loader to allow for GraalVM class loading from inside plugin jar.
5252
* A bit hackish but it works.
@@ -60,7 +60,7 @@ abstract class ScriptEngineMain : JavaPlugin() {
6060
}
6161

6262
@JvmStatic
63-
fun registerScriptEngine(language: String, scriptEngineMain: ScriptEngineMain) {
63+
fun registerScriptEngine(language: String, scriptEngineMain: PluginEngineMain) {
6464
scriptEngines[language] = scriptEngineMain
6565
}
6666

@@ -70,12 +70,12 @@ abstract class ScriptEngineMain : JavaPlugin() {
7070
}
7171

7272
@JvmStatic
73-
fun resolveScriptEngine(language: String): ScriptEngineMain? {
73+
fun resolveScriptEngine(language: String): PluginEngineMain? {
7474
return scriptEngines.getOrDefault(language, null)
7575
}
7676

7777
@JvmStatic
78-
fun getAllScriptEngines(): Array<ScriptEngineMain> {
78+
fun getAllScriptEngines(): Array<PluginEngineMain> {
7979
return scriptEngines.values.filterNotNull().toTypedArray()
8080
}
8181

ScriptableMC-Engine-Core/src/main/kotlin/com/pixlfox/scriptablemc/core/ScriptablePluginContext.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ abstract class ScriptablePluginContext: Listener {
2727
abstract val engine: ScriptablePluginEngine
2828
abstract val pluginName: String
2929
abstract val pluginInstance: Value
30-
abstract val inventoryManager: InventoryManager
30+
// abstract val inventoryManager: InventoryManager
3131
abstract val pluginVersion: Version
3232
open val pluginIcon: Material = Material.STONE
3333

ScriptableMC-Engine-Core/src/main/kotlin/com/pixlfox/scriptablemc/core/ScriptablePluginEngine.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package com.pixlfox.scriptablemc.core
22

3-
import com.pixlfox.scriptablemc.ScriptEngineConfig
4-
import com.pixlfox.scriptablemc.ScriptEngineMain
3+
import com.pixlfox.scriptablemc.PluginEngineConfig
4+
import com.pixlfox.scriptablemc.PluginEngineMain
55
import com.smc.exceptions.ScriptNotFoundException
66
import com.smc.version.Version
7-
import fr.minuskube.inv.InventoryManager
87
import org.bukkit.Bukkit
98
import org.bukkit.command.CommandSender
109
import org.graalvm.polyglot.*
@@ -15,16 +14,15 @@ import java.util.*
1514
abstract class ScriptablePluginEngine {
1615
abstract val languageName: String
1716
abstract val languageFileExtension: String
18-
abstract val bootstrapPlugin: ScriptEngineMain
17+
abstract val bootstrapPlugin: PluginEngineMain
1918
abstract val debugEnabled: Boolean
2019

2120
abstract val scriptablePlugins: MutableList<ScriptablePluginContext>
22-
abstract val inventoryManager: InventoryManager
2321

2422
abstract val graalContext: Context
2523
abstract val globalBindings: Value
2624

27-
abstract val config: ScriptEngineConfig
25+
abstract val config: PluginEngineConfig
2826

2927
val pluginVersion: Version
3028
get() = bootstrapPlugin.pluginVersion
@@ -35,7 +33,6 @@ abstract class ScriptablePluginEngine {
3533
val startupErrors: MutableList<Exception> = mutableListOf()
3634

3735
open fun start() {
38-
inventoryManager.init()
3936
globalBindings.putMember("engine", this)
4037

4138
loadAllHelperClasses()

ScriptableMC-Engine-JS/Bundled/build.gradle.kts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,6 @@ dependencies {
3131
implementation("org.graalvm.tools:chromeinspector:$graalvmVersion")
3232
implementation("org.graalvm.tools:profiler:$graalvmVersion")
3333

34-
implementation("com.github.jkcclemens:khttp:-SNAPSHOT")
35-
compileOnly("org.spigotmc:spigot-api:$spigotmcVersion")
36-
implementation("co.aikar:acf-paper:0.5.0-SNAPSHOT")
37-
implementation("fr.minuskube.inv:smart-invs:1.2.7")
38-
compileOnly("me.clip:placeholderapi:2.10.4")
39-
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
40-
implementation("org.jetbrains.kotlin:kotlin-reflect")
41-
implementation("commons-io:commons-io:2.6")
42-
4334
testImplementation("junit", "junit", "4.12")
4435
}
4536

ScriptableMC-Engine-JS/build.gradle.kts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,18 @@ idea {
2323
dependencies {
2424
implementation(project(":ScriptableMC-Engine-Core"))
2525

26+
// SpigotMC API
27+
compileOnly("org.spigotmc:spigot-api:$spigotmcVersion") {
28+
isChanging = true
29+
}
2630

2731
// GraalVM SDK & GraalJS Engine
2832
compileOnly("org.graalvm.sdk:graal-sdk:$graalvmVersion")
2933
compileOnly("org.graalvm.truffle:truffle-api:$graalvmVersion")
3034

35+
// 3rd-Party Libraries
3136
implementation("com.github.jkcclemens:khttp:-SNAPSHOT")
32-
compileOnly("org.spigotmc:spigot-api:$spigotmcVersion")
3337
implementation("co.aikar:acf-paper:0.5.0-SNAPSHOT")
34-
implementation("fr.minuskube.inv:smart-invs:1.2.7")
35-
compileOnly("me.clip:placeholderapi:2.10.4")
36-
implementation("org.jetbrains.kotlin:kotlin-stdlib")
37-
implementation("org.jetbrains.kotlin:kotlin-reflect")
38-
implementation("commons-io:commons-io:2.6")
39-
implementation("de.tr7zw:item-nbt-api:2.7.1")
4038

4139
testImplementation("junit", "junit", "4.12")
4240
}

ScriptableMC-Engine-JS/src/main/kotlin/com/pixlfox/scriptablemc/SMCJavaScriptEngineMain.kt renamed to ScriptableMC-Engine-JS/src/main/kotlin/com/pixlfox/scriptablemc/js/JavaScriptPluginEngineMain.kt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
package com.pixlfox.scriptablemc
1+
package com.pixlfox.scriptablemc.js
22

33
import co.aikar.commands.PaperCommandManager
4+
import com.pixlfox.scriptablemc.PluginEngineCommands
5+
import com.pixlfox.scriptablemc.PluginEngineMain
46
import com.pixlfox.scriptablemc.core.JavaScriptPluginEngine
57
import org.bukkit.ChatColor
68
import org.bukkit.command.CommandSender
79

810

911
@Suppress("unused")
10-
class SMCJavaScriptEngineMain : ScriptEngineMain() {
12+
class JavaScriptPluginEngineMain : PluginEngineMain() {
1113
override val chatMessagePrefix = "${ChatColor.GRAY}[${ChatColor.DARK_AQUA}ScriptableMC-JS${ChatColor.GRAY}]${ChatColor.RESET}"
1214
override val scriptLanguage = "js"
1315

@@ -19,8 +21,8 @@ class SMCJavaScriptEngineMain : ScriptEngineMain() {
1921
registerScriptEngine(scriptLanguage, this)
2022

2123
commandManager = PaperCommandManager(this)
22-
commandManager?.registerCommand(ScriptEngineGlobalCommands(this))
23-
commandManager?.registerCommand(SMCJavaScriptEngineCommands(this), true)
24+
commandManager?.registerCommand(PluginEngineCommands(this))
25+
commandManager?.registerCommand(JavaScriptPluginEngineCommands(this), true)
2426

2527
saveDefaultConfig()
2628
loadScriptEngine()
@@ -51,7 +53,7 @@ class SMCJavaScriptEngineMain : ScriptEngineMain() {
5153
versionCheck()
5254
patchClassLoader(javaClass) {
5355
try {
54-
scriptEngine = JavaScriptPluginEngine(this, SMCJavaScriptConfig(config))
56+
scriptEngine = JavaScriptPluginEngine(this, JavaScriptPluginEngineConfig(config))
5557
scriptEngine!!.start()
5658
if(scriptEngine!!.startupErrors.any()) {
5759
for(error in scriptEngine!!.startupErrors) {
@@ -95,7 +97,7 @@ class SMCJavaScriptEngineMain : ScriptEngineMain() {
9597
}
9698

9799
companion object {
98-
var instance: SMCJavaScriptEngineMain? = null
100+
var instance: JavaScriptPluginEngineMain? = null
99101
private set
100102
}
101103
}

ScriptableMC-Engine-JS/src/main/kotlin/com/pixlfox/scriptablemc/SMCJavaScriptConfig.kt renamed to ScriptableMC-Engine-JS/src/main/kotlin/com/pixlfox/scriptablemc/js/SMCJavaScriptConfig.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
package com.pixlfox.scriptablemc
1+
package com.pixlfox.scriptablemc.js
22

3+
import com.pixlfox.scriptablemc.PluginEngineConfig
34
import org.bukkit.configuration.file.FileConfiguration
45

5-
class SMCJavaScriptConfig(config: FileConfiguration) : ScriptEngineConfig(config) {
6+
class JavaScriptPluginEngineConfig(config: FileConfiguration) : PluginEngineConfig(config) {
67
override val mainScriptFiles: List<String>
78
get() = readConfigStringList("main_script_files", listOf("\${root_scripts_folder}/main.js"))
89

0 commit comments

Comments
 (0)