diff --git a/src/main/java/de/viper/survivalplus/SurvivalPlus.java b/src/main/java/de/viper/survivalplus/SurvivalPlus.java index 928fa84..2883faa 100644 --- a/src/main/java/de/viper/survivalplus/SurvivalPlus.java +++ b/src/main/java/de/viper/survivalplus/SurvivalPlus.java @@ -60,117 +60,120 @@ public class SurvivalPlus extends JavaPlugin { private SitListener sitListener; private PlayerJoinListener playerJoinListener; - @Override - public void onEnable() { - updateConfigFiles(); // Config-Dateien aktualisieren - createHomesFile(); - createGravesFile(); - createBackpackFile(); - createFriendsFile(); - createLeashesFile(); - createMobCapFile(); +@Override +public void onEnable() { + updateConfigFiles(); // Config-Dateien aktualisieren + createHomesFile(); + createGravesFile(); + createBackpackFile(); + createFriendsFile(); + createLeashesFile(); + createMobCapFile(); - // PluginManager holen - PluginManager pluginManager = getServer().getPluginManager(); + // PluginManager holen + PluginManager pluginManager = getServer().getPluginManager(); - // FriendCommand instanzieren - FriendCommand friendCommand = new FriendCommand(this, friendsConfig, langConfig, getLogger()); + // FriendCommand instanzieren + FriendCommand friendCommand = new FriendCommand(this, friendsConfig, langConfig, getLogger()); - // StatsManager vor den Listenern initialisieren - statsManager = new StatsManager(this); + // StatsManager vor den Listenern initialisieren + statsManager = new StatsManager(this); - // Commands registrieren - getCommand("gm").setExecutor(new GamemodeCommand(this)); - getCommand("sp").setExecutor(new PluginCommand(this)); - getCommand("sethome").setExecutor(new HomeCommand(this)); - getCommand("delhome").setExecutor(new HomeCommand(this)); - getCommand("homelist").setExecutor(new HomeCommand(this)); - getCommand("inv").setExecutor(new InventoryCommand(this)); - getCommand("ec").setExecutor(new EnderchestCommand(this)); - getCommand("setspawn").setExecutor(new SetSpawnCommand(this)); - getCommand("setworldspawn").setExecutor(new SetWorldSpawnCommand(this)); - getCommand("clearchat").setExecutor(new ClearChatCommand()); - getCommand("clearitems").setExecutor(new ClearItemsCommand(this)); - getCommand("closedoors").setExecutor(new CloseDoorsCommand(this)); - getCommand("sit").setExecutor(new SitCommand(this, sitListener)); - getCommand("back").setExecutor(new BackCommand(this)); - getCommand("friend").setExecutor(friendCommand); - getCommand("ir").setExecutor(new ItemRenameCommand(this)); - getCommand("showarmorstands").setExecutor(new ShowArmorStandsCommand(this)); - getCommand("cleardebugarmorstands").setExecutor(new ClearDebugArmorStandsCommand(this)); - getCommand("trash").setExecutor(new TrashCommand()); - getCommand("workbench").setExecutor(new WorkbenchCommand()); - getCommand("anvil").setExecutor(new AnvilCommand()); - TeleportCommands teleportCommands = new TeleportCommands(this); - getCommand("tp").setExecutor(teleportCommands); - getCommand("tphere").setExecutor(teleportCommands); - getCommand("tpa").setExecutor(teleportCommands); - getCommand("tpaccept").setExecutor(teleportCommands); - getCommand("tpdeny").setExecutor(teleportCommands); - getCommand("kit").setExecutor(new KitCommand(this)); + // Listener initialisieren (sitListener zuerst!) + sitListener = new SitListener(this); + afkListener = new AFKListener(this); + graveListener = new GraveListener(this); + playerJoinListener = new PlayerJoinListener(friendCommand); - // BlockManager erstellen - BlockManager blockManager = new BlockManager(); + // Commands registrieren + getCommand("gm").setExecutor(new GamemodeCommand(this)); + getCommand("sp").setExecutor(new PluginCommand(this)); + getCommand("sethome").setExecutor(new HomeCommand(this)); + getCommand("delhome").setExecutor(new HomeCommand(this)); + getCommand("homelist").setExecutor(new HomeCommand(this)); + getCommand("inv").setExecutor(new InventoryCommand(this)); + getCommand("ec").setExecutor(new EnderchestCommand(this)); + getCommand("setspawn").setExecutor(new SetSpawnCommand(this)); + getCommand("setworldspawn").setExecutor(new SetWorldSpawnCommand(this)); + getCommand("clearchat").setExecutor(new ClearChatCommand()); + getCommand("clearitems").setExecutor(new ClearItemsCommand(this)); + getCommand("closedoors").setExecutor(new CloseDoorsCommand(this)); + getCommand("sit").setExecutor(new SitCommand(this, sitListener)); + getCommand("back").setExecutor(new BackCommand(this)); + getCommand("friend").setExecutor(friendCommand); + getCommand("ir").setExecutor(new ItemRenameCommand(this)); + getCommand("showarmorstands").setExecutor(new ShowArmorStandsCommand(this)); + getCommand("cleardebugarmorstands").setExecutor(new ClearDebugArmorStandsCommand(this)); + getCommand("trash").setExecutor(new TrashCommand()); + getCommand("workbench").setExecutor(new WorkbenchCommand()); + getCommand("anvil").setExecutor(new AnvilCommand()); - // Konfiguration laden - FileConfiguration config = getConfig(); + TeleportCommands teleportCommands = new TeleportCommands(this); + getCommand("tp").setExecutor(teleportCommands); + getCommand("tphere").setExecutor(teleportCommands); + getCommand("tpa").setExecutor(teleportCommands); + getCommand("tpaccept").setExecutor(teleportCommands); + getCommand("tpdeny").setExecutor(teleportCommands); - // Listener registrieren - BackpackRecipe.register(this, langConfig); + getCommand("kit").setExecutor(new KitCommand(this)); - sitListener = new SitListener(this); - afkListener = new AFKListener(this); - graveListener = new GraveListener(this); - playerJoinListener = new PlayerJoinListener(friendCommand); + // BlockManager erstellen + BlockManager blockManager = new BlockManager(); - pluginManager.registerEvents(new ChatBlockListener(blockManager), this); - pluginManager.registerEvents(new InventoryClickListener(this), this); - pluginManager.registerEvents(sitListener, this); - pluginManager.registerEvents(afkListener, this); - pluginManager.registerEvents(graveListener, this); - pluginManager.registerEvents(new BackpackListener(backpackConfig, langConfig, getLogger(), backpackFile), this); - pluginManager.registerEvents(new StatsListener(this, statsManager), this); - pluginManager.registerEvents(new LoginListener(this), this); - pluginManager.registerEvents(new DebugArmorStandListener(), this); - pluginManager.registerEvents(new ArmorStandDestroyListener(), this); - pluginManager.registerEvents(new FirstJoinListener(), this); - pluginManager.registerEvents(playerJoinListener, this); + // Konfiguration laden + FileConfiguration config = getConfig(); - // Befehle mit BlockManager und Konfiguration registrieren - getCommand("block").setExecutor(new BlockCommand(blockManager, config)); - getCommand("blocklist").setExecutor(new BlockListCommand(blockManager, config)); - getCommand("unblock").setExecutor(new UnblockCommand(blockManager, config)); + // Listener registrieren + BackpackRecipe.register(this, langConfig); - // Stats-Befehl - getCommand("stats").setExecutor(new StatsCommand(this, statsManager)); + pluginManager.registerEvents(new ChatBlockListener(blockManager), this); + pluginManager.registerEvents(new InventoryClickListener(this), this); + pluginManager.registerEvents(sitListener, this); + pluginManager.registerEvents(afkListener, this); + pluginManager.registerEvents(graveListener, this); + pluginManager.registerEvents(new BackpackListener(backpackConfig, langConfig, getLogger(), backpackFile), this); + pluginManager.registerEvents(new StatsListener(this, statsManager), this); + pluginManager.registerEvents(new LoginListener(this), this); + pluginManager.registerEvents(new DebugArmorStandListener(), this); + pluginManager.registerEvents(new ArmorStandDestroyListener(), this); + pluginManager.registerEvents(new FirstJoinListener(), this); + pluginManager.registerEvents(playerJoinListener, this); - sleepListener = new SleepListener(this); - pluginManager.registerEvents(sleepListener, this); + // Befehle mit BlockManager und Konfiguration registrieren + getCommand("block").setExecutor(new BlockCommand(blockManager, config)); + getCommand("blocklist").setExecutor(new BlockListCommand(blockManager, config)); + getCommand("unblock").setExecutor(new UnblockCommand(blockManager, config)); - oreAlarmListener = new OreAlarmListener(this); - pluginManager.registerEvents(oreAlarmListener, this); + // Stats-Befehl registrieren + getCommand("stats").setExecutor(new StatsCommand(this, statsManager)); - mobLeashLimitListener = new MobLeashLimitListener(this, getConfig()); - pluginManager.registerEvents(mobLeashLimitListener, this); + sleepListener = new SleepListener(this); + pluginManager.registerEvents(sleepListener, this); - mobCapListener = new MobCapListener(this, getConfig()); - pluginManager.registerEvents(mobCapListener, this); + oreAlarmListener = new OreAlarmListener(this); + pluginManager.registerEvents(oreAlarmListener, this); - spawnProtectionListener = new SpawnProtectionListener(this); - pluginManager.registerEvents(spawnProtectionListener, this); + mobLeashLimitListener = new MobLeashLimitListener(this, getConfig()); + pluginManager.registerEvents(mobLeashLimitListener, this); - LockSystem lockSystem = new LockSystem(this); - pluginManager.registerEvents(lockSystem, this); - getCommand("lock").setExecutor(lockSystem); + mobCapListener = new MobCapListener(this, getConfig()); + pluginManager.registerEvents(mobCapListener, this); - // AutoClear Task starten - startAutoClearTask(); + spawnProtectionListener = new SpawnProtectionListener(this); + pluginManager.registerEvents(spawnProtectionListener, this); - // Beispiel ArmorStand - spawnArmorStandExample(); + LockSystem lockSystem = new LockSystem(this); + pluginManager.registerEvents(lockSystem, this); + getCommand("lock").setExecutor(lockSystem); - getLogger().info(getMessage("plugin.enabled")); - } + // AutoClear Task starten + startAutoClearTask(); + + // Beispiel ArmorStand spawnen + spawnArmorStandExample(); + + getLogger().info(getMessage("plugin.enabled")); +} private void spawnArmorStandExample() { World world = Bukkit.getWorld("world");