Compare commits

...

4 commits

60 changed files with 203 additions and 221 deletions

View file

@ -1,4 +1,14 @@
### Add as maven dependency
# Various utilities for YAML, JDBC, Bukkit and other things.
Varoutil is a simple API for projects with bulky APIs like YAML, JDBC, Bukkit, Velocity, and others. Its goal is to
simplify development by making code more consistent.
Note: The Varioutil project is currently under development, there is no stable version yet. The API, package names,
artifacts, and the project name itself may change at any time.
## Add as maven dependency
The project has its own Maven repository, so to access the artifact as a dependency you will need to add it to your
`pom.xml`.
```xml
<repositories>
<repository>
@ -7,63 +17,80 @@
</repository>
</repositories>
```
Then add the artifact as a dependency, for example `common`.
```xml
<dependencies>
<dependency>
<groupId>org.zhdev.varioutil</groupId>
<artifactId>all</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
```
### Example for reflection
#### Maven dependency
```xml
<dependencies>
<dependency>
<groupId>org.zhdev.varioutil</groupId>
<groupId>org.zhdev</groupId>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
```
#### Code
```java
import java.lang.reflect.Field;
import org.zhdev.varioutil.ReflectionUtils;
import org.bukkit.Bukkit;
## Examples
Note: The project is primarily focused on making it easier to work with Bukkit and YAML, so only
examples for those are available at the moment. Public Javadocs and more examples will be available with the first
release of the Varioutil project.
public class BukkitFields {
public static final Field METHOD__CraftServer__getServer;
### Bukkit Plugin and YAML Parsing
Let's say we have a Bukkit plugin called Bukman, and we want to read the `extra-config.yml` file located in the
`./plugins/Bukman` directory and get the value of the `state` field from it.
static {
METHOD__CraftServer__getServer = ReflectionUtils.methodSearcher()
.of(Bukkit.getServer())
.methodOf("getServer")
.returns(CLASS__DedicatedServer)
.search();
}
}
```
### Example for yaml
#### Maven dependency
Add the required `bukkit` dependency.
```xml
<dependencies>
<dependency>
<groupId>org.zhdev.varioutil</groupId>
<groupId>org.zhdev</groupId>
<artifactId>bukkit</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
```
#### Code
Add the following code.
```java
package org.zhdev;
import org.zhdev.config.BukkitYamlConfig;
import org.zhdev.config.Config;
public class BukmanBukkitPlugin extends BukkitPreparedPlugin {
private final Config extraConfig = new BukkitYamlConfig("extra-config.yml");
private int state;
@Override
protected void onPostLoad() {
// parse `./plugins/Bukman/extra-config.yml`
loadConfig(extraConfig);
// get the value of the `state` field or get 3 if null
state = extraConfig.getInteger("state", 5);
}
public int getState() {
return state;
}
}
```
### More YAML examples
#### Maven dependency
If you only need YAML parsing, just add the `io` maven dependency.
```xml
<dependencies>
<dependency>
<groupId>org.zhdev</groupId>
<artifactId>io</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
```
#### Code
```java
import org.zhdev.varioutil.Config;
import org.zhdev.varioutil.YamlConfig;
import org.zhdev.Config;
import org.zhdev.YamlConfig;
import java.util.List;

View file

@ -1,53 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>parent</artifactId>
<groupId>org.zhdev.varioutil</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>all</artifactId>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>velocity</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bukkit</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>misc</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>db</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>io</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>common</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View file

@ -5,8 +5,8 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.zhdev.varioutil</groupId>
<artifactId>parent</artifactId>
<groupId>org.zhdev</groupId>
<artifactId>varioutil</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
@ -47,7 +47,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.21.1-R0.1-SNAPSHOT</version>
<version>1.21.8-R0.1-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
@ -59,7 +59,7 @@
<dependency>
<groupId>com.mojang</groupId>
<artifactId>authlib</artifactId>
<version>4.0.43</version>
<version>6.0.54</version>
<scope>provided</scope>
</dependency>
</dependencies>

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil;
package org.zhdev;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;

View file

@ -1,8 +1,8 @@
package org.zhdev.varioutil;
package org.zhdev;
import org.zhdev.varioutil.language.Language;
import org.zhdev.varioutil.util.CollectionUtils;
import org.zhdev.varioutil.util.ColorUtils;
import org.zhdev.language.Language;
import org.zhdev.util.CollectionUtils;
import org.zhdev.util.ColorUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.PluginIdentifiableCommand;
@ -12,14 +12,14 @@ import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPluginLoader;
import org.jetbrains.annotations.NotNull;
import org.zhdev.varioutil.bukkit.command.PreparedPluginCommand;
import org.zhdev.varioutil.config.BukkitYamlConfig;
import org.zhdev.varioutil.config.Config;
import org.zhdev.varioutil.config.ConfigSection;
import org.zhdev.varioutil.config.YamlConfig;
import org.zhdev.varioutil.sql.SqlAdapter;
import org.zhdev.varioutil.util.BukkitUtils;
import org.zhdev.varioutil.util.ConfigUtils;
import org.zhdev.bukkit.command.PreparedPluginCommand;
import org.zhdev.config.BukkitYamlConfig;
import org.zhdev.config.Config;
import org.zhdev.config.ConfigSection;
import org.zhdev.config.YamlConfig;
import org.zhdev.sql.SqlAdapter;
import org.zhdev.util.BukkitUtils;
import org.zhdev.util.ConfigUtils;
import java.io.File;
import java.nio.file.Path;
@ -138,11 +138,17 @@ public abstract class BukkitPreparedPlugin extends BukkitPlugin implements Liste
sqlAdapter.setProvider(ConfigUtils.createSqlConnectionProvider(databaseConfig, getDataFolder().getPath()));
}
protected void onLoading() {}
protected void onPreLoad() {}
protected void onEnabling() {}
protected void onPostLoad() {}
protected void onDisabling() {}
protected void onPreEnable() {}
protected void onPostEnable() {}
protected void onPreDisable() {}
protected void onPostDisable() {}
private void load() {
loadDefaultConfig();
@ -152,8 +158,9 @@ public abstract class BukkitPreparedPlugin extends BukkitPlugin implements Liste
@Override
public final void onLoad() {
onPreLoad();
load();
onLoading();
onPostLoad();
}
private void enable() {
@ -162,8 +169,9 @@ public abstract class BukkitPreparedPlugin extends BukkitPlugin implements Liste
@Override
public final void onEnable() {
onPreEnable();
enable();
onEnabling();
onPostEnable();
}
private void disable() {
@ -180,11 +188,11 @@ public abstract class BukkitPreparedPlugin extends BukkitPlugin implements Liste
@Override
public final void onDisable() {
try {
onDisabling();
onPreDisable();
disable();
} catch (Exception e) {
onPostDisable();
} finally {
disable();
throw e;
}
}

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.bukkit;
package org.zhdev.bukkit;
import org.bukkit.Material;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.bukkit.command;
package org.zhdev.bukkit.command;
import org.bukkit.command.*;
import org.bukkit.plugin.Plugin;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.bukkit.command;
package org.zhdev.bukkit.command;
import org.bukkit.command.*;
import org.bukkit.plugin.Plugin;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.bukkit.gui;
package org.zhdev.bukkit.gui;
import org.bukkit.event.inventory.InventoryClickEvent;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.bukkit.gui;
package org.zhdev.bukkit.gui;
import org.bukkit.Material;
import org.bukkit.entity.Player;

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.bukkit.gui;
package org.zhdev.bukkit.gui;
import org.zhdev.varioutil.config.ConfigSection;
import org.zhdev.config.ConfigSection;
import java.util.Collections;
import java.util.HashMap;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.bukkit.gui;
package org.zhdev.bukkit.gui;
import org.bukkit.Bukkit;
import org.bukkit.inventory.Inventory;

View file

@ -1,11 +1,11 @@
package org.zhdev.varioutil.bukkit.gui;
package org.zhdev.bukkit.gui;
import org.bukkit.Material;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.SkullMeta;
import org.zhdev.varioutil.util.BukkitUtils;
import org.zhdev.util.BukkitUtils;
import java.util.Arrays;
import java.util.Collections;

View file

@ -1,9 +1,9 @@
package org.zhdev.varioutil.bukkit.gui;
package org.zhdev.bukkit.gui;
import org.zhdev.varioutil.config.ConfigSection;
import org.zhdev.varioutil.util.StringUtils;
import org.zhdev.config.ConfigSection;
import org.zhdev.util.StringUtils;
import org.bukkit.Material;
import org.zhdev.varioutil.bukkit.LegacyMaterial;
import org.zhdev.bukkit.LegacyMaterial;
public class GuiIconConfig {
protected final Material type;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.bukkit.gui;
package org.zhdev.bukkit.gui;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.bukkit.gui;
package org.zhdev.bukkit.gui;
import org.bukkit.Bukkit;
import org.bukkit.event.inventory.InventoryType;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.configuration.serialization.ConfigurationSerialization;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import com.mojang.authlib.GameProfile;
import org.bukkit.Bukkit;

View file

@ -1,8 +1,8 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import org.zhdev.varioutil.Version;
import org.zhdev.Version;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandMap;

View file

@ -5,8 +5,8 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>parent</artifactId>
<groupId>org.zhdev.varioutil</groupId>
<artifactId>varioutil</artifactId>
<groupId>org.zhdev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil;
package org.zhdev;
import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.language;
package org.zhdev.language;
import org.zhdev.varioutil.util.StringUtils;
import org.zhdev.util.StringUtils;
import java.util.HashMap;
import java.util.LinkedHashMap;

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.reflection;
package org.zhdev.reflection;
import org.zhdev.varioutil.util.ReflectionUtils;
import org.zhdev.util.ReflectionUtils;
import java.lang.reflect.Field;

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.reflection;
package org.zhdev.reflection;
import org.zhdev.varioutil.util.ReflectionUtils;
import org.zhdev.util.ReflectionUtils;
import java.lang.reflect.Method;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import java.util.Collection;
import java.util.function.Function;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import java.util.Collection;
import java.util.List;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import java.time.*;
import java.time.format.DateTimeFormatter;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
public class EnumUtils {
private static <T extends Enum<T>> T[] getValues(T eNum) {

View file

@ -1,7 +1,7 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import org.zhdev.varioutil.reflection.FieldSearcher;
import org.zhdev.varioutil.reflection.MethodSearcher;
import org.zhdev.reflection.FieldSearcher;
import org.zhdev.reflection.MethodSearcher;
import java.io.File;
import java.io.IOException;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import java.io.*;
import java.net.URL;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import java.util.ArrayList;
import java.util.Iterator;

View file

@ -5,8 +5,8 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>parent</artifactId>
<groupId>org.zhdev.varioutil</groupId>
<artifactId>varioutil</artifactId>
<groupId>org.zhdev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.sql;
package org.zhdev.sql;
import java.sql.Connection;
import java.sql.SQLException;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.sql;
package org.zhdev.sql;
import java.sql.Connection;
import java.sql.SQLException;

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.sql;
package org.zhdev.sql;
import org.zhdev.varioutil.util.SqlUtils;
import org.zhdev.util.SqlUtils;
import java.sql.Connection;

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.sql;
package org.zhdev.sql;
import org.zhdev.varioutil.util.SqlUtils;
import org.zhdev.util.SqlUtils;
import java.sql.Connection;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.sql;
package org.zhdev.sql;
import java.sql.Connection;

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.sql;
package org.zhdev.sql;
import org.zhdev.varioutil.util.CheckedFunction;
import org.zhdev.util.CheckedFunction;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.sql;
package org.zhdev.sql;
public class SqlException extends RuntimeException {
public SqlException() {

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.sql;
package org.zhdev.sql;
import org.zhdev.varioutil.util.SqlUtils;
import org.zhdev.util.SqlUtils;
import java.sql.Connection;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
@FunctionalInterface
public interface CheckedFunction<T, R, E extends Exception> {

View file

@ -1,6 +1,6 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import org.zhdev.varioutil.sql.SqlException;
import org.zhdev.sql.SqlException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

View file

@ -5,8 +5,8 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>parent</artifactId>
<groupId>org.zhdev.varioutil</groupId>
<artifactId>varioutil</artifactId>
<groupId>org.zhdev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
import java.io.*;
import java.nio.charset.StandardCharsets;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
public class ConfigException extends RuntimeException {
public ConfigException() {

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
import java.util.List;
import java.util.Map;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
final class ConfigSectionNode {
Object value;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
import java.util.*;
import java.util.function.Function;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.LoaderOptions;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.constructor.SafeConstructor;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.representer.Representer;

View file

@ -5,8 +5,8 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>parent</artifactId>
<groupId>org.zhdev.varioutil</groupId>
<artifactId>varioutil</artifactId>
<groupId>org.zhdev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>

View file

@ -1,10 +1,10 @@
package org.zhdev.varioutil;
package org.zhdev;
import org.zhdev.varioutil.config.Config;
import org.zhdev.varioutil.config.ConfigException;
import org.zhdev.varioutil.language.Language;
import org.zhdev.varioutil.util.ResourceUtils;
import org.zhdev.varioutil.sql.SqlAdapter;
import org.zhdev.config.Config;
import org.zhdev.config.ConfigException;
import org.zhdev.language.Language;
import org.zhdev.util.ResourceUtils;
import org.zhdev.sql.SqlAdapter;
import java.io.IOException;
import java.io.InputStream;

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import java.util.HashMap;
import java.util.Map;

View file

@ -1,9 +1,8 @@
package org.zhdev.varioutil.util;
package org.zhdev.util;
import org.zhdev.varioutil.config.ConfigSection;
import org.zhdev.varioutil.language.Language;
import org.zhdev.varioutil.sql.*;
import org.zhdev.varioutil.sql.*;
import org.zhdev.config.ConfigSection;
import org.zhdev.language.Language;
import org.zhdev.sql.*;
import java.io.File;
import java.util.ArrayList;

15
pom.xml
View file

@ -4,8 +4,8 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.zhdev.varioutil</groupId>
<artifactId>parent</artifactId>
<groupId>org.zhdev</groupId>
<artifactId>varioutil</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
@ -21,7 +21,6 @@
<module>misc</module>
<module>bukkit</module>
<module>velocity</module>
<module>all</module>
</modules>
<distributionManagement>
@ -47,7 +46,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<version>3.13.0</version>
<configuration>
<source>8</source>
<target>8</target>
@ -56,7 +55,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.4.1</version>
<version>3.5.3</version>
<configuration>
<filters>
<filter>
@ -82,7 +81,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
<version>3.4.1</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
@ -98,7 +97,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.4.1</version>
<version>3.6.3</version>
<executions>
<execution>
<id>attach-javadocs</id>
@ -147,7 +146,7 @@
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations-java5</artifactId>
<version>24.0.1</version>
<version>24.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>

View file

@ -5,8 +5,8 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>parent</artifactId>
<groupId>org.zhdev.varioutil</groupId>
<artifactId>varioutil</artifactId>
<groupId>org.zhdev</groupId>
<version>1.0-SNAPSHOT</version>
</parent>

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil;
package org.zhdev;
import com.velocitypowered.api.proxy.ProxyServer;
import org.slf4j.Logger;
@ -27,8 +27,4 @@ public abstract class VelocityPlugin {
public java.util.logging.Logger getLogger() {
return java.util.logging.Logger.getLogger(logger.getName());
}
public Logger getSLF4JLogger() {
return logger;
}
}

View file

@ -1,17 +1,17 @@
package org.zhdev.varioutil;
package org.zhdev;
import com.velocitypowered.api.event.Subscribe;
import com.velocitypowered.api.event.proxy.ProxyInitializeEvent;
import com.velocitypowered.api.event.proxy.ProxyShutdownEvent;
import com.velocitypowered.api.proxy.ProxyServer;
import org.zhdev.varioutil.config.ConfigSection;
import org.zhdev.varioutil.language.Language;
import org.zhdev.varioutil.util.ColorUtils;
import org.zhdev.config.ConfigSection;
import org.zhdev.language.Language;
import org.zhdev.util.ColorUtils;
import org.slf4j.Logger;
import org.zhdev.varioutil.config.Config;
import org.zhdev.varioutil.config.VelocityTomlConfig;
import org.zhdev.varioutil.sql.SqlAdapter;
import org.zhdev.varioutil.util.ConfigUtils;
import org.zhdev.config.Config;
import org.zhdev.config.VelocityTomlConfig;
import org.zhdev.sql.SqlAdapter;
import org.zhdev.util.ConfigUtils;
import java.nio.file.Path;
@ -59,20 +59,26 @@ public abstract class VelocityPreparedPlugin extends VelocityPlugin implements P
return sqlAdapter;
}
protected void onEnabling() {}
protected void onPreEnable() {}
protected void onDisabling() {}
protected void onPostEnable() {}
protected void onPreDisable() {}
protected void onPostDisable() {}
@Subscribe
private void onProxyInitialization(ProxyInitializeEvent event) {
onPreEnable();
loadConfig(defaultConfig);
loadPhrases();
establishSqlConnection();
onEnabling();
onPostEnable();
}
@Subscribe
private void onProxyInitialization(ProxyShutdownEvent event) {
onDisabling();
onPreDisable();
onPostDisable();
}
}

View file

@ -1,4 +1,4 @@
package org.zhdev.varioutil.config;
package org.zhdev.config;
import com.electronwill.nightconfig.core.CommentedConfig;
import com.electronwill.nightconfig.toml.TomlFormat;