BetterTridents/src/main/java/de/jeff_media/bettertridents/Main.java

84 lines
3.1 KiB
Java
Raw Normal View History

2021-05-24 18:39:16 +02:00
package de.jeff_media.bettertridents;
2021-05-24 13:46:25 +02:00
2021-05-24 18:39:16 +02:00
import de.jeff_media.bettertridents.commands.ReloadCommand;
import de.jeff_media.bettertridents.config.Config;
import de.jeff_media.bettertridents.config.ConfigUpdater;
import de.jeff_media.bettertridents.listeners.*;
2021-05-24 13:46:25 +02:00
import de.jeff_media.updatechecker.UpdateChecker;
import de.jeff_media.updatechecker.UserAgentBuilder;
2021-05-24 14:24:44 +02:00
import org.bstats.bukkit.Metrics;
2021-05-24 13:46:25 +02:00
import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.Trident;
import org.bukkit.plugin.java.JavaPlugin;
2021-05-24 18:39:16 +02:00
import java.io.File;
2021-05-24 13:46:25 +02:00
import java.util.ArrayList;
import java.util.UUID;
public class Main extends JavaPlugin {
private static Main instance;
2023-04-01 17:41:47 +02:00
//private final ArrayList<UUID> tridents = new ArrayList<>();
2021-05-24 13:46:25 +02:00
public static NamespacedKey LOYALTY_TAG;
2021-05-24 18:39:16 +02:00
public static NamespacedKey IMPALING_TAG;
public static NamespacedKey OFFHAND_TAG;
2021-05-24 13:46:25 +02:00
public static Main getInstance() {
return instance;
}
2021-05-24 18:39:16 +02:00
private boolean debug = false;
public void debug(String text) {
if(debug) getLogger().warning("[DEBUG] " + text);
}
2021-05-24 13:46:25 +02:00
@Override
public void onEnable() {
instance = this;
LOYALTY_TAG = new NamespacedKey(this, "loyalty");
2021-05-24 18:39:16 +02:00
IMPALING_TAG = new NamespacedKey(this, "impaling");
OFFHAND_TAG = new NamespacedKey(this, "offhand");
2021-05-24 13:46:25 +02:00
reload();
2021-05-24 18:39:16 +02:00
Bukkit.getPluginManager().registerEvents(new DropListener(), this);
Bukkit.getPluginManager().registerEvents(new ImpalingListener(), this);
Bukkit.getPluginManager().registerEvents(new OffhandListener(), this);
Bukkit.getPluginManager().registerEvents(new TridentThrowListener(), this);
Bukkit.getPluginManager().registerEvents(new PortalListener(), this);
2021-05-24 18:39:16 +02:00
getCommand("bettertridents").setExecutor(new ReloadCommand());
2021-05-24 14:31:47 +02:00
@SuppressWarnings("unused") Metrics metrics = new Metrics(this, 11460);
2021-05-24 13:46:25 +02:00
}
public void reload() {
2021-05-24 18:39:16 +02:00
if(!new File(getDataFolder(), "config.yml").exists()) {
saveDefaultConfig();
}
reloadConfig();
2021-05-24 13:46:25 +02:00
new Config();
2021-05-24 18:39:16 +02:00
ConfigUpdater.updateConfig();
2023-04-01 17:41:47 +02:00
UpdateChecker.init(this, "https://api.jeff-media.com/notridentvoid/latest-version.txt")
2021-05-24 13:46:25 +02:00
.setDonationLink("https://paypal.me/mfnalex")
2021-05-24 14:24:44 +02:00
.setDownloadLink(92656)
.setChangelogLink(92656)
2021-05-24 13:46:25 +02:00
.setUserAgent(UserAgentBuilder.getDefaultUserAgent());
if(getConfig().getString(Config.CHECK_FOR_UPDATES).equalsIgnoreCase("true")) {
UpdateChecker.getInstance().checkEveryXHours(getConfig().getDouble(Config.UPDATE_CHECK_INTERVAL))
.checkNow();
} else if(getConfig().getString(Config.CHECK_FOR_UPDATES).equalsIgnoreCase("on-startup")) {
UpdateChecker.getInstance().checkNow();
}
2021-05-24 18:39:16 +02:00
debug = getConfig().getBoolean(Config.DEBUG);
if(debug) {
getLogger().warning("Debug mode enabled - this may affect performance.");
}
2021-05-24 13:46:25 +02:00
}
2023-04-01 17:41:47 +02:00
// public void setLoyal(Trident trident) {
// tridents.add(trident.getUniqueId());
// }
//
// public void removeLoyal(Trident trident) {
// tridents.remove(trident.getUniqueId());
// }
2021-05-24 13:46:25 +02:00
}