Refactored some packages

This commit is contained in:
Auxilor 2020-12-02 18:32:27 +00:00
parent e3cd172f0e
commit 0d34fb0383
11 changed files with 60 additions and 102 deletions

View File

@ -13,7 +13,7 @@ dependencies {
compileOnly project(':plugin')
compileOnly 'net.Indyuce:MMOCore:1.4.11'
compileOnly 'net.Indyuce:MMOItems:6.4'
compileOnly 'net.Indyuce:MMOLib:1.4.1@jar'
compileOnly 'net.Indyuce:MMOLib:1.5'
}
jar{

View File

@ -1,88 +0,0 @@
package com.willfp.ecoenchants.config;
import com.willfp.ecoenchants.EcoEnchantsPlugin;
import com.willfp.ecoenchants.util.internal.Logger;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public abstract class YamlConfig {
private final String name;
public YamlConfiguration config;
private File configFile;
public YamlConfig(String name) {
this.name = name;
init();
}
private void init() {
if (!new File(EcoEnchantsPlugin.getInstance().getDataFolder(), name + ".yml").exists()) {
createFile();
}
this.configFile = new File(EcoEnchantsPlugin.getInstance().getDataFolder(), name + ".yml");
this.config = YamlConfiguration.loadConfiguration(configFile);
checkVersion();
}
private void createFile() {
EcoEnchantsPlugin.getInstance().saveResource(name + ".yml", false);
}
private void replaceFile() {
EcoEnchantsPlugin.getInstance().saveResource(name + ".yml", true);
}
public void reload() {
try {
this.config.load(this.configFile);
} catch (IOException | InvalidConfigurationException e) {
e.printStackTrace();
Logger.error("§cCould not reload " + name + ".yml - Contact Auxilor.");
}
}
private void checkVersion() {
double latestVersion = ConfigManager.configVersions.get(this.name);
if (latestVersion != config.getDouble("config-version")) {
Logger.warn("EcoEnchants detected an older or invalid " + name + ".yml. Replacing it with the default config...");
Logger.warn("If you've edited the config, copy over your changes!");
performOverwrite();
Logger.info("§aReplacement complete!");
}
}
private void performOverwrite() {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss");
LocalDateTime now = LocalDateTime.now();
String dateTime = dtf.format(now);
try {
File backupDir = new File(EcoEnchantsPlugin.getInstance().getDataFolder(), "backup/");
if(!backupDir.exists()) backupDir.mkdirs();
File oldConf = new File(backupDir, name + "_" + dateTime + ".yml");
oldConf.createNewFile();
FileInputStream fis = new FileInputStream(EcoEnchantsPlugin.getInstance().getDataFolder() + "/" + name + ".yml");
FileOutputStream fos = new FileOutputStream(oldConf);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
fis.close();
fos.close();
replaceFile();
} catch (IOException e) {
e.printStackTrace();
Logger.error("§cCould not update config. Try reinstalling EcoEnchants");
}
}
}

View File

@ -1,6 +1,6 @@
package com.willfp.ecoenchants.config.configs;
import com.willfp.ecoenchants.config.YamlConfig;
import com.willfp.ecoenchants.config.UpdatingYamlConfig;
import java.util.List;
import java.util.Set;
@ -8,9 +8,9 @@ import java.util.Set;
/**
* Wrapper for config.yml
*/
public class Rarity extends YamlConfig {
public class Rarity extends UpdatingYamlConfig {
public Rarity() {
super("rarity");
super("rarity", false);
}
public Set<String> getRarities() {

View File

@ -1,6 +1,6 @@
package com.willfp.ecoenchants.config.configs;
import com.willfp.ecoenchants.config.YamlConfig;
import com.willfp.ecoenchants.config.UpdatingYamlConfig;
import org.bukkit.Material;
import java.util.HashSet;
@ -9,9 +9,9 @@ import java.util.Set;
/**
* Wrapper for config.yml
*/
public class Target extends YamlConfig {
public class Target extends UpdatingYamlConfig {
public Target() {
super("target");
super("target", false);
}
public Set<String> getTargets() {

View File

@ -1,6 +1,7 @@
package com.willfp.ecoenchants.display;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.ListenerPriority;
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.events.PacketEvent;
@ -11,6 +12,11 @@ import java.util.Collections;
public abstract class AbstractPacketAdapter extends PacketAdapter {
private final PacketType type;
protected AbstractPacketAdapter(PacketType type, ListenerPriority priority) {
super(EcoEnchantsPlugin.getInstance(), priority, Collections.singletonList(type));
this.type = type;
}
protected AbstractPacketAdapter(PacketType type) {
super(EcoEnchantsPlugin.getInstance(), Collections.singletonList(type));
this.type = type;

View File

@ -0,0 +1,37 @@
package com.willfp.ecoenchants.display.packets;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.ListenerPriority;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.willfp.ecoenchants.display.AbstractPacketAdapter;
import com.willfp.ecoenchants.util.internal.Logger;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class PacketChat extends AbstractPacketAdapter {
public PacketChat() {
super(PacketType.Play.Server.CHAT, ListenerPriority.MONITOR);
}
@Override
public void onSend(PacketContainer packet) {
for(int i = 0; i < packet.getChatComponents().size(); i++) {
WrappedChatComponent component = packet.getChatComponents().read(i);
String json = component.getJson();
Gson gson = new Gson();
Type objectArrayType = new TypeToken<Object[]>(){}.getType();
Object[] objects = gson.fromJson(json, objectArrayType);
List<Object> objectsList = Arrays.stream(objects).map(Object::toString).collect(Collectors.toList());
Logger.info(objectsList + "");
Logger.info(packet.getChatComponents().read(0)
.getJson());
}
}
}

View File

@ -1,4 +1,4 @@
package com.willfp.ecoenchants.listeners;
package com.willfp.ecoenchants.util.internal;
import com.willfp.ecoenchants.EcoEnchantsPlugin;
import org.bukkit.Material;

View File

@ -9,6 +9,7 @@ import com.willfp.ecoenchants.command.tabcompleters.TabCompleterEnchantinfo;
import com.willfp.ecoenchants.config.ConfigManager;
import com.willfp.ecoenchants.display.EnchantDisplay;
import com.willfp.ecoenchants.display.EnchantmentCache;
import com.willfp.ecoenchants.display.packets.PacketChat;
import com.willfp.ecoenchants.display.packets.PacketOpenWindowMerchant;
import com.willfp.ecoenchants.display.packets.PacketSetCreativeSlot;
import com.willfp.ecoenchants.display.packets.PacketSetSlot;
@ -47,8 +48,6 @@ import com.willfp.ecoenchants.integrations.mcmmo.McmmoManager;
import com.willfp.ecoenchants.integrations.mcmmo.plugins.McmmoIntegrationImpl;
import com.willfp.ecoenchants.integrations.placeholder.PlaceholderManager;
import com.willfp.ecoenchants.integrations.placeholder.plugins.PlaceholderIntegrationPAPI;
import com.willfp.ecoenchants.listeners.ArrowListeners;
import com.willfp.ecoenchants.listeners.PlayerJoinListener;
import com.willfp.ecoenchants.nms.BlockBreak;
import com.willfp.ecoenchants.nms.Cooldown;
import com.willfp.ecoenchants.nms.OpenInventory;
@ -56,6 +55,8 @@ import com.willfp.ecoenchants.nms.RepairCost;
import com.willfp.ecoenchants.nms.TridentStack;
import com.willfp.ecoenchants.util.interfaces.Callable;
import com.willfp.ecoenchants.util.interfaces.EcoRunnable;
import com.willfp.ecoenchants.util.internal.updater.PlayerJoinListener;
import com.willfp.ecoenchants.util.internal.updater.UpdateChecker;
import com.willfp.ecoenchants.util.optional.Prerequisite;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.bstats.bukkit.Metrics;
@ -107,6 +108,7 @@ public class Loader {
new PacketSetCreativeSlot().register();
new PacketSetSlot().register();
new PacketWindowItems().register();
new PacketChat().register();
Logger.info("");

View File

@ -1,8 +1,7 @@
package com.willfp.ecoenchants.listeners;
package com.willfp.ecoenchants.util.internal.updater;
import com.willfp.ecoenchants.EcoEnchantsPlugin;
import com.willfp.ecoenchants.config.ConfigManager;
import com.willfp.ecoenchants.util.internal.UpdateChecker;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

View File

@ -1,4 +1,4 @@
package com.willfp.ecoenchants.util.internal;
package com.willfp.ecoenchants.util.internal.updater;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;

View File

@ -38,6 +38,8 @@ findProject(':SprintArtifacts').projectDir = file('Extensions/SprintArtifacts')
include('Alchemy')
findProject(':Alchemy').projectDir = file('Extensions/Alchemy')
/*
Excluded for extended build times
include('MMO')
findProject(':MMO').projectDir = file('Extensions/MMO')
*/