refactor(global): still refactoring some packages

This commit is contained in:
aro 2023-01-30 10:32:47 +01:00
parent dab8553247
commit 0e41c927c9
29 changed files with 65 additions and 64 deletions

View file

@ -2,6 +2,7 @@ package net.artelnatif.nicko;
import net.artelnatif.nicko.config.Configuration;
import net.artelnatif.nicko.config.ConfigurationManager;
import net.artelnatif.nicko.mojang.MojangAPI;
import net.artelnatif.nicko.storage.PlayerDataStore;
import net.md_5.bungee.api.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
@ -14,6 +15,7 @@ public class Nicko {
private ConfigurationManager configManager;
private Logger logger;
private File dataFolder;
private MojangAPI mojangAPI;
private boolean bungeecord;
private Configuration config;
@ -35,6 +37,7 @@ public class Nicko {
configManager = new ConfigurationManager(this);
configManager.saveDefaultConfig();
mojangAPI = new MojangAPI(this);
dataStore = new PlayerDataStore(this);
}
@ -50,6 +53,10 @@ public class Nicko {
return dataFolder;
}
public MojangAPI getMojangAPI() {
return mojangAPI;
}
public ConfigurationManager getConfigManager() {
return configManager;
}

View file

@ -9,14 +9,15 @@ import net.artelnatif.nicko.bukkit.gui.items.main.ExitGUI;
import net.artelnatif.nicko.bukkit.pluginchannel.PluginMessageHandler;
import net.artelnatif.nicko.bungee.NickoBungee;
import net.artelnatif.nicko.config.Configuration;
import net.artelnatif.nicko.event.PlayerJoinListener;
import net.artelnatif.nicko.event.PlayerQuitListener;
import net.artelnatif.nicko.i18n.Locale;
import net.artelnatif.nicko.i18n.LocaleFileManager;
import net.artelnatif.nicko.bukkit.event.PlayerJoinListener;
import net.artelnatif.nicko.bukkit.event.PlayerQuitListener;
import net.artelnatif.nicko.bukkit.i18n.Locale;
import net.artelnatif.nicko.bukkit.i18n.LocaleFileManager;
import net.artelnatif.nicko.impl.Internals;
import net.artelnatif.nicko.impl.InternalsProvider;
import net.artelnatif.nicko.mojang.MojangAPI;
import net.artelnatif.nicko.placeholder.PlaceHolderHook;
import net.artelnatif.nicko.bukkit.placeholder.PlaceHolderHook;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.PluginDescriptionFile;
@ -83,7 +84,7 @@ public class NickoBukkit extends JavaPlugin {
getLogger().severe("Failed to open persistence, data will NOT be saved!");
}
mojangAPI = new MojangAPI(this);
mojangAPI = new MojangAPI(nicko);
localeFileManager = new LocaleFileManager();
if (nicko.getConfig().customLocale()) {
@ -126,7 +127,7 @@ public class NickoBukkit extends JavaPlugin {
if (!nicko.getDataStore().getStorage().isError()) {
getLogger().info("Closing persistence...");
nicko.getDataStore().removeAllNames();
nicko.getDataStore().saveAll();
Bukkit.getOnlinePlayers().forEach(player -> nicko.getDataStore().saveData(player));
if (!nicko.getDataStore().getStorage().getProvider().close()) {
getLogger().severe("Failed to close persistence!");
}
@ -148,10 +149,6 @@ public class NickoBukkit extends JavaPlugin {
return nicko;
}
public MojangAPI getMojangAPI() {
return mojangAPI;
}
public LocaleFileManager getLocaleFileManager() {
return localeFileManager;
}

View file

@ -1,10 +1,10 @@
package net.artelnatif.nicko.bukkit.anvil;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.AppearanceManager;
import net.artelnatif.nicko.bukkit.appearance.AppearanceManager;
import net.artelnatif.nicko.disguise.ActionResult;
import net.artelnatif.nicko.i18n.I18N;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.i18n.I18N;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
import net.artelnatif.nicko.mojang.MojangUtils;
import net.wesjd.anvilgui.AnvilGUI;
import org.bukkit.Material;

View file

@ -1,6 +1,8 @@
package net.artelnatif.nicko.disguise;
package net.artelnatif.nicko.bukkit.appearance;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.ActionResult;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.storage.PlayerDataStore;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;

View file

@ -1,9 +1,9 @@
package net.artelnatif.nicko.bukkit.command.sub;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.AppearanceManager;
import net.artelnatif.nicko.i18n.I18N;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.appearance.AppearanceManager;
import net.artelnatif.nicko.bukkit.i18n.I18N;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
import net.artelnatif.nicko.mojang.MojangUtils;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;

View file

@ -1,7 +1,7 @@
package net.artelnatif.nicko.bukkit.command.sub;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.AppearanceManager;
import net.artelnatif.nicko.bukkit.appearance.AppearanceManager;
import net.artelnatif.nicko.mojang.MojangUtils;
import org.bukkit.Bukkit;
import org.bukkit.Sound;

View file

@ -1,10 +1,10 @@
package net.artelnatif.nicko.event;
package net.artelnatif.nicko.bukkit.event;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.AppearanceManager;
import net.artelnatif.nicko.bukkit.appearance.AppearanceManager;
import net.artelnatif.nicko.disguise.ActionResult;
import net.artelnatif.nicko.i18n.I18N;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.i18n.I18N;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;

View file

@ -1,4 +1,4 @@
package net.artelnatif.nicko.event;
package net.artelnatif.nicko.bukkit.event;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import org.bukkit.entity.Player;

View file

@ -26,7 +26,7 @@ public class CacheDetailledGUI {
private final GUI gui;
public CacheDetailledGUI(Player player) {
final ConcurrentMap<String, Optional<MojangSkin>> skins = NickoBukkit.getInstance().getMojangAPI().getCache().asMap();
final ConcurrentMap<String, Optional<MojangSkin>> skins = NickoBukkit.getInstance().getNicko().getMojangAPI().getCache().asMap();
final List<String> loadedSkins = skins.entrySet().stream()
.filter(entry -> entry.getValue().isPresent())
.map(Map.Entry::getKey)

View file

@ -4,8 +4,8 @@ import de.studiocode.invui.item.ItemProvider;
import de.studiocode.invui.item.builder.ItemBuilder;
import de.studiocode.invui.item.impl.BaseItem;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.i18n.I18N;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.i18n.I18N;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
@ -31,7 +31,7 @@ public class CacheInvalidate extends BaseItem {
if (clickType.isLeftClick() || clickType.isRightClick()) {
event.getView().close();
player.sendMessage(I18N.translate(player, I18NDict.Event.Admin.CACHE_CLEAN));
NickoBukkit.getInstance().getMojangAPI().getCache().invalidateAll();
NickoBukkit.getInstance().getNicko().getMojangAPI().getCache().invalidateAll();
}
}
}

View file

@ -19,7 +19,7 @@ public class CacheOverview extends BaseItem {
@Override
public ItemProvider getItemProvider() {
final ItemBuilder builder = new ItemBuilder(Material.OAK_SIGN);
final LoadingCache<String, Optional<MojangSkin>> cache = NickoBukkit.getInstance().getMojangAPI().getCache();
final LoadingCache<String, Optional<MojangSkin>> cache = NickoBukkit.getInstance().getNicko().getMojangAPI().getCache();
final CacheStats stats = cache.stats();
builder.setDisplayName("§6Skin cache §foverview:");
builder.addLoreLines(

View file

@ -3,9 +3,9 @@ package net.artelnatif.nicko.bukkit.gui.items.main;
import de.studiocode.invui.item.ItemProvider;
import de.studiocode.invui.item.builder.ItemBuilder;
import de.studiocode.invui.item.impl.BaseItem;
import net.artelnatif.nicko.disguise.AppearanceManager;
import net.artelnatif.nicko.i18n.I18N;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.appearance.AppearanceManager;
import net.artelnatif.nicko.bukkit.i18n.I18N;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;

View file

@ -7,7 +7,7 @@ import de.studiocode.invui.item.impl.CycleItem;
import de.studiocode.invui.item.impl.SimpleItem;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.i18n.Locale;
import net.artelnatif.nicko.bukkit.i18n.Locale;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Player;

View file

@ -1,4 +1,4 @@
package net.artelnatif.nicko.i18n;
package net.artelnatif.nicko.bukkit.i18n;
import com.github.jsixface.YamlConfig;
import net.artelnatif.nicko.bukkit.NickoBukkit;

View file

@ -1,4 +1,4 @@
package net.artelnatif.nicko.i18n;
package net.artelnatif.nicko.bukkit.i18n;
public record I18NDict(String key) {
public static class Event {

View file

@ -1,4 +1,4 @@
package net.artelnatif.nicko.i18n;
package net.artelnatif.nicko.bukkit.i18n;
import java.io.Serializable;

View file

@ -1,4 +1,4 @@
package net.artelnatif.nicko.i18n;
package net.artelnatif.nicko.bukkit.i18n;
import com.github.jsixface.YamlConfig;
import de.studiocode.invui.util.IOUtils;

View file

@ -1,4 +1,4 @@
package net.artelnatif.nicko.placeholder;
package net.artelnatif.nicko.bukkit.placeholder;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import net.artelnatif.nicko.bukkit.NickoBukkit;

View file

@ -1,4 +1,4 @@
package net.artelnatif.nicko.placeholder;
package net.artelnatif.nicko.bukkit.placeholder;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import org.bukkit.Bukkit;

View file

@ -1,7 +1,7 @@
package net.artelnatif.nicko.bungee.message;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.i18n.Locale;
import net.artelnatif.nicko.bukkit.i18n.Locale;
import java.io.DataInputStream;
import java.io.IOException;

View file

@ -1,6 +1,6 @@
package net.artelnatif.nicko.disguise;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
public class ActionResult<R> {
private final I18NDict errorMessage;

View file

@ -1,6 +1,6 @@
package net.artelnatif.nicko.disguise;
import net.artelnatif.nicko.i18n.Locale;
import net.artelnatif.nicko.bukkit.i18n.Locale;
public class NickoProfile implements Cloneable {
public static final NickoProfile EMPTY_PROFILE = new NickoProfile(null, null, Locale.ENGLISH, true);

View file

@ -3,7 +3,7 @@ package net.artelnatif.nicko.impl;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.disguise.ActionResult;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
import net.artelnatif.nicko.mojang.MojangAPI;
import net.artelnatif.nicko.mojang.MojangSkin;
import org.bukkit.entity.Player;
@ -22,7 +22,7 @@ public interface Internals {
default ActionResult<MojangSkin> fetchSkinTextures(NickoProfile profile, boolean reset) {
Optional<MojangSkin> skin;
try {
final MojangAPI mojang = NickoBukkit.getInstance().getMojangAPI();
final MojangAPI mojang = NickoBukkit.getInstance().getNicko().getMojangAPI();
final Optional<String> uuid = mojang.getUUID(profile.getSkin());
if (uuid.isPresent()) {
skin = (reset ? mojang.getSkinWithoutCaching(uuid.get()) : mojang.getSkin(uuid.get()));

View file

@ -7,7 +7,7 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.JsonParser;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.Nicko;
import javax.annotation.Nonnull;
import javax.net.ssl.HttpsURLConnection;
@ -36,10 +36,10 @@ public class MojangAPI {
.expireAfterWrite(24, TimeUnit.HOURS)
.build(loader);
private final NickoBukkit instance;
private final Nicko nicko;
public MojangAPI(NickoBukkit instance) {
this.instance = instance;
public MojangAPI(Nicko nicko) {
this.nicko = nicko;
}
public Optional<MojangSkin> getSkin(String uuid) throws IOException, ExecutionException {
@ -78,11 +78,11 @@ public class MojangAPI {
switch (con.getResponseCode()) {
case 400 -> {
instance.getLogger().warning("Failed to parse request: Invalid Name");
nicko.getLogger().warning("Failed to parse request: Invalid Name");
return getErrorObject();
}
case 429 -> {
instance.getLogger().warning("Failed to parse request: The connection is throttled.");
nicko.getLogger().warning("Failed to parse request: The connection is throttled.");
return getErrorObject();
}
case 200 -> {
@ -97,12 +97,12 @@ public class MojangAPI {
final JsonElement jsonElt = JsonParser.parseString(builder.toString());
return jsonElt.getAsJsonObject();
} catch (JsonParseException | IllegalStateException exception) {
instance.getLogger().warning("Failed to parse request (" + parametrizedUrl + ")!");
nicko.getLogger().warning("Failed to parse request (" + parametrizedUrl + ")!");
return getErrorObject();
}
}
default -> {
instance.getLogger().warning("Unhandled response code from Mojang: " + con.getResponseCode());
nicko.getLogger().warning("Unhandled response code from Mojang: " + con.getResponseCode());
return getErrorObject();
}
}

View file

@ -1,12 +1,10 @@
package net.artelnatif.nicko.storage;
import net.artelnatif.nicko.Nicko;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.mojang.MojangUtils;
import net.artelnatif.nicko.storage.json.JSONStorage;
import net.artelnatif.nicko.storage.sql.SQLStorage;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.io.IOException;
@ -16,10 +14,12 @@ import java.util.UUID;
public class PlayerDataStore {
private final Storage storage;
private final Nicko nicko;
private final HashMap<UUID, NickoProfile> profiles = new HashMap<>();
private final HashMap<UUID, String> names = new HashMap<>();
public PlayerDataStore(Nicko nicko) {
this.nicko = nicko;
this.storage = nicko.getConfig().local() ? new JSONStorage(nicko) : new SQLStorage(nicko);
}
@ -41,11 +41,6 @@ public class PlayerDataStore {
names.clear();
}
public void saveAll() {
Bukkit.getOnlinePlayers().forEach(this::saveData);
}
public Optional<NickoProfile> getData(UUID uuid) {
if (storage.isError()) {
return Optional.empty();
@ -70,7 +65,7 @@ public class PlayerDataStore {
}
try {
final Optional<String> uuidTrimmed = NickoBukkit.getInstance().getMojangAPI().getUUID(name);
final Optional<String> uuidTrimmed = nicko.getMojangAPI().getUUID(name);
if (uuidTrimmed.isPresent()) {
final UUID uuid = MojangUtils.fromTrimmed(uuidTrimmed.get());
return getData(uuid);

View file

@ -6,7 +6,7 @@ import net.artelnatif.nicko.Nicko;
import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.disguise.ActionResult;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
import net.artelnatif.nicko.storage.Storage;
import net.artelnatif.nicko.storage.StorageProvider;

View file

@ -3,7 +3,7 @@ package net.artelnatif.nicko.storage.sql;
import net.artelnatif.nicko.Nicko;
import net.artelnatif.nicko.disguise.ActionResult;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.i18n.I18NDict;
import net.artelnatif.nicko.bukkit.i18n.I18NDict;
import net.artelnatif.nicko.storage.Storage;
import java.nio.ByteBuffer;

View file

@ -7,7 +7,7 @@ import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.config.Configuration;
import net.artelnatif.nicko.disguise.ActionResult;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.i18n.Locale;
import net.artelnatif.nicko.bukkit.i18n.Locale;
import org.junit.jupiter.api.*;
public class BrokenSQLTest {

View file

@ -7,7 +7,7 @@ import net.artelnatif.nicko.bukkit.NickoBukkit;
import net.artelnatif.nicko.config.Configuration;
import net.artelnatif.nicko.disguise.ActionResult;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.i18n.Locale;
import net.artelnatif.nicko.bukkit.i18n.Locale;
import org.junit.jupiter.api.*;
public class SQLStorageTest {