feat: try adding vault

it doesn't work :/
This commit is contained in:
TheClashFruit 2024-04-05 16:42:35 +02:00
parent 2d09a66544
commit 3d4d8b9982
Signed by: TheClashFruit
GPG key ID: 09BB24C34C2F3204
5 changed files with 84 additions and 5 deletions

View file

@ -10,13 +10,13 @@ repositories {
mavenCentral() mavenCentral()
maven { maven {
name = "Secret Thing :trol:" name = "Spigot"
url = "https://mvn.theclashfruit.me/bukkit" url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/"
} }
maven { maven {
name = "Spigot" name = "Vault"
url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" url = "https://nexus.hc.to/content/repositories/pub_releases"
} }
maven { maven {
@ -30,6 +30,7 @@ dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter' testImplementation 'org.junit.jupiter:junit-jupiter'
shadow implementation("org.spigotmc:spigot-api:${project.bukkit_version}") shadow implementation("org.spigotmc:spigot-api:${project.bukkit_version}")
shadow implementation("net.milkbowl.vault:VaultAPI:1.5")
implementation 'org.eclipse.jetty:jetty-server:9.4.52.v20230823' implementation 'org.eclipse.jetty:jetty-server:9.4.52.v20230823'
implementation 'org.eclipse.jetty:jetty-servlet:9.4.52.v20230823' implementation 'org.eclipse.jetty:jetty-servlet:9.4.52.v20230823'

View file

@ -4,12 +4,16 @@ import me.theclashfruit.crss.api.ChatServlet;
import me.theclashfruit.crss.api.GatewaySocket; import me.theclashfruit.crss.api.GatewaySocket;
import me.theclashfruit.crss.api.PlayersServlet; import me.theclashfruit.crss.api.PlayersServlet;
import me.theclashfruit.crss.api.StatusServlet; import me.theclashfruit.crss.api.StatusServlet;
import me.theclashfruit.crss.commands.BalanceCommand;
import me.theclashfruit.crss.listener.ChatListener; import me.theclashfruit.crss.listener.ChatListener;
import me.theclashfruit.crss.listener.PlayerJoinListener;
import me.theclashfruit.crss.listener.SleepingListener; import me.theclashfruit.crss.listener.SleepingListener;
import me.theclashfruit.crss.map.MapServlet; import me.theclashfruit.crss.map.MapServlet;
import me.theclashfruit.crss.models.SocketData; import me.theclashfruit.crss.models.SocketData;
import me.theclashfruit.crss.models.SocketMessage; import me.theclashfruit.crss.models.SocketMessage;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
@ -17,6 +21,7 @@ import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.servlet.ServletHandler; import org.eclipse.jetty.servlet.ServletHandler;
import java.io.File; import java.io.File;
import java.util.Arrays;
public class Plugin extends JavaPlugin { public class Plugin extends JavaPlugin {
GatewaySocket chatSocket; GatewaySocket chatSocket;
@ -25,6 +30,8 @@ public class Plugin extends JavaPlugin {
Connector connector = new ServerConnector(server); Connector connector = new ServerConnector(server);
ServletHandler handler = new ServletHandler(); ServletHandler handler = new ServletHandler();
private static Economy economy = null;
@Override @Override
public void onEnable() { public void onEnable() {
getLogger().info("Plugin enabled!"); getLogger().info("Plugin enabled!");
@ -33,6 +40,12 @@ public class Plugin extends JavaPlugin {
PluginManager pluginManager = getServer().getPluginManager(); PluginManager pluginManager = getServer().getPluginManager();
if (!setupEconomy()) {
getLogger().severe("Vault not found! Disabling plugin.");
// pluginManager.disablePlugin(this);
}
// create api server // create api server
// ContextHandler context = new ContextHandler(new ApiHandler(), "/v1"); // ContextHandler context = new ContextHandler(new ApiHandler(), "/v1");
@ -65,6 +78,10 @@ public class Plugin extends JavaPlugin {
// register events // register events
pluginManager.registerEvents(new SleepingListener(), this); pluginManager.registerEvents(new SleepingListener(), this);
pluginManager.registerEvents(new ChatListener(), this); pluginManager.registerEvents(new ChatListener(), this);
pluginManager.registerEvents(new PlayerJoinListener(), this);
// register commands
getCommand("balance").setExecutor(new BalanceCommand());
} }
@Override @Override
@ -87,5 +104,18 @@ public class Plugin extends JavaPlugin {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
private boolean setupEconomy() {
RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
if (economyProvider != null)
economy = economyProvider.getProvider();
return (economy != null);
}
public static Economy getEconomy() {
return economy;
}
} }

View file

@ -0,0 +1,16 @@
package me.theclashfruit.crss.commands;
import me.theclashfruit.crss.Plugin;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
public class BalanceCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
commandSender.sendMessage("Your balance is: " + Plugin.getEconomy().getBalance(commandSender.getName()));
return true;
}
}

View file

@ -0,0 +1,20 @@
package me.theclashfruit.crss.listener;
import me.theclashfruit.crss.Plugin;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
public class PlayerJoinListener implements Listener {
private Economy economy = Plugin.getEconomy();
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
if (!economy.hasAccount(player))
economy.createPlayerAccount(player);
}
}

View file

@ -1,3 +1,15 @@
name: CRSS name: CRSS
main: me.theclashfruit.crss.Plugin main: me.theclashfruit.crss.Plugin
version: ${version} version: ${version}
database: true
author: TheClashFruit
commands:
balance:
description: Check your balance
usage: /balance
load: POSTWORLD
depend:
- Vault