src/main/java/de/viper/survivalplus/SurvivalPlus.java aktualisiert

This commit is contained in:
2025-08-06 17:59:39 +00:00
parent 8ebbe282cc
commit 133243abea

View File

@@ -60,117 +60,120 @@ public class SurvivalPlus extends JavaPlugin {
private SitListener sitListener; private SitListener sitListener;
private PlayerJoinListener playerJoinListener; private PlayerJoinListener playerJoinListener;
@Override @Override
public void onEnable() { public void onEnable() {
updateConfigFiles(); // Config-Dateien aktualisieren updateConfigFiles(); // Config-Dateien aktualisieren
createHomesFile(); createHomesFile();
createGravesFile(); createGravesFile();
createBackpackFile(); createBackpackFile();
createFriendsFile(); createFriendsFile();
createLeashesFile(); createLeashesFile();
createMobCapFile(); createMobCapFile();
// PluginManager holen // PluginManager holen
PluginManager pluginManager = getServer().getPluginManager(); PluginManager pluginManager = getServer().getPluginManager();
// FriendCommand instanzieren // FriendCommand instanzieren
FriendCommand friendCommand = new FriendCommand(this, friendsConfig, langConfig, getLogger()); FriendCommand friendCommand = new FriendCommand(this, friendsConfig, langConfig, getLogger());
// StatsManager vor den Listenern initialisieren // StatsManager vor den Listenern initialisieren
statsManager = new StatsManager(this); statsManager = new StatsManager(this);
// Commands registrieren // Listener initialisieren (sitListener zuerst!)
getCommand("gm").setExecutor(new GamemodeCommand(this)); sitListener = new SitListener(this);
getCommand("sp").setExecutor(new PluginCommand(this)); afkListener = new AFKListener(this);
getCommand("sethome").setExecutor(new HomeCommand(this)); graveListener = new GraveListener(this);
getCommand("delhome").setExecutor(new HomeCommand(this)); playerJoinListener = new PlayerJoinListener(friendCommand);
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));
// BlockManager erstellen // Commands registrieren
BlockManager blockManager = new BlockManager(); 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 TeleportCommands teleportCommands = new TeleportCommands(this);
FileConfiguration config = getConfig(); getCommand("tp").setExecutor(teleportCommands);
getCommand("tphere").setExecutor(teleportCommands);
getCommand("tpa").setExecutor(teleportCommands);
getCommand("tpaccept").setExecutor(teleportCommands);
getCommand("tpdeny").setExecutor(teleportCommands);
// Listener registrieren getCommand("kit").setExecutor(new KitCommand(this));
BackpackRecipe.register(this, langConfig);
sitListener = new SitListener(this); // BlockManager erstellen
afkListener = new AFKListener(this); BlockManager blockManager = new BlockManager();
graveListener = new GraveListener(this);
playerJoinListener = new PlayerJoinListener(friendCommand);
pluginManager.registerEvents(new ChatBlockListener(blockManager), this); // Konfiguration laden
pluginManager.registerEvents(new InventoryClickListener(this), this); FileConfiguration config = getConfig();
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);
// Befehle mit BlockManager und Konfiguration registrieren // Listener registrieren
getCommand("block").setExecutor(new BlockCommand(blockManager, config)); BackpackRecipe.register(this, langConfig);
getCommand("blocklist").setExecutor(new BlockListCommand(blockManager, config));
getCommand("unblock").setExecutor(new UnblockCommand(blockManager, config));
// Stats-Befehl pluginManager.registerEvents(new ChatBlockListener(blockManager), this);
getCommand("stats").setExecutor(new StatsCommand(this, statsManager)); 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); // Befehle mit BlockManager und Konfiguration registrieren
pluginManager.registerEvents(sleepListener, this); 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); // Stats-Befehl registrieren
pluginManager.registerEvents(oreAlarmListener, this); getCommand("stats").setExecutor(new StatsCommand(this, statsManager));
mobLeashLimitListener = new MobLeashLimitListener(this, getConfig()); sleepListener = new SleepListener(this);
pluginManager.registerEvents(mobLeashLimitListener, this); pluginManager.registerEvents(sleepListener, this);
mobCapListener = new MobCapListener(this, getConfig()); oreAlarmListener = new OreAlarmListener(this);
pluginManager.registerEvents(mobCapListener, this); pluginManager.registerEvents(oreAlarmListener, this);
spawnProtectionListener = new SpawnProtectionListener(this); mobLeashLimitListener = new MobLeashLimitListener(this, getConfig());
pluginManager.registerEvents(spawnProtectionListener, this); pluginManager.registerEvents(mobLeashLimitListener, this);
LockSystem lockSystem = new LockSystem(this); mobCapListener = new MobCapListener(this, getConfig());
pluginManager.registerEvents(lockSystem, this); pluginManager.registerEvents(mobCapListener, this);
getCommand("lock").setExecutor(lockSystem);
// AutoClear Task starten spawnProtectionListener = new SpawnProtectionListener(this);
startAutoClearTask(); pluginManager.registerEvents(spawnProtectionListener, this);
// Beispiel ArmorStand LockSystem lockSystem = new LockSystem(this);
spawnArmorStandExample(); 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() { private void spawnArmorStandExample() {
World world = Bukkit.getWorld("world"); World world = Bukkit.getWorld("world");