various changes for team management
This commit is contained in:
@ -1,9 +1,9 @@
|
||||
package eu.mhsl.craftattack.core;
|
||||
package eu.mhsl.craftattack.spawn.core;
|
||||
|
||||
import eu.mhsl.craftattack.core.api.client.RepositoryLoader;
|
||||
import eu.mhsl.craftattack.core.api.server.HttpServer;
|
||||
import eu.mhsl.craftattack.core.appliance.Appliance;
|
||||
import eu.mhsl.craftattack.core.config.Configuration;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.RepositoryLoader;
|
||||
import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
|
||||
import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
|
||||
import eu.mhsl.craftattack.spawn.core.config.Configuration;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
@ -16,6 +16,7 @@ import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public final class Main extends JavaPlugin {
|
||||
public static final String projectPackage = "eu.mhsl.craftattack.spawn";
|
||||
private static Main instance;
|
||||
private static Logger logger;
|
||||
|
||||
@ -41,7 +42,7 @@ public final class Main extends JavaPlugin {
|
||||
List<String> disabledAppliances = Configuration.pluginConfig.getStringList("disabledAppliances");
|
||||
|
||||
Main.logger().info("Initializing reflections...");
|
||||
this.reflections = new Reflections("eu.mhsl.craftattack.spawn");
|
||||
this.reflections = new Reflections(projectPackage);
|
||||
|
||||
Main.logger().info("Loading Repositories...");
|
||||
this.repositoryLoader = new RepositoryLoader();
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.api.client;
|
||||
package eu.mhsl.craftattack.spawn.core.api.client;
|
||||
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import org.apache.http.client.utils.URIBuilder;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@ -12,7 +12,7 @@ import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@RepositoryLoader.IgnoreRepository
|
||||
@RepositoryLoader.Abstraction
|
||||
public abstract class HttpRepository extends Repository {
|
||||
private final Consumer<URIBuilder> baseUriBuilder;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package eu.mhsl.craftattack.core.api.client;
|
||||
package eu.mhsl.craftattack.spawn.core.api.client;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import java.net.URI;
|
@ -1,5 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.api.client;
|
||||
package eu.mhsl.craftattack.spawn.core.api.client;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import org.apache.commons.lang3.NotImplementedException;
|
||||
import org.reflections.Reflections;
|
||||
|
||||
@ -12,16 +13,19 @@ import java.util.Set;
|
||||
public class RepositoryLoader {
|
||||
private final List<Repository> repositories;
|
||||
|
||||
/**
|
||||
* Defines a repository as an abstraction and will not be loaded by this RepositoryLoader
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface IgnoreRepository {
|
||||
public @interface Abstraction {
|
||||
}
|
||||
|
||||
public RepositoryLoader() {
|
||||
Reflections reflections = new Reflections(this.getClass().getPackageName());
|
||||
Reflections reflections = new Reflections(Main.projectPackage);
|
||||
Set<Class<? extends Repository>> repositories = reflections.getSubTypesOf(Repository.class);
|
||||
|
||||
this.repositories = repositories.stream()
|
||||
.filter(repository -> !repository.isAnnotationPresent(IgnoreRepository.class))
|
||||
.filter(repository -> !repository.isAnnotationPresent(Abstraction.class))
|
||||
.map(repository -> {
|
||||
try {
|
||||
return (Repository) repository.getDeclaredConstructor().newInstance();
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.api.client;
|
||||
package eu.mhsl.craftattack.spawn.core.api.client;
|
||||
|
||||
public record ReqResp<TData>(int status, TData data) {
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
package eu.mhsl.craftattack.core.api.client.repositories;
|
||||
package eu.mhsl.craftattack.spawn.core.api.client.repositories;
|
||||
|
||||
import eu.mhsl.craftattack.core.api.client.HttpRepository;
|
||||
import eu.mhsl.craftattack.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.core.util.api.EventApiUtil;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.HttpRepository;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.spawn.core.util.api.EventApiUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -1,9 +1,9 @@
|
||||
package eu.mhsl.craftattack.core.api.client.repositories;
|
||||
package eu.mhsl.craftattack.spawn.core.api.client.repositories;
|
||||
|
||||
import com.google.common.reflect.TypeToken;
|
||||
import eu.mhsl.craftattack.core.api.client.HttpRepository;
|
||||
import eu.mhsl.craftattack.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.core.util.api.WebsiteApiUtil;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.HttpRepository;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.spawn.core.util.api.WebsiteApiUtil;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
@ -1,8 +1,8 @@
|
||||
package eu.mhsl.craftattack.core.api.client.repositories;
|
||||
package eu.mhsl.craftattack.spawn.core.api.client.repositories;
|
||||
|
||||
import eu.mhsl.craftattack.core.api.client.HttpRepository;
|
||||
import eu.mhsl.craftattack.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.core.util.api.WebsiteApiUtil;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.HttpRepository;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.spawn.core.util.api.WebsiteApiUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package eu.mhsl.craftattack.core.api.client.repositories;
|
||||
package eu.mhsl.craftattack.spawn.core.api.client.repositories;
|
||||
|
||||
import eu.mhsl.craftattack.core.api.client.HttpRepository;
|
||||
import eu.mhsl.craftattack.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.core.util.api.WebsiteApiUtil;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.HttpRepository;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
|
||||
import eu.mhsl.craftattack.spawn.core.util.api.WebsiteApiUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package eu.mhsl.craftattack.core.api.server;
|
||||
package eu.mhsl.craftattack.spawn.core.api.server;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.core.appliance.Appliance;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import spark.Request;
|
||||
import spark.Spark;
|
@ -1,9 +1,9 @@
|
||||
package eu.mhsl.craftattack.core.appliance;
|
||||
package eu.mhsl.craftattack.spawn.core.appliance;
|
||||
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.core.api.client.Repository;
|
||||
import eu.mhsl.craftattack.core.api.server.HttpServer;
|
||||
import eu.mhsl.craftattack.core.config.Configuration;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.api.client.Repository;
|
||||
import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
|
||||
import eu.mhsl.craftattack.spawn.core.config.Configuration;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.appliance;
|
||||
package eu.mhsl.craftattack.spawn.core.appliance;
|
||||
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import org.bukkit.command.Command;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.appliance;
|
||||
package eu.mhsl.craftattack.spawn.core.appliance;
|
||||
|
||||
import org.bukkit.event.Listener;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.appliance;
|
||||
package eu.mhsl.craftattack.spawn.core.appliance;
|
||||
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
|
||||
public class CachedApplianceSupplier<T extends Appliance> implements IApplianceSupplier<T> {
|
||||
private final T appliance;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.appliance;
|
||||
package eu.mhsl.craftattack.spawn.core.appliance;
|
||||
|
||||
public interface IApplianceSupplier<T extends Appliance> {
|
||||
T getAppliance();
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.config;
|
||||
package eu.mhsl.craftattack.spawn.core.config;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.config;
|
||||
package eu.mhsl.craftattack.spawn.core.config;
|
||||
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util;
|
||||
package eu.mhsl.craftattack.spawn.core.util;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameRule;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util;
|
||||
package eu.mhsl.craftattack.spawn.core.util;
|
||||
|
||||
public class NumberUtil {
|
||||
public static double map(double oldValue, double oldMin, double oldMax, double newMin, double newMax) {
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.util.api;
|
||||
package eu.mhsl.craftattack.spawn.core.util.api;
|
||||
|
||||
import eu.mhsl.craftattack.core.config.Configuration;
|
||||
import eu.mhsl.craftattack.spawn.core.config.Configuration;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import java.net.URI;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.api;
|
||||
package eu.mhsl.craftattack.spawn.core.util.api;
|
||||
|
||||
public class HttpStatus {
|
||||
public static final int OK = 200;
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.util.api;
|
||||
package eu.mhsl.craftattack.spawn.core.util.api;
|
||||
|
||||
import eu.mhsl.craftattack.core.config.Configuration;
|
||||
import eu.mhsl.craftattack.spawn.core.config.Configuration;
|
||||
import org.apache.http.client.utils.URIBuilder;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package eu.mhsl.craftattack.core.util.entity;
|
||||
package eu.mhsl.craftattack.spawn.core.util.entity;
|
||||
|
||||
import eu.mhsl.craftattack.core.config.ConfigUtil;
|
||||
import eu.mhsl.craftattack.core.config.Configuration;
|
||||
import eu.mhsl.craftattack.core.util.world.ChunkUtils;
|
||||
import eu.mhsl.craftattack.spawn.core.config.ConfigUtil;
|
||||
import eu.mhsl.craftattack.spawn.core.config.Configuration;
|
||||
import eu.mhsl.craftattack.spawn.core.util.world.ChunkUtils;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.entity.EntityType;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.entity;
|
||||
package eu.mhsl.craftattack.spawn.core.util.entity;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Statistic;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.inventory;
|
||||
package eu.mhsl.craftattack.spawn.core.util.inventory;
|
||||
|
||||
import com.destroystokyo.paper.profile.PlayerProfile;
|
||||
import com.destroystokyo.paper.profile.ProfileProperty;
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.util.inventory;
|
||||
package eu.mhsl.craftattack.spawn.core.util.inventory;
|
||||
|
||||
import eu.mhsl.craftattack.core.util.text.ComponentUtil;
|
||||
import eu.mhsl.craftattack.spawn.core.util.text.ComponentUtil;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import org.bukkit.Material;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.inventory;
|
||||
package eu.mhsl.craftattack.spawn.core.util.inventory;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.Material;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.listener;
|
||||
package eu.mhsl.craftattack.spawn.core.util.listener;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.event.EventHandler;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.listener;
|
||||
package eu.mhsl.craftattack.spawn.core.util.listener;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.server;
|
||||
package eu.mhsl.craftattack.spawn.core.util.server;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.geysermc.cumulus.form.SimpleForm;
|
@ -1,8 +1,8 @@
|
||||
package eu.mhsl.craftattack.core.util.server;
|
||||
package eu.mhsl.craftattack.spawn.core.util.server;
|
||||
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PluginMessage {
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.util.statistics;
|
||||
package eu.mhsl.craftattack.spawn.core.util.statistics;
|
||||
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import net.kyori.adventure.util.Ticks;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.statistics;
|
||||
package eu.mhsl.craftattack.spawn.core.util.statistics;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.util.text;
|
||||
package eu.mhsl.craftattack.spawn.core.util.text;
|
||||
|
||||
import eu.mhsl.craftattack.core.util.NumberUtil;
|
||||
import eu.mhsl.craftattack.spawn.core.util.NumberUtil;
|
||||
import net.kyori.adventure.text.format.TextColor;
|
||||
|
||||
import java.awt.*;
|
@ -1,7 +1,7 @@
|
||||
package eu.mhsl.craftattack.core.util.text;
|
||||
package eu.mhsl.craftattack.spawn.core.util.text;
|
||||
|
||||
import eu.mhsl.craftattack.core.util.statistics.NetworkMonitor;
|
||||
import eu.mhsl.craftattack.core.util.statistics.ServerMonitor;
|
||||
import eu.mhsl.craftattack.spawn.core.util.statistics.NetworkMonitor;
|
||||
import eu.mhsl.craftattack.spawn.core.util.statistics.ServerMonitor;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.ComponentBuilder;
|
||||
import net.kyori.adventure.text.TextComponent;
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.util.text;
|
||||
package eu.mhsl.craftattack.spawn.core.util.text;
|
||||
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.Bukkit;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.text;
|
||||
package eu.mhsl.craftattack.spawn.core.util.text;
|
||||
|
||||
public class DataSizeConverter {
|
||||
public static String convertBytesPerSecond(long bytes) {
|
@ -1,6 +1,6 @@
|
||||
package eu.mhsl.craftattack.core.util.text;
|
||||
package eu.mhsl.craftattack.spawn.core.util.text;
|
||||
|
||||
import eu.mhsl.craftattack.core.Main;
|
||||
import eu.mhsl.craftattack.spawn.core.Main;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import org.bukkit.Bukkit;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.text;
|
||||
package eu.mhsl.craftattack.spawn.core.util.text;
|
||||
|
||||
public class NumberAbbreviation {
|
||||
public static <T extends Number & Comparable<T>> String abbreviateNumber(T number) {
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.text;
|
||||
package eu.mhsl.craftattack.spawn.core.util.text;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.TextColor;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.world;
|
||||
package eu.mhsl.craftattack.spawn.core.util.world;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.world;
|
||||
package eu.mhsl.craftattack.spawn.core.util.world;
|
||||
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Location;
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.craftattack.core.util.world;
|
||||
package eu.mhsl.craftattack.spawn.core.util.world;
|
||||
|
||||
import net.kyori.adventure.key.Key;
|
||||
import net.kyori.adventure.sound.Sound;
|
@ -2,7 +2,7 @@ name: spawn
|
||||
description: modular base-plugin for mhsl server projects
|
||||
version: '0'
|
||||
api-version: '1.21'
|
||||
main: eu.mhsl.craftattack.core.Main
|
||||
main: eu.mhsl.craftattack.spawn.core.Main
|
||||
load: POSTWORLD
|
||||
prefix: mhsl-spawn
|
||||
|
||||
|
Reference in New Issue
Block a user