Spigot Plugin

SchatzjagdPlugin

Paper Plugin für Version Minecraft 26.2. Bei dem ich per Kommand Starten kann. dass alle so und so viele sekunden (mit kommand einstellbar) eine Truhe erstellt wird, die von ein Paar Skeletten mit Rüstung beschutzt wird. koordinaten kommen dann in chat. radius wo das ganze sein soll ist so 4000 blöcke um einen random spieler herum. 4 Seltenheitsstufen. Aufteilung Prozent ist 40 30 20 10 . Namen kannst du selbst aussuchen. keine zu op sachen, sonden so mittel also kann schon mal bei den besseren was gutes drinn sein, so dass es sich lohnt das ganze zu holen. aber in den Besten 2 sollen auch

Read the full description

neue items sein wie schwert das Schärfe 7 und alle anderen verzauberungen hat die man so braucht oder andere items wie tnt armbrust oder so. Da soll dann aber in der kiste nur das drinnen sein. am besten kann ich auch etwas einstellen was raus kommt. Gerne auch neue items einfallen lassen für die besten 2 kisten

src/main/java/eu/codexe/schatzjagd/SchatzjagdPlugin.java
package eu.codexe.schatzjagd;

import eu.codexe.schatzjagd.commands.SchatzjagdCommand;
import eu.codexe.schatzjagd.listeners.ChestProtectionListener;
import eu.codexe.schatzjagd.listeners.PlayerJoinListener;
import eu.codexe.schatzjagd.listeners.SkeletonGuardListener;
import eu.codexe.schatzjagd.managers.ChestManager;
import eu.codexe.schatzjagd.managers.ConfigManager;
import eu.codexe.schatzjagd.managers.LootManager;
import eu.codexe.schatzjagd.managers.SupplyDropManager;
import eu.codexe.schatzjagd.storage.StorageManager;
import eu.codexe.schatzjagd.storage.YamlStorage;
import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.Objects;

public final class SchatzjagdPlugin extends JavaPlugin {

    private ConfigManager configManager;
    private StorageManager storageManager;
    private LootManager lootManager;
    private ChestManager chestManager;
    private SupplyDropManager supplyDropManager;

    @Override
    public void onEnable() {
        saveDefaultConfig();

        this.configManager = new ConfigManager(this);
        this.storageManager = new YamlStorage(this);
        this.lootManager = new LootManager(this, configManager);
        this.chestManager = new ChestManager(this, configManager, lootManager, storageManager);
        this.supplyDropManager = new SupplyDropManager(this, configManager, chestManager);

        this.storageManager.load();

        registerCommands();
        registerListeners();

        if (configManager.isAutoSpawnEnabled() && configManager.isSpawnOnStart()) {
            getLogger().info("Auto-Spawn ist aktiv, starte Schatzjagd...");
            supplyDropManager.start();
        } else {
            getLogger().info("Auto-Spawn ist deaktiviert oder spawn-on-start ist false.");
        }

        getLogger().info("SchatzjagdPlugin wurde aktiviert.");
    }

    @Override
    public void onDisable() {
        if (supplyDropManager != null) {
            supplyDropManager.stop();
        }
        if (storageManager != null) {
            storageManager.save();
        }
        getLogger().info("SchatzjagdPlugin wurde deaktiviert.");
    }