Item wird nicht ins Inventar hinzugefügt?

2 Antworten

Probiere mal ein Plugin.inv.updateInventorie() oder so ;)

Probier’s mal mit Plugin.inv.addItem

Wie kann ich in Bukkit Item-Interaktionen überprüfen?

Hallo,

ich programmiere ein Lobby-Plugin für unseren Server. Also wollte ich auch Item-Interaktionen integrieren. Deshalb hab ich mir einige Videos dazu angeguckt und diesen Quellcode entwickelt:

@EventHandler
public void InteractListener(PlayerInteractEvent e) {
Player p = e.getPlayer();
if (e.getAction() == Action.RIGHT_CLICK_BLOCK | e.getAction() == Action.RIGHT_CLICK_AIR) {
if (p.getItemInHand().getType() == Material.SLIME_BALL) {
Bukkit.dispatchCommand(p, "lobby");
}}

Leider funktioniert das alles bei den Youtubern, bei mir jedoch nicht. Könnt ihr mir helfen?

Es ist wirklich wichtig

mfg

Dominik

...zur Frage

[Spigot/Bukkit] Inventar öffnen durch clicken eines Items in einem Inventar?

Hey Leute, Ich bin gerade dabei ein Lobby Plugin zu programmieren und habe mich zum ersten mal mit GUI coden beschäftigt. Bei mir besteht das Problem das ich nicht weiß wie ich ein Inventar öffne, nachdem ich ein Item geclickt habe das in einem selbst erstellten Inventar ist.

...zur Frage

Bukkit Plugin Minecraft KitPvP

Hallo,

Könnt ihr mir sagen wo der Fehler liegt?

import org.bukkit.Material; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.material.Command; import org.bukkit.plugin.java.JavaPlugin;

public class KitPvP extends JavaPlugin{

private Inventory inv=null;



public void onEnable(){

System.out.println("[KitPvP]Plugin gestartet!");

 }
public void onDisable(){

System.out.println("[KitPvP]Plugin gestoppt!");

}


public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    Player p = (Player)sender;
    
    if(cmd.getName().equalsIgnoreCase("invkit"));
        if (p.hasPermission("kit.invkit"));
        
        inv = p.getPlayer().getServer().createInventory(null, 9, "Kits");
        
        ItemStack istack = new ItemStack(Material.BOW);
        ItemMeta istackMeta = istack.getItemMeta();
        istackMeta.setDisplayName("§a§lBogenschütze");
        
        
        ItemStack istack2 = new ItemStack(Material.STONE_SWORD);
        ItemMeta istackMeta2 = istack2.getItemMeta();
        istackMeta2.setDisplayName("§a§lKrieger");
        
        
        ItemStack istack3 = new ItemStack(Material.APPLE);
        ItemMeta istackMeta3 = istack3.getItemMeta();
        istackMeta3.setDisplayName("§a§lEssen");
        
        
        
        inv.setItem(1, istack);
        inv.setItem(4, istack2);
        inv.setItem(7, istack3);
        
        
        p.getPlayer().openInventory(inv);
        
   
    
    return false;
    
}




}

    if(cmd.getName().equalsIgnoreCase("invkit"));
        if (p.hasPermission("kit.invkit"));

dieser part unter dem ---------- wird mir .getName untermalt aber bekomme in der Console keine Fehler Meldungen trozdem Funktioniert es nicht

...zur Frage

Warum geht das Inventar nicht zu?! (Java)

Ich hab ein Problem, welches ist, dass wenn man die Enderchest aufmacht, es wieder geschlossen und ein virtuelles geöffnet werden soll. Allerdings schließt sich das Inventar nicht mit p.closeInventory(); was mache ich falsch? Ich bin ratlos.

ps: Bis zum Virtuellen Inventar bin ich noch nicht gekommen, da können also auch noch Fehler drin sein.

Hier ist der Code: package org.gloin01.test;

import java.util.HashMap; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack;

public class EventListener implements Listener{

public Inventory inv = null;

HashMap<String, ItemStack[]> inventory = new HashMap<>();


public EventListener(TestPlugin plugin){

    plugin.getServer().getPluginManager().registerEvents(this, plugin);

}


@EventHandler
public void onPlayerTot(InventoryOpenEvent ev){

    String inve = ev.getInventory().getName();
    Player p = (Player) ev.getPlayer();
    if(inve == "container.enderchest"){

        p.closeInventory();
        inv = p.getServer().createInventory(null, 54, "§c" + p.getDisplayName() + "'s §2Enderchest");
        p.openInventory(inv);


        inventory.put(p.getName(),p.getInventory().getContents());

    }
}

}

...zur Frage

Bukkit Plugin Programmieren was habe ich falsch gemacht?

Hallo,

Ich hoffe ihr könnt mir helfen, denn der folgende Code buggt leider.

Wenn ich rechtsklick mache und das Item in der Hand Lvl [1] heißt soll der Spieler 50 Level bekommen, und so weiter. Doch manchmal klappt es, und manchmal erst wenn ich tausendmal draufklicke, und manche gar nicht.

    @EventHandler
    public void onSaver(PlayerInteractEvent e) {
        
        Player p = e.getPlayer();
        
        ItemStack dp = p.getItemInHand();
        
        int a = dp.getAmount();
        
        if((e.getAction().equals(Action.RIGHT_CLICK_AIR) || e.getAction().equals(Action.RIGHT_CLICK_BLOCK))){
            if(dp.getType() == Material.DOUBLE_PLANT){
                
                if(dp.getItemMeta().getDisplayName().equals("Lvl [1]")) {
                    
                    p.setLevel(p.getLevel() + a*50);
                    ItemStack i = new ItemStack(Material.AIR, 1);
                    p.getInventory().setItem(p.getInventory().getHeldItemSlot(), i);
                    
                } else if(dp.getItemMeta().getDisplayName().equals("Lvl [2]")) {
                    
                    p.setLevel(p.getLevel() + a*100);
                    ItemStack i = new ItemStack(Material.AIR, 1);
                    p.getInventory().setItem(p.getInventory().getHeldItemSlot(), i);
                    
                } else if(dp.getItemMeta().getDisplayName().equals("Lvl [3]")) {
                    
                    p.setLevel(p.getLevel() + a*150);
                    ItemStack i = new ItemStack(Material.AIR, 1);
                    p.getInventory().setItem(p.getInventory().getHeldItemSlot(), i);
                    
                } else if(dp.getItemMeta().getDisplayName().equals("Lvl [4]]")) {
                    
                    p.setLevel(p.getLevel() + a*200);
                    ItemStack i = new ItemStack(Material.AIR, 1);
                    p.getInventory().setItem(p.getInventory().getHeldItemSlot(), i);
                    
                }
            }
        }
    }

Ich hoffe ihr könnt mir helfen,

Danke für jede hilfreiche Antwort.

...zur Frage

Minecraft spigot - Item Name in einem Inventar umändern?

Ich möchte gerne ein Inv. Menu in Minecraft 1.12.2 mit spigot machen. Ich habe es auch schon fertig nur weis ich nicht wie ich den Namen von einem Item in dem Inventar ändern soll. Kann mir jemand sagen wie ich das hin bekomme? :)

Code vom Inventar welches die Items beinhaltet (Ich möchte den Dirt umbenennen.):

public static Inventory myInventory = Bukkit.createInventory(null, 9, "Menu"); static { myInventory.setItem(0, new ItemStack(Material.DIRT, 1));

myInventory.setItem(8, new ItemStack(Material.GOLD_BLOCK, 1)); }

...zur Frage

Was möchtest Du wissen?