@Override
    public boolean createObject(Block b) {
        if (b.getType().equals(Material.STONE_BUTTON) || b.getType().equals(Material.WOOD_BUTTON)) {
            Button button = (Button) b.getState().getData();
            Block buttonBlock = b.getRelative(button.getAttachedFace());
            if (p.hasPermission("chestdelivery.op.create")) {
                if (!(Mechanics.getBlockSurround(buttonBlock.getLocation(), Material.CHEST, 1).isEmpty())) {
                    packageMaker = createPostOffice(buttonBlock);
                    p.sendMessage(String.format("%s%s", ChatColor.GREEN, languageReader.getString("packageMaker.created")));
                    return true;
                } else if (buttonBlock.getType().isOccluding() && !(buttonBlock.getType().hasGravity())) {
                    pickup = createPickup(buttonBlock);
                    p.sendMessage(String.format("%s%s", ChatColor.GREEN, languageReader.getString("pickup.created")));
                    return true;
                } else {
                    p.sendMessage(String.format("%s%s", ChatColor.RED, languageReader.getString("errorMessages.formatError")));
                }
            } else {
                p.sendMessage(String.format("%s%s", ChatColor.RED, languageReader.getString("errorMessages.permissionError")));
            }
        }
        return false;
    }