Package org.terasology.world.block

Examples of org.terasology.world.block.BlockUri


        putBlockDefinition(basicBlocks[5], blockBuilder, blockDefJson, FIVE_CONNECTIONS);

        basicBlocks[6] = new TByteObjectHashMap<>();
        putBlockDefinition(basicBlocks[6], blockBuilder, blockDefJson, SIX_CONNECTIONS);

        BlockUri blockUri = new BlockUri(blockDefUri.getModuleName(), blockDefUri.getAssetName());

        // Now make sure we have all combinations based on the basic set (above) and rotations
        for (byte connections = 0; connections < 64; connections++) {
            // Only the allowed connections should be created
            if ((connections & connectionSides) == connections) {
                Block block = constructBlockForConnections(connections, blockBuilder, blockDefUri, basicBlocks);
                if (block == null) {
                    throw new IllegalStateException("Unable to find correct block definition for connections: " + connections);
                }
                block.setUri(new BlockUri(blockUri, String.valueOf(connections)));
                blocksForConnections.put(connections, block);
            }
        }

        final Block archetypeBlock = blocksForConnections.get(SideBitFlag.getSides(Side.RIGHT, Side.LEFT));
View Full Code Here


public class SymmetricBlockFamilyFactory implements BlockFamilyFactory {

    @Override
    public BlockFamily createBlockFamily(BlockBuilderHelper blockBuilder, AssetUri blockDefUri, BlockDefinition blockDefinition, JsonObject blockDefJson) {
        Block block = blockBuilder.constructSimpleBlock(blockDefUri, blockDefinition);
        return new SymmetricFamily(new BlockUri(blockDefUri.getModuleName(), blockDefUri.getAssetName()), block, blockDefinition.categories);
    }
View Full Code Here

        if (bottomDef != null) {
            Block block = blockBuilder.constructSimpleBlock(blockDefUri, bottomDef);
            block.setDirection(Side.BOTTOM);
            blockMap.put(Side.BOTTOM, block);
        }
        return new AttachedToSurfaceFamily(new BlockUri(blockDefUri.getModuleName(), blockDefUri.getAssetName()), blockMap, blockDefinition.categories);
    }
View Full Code Here

        } else if (knownBlockMappings.size() > 0) {
            nextId = (short) knownBlockMappings.size();
        }

        for (String rawFamilyUri : registeredBlockFamilies) {
            BlockUri familyUri = new BlockUri(rawFamilyUri);
            BlockFamily family;
            if (isFreeformFamily(familyUri)) {
                family = blockLoader.loadWithShape(familyUri);
            } else {
                family = getAvailableBlockFamily(familyUri);
View Full Code Here

     * @return a list of matching block uris
     */
    @Override
    public List<BlockUri> resolveAllBlockFamilyUri(String uri) {
        List<BlockUri> matches = Lists.newArrayList();
        BlockUri straightUri = new BlockUri(uri);
        if (straightUri.isValid()) {
            if (hasBlockFamily(straightUri)) {
                matches.add(straightUri);
            }
        } else {
            for (Name moduleId : Assets.listModules()) {
                BlockUri modUri = new BlockUri(moduleId, new Name(uri));
                if (hasBlockFamily(modUri)) {
                    matches.add(modUri);
                }
            }
        }
View Full Code Here

                Module context = ModuleContext.getContext();
                if (context != null) {
                    Set<Name> dependencies = environment.getDependencyNamesOf(context.getId());
                    Iterator<BlockUri> iterator = matches.iterator();
                    while (iterator.hasNext()) {
                        BlockUri possibleUri = iterator.next();
                        if (context.getId().equals(possibleUri.getModuleName())) {
                            return possibleUri;
                        }
                        if (!dependencies.contains(possibleUri.getModuleName())) {
                            iterator.remove();
                        }
                    }
                    if (matches.size() == 1) {
                        return matches.get(0);
View Full Code Here

        return sounds;
    }

    @Override
    public BlockFamily getBlockFamily(String uri) {
        BlockUri blockUri = resolveBlockFamilyUri(uri);
        if (blockUri != null) {
            return getBlockFamily(blockUri);
        }
        return null;
    }
View Full Code Here

        return family;
    }

    @Override
    public Block getBlock(String uri) {
        return getBlock(new BlockUri(uri));
    }
View Full Code Here

        for (Side side : Side.values()) {
            Block block = blocks.get(side);
            if (block != null) {
                this.blocks.put(side, block);
                block.setBlockFamily(this);
                block.setUri(new BlockUri(uri, side.name()));
            }
        }
        if (this.blocks.containsKey(Side.TOP)) {
            archetype = this.blocks.get(Side.TOP);
        } else {
View Full Code Here

        blocksBySide.put(Side.LEFT, blockBuilder.constructTransformedBlock(blockDefUri, blockDefinition, Rotation.rotate(Yaw.CLOCKWISE_90)));
        blocksBySide.put(Side.BACK, blockBuilder.constructTransformedBlock(blockDefUri, blockDefinition, Rotation.rotate(Yaw.CLOCKWISE_180)));
        blocksBySide.put(Side.RIGHT, blockBuilder.constructTransformedBlock(blockDefUri, blockDefinition, Rotation.rotate(Yaw.CLOCKWISE_270)));
        blocksBySide.put(Side.TOP, blockBuilder.constructTransformedBlock(blockDefUri, blockDefinition, Rotation.rotate(Pitch.CLOCKWISE_90)));
        blocksBySide.put(Side.BOTTOM, blockBuilder.constructTransformedBlock(blockDefUri, blockDefinition, Rotation.rotate(Pitch.CLOCKWISE_270)));
        BlockUri familyUri = new BlockUri(blockDefUri.getModuleName(), blockDefUri.getAssetName());
        return new AllSidesFamily(familyUri, blockDefinition.categories, blocksBySide.get(Side.LEFT), blocksBySide);
    }
View Full Code Here

TOP

Related Classes of org.terasology.world.block.BlockUri

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.