java类org.bukkit.inventory.InventoryHolder的实例源码

CraftInventory.java 文件源码 项目:Uranium 阅读 18 收藏 0 点赞 0 评论 0
public InventoryHolder getHolder() {
    // Cauldron start - fixes openblocks AbstractMethodError
    try {
        return inventory.getOwner();
    } catch (AbstractMethodError e) {
        if (inventory instanceof net.minecraft.tileentity.TileEntity) {
            return CauldronUtils.getOwner((net.minecraft.tileentity.TileEntity)inventory);
        } else {
            return null;                
        }
    }
    // Cauldron end
}
CauldronUtils.java 文件源码 项目:Uranium 阅读 21 收藏 0 点赞 0 评论 0
public static InventoryHolder getOwner(TileEntity tileentity)
{
    org.bukkit.block.BlockState state = tileentity.worldObj.getWorld().getBlockAt(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord).getState();

    if (state instanceof InventoryHolder)
    {
        return (InventoryHolder) state;
    }

    return null;
}
AntiBreakUsingChest.java 文件源码 项目:EscapeLag 阅读 32 收藏 0 点赞 0 评论 0
@EventHandler
public void CheckNoBreakChest(BlockBreakEvent e) {
    if (ConfigPatch.protectUsingChest) {
        Player p = e.getPlayer();
        if (e.getBlock().getState() instanceof InventoryHolder) {
            InventoryHolder ih = (InventoryHolder) e.getBlock().getState();
            if (ih.getInventory().getViewers().isEmpty() == false) {
                e.setCancelled(true);
                AzureAPI.log(p, ConfigPatch.AntiBreakUsingChestWarnMessage);
            }
        }
    }
}
MenuManager.java 文件源码 项目:SparseBukkitAPI 阅读 24 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryOpen(InventoryOpenEvent e)
{
    if(!(e.getPlayer() instanceof Player))
        return;

    Inventory inv = e.getInventory();
    InventoryHolder holder = inv.getHolder();
    if(holder != null && holder instanceof Menu)
    {
        Menu menu = (Menu) holder;
        menu.viewers.add((Player) e.getPlayer());
        openMenus.add(menu);
    }
}
MenuManager.java 文件源码 项目:SparseBukkitAPI 阅读 21 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClick(InventoryClickEvent e)
{
    if(!(e.getWhoClicked() instanceof Player))
        return;

    Inventory inv = e.getInventory();
    InventoryHolder holder = inv.getHolder();
    if(holder != null && holder instanceof Menu)
    {
        Menu menu = (Menu) holder;
        menu.onClick(e);
    }
}
WoolMatchModule.java 文件源码 项目:ProjectAres 阅读 25 收藏 0 点赞 0 评论 0
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onContainerPlace(BlockPlaceEvent event) {
    // Blacklist any placed container blocks
    if(event.getBlock().getState() instanceof InventoryHolder) {
        this.chests.put(((InventoryHolder) event.getBlock().getState()).getInventory(), false);
    }
}
FillListener.java 文件源码 项目:ProjectAres 阅读 24 收藏 0 点赞 0 评论 0
@Override
Stream<Inventory> inventories() {
    return Stream.concat(
        cache.region()
             .tileEntities(world)
             .filter(FillListener::isFillable)
             .filter(block -> !cache.filter().denies(block))
             .map(block -> ((InventoryHolder) block).getInventory()),
        cache.region()
             .entities(world)
             .filter(FillListener::isFillable)
             .filter(entity -> !cache.filter().denies(new EntityQuery(entity)))
             .map(entity -> ((InventoryHolder) entity).getInventory())
    );
}
McGui.java 文件源码 项目:InventoryAPI 阅读 21 收藏 0 点赞 0 评论 0
@Override
public void setSize( Vector2i dimension ) {
    Validate.isTrue( inventory.getType() == InventoryType.CHEST, "Size can only be adjusted if the inventory is a chest!" );
    ItemStack[] contents = inventory.getContents();
    InventoryHolder holder = inventory.getHolder();
    int stack = inventory.getMaxStackSize();
    String title = inventory.getTitle();

    inventory = Bukkit.createInventory( holder, dimension.getX() * dimension.getY(), title );
    inventory.setContents( contents );
    inventory.setMaxStackSize( stack );
}
Menu.java 文件源码 项目:AlphaLibary 阅读 27 收藏 0 点赞 0 评论 0
public void open(Player p, InventoryHolder holder) {
    Inventory inv = Bukkit.createInventory(holder, getSize(), getTitle());

    for (Map.Entry<Integer, MenuElement> element : this.elements.entrySet()) {
        inv.setItem(element.getKey(), element.getValue().getIcon(p));
    }

    getMenuManager().setMenuOpened(p, this);

    p.openInventory(inv);
}
PunishGUI.java 文件源码 项目:Punishments 阅读 17 收藏 0 点赞 0 评论 0
public static void open(Player player) 
{
    InventoryHolder holder = player;
    invHolder = holder;

    Inventory inv = Bukkit.createInventory(holder, 27, ChatColor.RED + "Punishment's");
    inventory = inv;

    player.openInventory(inv);
}


问题


面经


文章

微信
公众号

扫码关注公众号