mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-02-02 02:11:21 +01:00
Refactored some packages
This commit is contained in:
parent
e3cd172f0e
commit
0d34fb0383
@ -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{
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.willfp.ecoenchants.listeners;
|
||||
package com.willfp.ecoenchants.util.internal;
|
||||
|
||||
import com.willfp.ecoenchants.EcoEnchantsPlugin;
|
||||
import org.bukkit.Material;
|
@ -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("");
|
||||
|
||||
|
@ -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;
|
@ -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;
|
@ -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')
|
||||
|
||||
*/
|
Loading…
Reference in New Issue
Block a user