[SPIGOT-2248] Inventory#getLocation is not implemented for container minecarts Created: 05/May/16  Updated: 05/May/16  Resolved: 05/May/16

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Jikoo Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: Craftbukkit, minecart


 Description   

CraftInventory#getLocation calls IInventory#getLocation, which is not implemented for EntityMinecartContainer.

  @EventHandler(ignoreCancelled = true)
  public void onInventoryOpen(InventoryOpenEvent event) {
    Inventory inv = event.getInventory();
    Location location;
    try {
      location = inv.getLocation();
    } catch (AbstractMethodError e) {
      System.err.println(new StringBuilder("Caught AbstractMethodError calling Inventory#getLocation on class ")
          .append(inv.getClass().getName())
          .append("\nType: ").append(inv.getType())
          .append("\nTitle: ").append(inv.getTitle())
          .append("\nHolder: ").append(inv.getHolder()));
      return;
    }
  }

Output:

[Server thread/WARN]: Caught AbstractMethodError calling Inventory#getLocation on class org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory
Type: CHEST
Title: Minecart with Chest
Holder: CraftMinecartChest{inventory=org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory@22eb6}


 Comments   
Comment by md_5 [ 05/May/16 ]

Resolved in 1.9.3

Generated at Tue Apr 22 07:03:28 UTC 2025 using Jira 10.3.5#10030005-sha1:190c783f2bd6c69cd5accdb70f97e48812a78d14.