src/main/java/vpd/bowandaero12/furnacelv/FurnaceLevels.java aktualisiert

This commit is contained in:
2025-11-26 15:43:19 +00:00
parent cd7e5c2987
commit 95fbdbc526

View File

@@ -2,76 +2,73 @@ package vpd.bowandaero12.furnacelv;
import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager; import com.comphenix.protocol.ProtocolManager;
import java.util.logging.Logger;
import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.economy.Economy;
import org.bukkit.command.CommandExecutor;
import org.bukkit.event.Listener;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import vpd.bowandaero12.furnacelv.commands.DebugCmd; import vpd.bowandaero12.furnacelv.commands.DebugCmd;
import vpd.bowandaero12.furnacelv.commands.GiveCommand;
import vpd.bowandaero12.furnacelv.events.FurnaceEvent; import vpd.bowandaero12.furnacelv.events.FurnaceEvent;
import vpd.bowandaero12.furnacelv.items.ItemHandler;
import vpd.bowandaero12.furnacelv.items.LevelMenu;
import vpd.bowandaero12.furnacelv.utils.Configs; import vpd.bowandaero12.furnacelv.utils.Configs;
public class FurnaceLevels extends JavaPlugin { public final class FurnaceLevels extends JavaPlugin {
private static final Logger log = Logger.getLogger("FurnaceLevels");
public ProtocolManager protocolManager;
public ProtocolManager protocolManager; public Economy vaultEco;
public final Configs configs = new Configs(this);
public Economy vaultEco;
// Speichere die Event-Listener-Instanz hier
private final FurnaceEvent furnaceEvent = new FurnaceEvent(this); private FurnaceEvent furnaceEventListener;
public final ItemHandler itemhandler = new ItemHandler(this); @Override
public void onEnable() {
public final LevelMenu lvmenu = new LevelMenu(this); this.configs.createConfigs();
public final Configs configs = new Configs(this); if (getServer().getPluginManager().getPlugin("ProtocolLib") == null) {
getLogger().severe("ProtocolLib wurde nicht gefunden! Das Plugin wird deaktiviert.");
public final DebugCmd debug = new DebugCmd(this); getServer().getPluginManager().disablePlugin(this);
return;
public void onEnable() { }
PluginManager pm = getServer().getPluginManager(); this.protocolManager = ProtocolLibrary.getProtocolManager();
this.protocolManager = ProtocolLibrary.getProtocolManager();
this.configs.createConfigs(); boolean useEco = this.configs.getConfig().getBoolean("use-economy", true);
boolean useEco = true; if (useEco && setupEconomy()) {
if (this.configs.getConfig().isSet("use-economy")) getLogger().info(String.format("[%s] %s wurde erkannt und wird verwendet.", getDescription().getName(), this.vaultEco.getName()));
useEco = this.configs.getConfig().getBoolean("use-economy"); } else {
if (useEco && setupEconomy()) { getLogger().info(String.format("[%s] Verwendet benutzerdefinierte Items für Ofen-Upgrades.", getDescription().getName()));
log.info(String.format("[%s] " + this.vaultEco.getName() + " has been detected and is in use!", new Object[] { getDescription().getName() })); }
} else {
log.info(String.format("[%s] Using custom items for furnace upgrades.", new Object[] { getDescription().getName() })); PluginManager pm = getServer().getPluginManager();
}
pm.registerEvents((Listener)this.furnaceEvent, (Plugin)this); // Erstelle die Instanz und speichere sie
pm.registerEvents((Listener)this.itemhandler, (Plugin)this); this.furnaceEventListener = new FurnaceEvent(this);
pm.registerEvents((Listener)this.lvmenu, (Plugin)this);
getCommand("fldebug").setExecutor((CommandExecutor)this.debug); // Registriere die gespeicherte Instanz
checkVer(getDescription().getVersion()); pm.registerEvents(this.furnaceEventListener, this);
this.itemhandler.registerFurnaces();
this.furnaceEvent.setValues(); getCommand("fldebug").setExecutor(new DebugCmd(this));
} getCommand("flgive").setExecutor(new GiveCommand(this));
public void onDisable() {} // Rufe setValues() auf der korrekten, gespeicherten Instanz auf
this.furnaceEventListener.setValues();
private void checkVer(String ver) {
if (!this.configs.getConfig().isSet("version") || !this.configs.getConfig().getString("version").equals(ver)) { getLogger().info("FurnaceLevels wurde erfolgreich aktiviert!");
log.warning(String.format("[%s] Your configuration file is outdated! Update it by renaming the new config file to config.yml and copying any changed settings.", new Object[] { getDescription().getName() })); }
this.configs.createUpdatedConfig();
} @Override
if (!this.configs.getLang().isSet("version") || !this.configs.getLang().getString("version").equals(ver)) { public void onDisable() {
log.warning(String.format("[%s] Your lang.yml file is outdated! Update it by renaming the new lang file to lang.yml and copying any changed settings.", new Object[] { getDescription().getName() })); getLogger().info("FurnaceLevels wurde deaktiviert.");
this.configs.createUpdatedLang(); }
}
} private boolean setupEconomy() {
if (getServer().getPluginManager().getPlugin("Vault") == null) {
private boolean setupEconomy() { return false;
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class); }
if (rsp == null) RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
return false; if (rsp == null) {
this.vaultEco = (Economy)rsp.getProvider(); return false;
return (this.vaultEco != null); }
} this.vaultEco = rsp.getProvider();
} return (this.vaultEco != null);
}
}