• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Java Inventar öffnet sich nicht

Blackiiiii

Kuhfänger
Mitglied seit
31 Oktober 2019
Beiträge
54
Diamanten
53
Minecraft
Blackiiiii
Schönen guten Abend,

ich hab momentan Probleme mit einem Plugin. Und zwar öffnet er das Inventar nicht beim eingeben von /kit.

Hab ich da was vergessen?

Java:
package de.philun.playerkitsurvivallife;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.ArrayList;

public final class PlayerKitSurvivalLife extends JavaPlugin implements CommandExecutor {

    @Override
    public void onEnable() {
        this.getLogger().info("Starter Kit für Survival-Life.eu geladen");
        getCommand("kit").setExecutor(this);

    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(sender instanceof Player) {
            if(command.getName().equalsIgnoreCase("kit")) {
                if(sender.hasPermission("kits.use")) {
                    Inventory inv = Bukkit.createInventory(null,9, ChatColor.DARK_RED+"["+ChatColor.DARK_GREEN+"Survival-Life"+ChatColor.DARK_RED+"] "+ChatColor.GOLD+"Starter Kit");
                    ItemStack item1 = new ItemStack(Material.WOODEN_AXE);
                    ItemStack item2 = new ItemStack(Material.WOODEN_PICKAXE);
                    ItemStack item3 = new ItemStack(Material.STONE_SWORD);
                    ItemStack item4 = new ItemStack(Material.APPLE);
                    ItemStack item5 = new ItemStack(Material.LEATHER_HELMET);
                    ItemStack item6 = new ItemStack(Material.LEATHER_CHESTPLATE);
                    ItemStack item7 = new ItemStack(Material.LEATHER_LEGGINGS);
                    ItemStack item8 = new ItemStack(Material.LEATHER_BOOTS);
                    ItemStack item9 = new ItemStack(Material.WOODEN_SHOVEL);

                    ArrayList<String> Lore = new ArrayList<>();
                    Lore.add(ChatColor.GOLD+"Inhalt des Starter-Kits");
                    Lore.add(ChatColor.GOLD+"Survival-Life.eu");

                    item1.setLore(Lore);
                    item2.setLore(Lore);
                    item3.setLore(Lore);
                    item4.setLore(Lore);
                    item5.setLore(Lore);
                    item6.setLore(Lore);
                    item7.setLore(Lore);
                    item8.setLore(Lore);
                    item9.setLore(Lore);

                    item4.setAmount(32);

                    inv.addItem(item3);
                    inv.addItem(item1);
                    inv.addItem(item2);
                    inv.addItem(item9);
                    inv.addItem(item4);
                    inv.addItem(item5);
                    inv.addItem(item6);
                    inv.addItem(item7);
                    inv.addItem(item8);
                    sender.sendMessage(ChatColor.DARK_RED+"["+ChatColor.DARK_GREEN+"Survival-Life"+ChatColor.DARK_RED+"] "+ChatColor.GOLD+"Kit-Menü geöffnet!");
                    HumanEntity pl = (HumanEntity) sender;
                    pl.openInventory(inv);



                } else {
                    sender.sendMessage(ChatColor.DARK_RED+"Du hast keine Rechte diesen Befehl auszuführen!");
                }
            }
        } else {
            sender.sendMessage(ChatColor.DARK_RED+"Befehl kann nur von einem Spieler ausgeführt werden!");
        }


        return true;
    }

    @Override
    public void onDisable() {
        this.getLogger().info("Starter Kit deaktiviert");
    }
}
 

Malfrador

Threadripper
Mitglied seit
16 Juni 2013
Beiträge
1.389
Diamanten
201
Minecraft
Malfrador
Hab deinen Code kopiert, eine passende plugin.yml mit dem "kit"-Befehl erstellt und - funktioniert einwandfrei. 1.16.3, Paper Build 250.
Ich würde einfach darauf tippen, das du eventuell die Plugin.yml vergessen hast.

Btw, ein Hinweis: Lass so Nachrichten wie "Starter kit deaktiviert" oder "Starter kit geladen" weg. Der Server gibt selbstständig bereits Nachrichten aus, wenn ein Plugin aktiviert wird, und das nochmal extra zu machen spammt unnötig das Log voll.
 

Blackiiiii

Kuhfänger
Mitglied seit
31 Oktober 2019
Beiträge
54
Diamanten
53
Minecraft
Blackiiiii
Bei mir lokal auf dem Server geht es auch... Aber auf dem Server öffnet es sich nie...
Kann mir leider nicht erklären woran es liegen kann, Essentials ist ja das einzige Plugin was Kits implementiert hat. Und diese hab ich halt deaktiviert...
 

Malfrador

Threadripper
Mitglied seit
16 Juni 2013
Beiträge
1.389
Diamanten
201
Minecraft
Malfrador
Hast du den /kit-Befehl auch in disabled-commands in der Essentials-Config eingetragen? Und klappt es, wenn du Essentials entfernst?
Ansonsten, das Plugin das den Befehl zuletzt registriert, gewinnt. Du könntest also die Registrierung des Befehls etwas verspätet ausführen (z.B. mit einem Scheduler). Das ist allerdings nur in Ordnung, wenn es wirklich nur um einen Befehl geht, sonst wird das schnell unschön. Eine alternative Möglichkeit wäre, Essentials unter soft-depend in deiner plugin.yml einzutragen. Dann wird Essentials vorher geladen und dein Plugin danach, das sollte den gleichen Effekt haben.

Optimal ist aber natürlich, wenn disabled-commands funktioniert. Die anderen beiden Lösungen sind im besten Fall unschön, im schlechtesten Fall schädlich.
 
Oben