diff --git a/src/main/java/de/viper/survivalplus/tasks/AutoClearTask.java b/src/main/java/de/viper/survivalplus/tasks/AutoClearTask.java new file mode 100644 index 0000000..4de9503 --- /dev/null +++ b/src/main/java/de/viper/survivalplus/tasks/AutoClearTask.java @@ -0,0 +1,45 @@ +package de.viper.survivalplus.tasks; + +import de.viper.survivalplus.SurvivalPlus; +import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.ChatColor; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.entity.Item; + +public class AutoClearTask implements Runnable { + + private final SurvivalPlus plugin; + + public AutoClearTask(SurvivalPlus plugin) { + this.plugin = plugin; + } + + @Override + public void run() { + FileConfiguration lang = plugin.getLangConfig(); + + // Vorwarnung + String warningMessage = ChatColor.translateAlternateColorCodes('&', + lang.getString("autoclear.warning", "&e&lAchtung! &rIn 10 Sekunden werden alle Items gelöscht!")); + Bukkit.broadcastMessage(warningMessage); + + // Nach 10 Sekunden: Items löschen + Bukkit.getScheduler().runTaskLater(plugin, () -> { + int totalRemoved = 0; + for (World world : Bukkit.getWorlds()) { + for (Item item : world.getEntitiesByClass(Item.class)) { + item.remove(); + totalRemoved++; + } + } + + // Bestätigung + String resultMessage = ChatColor.translateAlternateColorCodes('&', + lang.getString("autoclear.cleared", "&c&l%count% Items wurden automatisch gelöscht.")); + resultMessage = resultMessage.replace("%count%", String.valueOf(totalRemoved)); + Bukkit.broadcastMessage(resultMessage); + + }, 20L * 10); // 10 Sekunden Verzögerung + } +}