public SymmetricFamily(BlockFamilyDefinition definition, BlockBuilderHelper blockBuilder) { super(definition, blockBuilder); block = blockBuilder.constructSimpleBlock(definition, new BlockUri(definition.getUrn()), this); }
public SymmetricFamily(BlockFamilyDefinition definition, BlockShape shape, BlockBuilderHelper blockBuilder) { super(definition, shape, blockBuilder); BlockUri uri; if (CUBE_SHAPE_URN.equals(shape.getUrn())) { uri = new BlockUri(definition.getUrn()); } else { uri = new BlockUri(definition.getUrn(), shape.getUrn()); } block = blockBuilder.constructSimpleBlock(definition, shape, uri, this); setBlockUri(uri); }
Block block = blockBuilder.constructSimpleBlock(definition, "top", new BlockUri(definition.getUrn(), new Name(Side.TOP.name())), this); block.setRotation(Rotation.rotate(Pitch.CLOCKWISE_270)); blockMap.put(Side.TOP, block); Block block = blockBuilder.constructSimpleBlock(definition, "bottom", new BlockUri(definition.getUrn(), new Name(Side.BOTTOM.name())), this); block.setRotation(Rotation.rotate(Pitch.CLOCKWISE_90)); blockMap.put(Side.BOTTOM, block);
public FreeformFamily(BlockFamilyDefinition definition, BlockShape shape, BlockBuilderHelper blockBuilder) { super(definition, shape, blockBuilder); BlockUri uri; if (CUBE_SHAPE_URN.equals(shape.getUrn())) { uri = new BlockUri(definition.getUrn()); } else { uri = new BlockUri(definition.getUrn(), shape.getUrn()); } if (shape.isCollisionYawSymmetric()) { archetypeBlock = blockBuilder.constructSimpleBlock(definition, shape, uri, this); } else { for (Rotation rot : Rotation.horizontalRotations()) { Side side = rot.rotate(Side.FRONT); Block block = blockBuilder.constructTransformedBlock(definition, shape, side.toString().toLowerCase(Locale.ENGLISH), rot, new BlockUri(uri, new Name(side.name())), this); if (block == null) { throw new IllegalArgumentException("Missing block for side: " + side.toString()); } blocks.put(side, block); } } setBlockUri(uri); }