Search in sources :

Example 11 with CraftInventory

use of org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory in project PublicCrafters by BananaPuncher714.

the class ContainerManager_v1_8_R3 method getLocation.

public Location getLocation(Inventory inventory) {
    if (inventory == null) {
        return null;
    }
    if (!(inventory instanceof CraftInventory)) {
        return null;
    }
    try {
        Field ic = CraftInventory.class.getDeclaredField("inventory");
        ic.setAccessible(true);
        Object crafting = ic.get(inventory);
        if (crafting instanceof CustomInventoryCrafting) {
            CustomInventoryCrafting table = (CustomInventoryCrafting) crafting;
            return table.getLocation();
        }
    } catch (Exception exception) {
        exception.printStackTrace();
    }
    return null;
}
Also used : CraftInventory(org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventory) Field(java.lang.reflect.Field)

Example 12 with CraftInventory

use of org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory in project PublicCrafters by BananaPuncher714.

the class ContainerManager_v1_18_R2 method getLocation.

public Location getLocation(Inventory inventory) {
    if (inventory == null) {
        return null;
    }
    if (!(inventory instanceof CraftInventory)) {
        return null;
    }
    try {
        Field ic = CraftInventory.class.getDeclaredField("inventory");
        ic.setAccessible(true);
        Object crafting = ic.get(inventory);
        if (crafting instanceof CustomInventoryCrafting) {
            CustomInventoryCrafting table = (CustomInventoryCrafting) crafting;
            return table.getLocation();
        }
    } catch (Exception exception) {
        exception.printStackTrace();
    }
    return null;
}
Also used : CraftInventory(org.bukkit.craftbukkit.v1_18_R2.inventory.CraftInventory) Field(java.lang.reflect.Field)

Example 13 with CraftInventory

use of org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory in project PublicCrafters by BananaPuncher714.

the class ContainerManager_v1_9_R2 method getLocation.

public Location getLocation(Inventory inventory) {
    if (inventory == null) {
        return null;
    }
    if (!(inventory instanceof CraftInventory)) {
        return null;
    }
    try {
        Field ic = CraftInventory.class.getDeclaredField("inventory");
        ic.setAccessible(true);
        Object crafting = ic.get(inventory);
        if (crafting instanceof CustomInventoryCrafting) {
            CustomInventoryCrafting table = (CustomInventoryCrafting) crafting;
            return table.getLocation();
        }
    } catch (Exception exception) {
        exception.printStackTrace();
    }
    return null;
}
Also used : CraftInventory(org.bukkit.craftbukkit.v1_9_R2.inventory.CraftInventory) Field(java.lang.reflect.Field)

Example 14 with CraftInventory

use of org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory in project Denizen by DenizenScript.

the class ImprovedOfflinePlayerImpl method getEnderChest.

@Override
public Inventory getEnderChest() {
    if (offlineEnderChests.containsKey(getUniqueId())) {
        return offlineEnderChests.get(getUniqueId());
    }
    InventoryEnderChest endchest = new InventoryEnderChest(null);
    endchest.a(((CompoundTagImpl) this.compound).toNMSTag().getList("EnderItems", 10));
    org.bukkit.inventory.Inventory inv = new CraftInventory(endchest);
    offlineEnderChests.put(getUniqueId(), inv);
    return inv;
}
Also used : CraftInventory(org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventory) Inventory(org.bukkit.inventory.Inventory) CompoundTagImpl(com.denizenscript.denizen.nms.v1_16.impl.jnbt.CompoundTagImpl)

Example 15 with CraftInventory

use of org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory in project Mohist by MohistMC.

the class CraftChest method getInventory.

@Override
public Inventory getInventory() {
    CraftInventory inventory = (CraftInventory) this.getBlockInventory();
    if (!isPlaced() || isWorldGeneration()) {
        return inventory;
    }
    // The logic here is basically identical to the logic in ChestBlock.interact
    CraftWorld world = (CraftWorld) this.getWorld();
    ChestBlock blockChest = (ChestBlock) (this.getType() == Material.CHEST ? Blocks.CHEST : Blocks.TRAPPED_CHEST);
    MenuProvider nms = blockChest.getMenuProvider(data, world.getHandle(), this.getPosition(), true);
    if (nms instanceof ChestBlock.DoubleInventory) {
        inventory = new CraftInventoryDoubleChest((ChestBlock.DoubleInventory) nms);
    }
    return inventory;
}
Also used : CraftInventory(org.bukkit.craftbukkit.v1_18_R2.inventory.CraftInventory) ChestBlock(net.minecraft.world.level.block.ChestBlock) CraftInventoryDoubleChest(org.bukkit.craftbukkit.v1_18_R2.inventory.CraftInventoryDoubleChest) CraftWorld(org.bukkit.craftbukkit.v1_18_R2.CraftWorld) MenuProvider(net.minecraft.world.MenuProvider)

Aggregations

Field (java.lang.reflect.Field)16 Inventory (org.bukkit.inventory.Inventory)10 CraftInventory (org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventory)9 CraftInventory (org.bukkit.craftbukkit.v1_18_R2.inventory.CraftInventory)5 IInventory (net.minecraft.inventory.IInventory)4 PlayerEnderChestContainer (net.minecraft.world.inventory.PlayerEnderChestContainer)4 INamedContainerProvider (net.minecraft.inventory.container.INamedContainerProvider)3 CraftInventory (org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory)3 CraftInventory (org.bukkit.craftbukkit.v1_17_R1.inventory.CraftInventory)3 CompoundTagImpl (com.denizenscript.denizen.nms.v1_16.impl.jnbt.CompoundTagImpl)2 CompoundTagImpl (com.denizenscript.denizen.nms.v1_17.impl.jnbt.CompoundTagImpl)2 CompoundTagImpl (com.denizenscript.denizen.nms.v1_18.impl.jnbt.CompoundTagImpl)2 ChestBlock (net.minecraft.block.ChestBlock)2 MenuProvider (net.minecraft.world.MenuProvider)2 CraftInventory (org.bukkit.craftbukkit.v1_10_R1.inventory.CraftInventory)2 CraftInventory (org.bukkit.craftbukkit.v1_11_R1.inventory.CraftInventory)2 CraftInventory (org.bukkit.craftbukkit.v1_15_R1.inventory.CraftInventory)2 CraftWorld (org.bukkit.craftbukkit.v1_16_R3.CraftWorld)2 CraftInventoryDoubleChest (org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventoryDoubleChest)2 CraftInventoryDoubleChest (org.bukkit.craftbukkit.v1_18_R2.inventory.CraftInventoryDoubleChest)2