Package com.sk89q.worldedit.blocks

Examples of com.sk89q.worldedit.blocks.BaseBlock


    }

    @Override
    public final boolean setTypeIdAndData(Vector position, int type, int data) {
        try {
            return setBlock(position, new BaseBlock(type, data));
        } catch (WorldEditException ignored) {
            return false;
        }
    }
View Full Code Here


    }

    @Override
    public Mask createLiquidMask() {
        return new BlockMask(this,
                new BaseBlock(BlockID.STATIONARY_LAVA, -1),
                new BaseBlock(BlockID.LAVA, -1),
                new BaseBlock(BlockID.STATIONARY_WATER, -1),
                new BaseBlock(BlockID.WATER, -1));
    }
View Full Code Here

        }
    }

    @Override
    public void simulateBlockMine(Vector pt) {
        BaseBlock block = getLazyBlock(pt);
        BaseItemStack stack = BlockType.getBlockDrop(block.getId(), (short) block.getData());

        if (stack != null) {
            final int amount = stack.getAmount();
            if (amount > 1) {
                dropItem(pt, new BaseItemStack(stack.getType(), 1, stack.getData()), amount);
            } else {
                dropItem(pt, stack, amount);
            }
        }

        try {
            setBlock(pt, new BaseBlock(BlockID.AIR));
        } catch (WorldEditException e) {
            throw new RuntimeException(e);
        }
    }
View Full Code Here

    public String[] getLookupNames() {
        return lookupNames;
    }

    public BaseBlock getBlockForId(int id, short data) {
        BaseBlock block;
        switch (id) {
            /*case BlockID.WALL_SIGN:
            case BlockID.SIGN_POST:
                block = new SignBlock(id, data);
                break;

            case BlockID.CHEST:
                block = new ChestBlock(data);
                break;

            case BlockID.FURNACE:
            case BlockID.BURNING_FURNACE:
                block = new FurnaceBlock(id, data);
                break;

            case BlockID.DISPENSER:
                block = new DispenserBlock(data);
                break;

            case BlockID.MOB_SPAWNER:
                block = new MobSpawnerBlock(id);
                break;

            case BlockID.NOTE_BLOCK:
                block = new NoteBlock(data);
                break;*/

            default:
                block = new BaseBlock(id, data);
                break;
        }
        return block;
    }
View Full Code Here

        return LegacyWorldData.getInstance();
    }

    @Override
    public BaseBlock getBlock(Vector position) {
        return new BaseBlock(BlockID.AIR);
    }
View Full Code Here

        return new BaseBlock(BlockID.AIR);
    }

    @Override
    public BaseBlock getLazyBlock(Vector position) {
        return new BaseBlock(BlockID.AIR);
    }
View Full Code Here

        this.transform = transform;
    }

    @Override
    public boolean apply(Vector position) throws WorldEditException {
        BaseBlock block = source.getBlock(position);
        Vector orig = position.subtract(from);
        Vector transformed = transform.apply(orig);
        return destination.setBlock(transformed.add(to), block);
    }
View Full Code Here

        for (int x = 0; x < width; ++x) {
            for (int y = 0; y < height; ++y) {
                for (int z = 0; z < length; ++z) {
                    int index = y * width * length + z * width + x;
                    BlockVector pt = new BlockVector(x, y, z);
                    BaseBlock block = getBlockForId(blocks[index], blockData[index]);

                    if (tileEntitiesMap.containsKey(pt)) {
                        block.setNbtData(new CompoundTag(tileEntitiesMap.get(pt)));
                    }
                    clipboard.setBlock(pt, block);
                }
            }
        }
View Full Code Here

        for (int x = 0; x < width; ++x) {
            for (int y = 0; y < height; ++y) {
                for (int z = 0; z < length; ++z) {
                    int index = y * width * length + z * width + x;
                    BaseBlock block = clipboard.getPoint(new BlockVector(x, y, z));

                    // Save 4096 IDs in an AddBlocks section
                    if (block.getType() > 255) {
                        if (addBlocks == null) { // Lazily create section
                            addBlocks = new byte[(blocks.length >> 1) + 1];
                        }

                        addBlocks[index >> 1] = (byte) (((index & 1) == 0) ?
                                addBlocks[index >> 1] & 0xF0 | (block.getType() >> 8) & 0xF
                                : addBlocks[index >> 1] & 0xF | ((block.getType() >> 8) & 0xF) << 4);
                    }

                    blocks[index] = (byte) block.getType();
                    blockData[index] = (byte) block.getData();

                    // Get the list of key/values from the block
                    CompoundTag rawTag = block.getNbtData();
                    if (rawTag != null) {
                        Map<String, Tag> values = new HashMap<String, Tag>();
                        for (Entry<String, Tag> entry : rawTag.getValue().entrySet()) {
                            values.put(entry.getKey(), entry.getValue());
                        }

                        values.put("id", new StringTag(block.getNbtId()));
                        values.put("x", new IntTag(x));
                        values.put("y", new IntTag(y));
                        values.put("z", new IntTag(z));

                        CompoundTag tileEntityTag = new CompoundTag(values);
View Full Code Here

    @Override
    public BaseBlock getBlock(Vector position) throws DataException {
        int id = getBlockID(position);
        int data = getBlockData(position);
        BaseBlock block;

        /*if (id == BlockID.WALL_SIGN || id == BlockID.SIGN_POST) {
            block = new SignBlock(id, data);
        } else if (id == BlockID.CHEST) {
            block = new ChestBlock(data);
        } else if (id == BlockID.FURNACE || id == BlockID.BURNING_FURNACE) {
            block = new FurnaceBlock(id, data);
        } else if (id == BlockID.DISPENSER) {
            block = new DispenserBlock(data);
        } else if (id == BlockID.MOB_SPAWNER) {
            block = new MobSpawnerBlock(data);
        } else if (id == BlockID.NOTE_BLOCK) {
            block = new NoteBlock(data);
        } else {*/
            block = new BaseBlock(id, data);
        //}

        CompoundTag tileEntity = getBlockTileEntity(position);
        if (tileEntity != null) {
            ((TileEntityBlock) block).setNbtData(tileEntity);
View Full Code Here

TOP

Related Classes of com.sk89q.worldedit.blocks.BaseBlock

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.