Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove VRUoM from project #143

Merged
merged 2 commits into from
Apr 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 4 additions & 3 deletions build.gradle
Expand Up @@ -20,7 +20,7 @@ repositories {
url = uri('https://repo.maven.apache.org/maven2/')
}

// Velocity-API / PaperLib
// Velocity-API / PaperLib / Folia
maven {
name 'papermc'
url 'https://repo.papermc.io/repository/maven-public/'
Expand All @@ -45,13 +45,13 @@ repositories {
}

// VRuom
maven {
/*maven {
url = uri("https://maven.pkg.github.com/mohamad82bz/ruom")
credentials {
username = project.findProperty("gpr.user")
password = project.findProperty("gpr.key")
}
}
}*/

// ProtocolLib
maven {
Expand Down Expand Up @@ -85,6 +85,7 @@ dependencies {
compileOnly 'me.clip:placeholderapi:2.11.3'
compileOnly 'xyz.jpenilla:squaremap-api:1.1.13'
compileOnly 'net.essentialsx:EssentialsX:2.19.7'
compileOnly 'org.spongepowered:configurate-yaml:4.0.0'
compileOnly 'com.discordsrv:discordsrv:1.26.2'

compileOnly files("libs/SayanChat-2.8.1-all.jar")
Expand Down
Expand Up @@ -5,7 +5,7 @@ import com.google.gson.JsonObject
import ir.syrent.velocityvanish.spigot.VelocityVanishSpigot
import ir.syrent.velocityvanish.spigot.ruom.Ruom
import ir.syrent.velocityvanish.velocity.bridge.Bridge
import me.mohamad82.ruom.utils.GsonUtils
import ir.syrent.velocityvanish.velocity.vruom.utils.GsonUtils
import org.bukkit.entity.Player

@Suppress("UnstableApiUsage")
Expand Down
Expand Up @@ -5,7 +5,7 @@
import com.google.common.io.ByteStreams;
import com.google.gson.JsonObject;
import ir.syrent.velocityvanish.spigot.ruom.Ruom;
import me.mohamad82.ruom.utils.GsonUtils;
import ir.syrent.velocityvanish.velocity.vruom.utils.GsonUtils;
import org.bukkit.entity.Player;
import org.bukkit.plugin.messaging.PluginMessageListener;
import org.jetbrains.annotations.NotNull;
Expand Down
15 changes: 5 additions & 10 deletions src/main/java/ir/syrent/velocityvanish/velocity/VelocityVanish.kt
Expand Up @@ -12,9 +12,9 @@ import ir.syrent.velocityvanish.velocity.bridge.VelocityBridgeManager
import ir.syrent.velocityvanish.velocity.command.ForceVanishCommand
import ir.syrent.velocityvanish.velocity.listener.ProxyPingListener
import ir.syrent.velocityvanish.velocity.listener.TabCompleteListener
import me.mohamad82.ruom.VRUoMPlugin
import me.mohamad82.ruom.VRuom
import me.mohamad82.ruom.messaging.VelocityMessagingEvent
import ir.syrent.velocityvanish.velocity.vruom.VRUoMPlugin
import ir.syrent.velocityvanish.velocity.vruom.VRuom
import ir.syrent.velocityvanish.velocity.vruom.messaging.VelocityMessagingEvent
import net.minecrell.serverlistplus.core.ServerListPlusCore
import net.minecrell.serverlistplus.core.replacement.LiteralPlaceholder
import net.minecrell.serverlistplus.core.replacement.ReplacementManager
Expand All @@ -28,11 +28,10 @@ class VelocityVanish @Inject constructor(
server: ProxyServer,
logger: Logger,
@DataDirectory dataDirectory: Path
) : VRUoMPlugin(server, logger) {
) : VRUoMPlugin(server, logger, dataDirectory) {

lateinit var bridgeManager: VelocityBridgeManager
private set
val dataDirectory: Path

/*
* Note: This is not the best way to do this, but for time being it's fine.
Expand All @@ -43,10 +42,6 @@ class VelocityVanish @Inject constructor(
return vanishedPlayers.filter { getServer().getPlayer(it).isPresent }
}

init {
this.dataDirectory = dataDirectory
}

@Subscribe
private fun onProxyInitialization(event: ProxyInitializeEvent) {
instance = this
Expand Down Expand Up @@ -133,7 +128,7 @@ class VelocityVanish @Inject constructor(
}

private fun createFolder() {
val dataFile = dataDirectory.toFile()
val dataFile = VRUoMPlugin.getDataDirectory().toFile()
if (!dataFile.exists()) {
dataFile.mkdir()
}
Expand Down
Expand Up @@ -2,8 +2,8 @@ package ir.syrent.velocityvanish.velocity.bridge

import com.velocitypowered.api.proxy.Player
import com.velocitypowered.api.proxy.server.RegisteredServer
import me.mohamad82.ruom.VRuom
import me.mohamad82.ruom.messaging.VelocityMessagingChannel
import ir.syrent.velocityvanish.velocity.vruom.VRuom
import ir.syrent.velocityvanish.velocity.vruom.messaging.VelocityMessagingChannel

class VelocityBridge: Bridge, VelocityMessagingChannel("velocityvanish", "main") {

Expand Down
Expand Up @@ -6,8 +6,8 @@ import com.velocitypowered.api.proxy.server.RegisteredServer
import ir.syrent.velocityvanish.velocity.VelocityVanish
import ir.syrent.velocityvanish.velocity.event.VelocityUnVanishEvent
import ir.syrent.velocityvanish.velocity.event.VelocityVanishEvent
import me.mohamad82.ruom.VRuom
import me.mohamad82.ruom.utils.GsonUtils
import ir.syrent.velocityvanish.velocity.vruom.VRuom
import ir.syrent.velocityvanish.velocity.vruom.utils.GsonUtils

@Suppress("UnstableApiUsage")
class VelocityBridgeManager(
Expand Down
Expand Up @@ -3,7 +3,7 @@ package ir.syrent.velocityvanish.velocity.command
import com.velocitypowered.api.command.SimpleCommand
import ir.syrent.velocityvanish.utils.component
import ir.syrent.velocityvanish.velocity.VelocityVanish
import me.mohamad82.ruom.VRuom
import ir.syrent.velocityvanish.velocity.vruom.VRuom

class ForceVanishCommand(
private val plugin: VelocityVanish
Expand Down
Expand Up @@ -3,7 +3,7 @@
import com.velocitypowered.api.event.Subscribe;
import com.velocitypowered.api.proxy.Player;
import ir.syrent.velocityvanish.velocity.VelocityVanish;
import me.mohamad82.ruom.VRuom;
import ir.syrent.velocityvanish.velocity.vruom.VRuom;
import me.sayandevelopment.sayanchat.bridge.proxy.velocity.VelocityPrivateMessageSendEvent;
import me.sayandevelopment.sayanchat.enums.PrivateMessageResult;

Expand Down
Expand Up @@ -5,7 +5,7 @@ import com.velocitypowered.api.event.Subscribe
import com.velocitypowered.api.event.proxy.ProxyPingEvent
import com.velocitypowered.api.proxy.server.ServerPing
import ir.syrent.velocityvanish.velocity.VelocityVanish
import me.mohamad82.ruom.VRuom
import ir.syrent.velocityvanish.velocity.vruom.VRuom

class ProxyPingListener(
private val plugin: VelocityVanish
Expand Down
Expand Up @@ -3,7 +3,7 @@ package ir.syrent.velocityvanish.velocity.listener
import com.velocitypowered.api.event.Subscribe
import com.velocitypowered.api.event.player.TabCompleteEvent
import ir.syrent.velocityvanish.velocity.VelocityVanish
import me.mohamad82.ruom.VRuom
import ir.syrent.velocityvanish.velocity.vruom.VRuom

class TabCompleteListener(
private val plugin: VelocityVanish
Expand Down
@@ -0,0 +1,43 @@
package ir.syrent.velocityvanish.velocity.vruom;

import com.velocitypowered.api.proxy.ProxyServer;
import org.slf4j.Logger;

import java.nio.file.Path;

public class VRUoMPlugin {

private static VRUoMPlugin instance;
private static ProxyServer server;
private static Logger logger;
private static Path dataDirectory;

public VRUoMPlugin(ProxyServer server, Logger logger) {
instance = this;
VRUoMPlugin.server = server;
VRUoMPlugin.logger = logger;
}

public VRUoMPlugin(ProxyServer server, Logger logger, Path dataDirectory) {
instance = this;
VRUoMPlugin.server = server;
VRUoMPlugin.logger = logger;
VRUoMPlugin.dataDirectory = dataDirectory;
}

public static VRUoMPlugin get() {
return instance;
}

public static ProxyServer getServer() {
return server;
}

public static Logger getLogger() {
return logger;
}

public static Path getDataDirectory() {
return dataDirectory;
}
}
120 changes: 120 additions & 0 deletions src/main/java/ir/syrent/velocityvanish/velocity/vruom/VRuom.java
@@ -0,0 +1,120 @@
package ir.syrent.velocityvanish.velocity.vruom;

import com.velocitypowered.api.command.Command;
import com.velocitypowered.api.command.CommandMeta;
import com.velocitypowered.api.plugin.Plugin;
import com.velocitypowered.api.proxy.Player;
import com.velocitypowered.api.proxy.ProxyServer;
import com.velocitypowered.api.scheduler.ScheduledTask;
import org.slf4j.Logger;

import java.io.File;
import java.nio.file.Path;
import java.util.Collection;
import java.util.Optional;
import java.util.concurrent.TimeUnit;

public class VRuom {

private final static Plugin DESCRIPTION;
private final static Logger logger;
private static boolean debug = false;

static {
DESCRIPTION = VRUoMPlugin.get().getClass().getAnnotation(Plugin.class);
logger = VRUoMPlugin.getLogger();
}

public static Object getPlugin() {
return VRUoMPlugin.get();
}

public static Plugin getDescription() {
return DESCRIPTION;
}

public static ProxyServer getServer() {
return VRUoMPlugin.getServer();
}

public static Path getDataDirectory() {
return VRUoMPlugin.getDataDirectory();
}

/**
* @deprecated Use {@link #getDataDirectory()} instead
* Data folder is accessible through the DataDirectory constructor in the Velocity main class\
*/
public static File getDataFolder() {
return new File("plugins", getDescription().name());
}

public static void registerListener(Object listener) {
getServer().getEventManager().register(VRUoMPlugin.get(), listener);
}

public static void registerCommand(String name, Collection<String> aliases, Command command) {
CommandMeta meta = getServer().getCommandManager().metaBuilder(name).aliases(aliases.toArray(new String[0])).build();
getServer().getCommandManager().register(meta, command);
}

public static Collection<Player> getOnlinePlayers() {
return getServer().getAllPlayers();
}

public static Optional<Player> getPlayer(String username) {
for (Player player : getOnlinePlayers()) {
if (player.getUsername().equalsIgnoreCase(username)) {
return Optional.of(player);
}
}
return Optional.empty();
}

public static void setDebug(boolean debug) {
VRuom.debug = debug;
}

public static void log(String message) {
logger.info(message);
}

public static void debug(String message) {
if (debug) {
log("[Debug] " + message);
}
}

public static void warn(String message) {
logger.warn(message);
}

public static void error(String message) {
logger.error(message);
}

public static void run(RunnableExc runnable) {
try {
runnable.run();
} catch (Exception e) {
e.printStackTrace();
}
}

@FunctionalInterface public interface RunnableExc {
void run() throws Exception;
}

public static ScheduledTask runAsync(Runnable runnable) {
return getServer().getScheduler().buildTask(VRUoMPlugin.get(), runnable).schedule();
}

public static ScheduledTask runAsync(Runnable runnable, long delay, TimeUnit delayUnit) {
return getServer().getScheduler().buildTask(VRUoMPlugin.get(), runnable).delay(delay, delayUnit).schedule();
}

public static ScheduledTask runAsync(Runnable runnable, long delay, TimeUnit delayUnit, long period, TimeUnit periodUnit) {
return getServer().getScheduler().buildTask(VRUoMPlugin.get(), runnable).delay(delay, delayUnit).repeat(period, periodUnit).schedule();
}

}
@@ -0,0 +1,43 @@
package ir.syrent.velocityvanish.velocity.vruom.configuration;

import ir.syrent.velocityvanish.velocity.vruom.VRUoMPlugin;
import ir.syrent.velocityvanish.velocity.vruom.utils.ResourceUtils;
import org.spongepowered.configurate.CommentedConfigurationNode;
import org.spongepowered.configurate.ConfigurateException;
import org.spongepowered.configurate.yaml.YamlConfigurationLoader;

import java.io.File;

public class ConfigurateYamlConfig {

private final String fileName;
private YamlConfigurationLoader loader;

public CommentedConfigurationNode root;

public ConfigurateYamlConfig(String fileName) {
this.fileName = fileName;
}

public void create() {
File copyFile = new File(VRUoMPlugin.getDataDirectory().toFile(), fileName);
if (!copyFile.exists()) {
copyFile.getParentFile().mkdirs();
ResourceUtils.copyResource(fileName, copyFile);
}

loader = YamlConfigurationLoader.builder().file(copyFile).build();
}

public void load() {
if (loader == null) {
create();
}

try {
root = loader.load();
} catch (ConfigurateException e) {
e.printStackTrace();
}
}
}