InventoryOpenEvent , Normale Truhe wie EnderChest behandeln?!

Dieses Thema im Forum "Programmierung" wurde erstellt von Pappi, 11. Mai 2014.

  1. Pappi
    Offline

    Pappi Gesperrt

    Registriert seit:
    28. Oktober 2012
    Beiträge:
    141
    Ort:
    H.a.S/NRW/Germany
    Minecraft:
    Pappi / PapaHarni
    Hallo Community,

    leider muss ich gestern mit entsetzen feststellen das folgender Code nicht für jeden Benutzer die Truhe herstellt.
    Sondern wenn 2 zugleich dran sind, das der eine dem anderen die Sachen , auf gut Deutsch , klauen kann. So als wäre es eine Normale Truhe.

    Wie kann ich das nun verhindern?

    Hier gehts zum InventoryOpenEvent
     
    #1
  2. Du könntest überprüfen ob der Block eine DoubleChest ist, diese könntest du entsprechend editieren.

    Code (Text):
    1. Block block = //...          
    2. if (block.getState() instanceof Chest){
    3.   final Chest chest = (Chest) block.getState();
    4.   if (chest.getInventory().getHolder() instanceof DoubleChest){
    5.     DoubleChest container = (DoubleChest) chest.getInventory().getHolder();
    6.     Chest left = (Chest) container.getLeftSide();
    7.     Chest right = (Chest) container.getRightSide();
    8.     check(left); check(right);
    9.   } else {
    10.     check(chest);
    11.   }
    12.  
    13. }
     
    #2