Skip to content

Commit

Permalink
Use library loader and expose plugin dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
rainbowdashlabs committed Aug 19, 2024
1 parent 5c3fcec commit beacd54
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 15 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ buildNumber.properties
/conf/
.direnv
data
run
15 changes: 9 additions & 6 deletions plugin-paper/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ plugins {
alias(libs.plugins.pluginyml)
alias(libs.plugins.shadow)
`maven-publish`
id("xyz.jpenilla.run-paper") version "1.0.6"
}

group = "de.chojo.pluginjam"
Expand All @@ -11,15 +12,13 @@ version = "1.0.1"
dependencies {
implementation(project(":plugin-api"))
compileOnly(libs.paper)
implementation(libs.javalin.core)
implementation(libs.eldoutil)
implementation(libs.slf4j)
bukkitLibrary(libs.javalin.core)
bukkitLibrary(libs.bundles.eldoutil)
bukkitLibrary(libs.slf4j)
}

tasks {
shadowJar {
val shadebase = "de.chojo.pluginjam."
relocate("de.eldoria.eldoutilities", shadebase + "eldoutilities")
mergeServiceFiles()
}

Expand All @@ -36,6 +35,10 @@ tasks {
build {
dependsOn(shadowJar)
}

runServer {
minecraftVersion("1.21.1")
}
}

publishing {
Expand All @@ -60,7 +63,7 @@ bukkit {
name = "PluginJam"
main = "de.chojo.pluginjam.PluginJam"
website = "https://github.com/devcordde/plugin-jam-bot"
apiVersion = "1.19"
apiVersion = "1.21"
version = rootProject.version.toString()
authors = listOf("Taucher2003", "RainbowdashLabs")
}
16 changes: 13 additions & 3 deletions plugin-paper/src/main/java/de/chojo/pluginjam/PluginJam.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,35 @@
import de.chojo.pluginjam.service.JoinService;
import de.chojo.pluginjam.service.ServerRequests;
import de.chojo.pluginjam.velocity.ReportService;
import de.eldoria.eldoutilities.localization.ILocalizer;
import de.eldoria.eldoutilities.localization.Localizer;
import de.eldoria.eldoutilities.messages.MessageSender;
import de.eldoria.eldoutilities.plugin.EldoPlugin;
import org.bukkit.event.Listener;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.logging.Level;

public class PluginJam extends EldoPlugin implements Listener {
private Api api;
private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
private ReportService service;
private ServerApi serverApi;

@Override
public Level getLogLevel() {
return Level.INFO;
}

@Override
public void onPluginEnable() {
saveDefaultConfig();

var localizer = ILocalizer.create(this, "de_DE");
localizer.setLocale("de_DE");
var localizer = Localizer.builder(this, "de_DE").build();
MessageSender.builder(this)
.localizer(localizer)
.prefix("<gold>[PJ]")
.register();

var serverRequests = new ServerRequests();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public Welcomer(Plugin plugin) {

@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
var message = MiniMessage.miniMessage().deserialize(plugin.getConfig().getString("message", "Welcome!"));
event.getPlayer().sendMessage(message);
var message = plugin.getConfig().getString("message", "Welcome!");
event.getPlayer().sendRichMessage(message);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
package de.chojo.pluginjam.service;

import de.eldoria.eldoutilities.localization.ILocalizer;
import de.eldoria.eldoutilities.messages.MessageSender;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.event.EventHandler;
Expand All @@ -19,26 +20,28 @@ public class CommandBlocker implements Listener {
private final List<String> blocked = List.of("/restart", "/stop", "/minecraft:stop");
private final ServerRequests requests;
private final ILocalizer localizer;
private final MessageSender messageSender;

public CommandBlocker(ServerRequests requests, ILocalizer localizer) {
this.requests = requests;
this.localizer = localizer;
this.messageSender = MessageSender.getPluginMessageSender(localizer.plugin());
}

@EventHandler
public void onCommand(PlayerCommandPreprocessEvent event) {
var cmd = event.getMessage();

if ("/restart".equals(cmd) || "/spigot:restart".equals(cmd)) {
event.getPlayer().sendMessage(Component.text(localizer.localize("commandblocked.restartrequested")));
messageSender.sendMessage(event.getPlayer(), "commandblocked.restartrequested");
requests.restartByUserOrServer(true);
event.setCancelled(true);
return;
}

for (var block : blocked) {
if (cmd.startsWith(block)) {
event.getPlayer().sendMessage(Component.text(localizer.localize("commandblocker.blocked"), NamedTextColor.RED));
messageSender.sendError(event.getPlayer(), "commandblocker.blocked");
event.setCancelled(true);
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
package de.chojo.pluginjam.service;

import de.eldoria.eldoutilities.localization.ILocalizer;
import de.eldoria.eldoutilities.messages.MessageSender;
import net.kyori.adventure.text.Component;
import org.bukkit.GameMode;
import org.bukkit.event.EventHandler;
Expand All @@ -20,11 +21,13 @@ public class JoinService implements Listener {
private final Plugin plugin;
private final ServerRequests requests;
private final ILocalizer localizer;
private final MessageSender messageSender;

public JoinService(Plugin plugin, ServerRequests requests, ILocalizer localizer) {
this.plugin = plugin;
this.requests = requests;
this.localizer = localizer;
this.messageSender = MessageSender.getPluginMessageSender(plugin);
}

@EventHandler(priority = EventPriority.HIGH)
Expand All @@ -39,7 +42,7 @@ public void onPlayerJoin(PlayerJoinEvent event) {

if (isSpectatorOverflow()) {
event.getPlayer().setGameMode(GameMode.SPECTATOR);
event.getPlayer().sendMessage(localizer.localize("joinservice.spectatoroverflow"));
messageSender.sendMessage(event.getPlayer(), "joinservice.spectatoroverflow");
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import com.google.gson.Gson;
import de.chojo.pluginjam.payload.Registration;
import de.eldoria.eldoutilities.utils.ArgumentUtils;
import org.bukkit.plugin.Plugin;
import org.eclipse.jetty.http.HttpStatus;
import org.slf4j.Logger;
Expand Down
5 changes: 4 additions & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,12 @@ dependencyResolutionManagement {
library("javalin-core", "io.javalin","javalin").versionRef("javalin")
library("javalin-bundle", "io.javalin","javalin-bundle").versionRef("javalin")

version("eldoutil", "2.1.4")
library("eldoutil-plugin", "de.eldoria.util","plugin").versionRef("eldoutil")
bundle("eldoutil", listOf("eldoutil-plugin"))

library("velocity", "com.velocitypowered:velocity-api:3.3.0-SNAPSHOT")
library("paper", "io.papermc.paper:paper-api:1.19.2-R0.1-SNAPSHOT")
library("eldoutil", "de.eldoria:eldo-util:1.14.5")
plugin("shadow", "com.gradleup.shadow").version("8.3.0")
plugin("pluginyml", "net.minecrell.plugin-yml.bukkit").version("0.6.0")
}
Expand Down

0 comments on commit beacd54

Please sign in to comment.