ServerPlugin Inventory Fehler

Dieses Thema im Forum "Programmierung" wurde erstellt von Payno4, 26. Juli 2015.

  1. Payno4
    Offline

    Payno4

    Registriert seit:
    12. Februar 2015
    Beiträge:
    117
    Hei Community ,

    ich habe ein kleines Problem , bei dem ich nicht mehr weiterkomme. Ich habe ein InventoryClickEvent erstellt (siehe Code) und dann auf ein Item den Befehl openInventory(...) gelegt. Nun das geht noch alles aber wenn ich jetzt ins zweite Inventory komme (im Spiel) , und dann ein Item daraus nehme , funktioniert das auch , obwohl im Code drinnen steht , dass dies nicht der Fall sein darf. Aber wenn ich gesondert über einen Command in das zweite Inventory rein gehe , dann funktioniert alles einbahnfrei .
    Wie schaffe ich ,dass das Problem gelöst wird ?


    Code :
    Code (Text):
    1.  
    2.     @EventHandler
    3.  
    4.     publicvoidonIClick(InventoryClickEvente){
    5.  
    6.         Player p =(Player)e.getWhoClicked();
    7.  
    8.         Inventory invpar = inventorys.invs.invpar;
    9.  
    10.         Inventory invmain = inventorys.invs.invmain;
    11.  
    12.  
    13.  
    14.        
    15.  
    16.         //Particle Inventory
    17.  
    18.         if(e.getInventory().getTitle()== invpar.getTitle()){
    19.  
    20.             if(e.getSlot()==11){
    21.  
    22.                 e.setCancelled(true);
    23.  
    24.                 invpar.setItem(12, new ItemStack(Material.CLAY_BALL));
    25.  
    26.                 invpar.setItem(13, new ItemStack(Material.CLAY_BALL));
    27.  
    28.                 invpar.setItem(14, new ItemStack(Material.CLAY_BALL));
    29.  
    30.                 invpar.setItem(15, new ItemStack(Material.CLAY_BALL));
    31.  
    32.                 invpar.setItem(11, new ItemStack(Material.BOOK));
    33.  
    34.                 invpar.setItem(17, new ItemStack(Material.DIAMOND));
    35.  
    36.  
    37.  
    38.             }
    39.  
    40.             if(e.getSlot()==12){
    41.  
    42.                 e.setCancelled(true);
    43.  
    44.                 invpar.setItem(11, new ItemStack(Material.CLAY_BALL));
    45.  
    46.                 invpar.setItem(13, new ItemStack(Material.CLAY_BALL));
    47.  
    48.                 invpar.setItem(14, new ItemStack(Material.CLAY_BALL));
    49.  
    50.                 invpar.setItem(15, new ItemStack(Material.CLAY_BALL));
    51.  
    52.                 invpar.setItem(12, new ItemStack(Material.BOOK));
    53.  
    54.                 invpar.setItem(17, new ItemStack(Material.DIAMOND));
    55.  
    56.  
    57.  
    58.             }
    59.  
    60.             if(e.getSlot()==13){
    61.  
    62.                 e.setCancelled(true);
    63.  
    64.                 invpar.setItem(12, new ItemStack(Material.CLAY_BALL));
    65.  
    66.                 invpar.setItem(11, new ItemStack(Material.CLAY_BALL));
    67.  
    68.                 invpar.setItem(14, new ItemStack(Material.CLAY_BALL));
    69.  
    70.                 invpar.setItem(15, new ItemStack(Material.CLAY_BALL));
    71.  
    72.                 invpar.setItem(13, new ItemStack(Material.BOOK));
    73.  
    74.                 invpar.setItem(17, new ItemStack(Material.DIAMOND));
    75.  
    76.  
    77.  
    78.             }
    79.  
    80.             if(e.getSlot()==14){
    81.  
    82.                 e.setCancelled(true);
    83.  
    84.                 invpar.setItem(12, new ItemStack(Material.CLAY_BALL));
    85.  
    86.                 invpar.setItem(13, new ItemStack(Material.CLAY_BALL));
    87.  
    88.                 invpar.setItem(11, new ItemStack(Material.CLAY_BALL));
    89.  
    90.                 invpar.setItem(15, new ItemStack(Material.CLAY_BALL));
    91.  
    92.                 invpar.setItem(14, new ItemStack(Material.BOOK));
    93.  
    94.                 invpar.setItem(17, new ItemStack(Material.DIAMOND));
    95.  
    96.  
    97.  
    98.             }
    99.  
    100.             if(e.getSlot()==15){
    101.  
    102.                 e.setCancelled(true);
    103.  
    104.                 invpar.setItem(12, new ItemStack(Material.CLAY_BALL));
    105.  
    106.                 invpar.setItem(13, new ItemStack(Material.CLAY_BALL));
    107.  
    108.                 invpar.setItem(14, new ItemStack(Material.CLAY_BALL));
    109.  
    110.                 invpar.setItem(11, new ItemStack(Material.CLAY_BALL));
    111.  
    112.                 invpar.setItem(15, new ItemStack(Material.BOOK));
    113.  
    114.                 invpar.setItem(17, new ItemStack(Material.DIAMOND));
    115.  
    116.             }
    117.  
    118.             if(e.getSlot()==0){
    119.  
    120.                 e.setCancelled(true);
    121.  
    122.                 p.closeInventory();
    123.  
    124.                 p.openInventory(invmain);
    125.  
    126.             }
    127.  
    128.             if(e.getSlot()==17){
    129.  
    130.                 e.setCancelled(true);
    131.  
    132.                 invpar.setItem(12, new ItemStack(Material.CLAY_BALL));
    133.  
    134.                 invpar.setItem(13, new ItemStack(Material.CLAY_BALL));
    135.  
    136.                 invpar.setItem(14, new ItemStack(Material.CLAY_BALL));
    137.  
    138.                 invpar.setItem(11, new ItemStack(Material.CLAY_BALL));
    139.  
    140.                 invpar.setItem(15, new ItemStack(Material.CLAY_BALL));
    141.  
    142.                 invpar.setItem(17, new ItemStack(Material.BOOK));
    143.  
    144.                 invpar.remove(Material.DIAMOND);
    145.  
    146.             }      
    147.  
    148.             if(e.getSlot()==19){
    149.  
    150.                 e.setCancelled(true);
    151.  
    152.             }
    153.  
    154.         }
    155.  
    156.        
    157.  
    158.         //Main Inventory
    159.  
    160.         if(e.getInventory().getTitle()== invmain.getTitle()){
    161.  
    162.             if(e.getCurrentItem().getType()== Material.APPLE){
    163.  
    164.                 p.openInventory(invpar);
    165.  
    166.             }
    167.  
    168.         }
    169.  
    170.     }
    171.  

    Danke schon mal im Voraus für alles Antworten ! :)
     
    #1
  2. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    295
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
    vorher das alte inventory schließen mit p.closeInventory ?
     
    #2
    Payno4 gefällt das.