Virtuelles Inventar...

Dieses Thema im Forum "Programmierung" wurde erstellt von Bro4gar, 27. Januar 2015.

  1. Bro4gar
    Offline

    Bro4gar

    Registriert seit:
    3. März 2014
    Beiträge:
    8
    Hallo.
    Ich habe probiert einen Shop zu erstellen. Leider wird das Inventar, dass ich erstellt habe, nicht angezeigt.

    Code (Text):
    1.  
    2. package pxl.MeinName.DungeonRunner;
    3.  
    4. import org.bukkit.Bukkit;
    5. import org.bukkit.Material;
    6. import org.bukkit.block.Sign;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.block.Action;
    11. import org.bukkit.event.player.PlayerInteractEvent;
    12. import org.bukkit.inventory.Inventory;
    13. import org.bukkit.inventory.ItemStack;
    14. import org.bukkit.inventory.meta.ItemMeta;
    15.  
    16. public class Shop implements Listener {
    17.  
    18.     private DungeonRunner plugin;
    19.  
    20.  
    21.     public Shop(DungeonRunner dungeonRunner) {
    22.         this.plugin = dungeonRunner;
    23.         this.plugin.getServer().getPluginManager().registerEvents(this, plugin);
    24.     }
    25.    
    26.    
    27.     @EventHandler
    28.     public void DRS(PlayerInteractEvent e){
    29.         Player p = e.getPlayer();
    30.         if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
    31.             if(e.getClickedBlock().getState() instanceof Sign){
    32.                 Sign s =(Sign) e.getClickedBlock().getState();
    33.                 if(s.getLine(1).equalsIgnoreCase("§5Dungeon Shop")){
    34.                     Inventory Weapon = Bukkit.createInventory(null, 9, "§2§o§lWaffen-Shop");
    35.                     ItemStack WeaponStack = new ItemStack(Material.LEATHER_CHESTPLATE);
    36.                     ItemMeta WeaponMeta = WeaponStack.getItemMeta();
    37.                     WeaponMeta.setDisplayName("Level" + plugin.getConfig().getString("DungeonRunner.Players." + p.getName() + ".inventory.Sword.Upgrade") + "15 Taler");
    38.                     Weapon.setItem(0, WeaponStack);
    39.                    
    40.                     e.setCancelled(true);
    41.                     p.getPlayer().openInventory(Weapon);
    42.                 }
    43.             }
    44.         }  
    45.     }  
    46.    
    47. }
    48.  
    Diese Class gehört übrigens zu einem größerem Plugin.
    Was mache ich falsch?
     
    #1
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Erst einmal kannst du statt p.getPlayer().openInventory(Weapon); p.openInventory(Weapon); nutzen und ich würde vermuten das irgendein boolean false liefert, wenn kein Fehler in der Konsole ist.
     
    #2
  3. Bro4gar
    Offline

    Bro4gar

    Registriert seit:
    3. März 2014
    Beiträge:
    8
    Danke für den Tipp :) Ich habe das Problem gefunden. Es lag an einer Class.
    Warum wird der DisplayName vom Item nicht angezeigt?
     
    #3
  4. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    Weapon.setItemMeta(WeaponMeta);
     
    #4
    Bro4gar gefällt das.
  5. Bro4gar
    Offline

    Bro4gar

    Registriert seit:
    3. März 2014
    Beiträge:
    8
    Danke
     
    #5