1. 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!

PlugIn Inventar überprüfen

Dieses Thema im Forum "Programmierung" wurde erstellt von delta242, 9. Dezember 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.

  1. delta242
    Offline

    delta242

    Registriert seit:
    28. Mai 2012
    Beiträge:
    90
    Hey,
    bin zurzeit dabei, ein für unseren Server optimiertes Mobarena Plugin zu schreiben. Alles funktioniert bestens, doch an einer recht einfachen Sache scheitert es gerade:
    Ich würde es gerne so machen, dass man nur in die Arena joinen kann, sobald man nichts mehr im Inventar hat. Also so etwas in der Art:
    Code (Text):
    1.  
    2. ...
    3. if (player.getInventory() == null) {
    4. //Mobarena joinen...
    5. }
    6. ...
    7.  
    Aber logischerweise funzt das nicht. Hat jemand eine Idee, wie das geht?
    MfG
    delta242

    PS: Ich bin mir im klaren, dass das Plugin "Mobarena" ja sooo viel besser ist und es doch vieeel sinnvoller wäre, wenn ich das nutzen würde. Tu ich aber nicht. Ich würde gerne wissen, wie ich das oben beschriebene Problem lösen kann.
     
  2. Code (Text):
    1. if(player.getInventory().firstEmpty() == -1){
    2. //Empty
    3. }
    4.  
    Sollte dir helfen.
     
  3. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    332
    Geschlecht:
    männlich
    Minecraft:
    MrFlieder
    Probier mal soetwas in der Art, musst du ggf. anpassen:
    Code (Text):
    1.  
    2. if(p.getInventory().getContents() == null)
    3. {
    4.     // Das Inventar des Spielers ist leer
    5. } else {
    6.     p.sendMessage("Dein Inventar muss leer sein!");
    7. }
    8.  
     
  4. delta242
    Offline

    delta242

    Registriert seit:
    28. Mai 2012
    Beiträge:
    90
    getContents() kann man nicht mit null vergleichen, da egal, was im Inv drin ist, dann so ein bescheuerter Text ausgespuckt wird. (So in dem Sinn: ItemStack898342d89df)
    Und firstEmty vergleicht nur den ersten Slot, da ist es entweder 1 oder 0. Was die -1 da zu bedeuten hat, frag ich mich :)
    Geht beides also nicht, weitere Vorschläge?
     
  5. Oh stimmt meine Schuld, war ja genau das gegenteil.

    Dieser Code funktioniert auch:

    public static boolean isEmpty(Inventory inv){
    Code (Text):
    1. [COLOR=#141414][FONT=Consolas][I]for(ItemStack stack : inv.getContents()){
    2.   if(stack==null || stack == Material.AIR){
    3.    return false
    4.   }
    5.  }
    6. return true
    7. }[/I][/FONT][/COLOR]
     
Status des Themas:
Es sind keine weiteren Antworten möglich.