From f6763449f16a47632f9c764c4608e138040123c0 Mon Sep 17 00:00:00 2001 From: unurled Date: Fri, 18 Oct 2024 17:43:00 +0200 Subject: [PATCH] Add Lamp command framework --- build.gradle.kts | 11 ++++++++++- src/main/java/me/unurled/srcore/SRCore.java | 16 ++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 0ceac9a..2979d15 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import groovy.json.JsonGenerator.Options + plugins { `java-library` `maven-publish` @@ -7,9 +9,10 @@ plugins { } group = "me.unurled" -version = "0.1.1" +version = "0.1.2" val mcVersion = "1.21.1-R0.1-SNAPSHOT" +val lampVersion = "4.0.0-beta.17" val javaVersion = 21 @@ -19,6 +22,10 @@ repositories { dependencies { paperweight.paperDevBundle(mcVersion) + implementation("io.github.revxrsal:lamp.common:${lampVersion}") + implementation("io.github.revxrsal:lamp.bukkit:${lampVersion}") + implementation("io.github.revxrsal:lamp.brigadier:${lampVersion}") + implementation("io.github.revxrsal:lamp.paper:${lampVersion}") } java { @@ -39,6 +46,8 @@ tasks { compileJava { options.encoding = Charsets.UTF_8.name() + options.compilerArgs.add("-parameters") + if (javaVersion >= 10 || JavaVersion.current().isJava10Compatible()) { options.release.set(javaVersion) } diff --git a/src/main/java/me/unurled/srcore/SRCore.java b/src/main/java/me/unurled/srcore/SRCore.java index abcd38a..e9a3d4c 100644 --- a/src/main/java/me/unurled/srcore/SRCore.java +++ b/src/main/java/me/unurled/srcore/SRCore.java @@ -5,8 +5,12 @@ import static me.unurled.srcore.utils.ReflectionRegistry.*; import me.unurled.srcore.utils.ReflectionUtils; import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.java.JavaPlugin; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import revxrsal.commands.Lamp; +import revxrsal.commands.bukkit.BukkitLamp; +import revxrsal.commands.bukkit.actor.BukkitCommandActor; /** The SRCore class is a class that is used to manage the core of the plugin. */ public final class SRCore { @@ -14,6 +18,7 @@ public final class SRCore { private static SRCore instance; private final Managers managers; private Plugin plugin; + private Lamp lamp; private SRCore() { managers = new Managers(); @@ -62,6 +67,7 @@ public final class SRCore { } this.plugin = plugin; + lamp = BukkitLamp.builder((JavaPlugin) plugin).build(); } private @Nullable Plugin tryFindPlugin() { @@ -96,4 +102,14 @@ public final class SRCore { public void unload() { managers.unload(); } + + /** + * Return Lamp command processor + * + * @return null if {@link SRCore#setPlugin(Plugin)} is not already called + */ + @Nullable + public Lamp lamp() { + return lamp; + } }