Skript: [CraftBukkit support] Suggestion

Created on 24 May 2020  路  10Comments  路  Source: SkriptLang/Skript

Description


Hey Skript community,

I have been using Skript for many months now, and I've gotten better at it. Skript is a very good Minecraft mini-coding language for people who don't want to learn Java/any other form of plugin coding, or just want more flexibility to modify gameplay.

However, I am aware that Skript is not supported on CraftBukkit, just Spigot API (Glowstone, Spigot, Paper). However I feel like I should ask if you guys will ever have implementation of Skript on CraftBukkit.

CraftBukkit will break less game mechanics. I understand this may cause an impact in your plugin flow such as release updates and such, but quite a few people use CraftBukkit. Even if you just made 1 version of Skript for CraftBukkit - I'd really appreciate you guys to do so.

Also, bensku, I'd really like to hear your opinions on this. Do spend 5 minutes commenting :)
For everyone else, what are your thoughts on this? (please don't put off-topic comments in this thread, thanks!)

Spigot is a really good server software, I've used it for about 1 year+ now. But, CraftBukkit can do more, in the sense of Vanilla Minecraft. We can use Skript to create custom gameplay on CraftBukkit.

Thank you for reading, I apologise if I caused any inconvenience.

Regards,
Comstepr

enhancement help wanted lowest

Most helpful comment

Bstats.org says that only 9.4% uses Craftbukkit, taking into account that some servers are using it without knowing that there's a "better" alternative.

I don't think it's worth the effort, considering what Pikachu said above.

All 10 comments

Perhaps you would be interested in Paper? It's a spigot fork that aims to fix some of the gameplay differences Spigot introduces. What kind of things does spigot mess with anyway?

Bstats.org says that only 9.4% uses Craftbukkit, taking into account that some servers are using it without knowing that there's a "better" alternative.

I don't think it's worth the effort, considering what Pikachu said above.

I understand what is Paper, but it messes with my Vanilla farms. I still would apprecaite that craftbukkit was usable though

P.S nope it doesnt really mess with my farms, if built and used correctly. However, I prefer something closer to CraftBukkit, and if Skript supports it, it will really be helpful.

I don't want to force or trigger anyone as I am trying to be helpful here, but apologies for the inconvenience caused.

I apologize if I came out as harsh, that wasn't my intention. While the team isn't currently interested in the matter, contributions for this are more than welcome.

I apologize if I came out as harsh, that wasn't my intention. While the team isn't currently interested in the matter, contributions for this are more than welcome.

No worries. I understand. Thank you not just closing the thread, but acknowledging the matter.

This is the error I'm getting:

java.lang.NoClassDefFoundError: org/bukkit/entity/Player$Spigot
        at ch.njol.skript.expressions.ExprLanguage.<clinit>(ExprLanguage.java:53) ~[?:?]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_241]
        at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_241]
        at ch.njol.skript.SkriptAddon.loadClasses(SkriptAddon.java:108) ~[?:?]
        at ch.njol.skript.Skript.onEnable(Skript.java:429) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[server.jar:git-Bukkit-8160e29]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:344) [server.jar:git-Bukkit-8160e29]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:416) [server.jar:git-Bukkit-8160e29]
        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:448) [server.jar:git-Bukkit-8160e29]
        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:374) [server.jar:git-Bukkit-8160e29]
        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:448) [server.jar:git-Bukkit-8160e29]
        at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:254) [server.jar:git-Bukkit-8160e29]
        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:762) [server.jar:git-Bukkit-8160e29]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_241]
Caused by: java.lang.ClassNotFoundException: org.bukkit.entity.Player$Spigot
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:97) ~[server.jar:git-Bukkit-8160e29]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:92) ~[server.jar:git-Bukkit-8160e29]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_241]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_241]
        ... 14 more

This is the error I'm getting:

java.lang.NoClassDefFoundError: org/bukkit/entity/Player$Spigot
        at ch.njol.skript.expressions.ExprLanguage.<clinit>(ExprLanguage.java:53) ~[?:?]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_241]
        at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_241]
        at ch.njol.skript.SkriptAddon.loadClasses(SkriptAddon.java:108) ~[?:?]
        at ch.njol.skript.Skript.onEnable(Skript.java:429) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[server.jar:git-Bukkit-8160e29]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:344) [server.jar:git-Bukkit-8160e29]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:416) [server.jar:git-Bukkit-8160e29]
        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:448) [server.jar:git-Bukkit-8160e29]
        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:374) [server.jar:git-Bukkit-8160e29]
        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:448) [server.jar:git-Bukkit-8160e29]
        at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:254) [server.jar:git-Bukkit-8160e29]
        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:762) [server.jar:git-Bukkit-8160e29]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_241]
Caused by: java.lang.ClassNotFoundException: org.bukkit.entity.Player$Spigot
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:97) ~[server.jar:git-Bukkit-8160e29]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:92) ~[server.jar:git-Bukkit-8160e29]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_241]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_241]
        ... 14 more

Because the Spigot class in the Player one does only exist in Spigot

Because the Spigot class in the Player one does only exist in Spigot

Is there an alternative to use rather than the Player class? If I recall correctly I searched it up, didnt find it in Bukkit.

Because the Spigot class in the Player one does only exist in Spigot

Is there an alternative to use rather than the Player class? If I recall correctly I searched it up, didnt find it in Bukkit.

No, hence why Skript requires Spigot to work. There are classes/methods in Spigot which don't exist in Bukkit/CB that Skript uses. I think the methods relate to sending messages to the player with text components (ie: formatted text with hover events and such).

As already stated, we are open to someone doing the work to make Skript work on CraftBukkit, but I dont think anyone on the team is going to put that effort in, since we all use Spigot or Paper. Even md_5 (the current maintainer of Bukkit/CB/Spigot) suggests not using CraftBukkit.

Was this page helpful?
0 / 5 - 0 ratings