Search in sources :

Example 1 with PortalBlock

use of net.tslat.aoa3.block.functional.portal.PortalBlock in project Advent-Of-Ascension by Tslat.

the class ImmortallisRoom1 method generate.

@Override
public boolean generate(World world, Random rand, BlockPos pos) {
    int x = pos.getX();
    int y = pos.getY();
    int z = pos.getZ();
    this.world = world;
    genBlock(x + 7, y, z + 28, archaicDirt);
    genBlock(x + 7, y, z + 29, archaicDirt);
    genBlock(x + 7, y, z + 30, archaicDirt);
    genBlock(x + 7, y, z + 31, archaicDirt);
    genBlock(x + 7, y, z + 32, archaicDirt);
    genBlock(x + 7, y, z + 33, archaicDirt);
    genBlock(x + 7, y, z + 34, archaicDirt);
    genBlock(x + 7, y, z + 35, archaicDirt);
    genBlock(x + 7, y, z + 36, archaicDirt);
    genBlock(x + 7, y, z + 37, archaicDirt);
    genBlock(x + 7, y, z + 38, archaicDirt);
    genBlock(x + 7, y, z + 39, archaicDirt);
    genBlock(x + 7, y, z + 40, archaicDirt);
    genBlock(x + 7, y, z + 41, archaicDirt);
    genBlock(x + 7, y, z + 42, archaicDirt);
    genBlock(x + 7, y, z + 43, archaicDirt);
    genBlock(x + 7, y, z + 44, archaicDirt);
    genBlock(x + 7, y, z + 45, archaicDirt);
    genBlock(x + 7, y, z + 46, archaicDirt);
    genBlock(x + 7, y, z + 47, archaicDirt);
    genBlock(x + 7, y, z + 48, archaicDirt);
    genBlock(x + 7, y, z + 49, archaicDirt);
    genBlock(x + 7, y, z + 50, archaicDirt);
    genBlock(x + 7, y, z + 51, archaicDirt);
    genBlock(x + 7, y, z + 52, archaicDirt);
    genBlock(x + 7, y, z + 53, archaicDirt);
    genBlock(x + 7, y, z + 54, archaicDirt);
    genBlock(x + 7, y, z + 55, archaicDirt);
    genBlock(x + 7, y, z + 56, archaicDirt);
    genBlock(x + 7, y, z + 57, archaicDirt);
    genBlock(x + 7, y + 1, z + 28, archaicTile);
    genBlock(x + 7, y + 1, z + 29, archaicTile);
    genBlock(x + 7, y + 1, z + 30, archaicSquare);
    genBlock(x + 7, y + 1, z + 31, archaicTile);
    genBlock(x + 7, y + 1, z + 32, archaicTile);
    genBlock(x + 7, y + 1, z + 33, archaicRectangle);
    genBlock(x + 7, y + 1, z + 34, archaicRectangle);
    genBlock(x + 7, y + 1, z + 35, archaicTile);
    genBlock(x + 7, y + 1, z + 36, archaicTile);
    genBlock(x + 7, y + 1, z + 37, archaicTile);
    genBlock(x + 7, y + 1, z + 38, archaicTile);
    genBlock(x + 7, y + 1, z + 39, archaicSquare);
    genBlock(x + 7, y + 1, z + 40, archaicTile);
    genBlock(x + 7, y + 1, z + 41, archaicTile);
    genBlock(x + 7, y + 1, z + 42, archaicTile);
    genBlock(x + 7, y + 1, z + 43, archaicTile);
    genBlock(x + 7, y + 1, z + 44, archaicTile);
    genBlock(x + 7, y + 1, z + 45, archaicTile);
    genBlock(x + 7, y + 1, z + 46, archaicSquare);
    genBlock(x + 7, y + 1, z + 47, archaicTile);
    genBlock(x + 7, y + 1, z + 48, archaicTile);
    genBlock(x + 7, y + 1, z + 49, archaicTile);
    genBlock(x + 7, y + 1, z + 50, archaicTile);
    genBlock(x + 7, y + 1, z + 51, archaicRectangle);
    genBlock(x + 7, y + 1, z + 52, archaicRectangle);
    genBlock(x + 7, y + 1, z + 53, archaicTile);
    genBlock(x + 7, y + 1, z + 54, archaicTile);
    genBlock(x + 7, y + 1, z + 55, archaicSquare);
    genBlock(x + 7, y + 1, z + 56, archaicTile);
    genBlock(x + 7, y + 1, z + 57, archaicTile);
    genBlock(x + 7, y + 2, z + 28, archaicTile);
    genBlock(x + 7, y + 2, z + 29, archaicTile);
    genBlock(x + 7, y + 2, z + 30, archaicSquare);
    genBlock(x + 7, y + 2, z + 31, archaicTile);
    genBlock(x + 7, y + 2, z + 32, archaicTile);
    genBlock(x + 7, y + 2, z + 33, archaicRectangle);
    genBlock(x + 7, y + 2, z + 34, archaicRectangle);
    genBlock(x + 7, y + 2, z + 35, archaicTile);
    genBlock(x + 7, y + 2, z + 36, archaicTile);
    genBlock(x + 7, y + 2, z + 37, archaicTile);
    genBlock(x + 7, y + 2, z + 38, archaicTile);
    genBlock(x + 7, y + 2, z + 39, archaicSquare);
    genBlock(x + 7, y + 2, z + 40, archaicTile);
    genBlock(x + 7, y + 2, z + 41, archaicTile);
    genBlock(x + 7, y + 2, z + 42, archaicTile);
    genBlock(x + 7, y + 2, z + 43, archaicTile);
    genBlock(x + 7, y + 2, z + 44, archaicTile);
    genBlock(x + 7, y + 2, z + 45, archaicTile);
    genBlock(x + 7, y + 2, z + 46, archaicSquare);
    genBlock(x + 7, y + 2, z + 47, archaicTile);
    genBlock(x + 7, y + 2, z + 48, archaicTile);
    genBlock(x + 7, y + 2, z + 49, archaicTile);
    genBlock(x + 7, y + 2, z + 50, archaicTile);
    genBlock(x + 7, y + 2, z + 51, archaicRectangle);
    genBlock(x + 7, y + 2, z + 52, archaicRectangle);
    genBlock(x + 7, y + 2, z + 53, archaicTile);
    genBlock(x + 7, y + 2, z + 54, archaicTile);
    genBlock(x + 7, y + 2, z + 55, archaicSquare);
    genBlock(x + 7, y + 2, z + 56, archaicTile);
    genBlock(x + 7, y + 2, z + 57, archaicTile);
    genBlock(x + 7, y + 3, z + 28, archaicTile);
    genBlock(x + 7, y + 3, z + 29, archaicTile);
    genBlock(x + 7, y + 3, z + 30, archaicSquare);
    genBlock(x + 7, y + 3, z + 31, archaicTile);
    genBlock(x + 7, y + 3, z + 32, archaicTile);
    genBlock(x + 7, y + 3, z + 33, archaicRectangle);
    genBlock(x + 7, y + 3, z + 34, archaicRectangle);
    genBlock(x + 7, y + 3, z + 35, archaicTile);
    genBlock(x + 7, y + 3, z + 36, archaicTile);
    genBlock(x + 7, y + 3, z + 37, archaicTile);
    genBlock(x + 7, y + 3, z + 38, archaicTile);
    genBlock(x + 7, y + 3, z + 39, archaicSquare);
    genBlock(x + 7, y + 3, z + 40, archaicTile);
    genBlock(x + 7, y + 3, z + 41, archaicTile);
    genBlock(x + 7, y + 3, z + 42, archaicTile);
    genBlock(x + 7, y + 3, z + 43, archaicTile);
    genBlock(x + 7, y + 3, z + 44, archaicTile);
    genBlock(x + 7, y + 3, z + 45, archaicTile);
    genBlock(x + 7, y + 3, z + 46, archaicSquare);
    genBlock(x + 7, y + 3, z + 47, archaicTile);
    genBlock(x + 7, y + 3, z + 48, archaicTile);
    genBlock(x + 7, y + 3, z + 49, archaicTile);
    genBlock(x + 7, y + 3, z + 50, archaicTile);
    genBlock(x + 7, y + 3, z + 51, archaicRectangle);
    genBlock(x + 7, y + 3, z + 52, archaicRectangle);
    genBlock(x + 7, y + 3, z + 53, archaicTile);
    genBlock(x + 7, y + 3, z + 54, archaicTile);
    genBlock(x + 7, y + 3, z + 55, archaicSquare);
    genBlock(x + 7, y + 3, z + 56, archaicTile);
    genBlock(x + 7, y + 3, z + 57, archaicTile);
    genBlock(x + 7, y + 4, z + 28, archaicTile);
    genBlock(x + 7, y + 4, z + 29, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 30, archaicSquare);
    genBlock(x + 7, y + 4, z + 31, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 32, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 33, archaicRectangle);
    genBlock(x + 7, y + 4, z + 34, archaicRectangle);
    genBlock(x + 7, y + 4, z + 35, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 36, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 37, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 38, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 39, archaicSquare);
    genBlock(x + 7, y + 4, z + 40, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 41, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 42, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 43, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 44, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 45, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 46, archaicSquare);
    genBlock(x + 7, y + 4, z + 47, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 48, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 49, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 50, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 51, archaicRectangle);
    genBlock(x + 7, y + 4, z + 52, archaicRectangle);
    genBlock(x + 7, y + 4, z + 53, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 54, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 55, archaicSquare);
    genBlock(x + 7, y + 4, z + 56, archaicStreamHorizontal);
    genBlock(x + 7, y + 4, z + 57, archaicTile);
    genBlock(x + 7, y + 5, z + 28, archaicTile);
    genBlock(x + 7, y + 5, z + 29, archaicTile);
    genBlock(x + 7, y + 5, z + 30, archaicSquare);
    genBlock(x + 7, y + 5, z + 31, archaicTile);
    genBlock(x + 7, y + 5, z + 32, archaicTile);
    genBlock(x + 7, y + 5, z + 33, archaicRectangle);
    genBlock(x + 7, y + 5, z + 34, archaicRectangle);
    genBlock(x + 7, y + 5, z + 35, archaicTile);
    genBlock(x + 7, y + 5, z + 36, archaicTile);
    genBlock(x + 7, y + 5, z + 37, archaicTile);
    genBlock(x + 7, y + 5, z + 38, archaicTile);
    genBlock(x + 7, y + 5, z + 39, archaicSquare);
    genBlock(x + 7, y + 5, z + 40, archaicTile);
    genBlock(x + 7, y + 5, z + 41, archaicTile);
    genBlock(x + 7, y + 5, z + 42, archaicTile);
    genBlock(x + 7, y + 5, z + 43, archaicTile);
    genBlock(x + 7, y + 5, z + 44, archaicTile);
    genBlock(x + 7, y + 5, z + 45, archaicTile);
    genBlock(x + 7, y + 5, z + 46, archaicSquare);
    genBlock(x + 7, y + 5, z + 47, archaicTile);
    genBlock(x + 7, y + 5, z + 48, archaicTile);
    genBlock(x + 7, y + 5, z + 49, archaicTile);
    genBlock(x + 7, y + 5, z + 50, archaicTile);
    genBlock(x + 7, y + 5, z + 51, archaicRectangle);
    genBlock(x + 7, y + 5, z + 52, archaicRectangle);
    genBlock(x + 7, y + 5, z + 53, archaicTile);
    genBlock(x + 7, y + 5, z + 54, archaicTile);
    genBlock(x + 7, y + 5, z + 55, archaicSquare);
    genBlock(x + 7, y + 5, z + 56, archaicTile);
    genBlock(x + 7, y + 5, z + 57, archaicTile);
    genBlock(x + 7, y + 6, z + 28, archaicTile);
    genBlock(x + 7, y + 6, z + 29, archaicTile);
    genBlock(x + 7, y + 6, z + 30, archaicSquare);
    genBlock(x + 7, y + 6, z + 31, archaicTile);
    genBlock(x + 7, y + 6, z + 32, archaicTile);
    genBlock(x + 7, y + 6, z + 33, archaicRectangle);
    genBlock(x + 7, y + 6, z + 34, archaicRectangle);
    genBlock(x + 7, y + 6, z + 35, archaicTile);
    genBlock(x + 7, y + 6, z + 36, archaicTile);
    genBlock(x + 7, y + 6, z + 37, archaicTile);
    genBlock(x + 7, y + 6, z + 38, archaicTile);
    genBlock(x + 7, y + 6, z + 39, archaicSquare);
    genBlock(x + 7, y + 6, z + 40, archaicTile);
    genBlock(x + 7, y + 6, z + 41, archaicTile);
    genBlock(x + 7, y + 6, z + 42, archaicTile);
    genBlock(x + 7, y + 6, z + 43, archaicTile);
    genBlock(x + 7, y + 6, z + 44, archaicTile);
    genBlock(x + 7, y + 6, z + 45, archaicTile);
    genBlock(x + 7, y + 6, z + 46, archaicSquare);
    genBlock(x + 7, y + 6, z + 47, archaicTile);
    genBlock(x + 7, y + 6, z + 48, archaicTile);
    genBlock(x + 7, y + 6, z + 49, archaicTile);
    genBlock(x + 7, y + 6, z + 50, archaicTile);
    genBlock(x + 7, y + 6, z + 51, archaicRectangle);
    genBlock(x + 7, y + 6, z + 52, archaicRectangle);
    genBlock(x + 7, y + 6, z + 53, archaicTile);
    genBlock(x + 7, y + 6, z + 54, archaicTile);
    genBlock(x + 7, y + 6, z + 55, archaicSquare);
    genBlock(x + 7, y + 6, z + 56, archaicTile);
    genBlock(x + 7, y + 6, z + 57, archaicTile);
    genBlock(x + 7, y + 7, z + 28, archaicTile);
    genBlock(x + 7, y + 7, z + 29, archaicTile);
    genBlock(x + 7, y + 7, z + 30, archaicSquare);
    genBlock(x + 7, y + 7, z + 31, archaicTile);
    genBlock(x + 7, y + 7, z + 32, archaicTile);
    genBlock(x + 7, y + 7, z + 33, archaicRectangle);
    genBlock(x + 7, y + 7, z + 34, archaicRectangle);
    genBlock(x + 7, y + 7, z + 35, archaicTile);
    genBlock(x + 7, y + 7, z + 36, archaicTile);
    genBlock(x + 7, y + 7, z + 37, archaicTile);
    genBlock(x + 7, y + 7, z + 38, archaicTile);
    genBlock(x + 7, y + 7, z + 39, archaicSquare);
    genBlock(x + 7, y + 7, z + 40, archaicTile);
    genBlock(x + 7, y + 7, z + 41, archaicTile);
    genBlock(x + 7, y + 7, z + 42, archaicTile);
    genBlock(x + 7, y + 7, z + 43, archaicTile);
    genBlock(x + 7, y + 7, z + 44, archaicTile);
    genBlock(x + 7, y + 7, z + 45, archaicTile);
    genBlock(x + 7, y + 7, z + 46, archaicSquare);
    genBlock(x + 7, y + 7, z + 47, archaicTile);
    genBlock(x + 7, y + 7, z + 48, archaicTile);
    genBlock(x + 7, y + 7, z + 49, archaicTile);
    genBlock(x + 7, y + 7, z + 50, archaicTile);
    genBlock(x + 7, y + 7, z + 51, archaicRectangle);
    genBlock(x + 7, y + 7, z + 52, archaicRectangle);
    genBlock(x + 7, y + 7, z + 53, archaicTile);
    genBlock(x + 7, y + 7, z + 54, archaicTile);
    genBlock(x + 7, y + 7, z + 55, archaicSquare);
    genBlock(x + 7, y + 7, z + 56, archaicTile);
    genBlock(x + 7, y + 7, z + 57, archaicTile);
    genBlock(x + 7, y + 8, z + 28, archaicTile);
    genBlock(x + 7, y + 8, z + 29, archaicTile);
    genBlock(x + 7, y + 8, z + 30, archaicSquare);
    genBlock(x + 7, y + 8, z + 31, archaicTile);
    genBlock(x + 7, y + 8, z + 32, archaicTile);
    genBlock(x + 7, y + 8, z + 33, archaicRectangle);
    genBlock(x + 7, y + 8, z + 34, archaicRectangle);
    genBlock(x + 7, y + 8, z + 35, archaicTile);
    genBlock(x + 7, y + 8, z + 36, archaicTile);
    genBlock(x + 7, y + 8, z + 37, archaicTile);
    genBlock(x + 7, y + 8, z + 38, archaicTile);
    genBlock(x + 7, y + 8, z + 39, archaicSquare);
    genBlock(x + 7, y + 8, z + 40, archaicTile);
    genBlock(x + 7, y + 8, z + 41, archaicTile);
    genBlock(x + 7, y + 8, z + 42, archaicTile);
    genBlock(x + 7, y + 8, z + 43, archaicTile);
    genBlock(x + 7, y + 8, z + 44, archaicTile);
    genBlock(x + 7, y + 8, z + 45, archaicTile);
    genBlock(x + 7, y + 8, z + 46, archaicSquare);
    genBlock(x + 7, y + 8, z + 47, archaicTile);
    genBlock(x + 7, y + 8, z + 48, archaicTile);
    genBlock(x + 7, y + 8, z + 49, archaicTile);
    genBlock(x + 7, y + 8, z + 50, archaicTile);
    genBlock(x + 7, y + 8, z + 51, archaicRectangle);
    genBlock(x + 7, y + 8, z + 52, archaicRectangle);
    genBlock(x + 7, y + 8, z + 53, archaicTile);
    genBlock(x + 7, y + 8, z + 54, archaicTile);
    genBlock(x + 7, y + 8, z + 55, archaicSquare);
    genBlock(x + 7, y + 8, z + 56, archaicTile);
    genBlock(x + 7, y + 8, z + 57, archaicTile);
    genBlock(x + 7, y + 9, z + 28, archaicTile);
    genBlock(x + 7, y + 9, z + 29, archaicTile);
    genBlock(x + 7, y + 9, z + 30, archaicSquare);
    genBlock(x + 7, y + 9, z + 31, archaicTile);
    genBlock(x + 7, y + 9, z + 32, archaicTile);
    genBlock(x + 7, y + 9, z + 33, archaicRectangle);
    genBlock(x + 7, y + 9, z + 34, archaicRectangle);
    genBlock(x + 7, y + 9, z + 35, archaicTile);
    genBlock(x + 7, y + 9, z + 36, archaicTile);
    genBlock(x + 7, y + 9, z + 37, archaicTile);
    genBlock(x + 7, y + 9, z + 38, archaicTile);
    genBlock(x + 7, y + 9, z + 39, archaicSquare);
    genBlock(x + 7, y + 9, z + 40, archaicTile);
    genBlock(x + 7, y + 9, z + 41, archaicTile);
    genBlock(x + 7, y + 9, z + 42, archaicTile);
    genBlock(x + 7, y + 9, z + 43, archaicTile);
    genBlock(x + 7, y + 9, z + 44, archaicTile);
    genBlock(x + 7, y + 9, z + 45, archaicTile);
    genBlock(x + 7, y + 9, z + 46, archaicSquare);
    genBlock(x + 7, y + 9, z + 47, archaicTile);
    genBlock(x + 7, y + 9, z + 48, archaicTile);
    genBlock(x + 7, y + 9, z + 49, archaicTile);
    genBlock(x + 7, y + 9, z + 50, archaicTile);
    genBlock(x + 7, y + 9, z + 51, archaicRectangle);
    genBlock(x + 7, y + 9, z + 52, archaicRectangle);
    genBlock(x + 7, y + 9, z + 53, archaicTile);
    genBlock(x + 7, y + 9, z + 54, archaicTile);
    genBlock(x + 7, y + 9, z + 55, archaicSquare);
    genBlock(x + 7, y + 9, z + 56, archaicTile);
    genBlock(x + 7, y + 9, z + 57, archaicTile);
    genBlock(x + 8, y, z + 28, archaicDirt);
    genBlock(x + 8, y, z + 29, archaicDirt);
    genBlock(x + 8, y, z + 30, archaicDirt);
    genBlock(x + 8, y, z + 31, archaicDirt);
    genBlock(x + 8, y, z + 32, archaicDirt);
    genBlock(x + 8, y, z + 33, archaicDirt);
    genBlock(x + 8, y, z + 34, archaicDirt);
    genBlock(x + 8, y, z + 35, archaicDirt);
    genBlock(x + 8, y, z + 36, archaicDirt);
    genBlock(x + 8, y, z + 37, archaicDirt);
    genBlock(x + 8, y, z + 38, archaicDirt);
    genBlock(x + 8, y, z + 39, archaicDirt);
    genBlock(x + 8, y, z + 40, archaicDirt);
    genBlock(x + 8, y, z + 41, archaicDirt);
    genBlock(x + 8, y, z + 42, archaicDirt);
    genBlock(x + 8, y, z + 43, archaicDirt);
    genBlock(x + 8, y, z + 44, archaicDirt);
    genBlock(x + 8, y, z + 45, archaicDirt);
    genBlock(x + 8, y, z + 46, archaicDirt);
    genBlock(x + 8, y, z + 47, archaicDirt);
    genBlock(x + 8, y, z + 48, archaicDirt);
    genBlock(x + 8, y, z + 49, archaicDirt);
    genBlock(x + 8, y, z + 50, archaicDirt);
    genBlock(x + 8, y, z + 51, archaicDirt);
    genBlock(x + 8, y, z + 52, archaicDirt);
    genBlock(x + 8, y, z + 53, archaicDirt);
    genBlock(x + 8, y, z + 54, archaicDirt);
    genBlock(x + 8, y, z + 55, archaicDirt);
    genBlock(x + 8, y, z + 56, archaicDirt);
    genBlock(x + 8, y, z + 57, archaicDirt);
    genBlock(x + 8, y + 1, z + 28, archaicTile);
    genBlock(x + 8, y + 1, z + 57, archaicTile);
    genBlock(x + 8, y + 2, z + 28, archaicTile);
    genBlock(x + 8, y + 2, z + 57, archaicTile);
    genBlock(x + 8, y + 3, z + 28, archaicTile);
    genBlock(x + 8, y + 3, z + 57, archaicTile);
    genBlock(x + 8, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 8, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 8, y + 5, z + 28, archaicTile);
    genBlock(x + 8, y + 5, z + 57, archaicTile);
    genBlock(x + 8, y + 6, z + 28, archaicTile);
    genBlock(x + 8, y + 6, z + 57, archaicTile);
    genBlock(x + 8, y + 7, z + 28, archaicTile);
    genBlock(x + 8, y + 7, z + 57, archaicTile);
    genBlock(x + 8, y + 8, z + 28, archaicTile);
    genBlock(x + 8, y + 8, z + 57, archaicTile);
    genBlock(x + 8, y + 9, z + 28, archaicTile);
    genBlock(x + 8, y + 9, z + 31, archaicTile);
    genBlock(x + 8, y + 9, z + 32, archaicTile);
    genBlock(x + 8, y + 9, z + 35, archaicTile);
    genBlock(x + 8, y + 9, z + 36, archaicTile);
    genBlock(x + 8, y + 9, z + 39, archaicTile);
    genBlock(x + 8, y + 9, z + 40, archaicTile);
    genBlock(x + 8, y + 9, z + 43, archaicTile);
    genBlock(x + 8, y + 9, z + 44, archaicTile);
    genBlock(x + 8, y + 9, z + 47, archaicTile);
    genBlock(x + 8, y + 9, z + 48, archaicTile);
    genBlock(x + 8, y + 9, z + 51, archaicTile);
    genBlock(x + 8, y + 9, z + 52, archaicTile);
    genBlock(x + 8, y + 9, z + 55, archaicTile);
    genBlock(x + 8, y + 9, z + 56, archaicTile);
    genBlock(x + 8, y + 9, z + 57, archaicTile);
    genBlock(x + 8, y + 10, z + 29, archaicTile);
    genBlock(x + 8, y + 10, z + 30, archaicTile);
    genBlock(x + 8, y + 10, z + 33, archaicTile);
    genBlock(x + 8, y + 10, z + 34, archaicTile);
    genBlock(x + 8, y + 10, z + 37, archaicTile);
    genBlock(x + 8, y + 10, z + 38, archaicTile);
    genBlock(x + 8, y + 10, z + 41, archaicTile);
    genBlock(x + 8, y + 10, z + 42, archaicTile);
    genBlock(x + 8, y + 10, z + 45, archaicTile);
    genBlock(x + 8, y + 10, z + 46, archaicTile);
    genBlock(x + 8, y + 10, z + 49, archaicTile);
    genBlock(x + 8, y + 10, z + 50, archaicTile);
    genBlock(x + 8, y + 10, z + 53, archaicTile);
    genBlock(x + 8, y + 10, z + 54, archaicTile);
    genBlock(x + 9, y, z + 28, archaicDirt);
    genBlock(x + 9, y, z + 29, archaicDirt);
    genBlock(x + 9, y, z + 30, archaicDirt);
    genBlock(x + 9, y, z + 31, archaicDirt);
    genBlock(x + 9, y, z + 32, archaicDirt);
    genBlock(x + 9, y, z + 33, archaicDirt);
    genBlock(x + 9, y, z + 34, archaicDirt);
    genBlock(x + 9, y, z + 35, archaicDirt);
    genBlock(x + 9, y, z + 36, archaicDirt);
    genBlock(x + 9, y, z + 37, archaicDirt);
    genBlock(x + 9, y, z + 38, archaicDirt);
    genBlock(x + 9, y, z + 39, archaicDirt);
    genBlock(x + 9, y, z + 40, archaicDirt);
    genBlock(x + 9, y, z + 41, archaicDirt);
    genBlock(x + 9, y, z + 42, archaicDirt);
    genBlock(x + 9, y, z + 43, archaicDirt);
    genBlock(x + 9, y, z + 44, archaicDirt);
    genBlock(x + 9, y, z + 45, archaicDirt);
    genBlock(x + 9, y, z + 46, archaicDirt);
    genBlock(x + 9, y, z + 47, archaicDirt);
    genBlock(x + 9, y, z + 48, archaicDirt);
    genBlock(x + 9, y, z + 49, archaicDirt);
    genBlock(x + 9, y, z + 50, archaicDirt);
    genBlock(x + 9, y, z + 51, archaicDirt);
    genBlock(x + 9, y, z + 52, archaicDirt);
    genBlock(x + 9, y, z + 53, archaicDirt);
    genBlock(x + 9, y, z + 54, archaicDirt);
    genBlock(x + 9, y, z + 55, archaicDirt);
    genBlock(x + 9, y, z + 56, archaicDirt);
    genBlock(x + 9, y, z + 57, archaicDirt);
    genBlock(x + 9, y + 1, z + 28, archaicSquare);
    genBlock(x + 9, y + 1, z + 57, archaicSquare);
    genBlock(x + 9, y + 2, z + 28, archaicSquare);
    genBlock(x + 9, y + 2, z + 57, archaicSquare);
    genBlock(x + 9, y + 3, z + 28, archaicSquare);
    genBlock(x + 9, y + 3, z + 57, archaicSquare);
    genBlock(x + 9, y + 4, z + 28, archaicSquare);
    genBlock(x + 9, y + 4, z + 57, archaicSquare);
    genBlock(x + 9, y + 5, z + 28, archaicSquare);
    genBlock(x + 9, y + 5, z + 57, archaicSquare);
    genBlock(x + 9, y + 6, z + 28, archaicSquare);
    genBlock(x + 9, y + 6, z + 57, archaicSquare);
    genBlock(x + 9, y + 7, z + 28, archaicSquare);
    genBlock(x + 9, y + 7, z + 57, archaicSquare);
    genBlock(x + 9, y + 8, z + 28, archaicSquare);
    genBlock(x + 9, y + 8, z + 57, archaicSquare);
    genBlock(x + 9, y + 9, z + 28, archaicSquare);
    genBlock(x + 9, y + 9, z + 31, archaicTile);
    genBlock(x + 9, y + 9, z + 32, archaicTile);
    genBlock(x + 9, y + 9, z + 35, archaicTile);
    genBlock(x + 9, y + 9, z + 36, archaicTile);
    genBlock(x + 9, y + 9, z + 39, archaicTile);
    genBlock(x + 9, y + 9, z + 40, archaicTile);
    genBlock(x + 9, y + 9, z + 43, archaicTile);
    genBlock(x + 9, y + 9, z + 44, archaicTile);
    genBlock(x + 9, y + 9, z + 47, archaicTile);
    genBlock(x + 9, y + 9, z + 48, archaicTile);
    genBlock(x + 9, y + 9, z + 51, archaicTile);
    genBlock(x + 9, y + 9, z + 52, archaicTile);
    genBlock(x + 9, y + 9, z + 55, archaicTile);
    genBlock(x + 9, y + 9, z + 56, archaicTile);
    genBlock(x + 9, y + 9, z + 57, archaicSquare);
    genBlock(x + 9, y + 10, z + 29, archaicTile);
    genBlock(x + 9, y + 10, z + 30, archaicTile);
    genBlock(x + 9, y + 10, z + 33, archaicTile);
    genBlock(x + 9, y + 10, z + 34, archaicTile);
    genBlock(x + 9, y + 10, z + 37, archaicTile);
    genBlock(x + 9, y + 10, z + 38, archaicTile);
    genBlock(x + 9, y + 10, z + 41, archaicTile);
    genBlock(x + 9, y + 10, z + 42, archaicTile);
    genBlock(x + 9, y + 10, z + 45, archaicTile);
    genBlock(x + 9, y + 10, z + 46, archaicTile);
    genBlock(x + 9, y + 10, z + 49, archaicTile);
    genBlock(x + 9, y + 10, z + 50, archaicTile);
    genBlock(x + 9, y + 10, z + 53, archaicTile);
    genBlock(x + 9, y + 10, z + 54, archaicTile);
    genBlock(x + 10, y, z + 28, archaicDirt);
    genBlock(x + 10, y, z + 29, archaicDirt);
    genBlock(x + 10, y, z + 30, archaicDirt);
    genBlock(x + 10, y, z + 31, archaicDirt);
    genBlock(x + 10, y, z + 32, archaicDirt);
    genBlock(x + 10, y, z + 33, archaicDirt);
    genBlock(x + 10, y, z + 34, archaicDirt);
    genBlock(x + 10, y, z + 35, archaicDirt);
    genBlock(x + 10, y, z + 36, archaicDirt);
    genBlock(x + 10, y, z + 37, archaicDirt);
    genBlock(x + 10, y, z + 38, archaicDirt);
    genBlock(x + 10, y, z + 39, archaicDirt);
    genBlock(x + 10, y, z + 40, archaicDirt);
    genBlock(x + 10, y, z + 41, archaicDirt);
    genBlock(x + 10, y, z + 42, archaicDirt);
    genBlock(x + 10, y, z + 43, archaicDirt);
    genBlock(x + 10, y, z + 44, archaicDirt);
    genBlock(x + 10, y, z + 45, archaicDirt);
    genBlock(x + 10, y, z + 46, archaicDirt);
    genBlock(x + 10, y, z + 47, archaicDirt);
    genBlock(x + 10, y, z + 48, archaicDirt);
    genBlock(x + 10, y, z + 49, archaicDirt);
    genBlock(x + 10, y, z + 50, archaicDirt);
    genBlock(x + 10, y, z + 51, archaicDirt);
    genBlock(x + 10, y, z + 52, archaicDirt);
    genBlock(x + 10, y, z + 53, archaicDirt);
    genBlock(x + 10, y, z + 54, archaicDirt);
    genBlock(x + 10, y, z + 55, archaicDirt);
    genBlock(x + 10, y, z + 56, archaicDirt);
    genBlock(x + 10, y, z + 57, archaicDirt);
    genBlock(x + 10, y + 1, z + 28, archaicTile);
    genBlock(x + 10, y + 1, z + 31, archaicTile);
    genBlock(x + 10, y + 1, z + 32, archaicTile);
    genBlock(x + 10, y + 1, z + 33, archaicTile);
    genBlock(x + 10, y + 1, z + 34, archaicTile);
    genBlock(x + 10, y + 1, z + 35, archaicTile);
    genBlock(x + 10, y + 1, z + 50, archaicTile);
    genBlock(x + 10, y + 1, z + 51, archaicTile);
    genBlock(x + 10, y + 1, z + 52, archaicTile);
    genBlock(x + 10, y + 1, z + 53, archaicTile);
    genBlock(x + 10, y + 1, z + 54, archaicTile);
    genBlock(x + 10, y + 1, z + 57, archaicTile);
    genBlock(x + 10, y + 2, z + 28, archaicTile);
    genBlock(x + 10, y + 2, z + 57, archaicTile);
    genBlock(x + 10, y + 3, z + 28, archaicTile);
    genBlock(x + 10, y + 3, z + 57, archaicTile);
    genBlock(x + 10, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 10, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 10, y + 5, z + 28, archaicTile);
    genBlock(x + 10, y + 5, z + 57, archaicTile);
    genBlock(x + 10, y + 6, z + 28, archaicTile);
    genBlock(x + 10, y + 6, z + 57, archaicTile);
    genBlock(x + 10, y + 7, z + 28, archaicTile);
    genBlock(x + 10, y + 7, z + 57, archaicTile);
    genBlock(x + 10, y + 8, z + 28, archaicTile);
    genBlock(x + 10, y + 8, z + 57, archaicTile);
    genBlock(x + 10, y + 9, z + 28, archaicTile);
    genBlock(x + 10, y + 9, z + 29, archaicTile);
    genBlock(x + 10, y + 9, z + 30, archaicTile);
    genBlock(x + 10, y + 9, z + 33, archaicTile);
    genBlock(x + 10, y + 9, z + 34, archaicTile);
    genBlock(x + 10, y + 9, z + 37, archaicTile);
    genBlock(x + 10, y + 9, z + 38, archaicTile);
    genBlock(x + 10, y + 9, z + 41, archaicTile);
    genBlock(x + 10, y + 9, z + 42, archaicTile);
    genBlock(x + 10, y + 9, z + 45, archaicTile);
    genBlock(x + 10, y + 9, z + 46, archaicTile);
    genBlock(x + 10, y + 9, z + 49, archaicTile);
    genBlock(x + 10, y + 9, z + 50, archaicTile);
    genBlock(x + 10, y + 9, z + 53, archaicTile);
    genBlock(x + 10, y + 9, z + 54, archaicTile);
    genBlock(x + 10, y + 9, z + 57, archaicTile);
    genBlock(x + 10, y + 10, z + 31, archaicTile);
    genBlock(x + 10, y + 10, z + 32, archaicTile);
    genBlock(x + 10, y + 10, z + 35, archaicTile);
    genBlock(x + 10, y + 10, z + 36, archaicTile);
    genBlock(x + 10, y + 10, z + 39, archaicTile);
    genBlock(x + 10, y + 10, z + 40, archaicTile);
    genBlock(x + 10, y + 10, z + 43, archaicTile);
    genBlock(x + 10, y + 10, z + 44, archaicTile);
    genBlock(x + 10, y + 10, z + 47, archaicTile);
    genBlock(x + 10, y + 10, z + 48, archaicTile);
    genBlock(x + 10, y + 10, z + 51, archaicTile);
    genBlock(x + 10, y + 10, z + 52, archaicTile);
    genBlock(x + 10, y + 10, z + 55, archaicTile);
    genBlock(x + 10, y + 10, z + 56, archaicTile);
    genBlock(x + 11, y, z + 28, archaicDirt);
    genBlock(x + 11, y, z + 29, archaicDirt);
    genBlock(x + 11, y, z + 30, archaicDirt);
    genBlock(x + 11, y, z + 31, archaicDirt);
    genBlock(x + 11, y, z + 32, archaicDirt);
    genBlock(x + 11, y, z + 33, archaicDirt);
    genBlock(x + 11, y, z + 34, archaicDirt);
    genBlock(x + 11, y, z + 35, archaicDirt);
    genBlock(x + 11, y, z + 36, archaicDirt);
    genBlock(x + 11, y, z + 37, archaicDirt);
    genBlock(x + 11, y, z + 38, archaicDirt);
    genBlock(x + 11, y, z + 39, archaicDirt);
    genBlock(x + 11, y, z + 40, archaicDirt);
    genBlock(x + 11, y, z + 41, archaicDirt);
    genBlock(x + 11, y, z + 42, archaicDirt);
    genBlock(x + 11, y, z + 43, archaicDirt);
    genBlock(x + 11, y, z + 44, archaicDirt);
    genBlock(x + 11, y, z + 45, archaicDirt);
    genBlock(x + 11, y, z + 46, archaicDirt);
    genBlock(x + 11, y, z + 47, archaicDirt);
    genBlock(x + 11, y, z + 48, archaicDirt);
    genBlock(x + 11, y, z + 49, archaicDirt);
    genBlock(x + 11, y, z + 50, archaicDirt);
    genBlock(x + 11, y, z + 51, archaicDirt);
    genBlock(x + 11, y, z + 52, archaicDirt);
    genBlock(x + 11, y, z + 53, archaicDirt);
    genBlock(x + 11, y, z + 54, archaicDirt);
    genBlock(x + 11, y, z + 55, archaicDirt);
    genBlock(x + 11, y, z + 56, archaicDirt);
    genBlock(x + 11, y, z + 57, archaicDirt);
    genBlock(x + 11, y + 1, z + 28, archaicTile);
    genBlock(x + 11, y + 1, z + 31, archaicTile);
    genBlock(x + 11, y + 1, z + 35, archaicTile);
    genBlock(x + 11, y + 1, z + 50, archaicTile);
    genBlock(x + 11, y + 1, z + 54, archaicTile);
    genBlock(x + 11, y + 1, z + 57, archaicTile);
    genBlock(x + 11, y + 2, z + 28, archaicTile);
    genBlock(x + 11, y + 2, z + 57, archaicTile);
    genBlock(x + 11, y + 3, z + 28, archaicTile);
    genBlock(x + 11, y + 3, z + 57, archaicTile);
    genBlock(x + 11, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 11, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 11, y + 5, z + 28, archaicTile);
    genBlock(x + 11, y + 5, z + 57, archaicTile);
    genBlock(x + 11, y + 6, z + 28, archaicTile);
    genBlock(x + 11, y + 6, z + 57, archaicTile);
    genBlock(x + 11, y + 7, z + 28, archaicTile);
    genBlock(x + 11, y + 7, z + 57, archaicTile);
    genBlock(x + 11, y + 8, z + 28, archaicTile);
    genBlock(x + 11, y + 8, z + 57, archaicTile);
    genBlock(x + 11, y + 9, z + 28, archaicTile);
    genBlock(x + 11, y + 9, z + 29, archaicTile);
    genBlock(x + 11, y + 9, z + 30, archaicTile);
    genBlock(x + 11, y + 9, z + 33, archaicTile);
    genBlock(x + 11, y + 9, z + 34, archaicTile);
    genBlock(x + 11, y + 9, z + 37, archaicTile);
    genBlock(x + 11, y + 9, z + 38, archaicTile);
    genBlock(x + 11, y + 9, z + 41, archaicTile);
    genBlock(x + 11, y + 9, z + 42, archaicTile);
    genBlock(x + 11, y + 9, z + 45, archaicTile);
    genBlock(x + 11, y + 9, z + 46, archaicTile);
    genBlock(x + 11, y + 9, z + 49, archaicTile);
    genBlock(x + 11, y + 9, z + 50, archaicTile);
    genBlock(x + 11, y + 9, z + 53, archaicTile);
    genBlock(x + 11, y + 9, z + 54, archaicTile);
    genBlock(x + 11, y + 9, z + 57, archaicTile);
    genBlock(x + 11, y + 10, z + 31, archaicTile);
    genBlock(x + 11, y + 10, z + 32, archaicTile);
    genBlock(x + 11, y + 10, z + 35, archaicTile);
    genBlock(x + 11, y + 10, z + 36, archaicTile);
    genBlock(x + 11, y + 10, z + 39, archaicTile);
    genBlock(x + 11, y + 10, z + 40, archaicTile);
    genBlock(x + 11, y + 10, z + 43, archaicTile);
    genBlock(x + 11, y + 10, z + 44, archaicTile);
    genBlock(x + 11, y + 10, z + 47, archaicTile);
    genBlock(x + 11, y + 10, z + 48, archaicTile);
    genBlock(x + 11, y + 10, z + 51, archaicTile);
    genBlock(x + 11, y + 10, z + 52, archaicTile);
    genBlock(x + 11, y + 10, z + 55, archaicTile);
    genBlock(x + 11, y + 10, z + 56, archaicTile);
    genBlock(x + 12, y, z + 28, archaicDirt);
    genBlock(x + 12, y, z + 29, archaicDirt);
    genBlock(x + 12, y, z + 30, archaicDirt);
    genBlock(x + 12, y, z + 31, archaicDirt);
    genBlock(x + 12, y, z + 32, archaicDirt);
    genBlock(x + 12, y, z + 33, archaicDirt);
    genBlock(x + 12, y, z + 34, archaicDirt);
    genBlock(x + 12, y, z + 35, archaicDirt);
    genBlock(x + 12, y, z + 36, archaicDirt);
    genBlock(x + 12, y, z + 37, archaicDirt);
    genBlock(x + 12, y, z + 38, archaicDirt);
    genBlock(x + 12, y, z + 39, archaicDirt);
    genBlock(x + 12, y, z + 40, archaicDirt);
    genBlock(x + 12, y, z + 41, archaicDirt);
    genBlock(x + 12, y, z + 42, archaicDirt);
    genBlock(x + 12, y, z + 43, archaicDirt);
    genBlock(x + 12, y, z + 44, archaicDirt);
    genBlock(x + 12, y, z + 45, archaicDirt);
    genBlock(x + 12, y, z + 46, archaicDirt);
    genBlock(x + 12, y, z + 47, archaicDirt);
    genBlock(x + 12, y, z + 48, archaicDirt);
    genBlock(x + 12, y, z + 49, archaicDirt);
    genBlock(x + 12, y, z + 50, archaicDirt);
    genBlock(x + 12, y, z + 51, archaicDirt);
    genBlock(x + 12, y, z + 52, archaicDirt);
    genBlock(x + 12, y, z + 53, archaicDirt);
    genBlock(x + 12, y, z + 54, archaicDirt);
    genBlock(x + 12, y, z + 55, archaicDirt);
    genBlock(x + 12, y, z + 56, archaicDirt);
    genBlock(x + 12, y, z + 57, archaicDirt);
    genBlock(x + 12, y + 1, z + 28, archaicRectangle);
    genBlock(x + 12, y + 1, z + 31, archaicTile);
    genBlock(x + 12, y + 1, z + 33, archaicTile);
    genBlock(x + 12, y + 1, z + 35, archaicTile);
    genBlock(x + 12, y + 1, z + 38, archaicTile);
    genBlock(x + 12, y + 1, z + 39, archaicGlass);
    genBlock(x + 12, y + 1, z + 40, archaicGlass);
    genBlock(x + 12, y + 1, z + 41, archaicGlass);
    genBlock(x + 12, y + 1, z + 42, archaicGlass);
    genBlock(x + 12, y + 1, z + 43, archaicGlass);
    genBlock(x + 12, y + 1, z + 44, archaicGlass);
    genBlock(x + 12, y + 1, z + 45, archaicGlass);
    genBlock(x + 12, y + 1, z + 46, archaicGlass);
    genBlock(x + 12, y + 1, z + 47, archaicTile);
    genBlock(x + 12, y + 1, z + 50, archaicTile);
    genBlock(x + 12, y + 1, z + 52, archaicTile);
    genBlock(x + 12, y + 1, z + 54, archaicTile);
    genBlock(x + 12, y + 1, z + 57, archaicRectangle);
    genBlock(x + 12, y + 2, z + 28, archaicRectangle);
    genBlock(x + 12, y + 2, z + 33, archaicTile);
    genBlock(x + 12, y + 2, z + 52, archaicTile);
    genBlock(x + 12, y + 2, z + 57, archaicRectangle);
    genBlock(x + 12, y + 3, z + 28, archaicRectangle);
    genBlock(x + 12, y + 3, z + 33, lava);
    genBlock(x + 12, y + 3, z + 52, lava);
    genBlock(x + 12, y + 4, z + 33, lava);
    genBlock(x + 12, y + 4, z + 52, lava);
    genBlock(x + 12, y + 3, z + 57, archaicRectangle);
    genBlock(x + 12, y + 4, z + 28, archaicRectangle);
    genBlock(x + 12, y + 4, z + 57, archaicRectangle);
    genBlock(x + 12, y + 5, z + 28, archaicRectangle);
    genBlock(x + 12, y + 5, z + 57, archaicRectangle);
    genBlock(x + 12, y + 6, z + 28, archaicRectangle);
    genBlock(x + 12, y + 6, z + 57, archaicRectangle);
    genBlock(x + 12, y + 7, z + 28, archaicRectangle);
    genBlock(x + 12, y + 7, z + 57, archaicRectangle);
    genBlock(x + 12, y + 8, z + 28, archaicRectangle);
    genBlock(x + 12, y + 8, z + 57, archaicRectangle);
    genBlock(x + 12, y + 9, z + 28, archaicRectangle);
    genBlock(x + 12, y + 9, z + 31, archaicTile);
    genBlock(x + 12, y + 9, z + 32, archaicTile);
    genBlock(x + 12, y + 9, z + 35, archaicTile);
    genBlock(x + 12, y + 9, z + 36, archaicTile);
    genBlock(x + 12, y + 9, z + 39, archaicTile);
    genBlock(x + 12, y + 9, z + 40, archaicTile);
    genBlock(x + 12, y + 9, z + 43, archaicTile);
    genBlock(x + 12, y + 9, z + 44, archaicTile);
    genBlock(x + 12, y + 9, z + 47, archaicTile);
    genBlock(x + 12, y + 9, z + 48, archaicTile);
    genBlock(x + 12, y + 9, z + 51, archaicTile);
    genBlock(x + 12, y + 9, z + 52, archaicTile);
    genBlock(x + 12, y + 9, z + 55, archaicTile);
    genBlock(x + 12, y + 9, z + 56, archaicTile);
    genBlock(x + 12, y + 9, z + 57, archaicRectangle);
    genBlock(x + 12, y + 10, z + 29, archaicTile);
    genBlock(x + 12, y + 10, z + 30, archaicTile);
    genBlock(x + 12, y + 10, z + 33, archaicTile);
    genBlock(x + 12, y + 10, z + 34, archaicTile);
    genBlock(x + 12, y + 10, z + 37, archaicTile);
    genBlock(x + 12, y + 10, z + 38, archaicTile);
    genBlock(x + 12, y + 10, z + 41, archaicTile);
    genBlock(x + 12, y + 10, z + 42, archaicTile);
    genBlock(x + 12, y + 10, z + 45, archaicTile);
    genBlock(x + 12, y + 10, z + 46, archaicTile);
    genBlock(x + 12, y + 10, z + 49, archaicTile);
    genBlock(x + 12, y + 10, z + 50, archaicTile);
    genBlock(x + 12, y + 10, z + 53, archaicTile);
    genBlock(x + 12, y + 10, z + 54, archaicTile);
    genBlock(x + 13, y, z + 28, archaicDirt);
    genBlock(x + 13, y, z + 29, archaicDirt);
    genBlock(x + 13, y, z + 30, archaicDirt);
    genBlock(x + 13, y, z + 31, archaicDirt);
    genBlock(x + 13, y, z + 32, archaicDirt);
    genBlock(x + 13, y, z + 33, archaicDirt);
    genBlock(x + 13, y, z + 34, archaicDirt);
    genBlock(x + 13, y, z + 35, archaicDirt);
    genBlock(x + 13, y, z + 36, archaicDirt);
    genBlock(x + 13, y, z + 37, archaicDirt);
    genBlock(x + 13, y, z + 38, archaicDirt);
    genBlock(x + 13, y, z + 39, archaicDirt);
    genBlock(x + 13, y, z + 40, archaicDirt);
    genBlock(x + 13, y, z + 41, archaicDirt);
    genBlock(x + 13, y, z + 42, archaicDirt);
    genBlock(x + 13, y, z + 43, archaicDirt);
    genBlock(x + 13, y, z + 44, archaicDirt);
    genBlock(x + 13, y, z + 45, archaicDirt);
    genBlock(x + 13, y, z + 46, archaicDirt);
    genBlock(x + 13, y, z + 47, archaicDirt);
    genBlock(x + 13, y, z + 48, archaicDirt);
    genBlock(x + 13, y, z + 49, archaicDirt);
    genBlock(x + 13, y, z + 50, archaicDirt);
    genBlock(x + 13, y, z + 51, archaicDirt);
    genBlock(x + 13, y, z + 52, archaicDirt);
    genBlock(x + 13, y, z + 53, archaicDirt);
    genBlock(x + 13, y, z + 54, archaicDirt);
    genBlock(x + 13, y, z + 55, archaicDirt);
    genBlock(x + 13, y, z + 56, archaicDirt);
    genBlock(x + 13, y, z + 57, archaicDirt);
    genBlock(x + 13, y + 1, z + 28, archaicRectangle);
    genBlock(x + 13, y + 1, z + 31, archaicTile);
    genBlock(x + 13, y + 1, z + 35, archaicTile);
    genBlock(x + 13, y + 1, z + 50, archaicTile);
    genBlock(x + 13, y + 1, z + 54, archaicTile);
    genBlock(x + 13, y + 1, z + 57, archaicRectangle);
    genBlock(x + 13, y + 2, z + 28, archaicRectangle);
    genBlock(x + 13, y + 2, z + 57, archaicRectangle);
    genBlock(x + 13, y + 3, z + 28, archaicRectangle);
    genBlock(x + 13, y + 3, z + 57, archaicRectangle);
    genBlock(x + 13, y + 4, z + 28, archaicRectangle);
    genBlock(x + 13, y + 4, z + 57, archaicRectangle);
    genBlock(x + 13, y + 5, z + 28, archaicRectangle);
    genBlock(x + 13, y + 5, z + 57, archaicRectangle);
    genBlock(x + 13, y + 6, z + 28, archaicRectangle);
    genBlock(x + 13, y + 6, z + 57, archaicRectangle);
    genBlock(x + 13, y + 7, z + 28, archaicRectangle);
    genBlock(x + 13, y + 7, z + 57, archaicRectangle);
    genBlock(x + 13, y + 8, z + 28, archaicRectangle);
    genBlock(x + 13, y + 8, z + 57, archaicRectangle);
    genBlock(x + 13, y + 9, z + 28, archaicRectangle);
    genBlock(x + 13, y + 9, z + 31, archaicTile);
    genBlock(x + 13, y + 9, z + 32, archaicTile);
    genBlock(x + 13, y + 9, z + 35, archaicTile);
    genBlock(x + 13, y + 9, z + 36, archaicTile);
    genBlock(x + 13, y + 9, z + 39, archaicTile);
    genBlock(x + 13, y + 9, z + 40, archaicTile);
    genBlock(x + 13, y + 9, z + 43, archaicTile);
    genBlock(x + 13, y + 9, z + 44, archaicTile);
    genBlock(x + 13, y + 9, z + 47, archaicTile);
    genBlock(x + 13, y + 9, z + 48, archaicTile);
    genBlock(x + 13, y + 9, z + 51, archaicTile);
    genBlock(x + 13, y + 9, z + 52, archaicTile);
    genBlock(x + 13, y + 9, z + 55, archaicTile);
    genBlock(x + 13, y + 9, z + 56, archaicTile);
    genBlock(x + 13, y + 9, z + 57, archaicRectangle);
    genBlock(x + 13, y + 10, z + 29, archaicTile);
    genBlock(x + 13, y + 10, z + 30, archaicTile);
    genBlock(x + 13, y + 10, z + 33, archaicTile);
    genBlock(x + 13, y + 10, z + 34, archaicTile);
    genBlock(x + 13, y + 10, z + 37, archaicTile);
    genBlock(x + 13, y + 10, z + 38, archaicTile);
    genBlock(x + 13, y + 10, z + 41, archaicTile);
    genBlock(x + 13, y + 10, z + 42, archaicTile);
    genBlock(x + 13, y + 10, z + 45, archaicTile);
    genBlock(x + 13, y + 10, z + 46, archaicTile);
    genBlock(x + 13, y + 10, z + 49, archaicTile);
    genBlock(x + 13, y + 10, z + 50, archaicTile);
    genBlock(x + 13, y + 10, z + 53, archaicTile);
    genBlock(x + 13, y + 10, z + 54, archaicTile);
    genBlock(x + 14, y, z + 28, archaicDirt);
    genBlock(x + 14, y, z + 29, archaicDirt);
    genBlock(x + 14, y, z + 30, archaicDirt);
    genBlock(x + 14, y, z + 31, archaicDirt);
    genBlock(x + 14, y, z + 32, archaicDirt);
    genBlock(x + 14, y, z + 33, archaicDirt);
    genBlock(x + 14, y, z + 34, archaicDirt);
    genBlock(x + 14, y, z + 35, archaicDirt);
    genBlock(x + 14, y, z + 36, archaicDirt);
    genBlock(x + 14, y, z + 37, archaicDirt);
    genBlock(x + 14, y, z + 38, archaicDirt);
    genBlock(x + 14, y, z + 39, archaicDirt);
    genBlock(x + 14, y, z + 40, archaicDirt);
    genBlock(x + 14, y, z + 41, archaicDirt);
    genBlock(x + 14, y, z + 42, archaicDirt);
    genBlock(x + 14, y, z + 43, archaicDirt);
    genBlock(x + 14, y, z + 44, archaicDirt);
    genBlock(x + 14, y, z + 45, archaicDirt);
    genBlock(x + 14, y, z + 46, archaicDirt);
    genBlock(x + 14, y, z + 47, archaicDirt);
    genBlock(x + 14, y, z + 48, archaicDirt);
    genBlock(x + 14, y, z + 49, archaicDirt);
    genBlock(x + 14, y, z + 50, archaicDirt);
    genBlock(x + 14, y, z + 51, archaicDirt);
    genBlock(x + 14, y, z + 52, archaicDirt);
    genBlock(x + 14, y, z + 53, archaicDirt);
    genBlock(x + 14, y, z + 54, archaicDirt);
    genBlock(x + 14, y, z + 55, archaicDirt);
    genBlock(x + 14, y, z + 56, archaicDirt);
    genBlock(x + 14, y, z + 57, archaicDirt);
    EntityDungeonKeeper dungeonKeeper = new EntityDungeonKeeper(world);
    dungeonKeeper.setLocationAndAngles(x + 14, y + 1, z + 42, rand.nextFloat() * 360, 0);
    world.spawnEntity(dungeonKeeper);
    genBlock(x + 14, y + 1, z + 28, archaicTile);
    genBlock(x + 14, y + 1, z + 31, archaicTile);
    genBlock(x + 14, y + 1, z + 32, archaicTile);
    genBlock(x + 14, y + 1, z + 33, archaicTile);
    genBlock(x + 14, y + 1, z + 34, archaicTile);
    genBlock(x + 14, y + 1, z + 35, archaicTile);
    genBlock(x + 14, y + 1, z + 50, archaicTile);
    genBlock(x + 14, y + 1, z + 51, archaicTile);
    genBlock(x + 14, y + 1, z + 52, archaicTile);
    genBlock(x + 14, y + 1, z + 53, archaicTile);
    genBlock(x + 14, y + 1, z + 54, archaicTile);
    genBlock(x + 14, y + 1, z + 57, archaicTile);
    genBlock(x + 14, y + 2, z + 28, archaicTile);
    genBlock(x + 14, y + 2, z + 57, archaicTile);
    genBlock(x + 14, y + 3, z + 28, archaicTile);
    genBlock(x + 14, y + 3, z + 57, archaicTile);
    genBlock(x + 14, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 14, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 14, y + 5, z + 28, archaicTile);
    genBlock(x + 14, y + 5, z + 57, archaicTile);
    genBlock(x + 14, y + 6, z + 28, archaicTile);
    genBlock(x + 14, y + 6, z + 57, archaicTile);
    genBlock(x + 14, y + 7, z + 28, archaicTile);
    genBlock(x + 14, y + 7, z + 57, archaicTile);
    genBlock(x + 14, y + 8, z + 28, archaicTile);
    genBlock(x + 14, y + 8, z + 57, archaicTile);
    genBlock(x + 14, y + 9, z + 28, archaicTile);
    genBlock(x + 14, y + 9, z + 29, archaicTile);
    genBlock(x + 14, y + 9, z + 30, archaicTile);
    genBlock(x + 14, y + 9, z + 33, archaicTile);
    genBlock(x + 14, y + 9, z + 34, archaicTile);
    genBlock(x + 14, y + 9, z + 37, archaicTile);
    genBlock(x + 14, y + 9, z + 38, archaicTile);
    genBlock(x + 14, y + 9, z + 41, archaicTile);
    genBlock(x + 14, y + 9, z + 42, archaicTile);
    genBlock(x + 14, y + 9, z + 45, archaicTile);
    genBlock(x + 14, y + 9, z + 46, archaicTile);
    genBlock(x + 14, y + 9, z + 49, archaicTile);
    genBlock(x + 14, y + 9, z + 50, archaicTile);
    genBlock(x + 14, y + 9, z + 53, archaicTile);
    genBlock(x + 14, y + 9, z + 54, archaicTile);
    genBlock(x + 14, y + 9, z + 57, archaicTile);
    genBlock(x + 14, y + 10, z + 31, archaicTile);
    genBlock(x + 14, y + 10, z + 32, archaicTile);
    genBlock(x + 14, y + 10, z + 35, archaicTile);
    genBlock(x + 14, y + 10, z + 36, archaicTile);
    genBlock(x + 14, y + 10, z + 39, archaicTile);
    genBlock(x + 14, y + 10, z + 40, archaicTile);
    genBlock(x + 14, y + 10, z + 43, archaicTile);
    genBlock(x + 14, y + 10, z + 44, archaicTile);
    genBlock(x + 14, y + 10, z + 47, archaicTile);
    genBlock(x + 14, y + 10, z + 48, archaicTile);
    genBlock(x + 14, y + 10, z + 51, archaicTile);
    genBlock(x + 14, y + 10, z + 52, archaicTile);
    genBlock(x + 14, y + 10, z + 55, archaicTile);
    genBlock(x + 14, y + 10, z + 56, archaicTile);
    genBlock(x + 15, y, z + 28, archaicDirt);
    genBlock(x + 15, y, z + 29, archaicDirt);
    genBlock(x + 15, y, z + 30, archaicDirt);
    genBlock(x + 15, y, z + 31, archaicDirt);
    genBlock(x + 15, y, z + 32, archaicDirt);
    genBlock(x + 15, y, z + 33, archaicDirt);
    genBlock(x + 15, y, z + 34, archaicDirt);
    genBlock(x + 15, y, z + 35, archaicDirt);
    genBlock(x + 15, y, z + 36, archaicDirt);
    genBlock(x + 15, y, z + 37, archaicDirt);
    genBlock(x + 15, y, z + 38, archaicDirt);
    genBlock(x + 15, y, z + 39, archaicDirt);
    genBlock(x + 15, y, z + 40, archaicDirt);
    genBlock(x + 15, y, z + 41, archaicDirt);
    genBlock(x + 15, y, z + 42, archaicDirt);
    genBlock(x + 15, y, z + 43, archaicDirt);
    genBlock(x + 15, y, z + 44, archaicDirt);
    genBlock(x + 15, y, z + 45, archaicDirt);
    genBlock(x + 15, y, z + 46, archaicDirt);
    genBlock(x + 15, y, z + 47, archaicDirt);
    genBlock(x + 15, y, z + 48, archaicDirt);
    genBlock(x + 15, y, z + 49, archaicDirt);
    genBlock(x + 15, y, z + 50, archaicDirt);
    genBlock(x + 15, y, z + 51, archaicDirt);
    genBlock(x + 15, y, z + 52, archaicDirt);
    genBlock(x + 15, y, z + 53, archaicDirt);
    genBlock(x + 15, y, z + 54, archaicDirt);
    genBlock(x + 15, y, z + 55, archaicDirt);
    genBlock(x + 15, y, z + 56, archaicDirt);
    genBlock(x + 15, y, z + 57, archaicDirt);
    genBlock(x + 15, y + 1, z + 28, archaicTile);
    genBlock(x + 15, y + 1, z + 57, archaicTile);
    genBlock(x + 15, y + 2, z + 28, archaicTile);
    genBlock(x + 15, y + 2, z + 57, archaicTile);
    genBlock(x + 15, y + 3, z + 28, archaicTile);
    genBlock(x + 15, y + 3, z + 57, archaicTile);
    genBlock(x + 15, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 15, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 15, y + 5, z + 28, archaicTile);
    genBlock(x + 15, y + 5, z + 57, archaicTile);
    genBlock(x + 15, y + 6, z + 28, archaicTile);
    genBlock(x + 15, y + 6, z + 57, archaicTile);
    genBlock(x + 15, y + 7, z + 28, archaicTile);
    genBlock(x + 15, y + 7, z + 57, archaicTile);
    genBlock(x + 15, y + 8, z + 28, archaicTile);
    genBlock(x + 15, y + 8, z + 57, archaicTile);
    genBlock(x + 15, y + 9, z + 28, archaicTile);
    genBlock(x + 15, y + 9, z + 29, archaicTile);
    genBlock(x + 15, y + 9, z + 30, archaicTile);
    genBlock(x + 15, y + 9, z + 33, archaicTile);
    genBlock(x + 15, y + 9, z + 34, archaicTile);
    genBlock(x + 15, y + 9, z + 37, archaicTile);
    genBlock(x + 15, y + 9, z + 38, archaicTile);
    genBlock(x + 15, y + 9, z + 41, archaicTile);
    genBlock(x + 15, y + 9, z + 42, archaicTile);
    genBlock(x + 15, y + 9, z + 45, archaicTile);
    genBlock(x + 15, y + 9, z + 46, archaicTile);
    genBlock(x + 15, y + 9, z + 49, archaicTile);
    genBlock(x + 15, y + 9, z + 50, archaicTile);
    genBlock(x + 15, y + 9, z + 53, archaicTile);
    genBlock(x + 15, y + 9, z + 54, archaicTile);
    genBlock(x + 15, y + 9, z + 57, archaicTile);
    genBlock(x + 15, y + 10, z + 31, archaicTile);
    genBlock(x + 15, y + 10, z + 32, archaicTile);
    genBlock(x + 15, y + 10, z + 35, archaicTile);
    genBlock(x + 15, y + 10, z + 36, archaicTile);
    genBlock(x + 15, y + 10, z + 39, archaicTile);
    genBlock(x + 15, y + 10, z + 40, archaicTile);
    genBlock(x + 15, y + 10, z + 43, archaicTile);
    genBlock(x + 15, y + 10, z + 44, archaicTile);
    genBlock(x + 15, y + 10, z + 47, archaicTile);
    genBlock(x + 15, y + 10, z + 48, archaicTile);
    genBlock(x + 15, y + 10, z + 51, archaicTile);
    genBlock(x + 15, y + 10, z + 52, archaicTile);
    genBlock(x + 15, y + 10, z + 55, archaicTile);
    genBlock(x + 15, y + 10, z + 56, archaicTile);
    genBlock(x + 16, y, z + 28, archaicDirt);
    genBlock(x + 16, y, z + 29, archaicDirt);
    genBlock(x + 16, y, z + 30, archaicDirt);
    genBlock(x + 16, y, z + 31, archaicDirt);
    genBlock(x + 16, y, z + 32, archaicDirt);
    genBlock(x + 16, y, z + 33, archaicDirt);
    genBlock(x + 16, y, z + 34, archaicDirt);
    genBlock(x + 16, y, z + 35, archaicDirt);
    genBlock(x + 16, y, z + 36, archaicDirt);
    genBlock(x + 16, y, z + 37, archaicDirt);
    genBlock(x + 16, y, z + 38, archaicDirt);
    genBlock(x + 16, y, z + 39, archaicDirt);
    genBlock(x + 16, y, z + 40, archaicDirt);
    genBlock(x + 16, y, z + 41, archaicDirt);
    genBlock(x + 16, y, z + 42, archaicDirt);
    genBlock(x + 16, y, z + 43, archaicDirt);
    genBlock(x + 16, y, z + 44, archaicDirt);
    genBlock(x + 16, y, z + 45, archaicDirt);
    genBlock(x + 16, y, z + 46, archaicDirt);
    genBlock(x + 16, y, z + 47, archaicDirt);
    genBlock(x + 16, y, z + 48, archaicDirt);
    genBlock(x + 16, y, z + 49, archaicDirt);
    genBlock(x + 16, y, z + 50, archaicDirt);
    genBlock(x + 16, y, z + 51, archaicDirt);
    genBlock(x + 16, y, z + 52, archaicDirt);
    genBlock(x + 16, y, z + 53, archaicDirt);
    genBlock(x + 16, y, z + 54, archaicDirt);
    genBlock(x + 16, y, z + 55, archaicDirt);
    genBlock(x + 16, y, z + 56, archaicDirt);
    genBlock(x + 16, y, z + 57, archaicDirt);
    genBlock(x + 16, y + 1, z + 28, archaicTile);
    genBlock(x + 16, y + 1, z + 57, archaicTile);
    genBlock(x + 16, y + 2, z + 28, archaicTile);
    genBlock(x + 16, y + 2, z + 57, archaicTile);
    genBlock(x + 16, y + 3, z + 28, archaicTile);
    genBlock(x + 16, y + 3, z + 57, archaicTile);
    genBlock(x + 16, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 16, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 16, y + 5, z + 28, archaicTile);
    genBlock(x + 16, y + 5, z + 57, archaicTile);
    genBlock(x + 16, y + 6, z + 28, archaicTile);
    genBlock(x + 16, y + 6, z + 57, archaicTile);
    genBlock(x + 16, y + 7, z + 28, archaicTile);
    genBlock(x + 16, y + 7, z + 57, archaicTile);
    genBlock(x + 16, y + 8, z + 28, archaicTile);
    genBlock(x + 16, y + 8, z + 57, archaicTile);
    genBlock(x + 16, y + 9, z + 28, archaicTile);
    genBlock(x + 16, y + 9, z + 31, archaicTile);
    genBlock(x + 16, y + 9, z + 32, archaicTile);
    genBlock(x + 16, y + 9, z + 35, archaicTile);
    genBlock(x + 16, y + 9, z + 36, archaicTile);
    genBlock(x + 16, y + 9, z + 39, archaicTile);
    genBlock(x + 16, y + 9, z + 40, archaicTile);
    genBlock(x + 16, y + 9, z + 43, archaicTile);
    genBlock(x + 16, y + 9, z + 44, archaicTile);
    genBlock(x + 16, y + 9, z + 47, archaicTile);
    genBlock(x + 16, y + 9, z + 48, archaicTile);
    genBlock(x + 16, y + 9, z + 51, archaicTile);
    genBlock(x + 16, y + 9, z + 52, archaicTile);
    genBlock(x + 16, y + 9, z + 55, archaicTile);
    genBlock(x + 16, y + 9, z + 56, archaicTile);
    genBlock(x + 16, y + 9, z + 57, archaicTile);
    genBlock(x + 16, y + 10, z + 29, archaicTile);
    genBlock(x + 16, y + 10, z + 30, archaicTile);
    genBlock(x + 16, y + 10, z + 33, archaicTile);
    genBlock(x + 16, y + 10, z + 34, archaicTile);
    genBlock(x + 16, y + 10, z + 37, archaicTile);
    genBlock(x + 16, y + 10, z + 38, archaicTile);
    genBlock(x + 16, y + 10, z + 41, archaicTile);
    genBlock(x + 16, y + 10, z + 42, archaicTile);
    genBlock(x + 16, y + 10, z + 45, archaicTile);
    genBlock(x + 16, y + 10, z + 46, archaicTile);
    genBlock(x + 16, y + 10, z + 49, archaicTile);
    genBlock(x + 16, y + 10, z + 50, archaicTile);
    genBlock(x + 16, y + 10, z + 53, archaicTile);
    genBlock(x + 16, y + 10, z + 54, archaicTile);
    genBlock(x + 17, y, z + 28, archaicDirt);
    genBlock(x + 17, y, z + 29, archaicDirt);
    genBlock(x + 17, y, z + 30, archaicDirt);
    genBlock(x + 17, y, z + 31, archaicDirt);
    genBlock(x + 17, y, z + 32, archaicDirt);
    genBlock(x + 17, y, z + 33, archaicDirt);
    genBlock(x + 17, y, z + 34, archaicDirt);
    genBlock(x + 17, y, z + 35, archaicDirt);
    genBlock(x + 17, y, z + 36, archaicDirt);
    genBlock(x + 17, y, z + 37, archaicDirt);
    genBlock(x + 17, y, z + 38, archaicDirt);
    genBlock(x + 17, y, z + 39, archaicDirt);
    genBlock(x + 17, y, z + 40, archaicDirt);
    genBlock(x + 17, y, z + 41, archaicDirt);
    genBlock(x + 17, y, z + 42, archaicDirt);
    genBlock(x + 17, y, z + 43, archaicDirt);
    genBlock(x + 17, y, z + 44, archaicDirt);
    genBlock(x + 17, y, z + 45, archaicDirt);
    genBlock(x + 17, y, z + 46, archaicDirt);
    genBlock(x + 17, y, z + 47, archaicDirt);
    genBlock(x + 17, y, z + 48, archaicDirt);
    genBlock(x + 17, y, z + 49, archaicDirt);
    genBlock(x + 17, y, z + 50, archaicDirt);
    genBlock(x + 17, y, z + 51, archaicDirt);
    genBlock(x + 17, y, z + 52, archaicDirt);
    genBlock(x + 17, y, z + 53, archaicDirt);
    genBlock(x + 17, y, z + 54, archaicDirt);
    genBlock(x + 17, y, z + 55, archaicDirt);
    genBlock(x + 17, y, z + 56, archaicDirt);
    genBlock(x + 17, y, z + 57, archaicDirt);
    genBlock(x + 17, y + 1, z + 28, archaicTile);
    genBlock(x + 17, y + 1, z + 33, archaicTile);
    genBlock(x + 17, y + 1, z + 41, archaicTile);
    genBlock(x + 17, y + 1, z + 42, archaicTile);
    genBlock(x + 17, y + 1, z + 43, archaicTile);
    genBlock(x + 17, y + 1, z + 44, archaicTile);
    genBlock(x + 17, y + 1, z + 52, archaicTile);
    genBlock(x + 17, y + 1, z + 57, archaicTile);
    genBlock(x + 17, y + 2, z + 28, archaicTile);
    genBlock(x + 17, y + 2, z + 41, archaicTile);
    genBlock(x + 17, y + 2, z + 42, portalBlock);
    genBlock(x + 17, y + 2, z + 43, portalBlock);
    genBlock(x + 17, y + 2, z + 44, archaicTile);
    genBlock(x + 17, y + 2, z + 57, archaicTile);
    genBlock(x + 17, y + 3, z + 28, archaicTile);
    genBlock(x + 17, y + 3, z + 41, archaicTile);
    genBlock(x + 17, y + 3, z + 42, portalBlock);
    genBlock(x + 17, y + 3, z + 43, portalBlock);
    genBlock(x + 17, y + 3, z + 44, archaicTile);
    genBlock(x + 17, y + 3, z + 57, archaicTile);
    genBlock(x + 17, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 17, y + 4, z + 41, archaicTile);
    genBlock(x + 17, y + 4, z + 42, portalBlock);
    genBlock(x + 17, y + 4, z + 43, portalBlock);
    genBlock(x + 17, y + 4, z + 44, archaicTile);
    genBlock(x + 17, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 17, y + 5, z + 28, archaicTile);
    genBlock(x + 17, y + 5, z + 41, archaicTile);
    genBlock(x + 17, y + 5, z + 42, archaicTile);
    genBlock(x + 17, y + 5, z + 43, archaicTile);
    genBlock(x + 17, y + 5, z + 44, archaicTile);
    genBlock(x + 17, y + 5, z + 57, archaicTile);
    genBlock(x + 17, y + 6, z + 28, archaicTile);
    genBlock(x + 17, y + 6, z + 57, archaicTile);
    genBlock(x + 17, y + 7, z + 28, archaicTile);
    genBlock(x + 17, y + 7, z + 57, archaicTile);
    genBlock(x + 17, y + 8, z + 28, archaicTile);
    genBlock(x + 17, y + 8, z + 57, archaicTile);
    genBlock(x + 17, y + 9, z + 28, archaicTile);
    genBlock(x + 17, y + 9, z + 31, archaicTile);
    genBlock(x + 17, y + 9, z + 32, archaicTile);
    genBlock(x + 17, y + 9, z + 35, archaicTile);
    genBlock(x + 17, y + 9, z + 36, archaicTile);
    genBlock(x + 17, y + 9, z + 39, archaicTile);
    genBlock(x + 17, y + 9, z + 40, archaicTile);
    genBlock(x + 17, y + 9, z + 43, archaicTile);
    genBlock(x + 17, y + 9, z + 44, archaicTile);
    genBlock(x + 17, y + 9, z + 47, archaicTile);
    genBlock(x + 17, y + 9, z + 48, archaicTile);
    genBlock(x + 17, y + 9, z + 51, archaicTile);
    genBlock(x + 17, y + 9, z + 52, archaicTile);
    genBlock(x + 17, y + 9, z + 55, archaicTile);
    genBlock(x + 17, y + 9, z + 56, archaicTile);
    genBlock(x + 17, y + 9, z + 57, archaicTile);
    genBlock(x + 17, y + 10, z + 29, archaicTile);
    genBlock(x + 17, y + 10, z + 30, archaicTile);
    genBlock(x + 17, y + 10, z + 33, archaicTile);
    genBlock(x + 17, y + 10, z + 34, archaicTile);
    genBlock(x + 17, y + 10, z + 37, archaicTile);
    genBlock(x + 17, y + 10, z + 38, archaicTile);
    genBlock(x + 17, y + 10, z + 41, archaicTile);
    genBlock(x + 17, y + 10, z + 42, archaicTile);
    genBlock(x + 17, y + 10, z + 45, archaicTile);
    genBlock(x + 17, y + 10, z + 46, archaicTile);
    genBlock(x + 17, y + 10, z + 49, archaicTile);
    genBlock(x + 17, y + 10, z + 50, archaicTile);
    genBlock(x + 17, y + 10, z + 53, archaicTile);
    genBlock(x + 17, y + 10, z + 54, archaicTile);
    genBlock(x + 18, y, z + 28, archaicDirt);
    genBlock(x + 18, y, z + 29, archaicDirt);
    genBlock(x + 18, y, z + 30, archaicDirt);
    genBlock(x + 18, y, z + 31, archaicDirt);
    genBlock(x + 18, y, z + 32, archaicDirt);
    genBlock(x + 18, y, z + 33, archaicDirt);
    genBlock(x + 18, y, z + 34, archaicDirt);
    genBlock(x + 18, y, z + 35, archaicDirt);
    genBlock(x + 18, y, z + 36, archaicDirt);
    genBlock(x + 18, y, z + 37, archaicDirt);
    genBlock(x + 18, y, z + 38, archaicDirt);
    genBlock(x + 18, y, z + 39, archaicDirt);
    genBlock(x + 18, y, z + 40, archaicDirt);
    genBlock(x + 18, y, z + 41, archaicDirt);
    genBlock(x + 18, y, z + 42, archaicDirt);
    genBlock(x + 18, y, z + 43, archaicDirt);
    genBlock(x + 18, y, z + 44, archaicDirt);
    genBlock(x + 18, y, z + 45, archaicDirt);
    genBlock(x + 18, y, z + 46, archaicDirt);
    genBlock(x + 18, y, z + 47, archaicDirt);
    genBlock(x + 18, y, z + 48, archaicDirt);
    genBlock(x + 18, y, z + 49, archaicDirt);
    genBlock(x + 18, y, z + 50, archaicDirt);
    genBlock(x + 18, y, z + 51, archaicDirt);
    genBlock(x + 18, y, z + 52, archaicDirt);
    genBlock(x + 18, y, z + 53, archaicDirt);
    genBlock(x + 18, y, z + 54, archaicDirt);
    genBlock(x + 18, y, z + 55, archaicDirt);
    genBlock(x + 18, y, z + 56, archaicDirt);
    genBlock(x + 18, y, z + 57, archaicDirt);
    genBlock(x + 18, y + 1, z + 28, archaicSquare);
    genBlock(x + 18, y + 1, z + 33, archaicGlass);
    genBlock(x + 18, y + 1, z + 52, archaicGlass);
    genBlock(x + 18, y + 1, z + 57, archaicSquare);
    genBlock(x + 18, y + 2, z + 28, archaicSquare);
    genBlock(x + 18, y + 2, z + 57, archaicSquare);
    genBlock(x + 18, y + 3, z + 28, archaicSquare);
    genBlock(x + 18, y + 3, z + 57, archaicSquare);
    genBlock(x + 18, y + 4, z + 28, archaicSquare);
    genBlock(x + 18, y + 4, z + 57, archaicSquare);
    genBlock(x + 18, y + 5, z + 28, archaicSquare);
    genBlock(x + 18, y + 5, z + 57, archaicSquare);
    genBlock(x + 18, y + 6, z + 28, archaicSquare);
    genBlock(x + 18, y + 6, z + 57, archaicSquare);
    genBlock(x + 18, y + 7, z + 28, archaicSquare);
    genBlock(x + 18, y + 7, z + 57, archaicSquare);
    genBlock(x + 18, y + 8, z + 28, archaicSquare);
    genBlock(x + 18, y + 8, z + 57, archaicSquare);
    genBlock(x + 18, y + 9, z + 28, archaicSquare);
    genBlock(x + 18, y + 9, z + 29, archaicTile);
    genBlock(x + 18, y + 9, z + 30, archaicTile);
    genBlock(x + 18, y + 9, z + 33, archaicTile);
    genBlock(x + 18, y + 9, z + 34, archaicTile);
    genBlock(x + 18, y + 9, z + 37, archaicTile);
    genBlock(x + 18, y + 9, z + 38, archaicTile);
    genBlock(x + 18, y + 9, z + 41, archaicTile);
    genBlock(x + 18, y + 9, z + 42, archaicTile);
    genBlock(x + 18, y + 9, z + 45, archaicTile);
    genBlock(x + 18, y + 9, z + 46, archaicTile);
    genBlock(x + 18, y + 9, z + 49, archaicTile);
    genBlock(x + 18, y + 9, z + 50, archaicTile);
    genBlock(x + 18, y + 9, z + 53, archaicTile);
    genBlock(x + 18, y + 9, z + 54, archaicTile);
    genBlock(x + 18, y + 9, z + 57, archaicSquare);
    genBlock(x + 18, y + 10, z + 31, archaicTile);
    genBlock(x + 18, y + 10, z + 32, archaicTile);
    genBlock(x + 18, y + 10, z + 35, archaicTile);
    genBlock(x + 18, y + 10, z + 36, archaicTile);
    genBlock(x + 18, y + 10, z + 39, archaicTile);
    genBlock(x + 18, y + 10, z + 40, archaicTile);
    genBlock(x + 18, y + 10, z + 43, archaicTile);
    genBlock(x + 18, y + 10, z + 44, archaicTile);
    genBlock(x + 18, y + 10, z + 47, archaicTile);
    genBlock(x + 18, y + 10, z + 48, archaicTile);
    genBlock(x + 18, y + 10, z + 51, archaicTile);
    genBlock(x + 18, y + 10, z + 52, archaicTile);
    genBlock(x + 18, y + 10, z + 55, archaicTile);
    genBlock(x + 18, y + 10, z + 56, archaicTile);
    genBlock(x + 19, y, z + 28, archaicDirt);
    genBlock(x + 19, y, z + 29, archaicDirt);
    genBlock(x + 19, y, z + 30, archaicDirt);
    genBlock(x + 19, y, z + 31, archaicDirt);
    genBlock(x + 19, y, z + 32, archaicDirt);
    genBlock(x + 19, y, z + 33, archaicDirt);
    genBlock(x + 19, y, z + 34, archaicDirt);
    genBlock(x + 19, y, z + 35, archaicDirt);
    genBlock(x + 19, y, z + 36, archaicDirt);
    genBlock(x + 19, y, z + 37, archaicDirt);
    genBlock(x + 19, y, z + 38, archaicDirt);
    genBlock(x + 19, y, z + 39, archaicDirt);
    genBlock(x + 19, y, z + 40, archaicDirt);
    genBlock(x + 19, y, z + 41, archaicDirt);
    genBlock(x + 19, y, z + 42, archaicDirt);
    genBlock(x + 19, y, z + 43, archaicDirt);
    genBlock(x + 19, y, z + 44, archaicDirt);
    genBlock(x + 19, y, z + 45, archaicDirt);
    genBlock(x + 19, y, z + 46, archaicDirt);
    genBlock(x + 19, y, z + 47, archaicDirt);
    genBlock(x + 19, y, z + 48, archaicDirt);
    genBlock(x + 19, y, z + 49, archaicDirt);
    genBlock(x + 19, y, z + 50, archaicDirt);
    genBlock(x + 19, y, z + 51, archaicDirt);
    genBlock(x + 19, y, z + 52, archaicDirt);
    genBlock(x + 19, y, z + 53, archaicDirt);
    genBlock(x + 19, y, z + 54, archaicDirt);
    genBlock(x + 19, y, z + 55, archaicDirt);
    genBlock(x + 19, y, z + 56, archaicDirt);
    genBlock(x + 19, y, z + 57, archaicDirt);
    genBlock(x + 19, y + 1, z + 28, archaicTile);
    genBlock(x + 19, y + 1, z + 33, archaicGlass);
    genBlock(x + 19, y + 1, z + 52, archaicGlass);
    genBlock(x + 19, y + 1, z + 57, archaicTile);
    genBlock(x + 19, y + 2, z + 28, archaicTile);
    genBlock(x + 19, y + 2, z + 57, archaicTile);
    genBlock(x + 19, y + 3, z + 28, archaicTile);
    genBlock(x + 19, y + 3, z + 57, archaicTile);
    genBlock(x + 19, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 19, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 19, y + 5, z + 28, archaicTile);
    genBlock(x + 19, y + 5, z + 57, archaicTile);
    genBlock(x + 19, y + 6, z + 28, archaicTile);
    genBlock(x + 19, y + 6, z + 42, archaicLight);
    genBlock(x + 19, y + 6, z + 43, archaicLight);
    genBlock(x + 19, y + 6, z + 57, archaicTile);
    genBlock(x + 19, y + 7, z + 28, archaicTile);
    genBlock(x + 19, y + 7, z + 57, archaicTile);
    genBlock(x + 19, y + 8, z + 28, archaicTile);
    genBlock(x + 19, y + 8, z + 57, archaicTile);
    genBlock(x + 19, y + 9, z + 28, archaicTile);
    genBlock(x + 19, y + 9, z + 29, archaicTile);
    genBlock(x + 19, y + 9, z + 30, archaicTile);
    genBlock(x + 19, y + 9, z + 33, archaicTile);
    genBlock(x + 19, y + 9, z + 34, archaicTile);
    genBlock(x + 19, y + 9, z + 37, archaicTile);
    genBlock(x + 19, y + 9, z + 38, archaicTile);
    genBlock(x + 19, y + 9, z + 41, archaicTile);
    genBlock(x + 19, y + 9, z + 42, archaicTile);
    genBlock(x + 19, y + 9, z + 45, archaicTile);
    genBlock(x + 19, y + 9, z + 46, archaicTile);
    genBlock(x + 19, y + 9, z + 49, archaicTile);
    genBlock(x + 19, y + 9, z + 50, archaicTile);
    genBlock(x + 19, y + 9, z + 53, archaicTile);
    genBlock(x + 19, y + 9, z + 54, archaicTile);
    genBlock(x + 19, y + 9, z + 57, archaicTile);
    genBlock(x + 19, y + 10, z + 31, archaicTile);
    genBlock(x + 19, y + 10, z + 32, archaicTile);
    genBlock(x + 19, y + 10, z + 35, archaicTile);
    genBlock(x + 19, y + 10, z + 36, archaicTile);
    genBlock(x + 19, y + 10, z + 39, archaicTile);
    genBlock(x + 19, y + 10, z + 40, archaicTile);
    genBlock(x + 19, y + 10, z + 43, archaicTile);
    genBlock(x + 19, y + 10, z + 44, archaicTile);
    genBlock(x + 19, y + 10, z + 47, archaicTile);
    genBlock(x + 19, y + 10, z + 48, archaicTile);
    genBlock(x + 19, y + 10, z + 51, archaicTile);
    genBlock(x + 19, y + 10, z + 52, archaicTile);
    genBlock(x + 19, y + 10, z + 55, archaicTile);
    genBlock(x + 19, y + 10, z + 56, archaicTile);
    genBlock(x + 20, y, z + 28, archaicDirt);
    genBlock(x + 20, y, z + 29, archaicDirt);
    genBlock(x + 20, y, z + 30, archaicDirt);
    genBlock(x + 20, y, z + 31, archaicDirt);
    genBlock(x + 20, y, z + 32, archaicDirt);
    genBlock(x + 20, y, z + 33, archaicDirt);
    genBlock(x + 20, y, z + 34, archaicDirt);
    genBlock(x + 20, y, z + 35, archaicDirt);
    genBlock(x + 20, y, z + 36, archaicDirt);
    genBlock(x + 20, y, z + 37, archaicDirt);
    genBlock(x + 20, y, z + 38, archaicDirt);
    genBlock(x + 20, y, z + 39, archaicDirt);
    genBlock(x + 20, y, z + 40, archaicDirt);
    genBlock(x + 20, y, z + 41, archaicDirt);
    genBlock(x + 20, y, z + 42, archaicDirt);
    genBlock(x + 20, y, z + 43, archaicDirt);
    genBlock(x + 20, y, z + 44, archaicDirt);
    genBlock(x + 20, y, z + 45, archaicDirt);
    genBlock(x + 20, y, z + 46, archaicDirt);
    genBlock(x + 20, y, z + 47, archaicDirt);
    genBlock(x + 20, y, z + 48, archaicDirt);
    genBlock(x + 20, y, z + 49, archaicDirt);
    genBlock(x + 20, y, z + 50, archaicDirt);
    genBlock(x + 20, y, z + 51, archaicDirt);
    genBlock(x + 20, y, z + 52, archaicDirt);
    genBlock(x + 20, y, z + 53, archaicDirt);
    genBlock(x + 20, y, z + 54, archaicDirt);
    genBlock(x + 20, y, z + 55, archaicDirt);
    genBlock(x + 20, y, z + 56, archaicDirt);
    genBlock(x + 20, y, z + 57, archaicDirt);
    genBlock(x + 20, y + 1, z + 28, archaicTile);
    genBlock(x + 20, y + 1, z + 33, archaicGlass);
    genBlock(x + 20, y + 1, z + 52, archaicGlass);
    genBlock(x + 20, y + 1, z + 57, archaicTile);
    genBlock(x + 20, y + 2, z + 28, archaicTile);
    genBlock(x + 20, y + 2, z + 57, archaicTile);
    genBlock(x + 20, y + 3, z + 28, archaicTile);
    genBlock(x + 20, y + 3, z + 57, archaicTile);
    genBlock(x + 20, y + 4, z + 28, archaicStreamHorizontal);
    genBlock(x + 20, y + 4, z + 57, archaicStreamHorizontal);
    genBlock(x + 20, y + 5, z + 28, archaicTile);
    genBlock(x + 20, y + 5, z + 57, archaicTile);
    genBlock(x + 20, y + 6, z + 28, archaicTile);
    genBlock(x + 20, y + 6, z + 42, archaicTile);
    genBlock(x + 20, y + 6, z + 43, archaicTile);
    genBlock(x + 20, y + 6, z + 57, archaicTile);
    genBlock(x + 20, y + 7, z + 28, archaicTile);
    genBlock(x + 20, y + 7, z + 57, archaicTile);
    genBlock(x + 20, y + 8, z + 28, archaicTile);
    genBlock(x + 20, y + 8, z + 57, archaicTile);
    genBlock(x + 20, y + 9, z + 28, archaicTile);
    genBlock(x + 20, y + 9, z + 31, archaicTile);
    genBlock(x + 20, y + 9, z + 32, archaicTile);
    genBlock(x + 20, y + 9, z + 35, archaicTile);
    genBlock(x + 20, y + 9, z + 36, archaicTile);
    genBlock(x + 20, y + 9, z + 39, archaicTile);
    genBlock(x + 20, y + 9, z + 40, archaicTile);
    genBlock(x + 20, y + 9, z + 43, archaicTile);
    genBlock(x + 20, y + 9, z + 44, archaicTile);
    genBlock(x + 20, y + 9, z + 47, archaicTile);
    genBlock(x + 20, y + 9, z + 48, archaicTile);
    genBlock(x + 20, y + 9, z + 51, archaicTile);
    genBlock(x + 20, y + 9, z + 52, archaicTile);
    genBlock(x + 20, y + 9, z + 55, archaicTile);
    genBlock(x + 20, y + 9, z + 56, archaicTile);
    genBlock(x + 20, y + 9, z + 57, archaicTile);
    genBlock(x + 20, y + 10, z + 29, archaicTile);
    genBlock(x + 20, y + 10, z + 30, archaicTile);
    genBlock(x + 20, y + 10, z + 33, archaicTile);
    genBlock(x + 20, y + 10, z + 34, archaicTile);
    genBlock(x + 20, y + 10, z + 37, archaicTile);
    genBlock(x + 20, y + 10, z + 38, archaicTile);
    genBlock(x + 20, y + 10, z + 41, archaicTile);
    genBlock(x + 20, y + 10, z + 42, archaicTile);
    genBlock(x + 20, y + 10, z + 45, archaicTile);
    genBlock(x + 20, y + 10, z + 46, archaicTile);
    genBlock(x + 20, y + 10, z + 49, archaicTile);
    genBlock(x + 20, y + 10, z + 50, archaicTile);
    genBlock(x + 20, y + 10, z + 53, archaicTile);
    genBlock(x + 20, y + 10, z + 54, archaicTile);
    return continueGen(world, rand, x, y, z);
}
Also used : EntityDungeonKeeper(net.tslat.aoa3.entity.npcs.trader.EntityDungeonKeeper)

Example 2 with PortalBlock

use of net.tslat.aoa3.block.functional.portal.PortalBlock in project Advent-Of-Ascension by Tslat.

the class AoAPortalFrame method testEastWestPortalFrame.

public static PortalDirection testEastWestPortalFrame(World world, BlockPos basePos, PortalBlock portalBlock) {
    Block carvedRuneTravel = null;
    Block carvedRuneReality = null;
    Block carvedRuneSpace = null;
    Block carvedRuneDirection = null;
    int ancientRockCount = 0;
    for (Vec3i pos : eastWestPattern) {
        Block testBlock = world.getBlockState(basePos.add(pos)).getBlock();
        if (testBlock == BlockRegister.ANCIENT_ROCK) {
            ancientRockCount++;
        } else if (testBlock instanceof CarvedRunicPortalBlock) {
            if (testBlock == BlockRegister.CARVED_RUNE_TRAVEL) {
                if (carvedRuneTravel != null)
                    return INVALID;
                carvedRuneTravel = testBlock;
            } else if (testBlock == BlockRegister.CARVED_RUNE_REALITY) {
                if (carvedRuneReality != null)
                    return INVALID;
                carvedRuneReality = testBlock;
            } else if (testBlock == BlockRegister.CARVED_RUNE_SPACE) {
                if (carvedRuneSpace != null)
                    return INVALID;
                carvedRuneSpace = testBlock;
            } else if (testBlock == BlockRegister.CARVED_RUNE_DIRECTION) {
                if (carvedRuneDirection != null)
                    return INVALID;
                carvedRuneDirection = testBlock;
            }
        }
    }
    if (ancientRockCount == 13 && carvedRuneDirection != null && carvedRuneReality != null && carvedRuneSpace != null && carvedRuneTravel != null) {
        for (int z = -1; z < 2; z++) {
            for (int y = 1; y < 5; y++) {
                IBlockState state = world.getBlockState(basePos.add(0, y, z));
                if (state.getBlock() instanceof PortalBlock) {
                    if (state.getBlock() == portalBlock)
                        return EXISTING;
                } else if (!state.getMaterial().isReplaceable()) {
                    return INVALID;
                }
            }
        }
        return EAST_WEST;
    }
    return INVALID;
}
Also used : Vec3i(net.minecraft.util.math.Vec3i) IBlockState(net.minecraft.block.state.IBlockState) CarvedRunicPortalBlock(net.tslat.aoa3.block.functional.misc.CarvedRunicPortalBlock) Block(net.minecraft.block.Block) PortalBlock(net.tslat.aoa3.block.functional.portal.PortalBlock) CarvedRunicPortalBlock(net.tslat.aoa3.block.functional.misc.CarvedRunicPortalBlock) CarvedRunicPortalBlock(net.tslat.aoa3.block.functional.misc.CarvedRunicPortalBlock) PortalBlock(net.tslat.aoa3.block.functional.portal.PortalBlock)

Example 3 with PortalBlock

use of net.tslat.aoa3.block.functional.portal.PortalBlock in project Advent-Of-Ascension by Tslat.

the class CarvedRunicPortalBlock method onBlockActivated.

@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
    if (state.getBlock() == BlockRegister.CARVED_RUNE_POWER) {
        if (!world.isRemote) {
            if (player.getHeldItem(hand).getItem() instanceof Realmstone) {
                Realmstone realmstone = (Realmstone) player.getHeldItem(hand).getItem();
                PortalBlock portalBlock = realmstone.getPortalBlock();
                AoAPortalFrame.PortalDirection direction = AoAPortalFrame.testFrameForActivation(world, pos, facing, portalBlock);
                if (direction == AoAPortalFrame.PortalDirection.EXISTING) {
                    player.sendMessage(StringUtil.getLocale("message.feedback.teleporterFrame.existing"));
                } else if (direction == AoAPortalFrame.PortalDirection.INVALID) {
                    player.sendMessage(StringUtil.getLocale("message.feedback.teleporterFrame.fail"));
                } else {
                    AoAPortalFrame.lightPortalFrame(world, pos, direction, portalBlock);
                    player.sendMessage(StringUtil.getLocale("message.feedback.teleporterFrame." + realmstone.getMsgSuffix()));
                    world.playSound(null, pos.getX(), pos.getY(), pos.getZ(), realmstone.getPortalSound(), SoundCategory.MASTER, 1.0f, 1.0f);
                }
            } else if (player.getHeldItem(hand).getItem() instanceof BlankRealmstone) {
                if (world.getBlockState(pos.offset(EnumFacing.UP)).getBlock() instanceof PortalBlock)
                    world.setBlockToAir(pos.offset(EnumFacing.UP));
            }
        }
        return true;
    }
    return false;
}
Also used : BlankRealmstone(net.tslat.aoa3.item.misc.BlankRealmstone) Realmstone(net.tslat.aoa3.item.misc.Realmstone) AoAPortalFrame(net.tslat.aoa3.library.misc.AoAPortalFrame) BlankRealmstone(net.tslat.aoa3.item.misc.BlankRealmstone) PortalBlock(net.tslat.aoa3.block.functional.portal.PortalBlock)

Example 4 with PortalBlock

use of net.tslat.aoa3.block.functional.portal.PortalBlock in project Advent-Of-Ascension by Tslat.

the class BlockRegister method registerBlocks.

@SubscribeEvent
public static void registerBlocks(final RegistryEvent.Register<Block> ev) {
    AdventOfAscension.logMessage(Level.INFO, "Beginning block registration");
    IForgeRegistry<Block> registry = ev.getRegistry();
    registerBlock(registry, new StoneBlock("AbyssalStone", "abyss_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("BarathosHellstone", "barathos_hellstone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("BaronStone", "baron_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("BoreanStone", "borean_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("CreepStone", "creep_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("CrystevianStone", "crystevia_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new DeeplandsStone(), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("DustopianStone", "dustopia_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("GardencianStone", "gardencia_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("GreckonStone", "greckon_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("HavenStone", "haven_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("IroStone", "iromine_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("LelyetianStone", "lelyetia_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("MysteriumStone", "mysterium_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("HighPrecasianStone", "high_precasia_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("LowPrecasiaStone", "low_precasia_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("PrimedStone", "primed_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("RunicStone", "runic_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("ShyrelandsStone", "shyrelands_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("ToxicStone", "toxic_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new StoneBlock("UnstableStone", "unstable_stone"), "blocks/generation/stone/", ORE_DICT_COBBLE);
    registerBlock(registry, new DirtBlock("BoreanDirt", "borean_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("CandylandDirt", "candyland_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("CeleveDirt", "celeve_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("CreeponiaDirt", "creeponia_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("DustopiaDirt", "dustopia_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("GardenciaDirt", "gardencia_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("GreckonDirt", "greckon_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("HavenDirt", "haven_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("LunalyteDirt", "lunalyte_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("LunasoleDirt", "lunasole_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("MysteriumDirt", "mysterium_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new DirtBlock("ToxicDirt", "toxic_dirt"), "blocks/generation/dirt/");
    registerBlock(registry, new GrassBlock("AbyssGrass", "abyss_grass", getUnmappedBlock("abyss_stone"), 1.3f, 8f), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("BoreanGrass", "borean_grass", getUnmappedBlock("borean_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("CandylandGrass", "candyland_grass", getUnmappedBlock("candyland_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("CeleveGrass", "celeve_grass", getUnmappedBlock("celeve_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("CreeponiaGrass", "creeponia_grass", getUnmappedBlock("creeponia_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("DustopiaGrass", "dustopia_grass", getUnmappedBlock("dustopia_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("GardenciaGrass", "gardencia_grass", getUnmappedBlock("gardencia_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("GreckonGrass", "greckon_grass", getUnmappedBlock("greckon_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("HavenGrass", "haven_grass", getUnmappedBlock("haven_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("IromineGrass", "iromine_grass", getUnmappedBlock("iromine_stone"), 1.3f, 8f), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("LelyetiaGrass", "lelyetia_grass", getUnmappedBlock("lelyetia_stone"), 1.3f, 8f), "blocks/generation/grass/");
    registerBlock(registry, new UpsideDownGrassBlock("LelyetiaDownGrass", "lelyetia_down_grass", getUnmappedBlock("lelyetia_stone"), 1.3f, 8f), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("LunalyteGrass", "lunalyte_grass", getUnmappedBlock("lunalyte_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("LunasoleGrass", "lunasole_grass", getUnmappedBlock("lunasole_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("MysteriumGrass", "mysterium_grass", getUnmappedBlock("mysterium_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("PrecasiaGrass", "precasia_grass", getUnmappedBlock("high_precasia_stone"), 1.3f, 8f), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("RunicGrass", "runic_grass", getUnmappedBlock("runic_stone"), 1.3f, 8f), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("ShyrelandsGrass", "shyrelands_grass", getUnmappedBlock("shyrelands_stone"), 1.3f, 8f), "blocks/generation/grass/");
    registerBlock(registry, new GrassBlock("ToxicGrass", "toxic_grass", getUnmappedBlock("toxic_dirt")), "blocks/generation/grass/");
    registerBlock(registry, new OreBlock("AmethystOre", "amethyst_ore", 2, 2, 8), "blocks/generation/ores/", "oreAmethyst");
    registerBlock(registry, new OreBlock("BaronyteOre", "baronyte_ore", 3), "blocks/generation/ores/", "oreBaronyte");
    registerBlock(registry, new OreBlock("BlaziumOre", "blazium_ore", 3), "blocks/generation/ores/", "oreBlazium");
    registerBlock(registry, new OreBlock("BloodstoneOre", "bloodstone_ore", 4, 6, 11), "blocks/generation/ores/", "oreBloodstone");
    registerBlock(registry, new OreBlock("BlueGemstoneOre", "blue_crystal_ore", 4, 4, 7), "blocks/generation/ores/", "oreBlueGemstone");
    registerBlock(registry, new OreBlock("ChargedRuniumOre", "charged_runium_ore", 3), "blocks/generation/ores/", "oreChargedRunium");
    registerBlock(registry, new OreBlock("ChestboneFragmentsOre", "chestbone_fragments_ore", 3, 4, 8), "blocks/generation/ores/", "oreChestboneFragments");
    registerBlock(registry, new OreBlock("CrystalliteOre", "crystallite_ore", 4, 6, 11), "blocks/generation/ores/", "oreCrystallite");
    registerBlock(registry, new OreBlock("ElecaniumOre", "elecanium_ore", 4), "blocks/generation/ores/", "oreElecanium");
    registerBlock(registry, new OreBlock("EmberstoneOre", "emberstone_ore", 3), "blocks/generation/ores/", "oreEmberstone");
    registerBlock(registry, new OreBlock("FootboneFragmentsOre", "footbone_fragments_ore", 3, 4, 8), "blocks/generation/ores/", "oreFootboneFragments");
    registerBlock(registry, new OreBlock("GemenyteOre", "gemenyte_ore", 3, 4, 8), "blocks/generation/ores/", "oreGemenyte");
    registerBlock(registry, new OreBlock("GhastlyOre", "ghastly_ore", 4), "blocks/generation/ores/", "oreGhastly");
    registerBlock(registry, new OreBlock("GhoulishOre", "ghoulish_ore", 4), "blocks/generation/ores/", "oreGhoulish");
    registerBlock(registry, new OreBlock("GreenGemstoneOre", "green_crystal_ore", 4, 4, 7), "blocks/generation/ores/", "oreGreenGemstone");
    registerBlock(registry, new OreBlock("JadeOre", "jade_ore", 2, 3, 8), "blocks/generation/ores/", "oreJade");
    registerBlock(registry, new OreBlock("JewelyteOre", "jewelyte_ore", 3, 4, 8), "blocks/generation/ores/", "oreJewelyte");
    registerBlock(registry, new OreBlock("LegboneFragmentsOre", "legbone_fragments_ore", 3, 4, 8), "blocks/generation/ores/", "oreLegboneFragments");
    registerBlock(registry, new OreBlock("LimoniteOre", "limonite_ore", 1), "blocks/generation/ores/", "oreLimonite");
    registerBlock(registry, new OreBlock("LyonOre", "lyon_ore", 4), "blocks/generation/ores/", "oreLyon");
    registerBlock(registry, new OreBlock("MystiteOre", "mystite_ore", 4), "blocks/generation/ores/", "oreMystite");
    registerBlock(registry, new OreBlock("OrnamyteOre", "ornamyte_ore", 3, 4, 8), "blocks/generation/ores/", "oreOrnamyte");
    registerBlock(registry, new OreBlock("PurpleGemstoneOre", "purple_crystal_ore", 4, 4, 7), "blocks/generation/ores/", "orePurpleGemstone");
    registerBlock(registry, new OreBlock("RedGemstoneOre", "red_crystal_ore", 4, 4, 7), "blocks/generation/ores/", "oreRedGemstone");
    registerBlock(registry, new OreBlock("RositeOre", "rosite_ore", 2), "blocks/generation/ores/", "oreRosite");
    registerBlock(registry, new OreBlock("RuniumOre", "runium_ore", 2), "blocks/generation/ores/", "oreRunium");
    registerBlock(registry, new OreBlock("SapphireOre", "sapphire_ore", 3, 4, 9), "blocks/generation/ores/", "oreSapphire");
    registerBlock(registry, new OreBlock("ShyregemOre", "shyregem_ore", 4, 6, 13), "blocks/generation/ores/", "oreShyregem");
    registerBlock(registry, new OreBlock("ShyrestoneOre", "shyrestone_ore", 4), "blocks/generation/ores/", "oreShyrestone");
    registerBlock(registry, new OreBlock("SkullboneFragmentsOre", "skullbone_fragments_ore", 3, 4, 8), "blocks/generation/ores/", "oreSkullboneFragments");
    registerBlock(registry, new OreBlock("VarsiumOre", "varsium_ore", 3), "blocks/generation/ores/", "oreVarsium");
    registerBlock(registry, new OreBlock("WhiteGemstoneOre", "white_crystal_ore", 4, 4, 7), "blocks/generation/ores/", "oreWhiteGemstone");
    registerBlock(registry, new OreBlock("YellowGemstoneOre", "yellow_crystal_ore", 4, 4, 7), "blocks/generation/ores/", "oreYellowGemstone");
    registerBlock(registry, new BasicDecorationBlock("BaronBricks", "baron_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("BlackBricks", "black_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("BloodstoneBricks", "bloodstone_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("BlueBricks", "blue_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("BrownBricks", "brown_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("CoralBricks", "coral_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("CreeponiaBricks", "creeponia_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("CrystalliteBricks", "crystallite_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("CrysteviaBricks", "crystevia_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("CyanBricks", "cyan_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("DarkBricks", "dark_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("DarkBlueBricks", "dark_blue_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("DarkGreyBricks", "dark_grey_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("DarkwashBricks", "darkwash_bricks", Material.ROCK, 50f, 2000f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("GardenciaBricks", "gardencia_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("GreckonBricks", "greckon_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("GreenBricks", "green_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("GreyBricks", "grey_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("HauntedBricks", "haunted_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("IroDottedBricks", "iro_dotted_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("IroStripedBricks", "iro_striped_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("LelyetiaBricks", "lelyetia_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("LimeBricks", "lime_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("LunarBricks", "lunar_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("MagentaBricks", "magenta_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("BlackMysteriumBricks", "black_mysterium_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("GreenMysteriumBricks", "green_mysterium_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("OrangeBricks", "orange_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("PinkBricks", "pink_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("PurpleBricks", "purple_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("RedBricks", "red_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("RosidianBricks", "rosidian_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("RunicConstructBricks", "runic_construct_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("WhiteShyreBricks", "white_shyre_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("YellowShyreBricks", "yellow_shyre_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("SkeletalBricks", "skeletal_bricks", Material.ROCK, 10f, 15f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("WhiteBricks", "white_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("WhitewashBricks", "whitewash_bricks", Material.ROCK, 50f, 2000f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("YellowBricks", "yellow_bricks", Material.ROCK, 2.0f, 10.0f), "blocks/decoration/bricks/");
    registerBlock(registry, new BasicDecorationBlock("IntricateAmethystIvory", "intricate_amethyst_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("NaturalAmethystIvory", "natural_amethyst_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("OrnateAmethystIvory", "ornate_amethyst_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("PatternedAmethystIvory", "patterned_amethyst_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("IntricateIvory", "intricate_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("IntricateJadeIvory", "intricate_jade_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("NaturalJadeIvory", "natural_jade_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("OrnateJadeIvory", "ornate_jade_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("PatternedJadeIvory", "patterned_jade_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("IntricateLimoniteIvory", "intricate_limonite_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("NaturalLimoniteIvory", "natural_limonite_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("OrnateLimoniteIvory", "ornate_limonite_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("PatternedLimoniteIvory", "patterned_limonite_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("NaturalIvory", "natural_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("OrnateIvory", "ornate_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("PatternedIvory", "patterned_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("IntricateRositeIvory", "intricate_rosite_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("NaturalRositeIvory", "natural_rosite_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("OrnateRositeIvory", "ornate_rosite_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("PatternedRositeIvory", "patterned_rosite_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("IntricateSapphireIvory", "intricate_sapphire_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("NaturalSapphireIvory", "natural_sapphire_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("OrnateSapphireIvory", "ornate_sapphire_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new BasicDecorationBlock("PatternedSapphireIvory", "patterned_sapphire_ivory", Material.ROCK, 5.0f, 5.0f), "blocks/decoration/ivory/");
    registerBlock(registry, new AchonySapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new BloodtwisterSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new BlueCelevusSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new BlueHavenSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new BrightShyreSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new ChurrySapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new CreepSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new DawnwoodSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new EyebushSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new EyeHangerSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new GreenCelevusSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new HauntedSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new IrodustSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new IrogoldSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new LucalusSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new LuniciaSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new LunossoSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new PinkHavenSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new PurpleCelevusSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new PurpleHavenSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new RedCelevusSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new RedHavenSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new RunicSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new ShadowSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new ShyreSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new StranglewoodSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new TurquoiseHavenSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new YellowCelevusSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new YellowHavenSapling(), "blocks/decoration/saplings/", "treeSapling");
    registerBlock(registry, new LeavesBlock("AchonyLeaves", "achony_leaves", getUnmappedBlock("achony_sapling"), 58), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("BloodLeaves", "blood_leaves", getUnmappedBlock("bloodtwister_sapling"), 30), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("BlueCelevusLeaves", "blue_celevus_leaves", getUnmappedBlock("blue_celevus_sapling"), 36), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("GreenCelevusLeaves", "green_celevus_leaves", getUnmappedBlock("green_celevus_sapling"), 36), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("PurpleCelevusLeaves", "purple_celevus_leaves", getUnmappedBlock("purple_celevus_sapling"), 36), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("RedCelevusLeaves", "red_celevus_leaves", getUnmappedBlock("red_celevus_sapling"), 36), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("WhiteCelevusLeaves", "white_celevus_leaves"), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("YellowCelevusLeaves", "yellow_celevus_leaves", getUnmappedBlock("yellow_celevus_sapling"), 36), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("ChurryLeaves", "churry_leaves", getUnmappedBlock("churry_sapling"), 66), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("CreepLeaves", "creep_leaves", getUnmappedBlock("creep_sapling"), 17), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("CycadeLeaves", "cycade_leaves"), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("DawnLeaves", "dawn_leaves", getUnmappedBlock("dawnwood_sapling"), 15), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("HauntedLeaves", "haunted_leaves", getUnmappedBlock("haunted_sapling"), 60), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("HauntedEyesLeaves", "haunted_eyes_leaves", getUnmappedBlock("haunted_sapling"), 60), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("BlueHavenLeaves", "blue_haven_leaves", getUnmappedBlock("blue_haven_sapling"), 38), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("PinkHavenLeaves", "pink_haven_leaves", getUnmappedBlock("pink_haven_sapling"), 38), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("PurpleHavenLeaves", "purple_haven_leaves", getUnmappedBlock("purple_haven_sapling"), 38), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("RedHavenLeaves", "red_haven_leaves", getUnmappedBlock("red_haven_sapling"), 38), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("TurquoiseHavenLeaves", "turquoise_haven_leaves", getUnmappedBlock("turquoise_haven_sapling"), 38), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("YellowHavenLeaves", "yellow_haven_leaves", getUnmappedBlock("yellow_haven_sapling"), 38), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("IrodustLeaves", "irodust_leaves", getUnmappedBlock("irodust_sapling"), 19), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("IrogoldLeaves", "irogold_leaves", getUnmappedBlock("irogold_sapling"), 9), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("LelyetianLeaves", "lelyetian_leaves"), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("LucalusLeaves", "lucalus_leaves", getUnmappedBlock("lucalus_sapling"), 45), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("LuniciaLeaves", "lunicia_leaves", getUnmappedBlock("lunicia_sapling"), 14), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("LunossoLeaves", "lunosso_leaves", getUnmappedBlock("lunosso_sapling"), 8), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new TranslucentLeavesBlock("RunicLeaves", "runic_leaves", getUnmappedBlock("runic_sapling"), 23), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("ShadowLeaves", "shadow_leaves", getUnmappedBlock("shadow_sapling"), 27), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("ShadowbloodLeaves", "shadowblood_leaves", getUnmappedBlock("eye_hanger_sapling"), 21), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("ShyreLeaves", "shyre_leaves", getUnmappedBlock("shyre_sapling"), 7), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("BrightShyreLeaves", "bright_shyre_leaves", getUnmappedBlock("bright_shyre_sapling"), 7), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("StranglewoodLeaves", "stranglewood_leaves", getUnmappedBlock("stranglewood_sapling"), 34), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LeavesBlock("VeinLeaves", "vein_leaves", getUnmappedBlock("eyebush_sapling"), 30), "blocks/generation/leaves/", ORE_DICT_LEAVES);
    registerBlock(registry, new LogBlock("AchonyLog", "achony_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("BloodLog", "blood_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("ChurryLog", "churry_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("CreepLog", "creep_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("CycadeLog", "cycade_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("DawnLog", "dawn_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("EyeballLog", "eyeball_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("HauntedLog", "haunted_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("HauntedEyeLog", "haunted_eye_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("HauntedEyesLog", "haunted_eyes_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("HauntedFlashingLog", "haunted_flashing_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("HauntedPurplingLog", "haunted_purpling_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("IroLog", "iro_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("LucalusLog", "lucalus_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("LunideLog", "lunide_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("RunicLog", "runic_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("ShadowLog", "shadow_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("ShyreLog", "shyre_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new StranglewoodLog(), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new LogBlock("ToxicLog", "toxic_log"), "blocks/generation/wood/", ORE_DICT_WOOD);
    registerBlock(registry, new BasicDecorationBlock("AchonyPlanks", "achony_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("BloodwoodPlanks", "bloodwood_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("ChurryPlanks", "churry_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("CreepPlanks", "creep_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("CycadePlanks", "cycade_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("DawnwoodPlanks", "dawnwood_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("HauntedwoodPlanks", "hauntedwood_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("IrowoodPlanks", "irowood_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("LucalusPlanks", "lucalus_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("LunidePlanks", "lunide_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("RunicPlanks", "runic_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("ShadowPlanks", "shadow_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("ShyrePlanks", "shyre_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("StranglewoodPlanks", "stranglewood_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new BasicDecorationBlock("ToxicwoodPlanks", "toxicwood_planks", Material.WOOD), "blocks/decoration/planks/", ORE_DICT_PLANKS);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("AchonySlab", "achony_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("BaronBricksSlab", "baron_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("BlackBricksSlab", "black_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("BloodstoneBricksSlab", "bloodstone_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("BloodwoodSlab", "bloodwood_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("BlueBricksSlab", "blue_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("BrownBricksSlab", "brown_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("ChurrySlab", "churry_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("CoralBricksSlab", "coral_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("CreepSlab", "creep_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("CreeponiaBricksSlab", "creeponia_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("CrystalliteBricksSlab", "crystallite_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("CrysteviaBricksSlab", "crystevia_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("CyanBricksSlab", "cyan_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("CycadeSlab", "cycade_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("DarkBlueBricksSlab", "dark_blue_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("DarkBricksSlab", "dark_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("DarkGreyBricksSlab", "dark_grey_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("DarkwashBricksSlab", "darkwash_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("DawnwoodSlab", "dawnwood_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("GardenciaBricksSlab", "gardencia_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("GreckonBricksSlab", "greckon_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("GreenBricksSlab", "green_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("GreyBricksSlab", "grey_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("HauntedBricksSlab", "haunted_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("HauntedwoodSlab", "hauntedwood_slab", Material.WOOD), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IroDottedBricksSlab", "iro_dotted_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IroStripedBricksSlab", "iro_striped_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IrowoodSlab", "irowood_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IntricateAmethystIvorySlab", "intricate_amethyst_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("NaturalAmethystIvorySlab", "natural_amethyst_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("OrnateAmethystIvorySlab", "ornate_amethyst_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("PatternedAmethystIvorySlab", "patterned_amethyst_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IntricateIvorySlab", "intricate_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IntricateJadeIvorySlab", "intricate_jade_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("NaturalJadeIvorySlab", "natural_jade_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("OrnateJadeIvorySlab", "ornate_jade_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("PatternedJadeIvorySlab", "patterned_jade_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IntricateLimoniteIvorySlab", "intricate_limonite_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("NaturalLimoniteIvorySlab", "natural_limonite_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("OrnateLimoniteIvorySlab", "ornate_limonite_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("PatternedLimoniteIvorySlab", "patterned_limonite_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("NaturalIvorySlab", "natural_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("OrnateIvorySlab", "ornate_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("PatternedIvorySlab", "patterned_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IntricateRositeIvorySlab", "intricate_rosite_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("NaturalRositeIvorySlab", "natural_rosite_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("OrnateRositeIvorySlab", "ornate_rosite_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("PatternedRositeIvorySlab", "patterned_rosite_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("IntricateSapphireIvorySlab", "intricate_sapphire_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("NaturalSapphireIvorySlab", "natural_sapphire_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("OrnateSapphireIvorySlab", "ornate_sapphire_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("PatternedSapphireIvorySlab", "patterned_sapphire_ivory_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("LelyetiaBricksSlab", "lelyetia_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("LimeBricksSlab", "lime_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("LucalusSlab", "lucalus_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("LunarBricksSlab", "lunar_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("LunideSlab", "lunide_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("MagentaBricksSlab", "magenta_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("MysteriumBlackBricksSlab", "black_mysterium_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("MysteriumGreenBricksSlab", "green_mysterium_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("OrangeBricksSlab", "orange_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("PinkBricksSlab", "pink_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("PurpleBricksSlab", "purple_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("RedBricksSlab", "red_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("RosidianBricksSlab", "rosidian_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("RunicSlab", "runic_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("RunicConstructBricksSlab", "runic_construct_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("ShadowSlab", "shadow_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("ShyreSlab", "shyre_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("ShyreWhiteBricksSlab", "white_shyre_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("ShyreYellowBricksSlab", "yellow_shyre_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("SkeletalBricksSlab", "skeletal_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("StranglewoodSlab", "stranglewood_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("ToxicwoodSlab", "toxicwood_slab", Material.WOOD), "blocks/decoration/slabs/", ORE_DICT_SLAB_WOOD);
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("WhitewashBricksSlab", "whitewash_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new SlabBlock.DoubleSlabBlock("YellowBricksSlab", "yellow_bricks_slab", Material.ROCK), "blocks/decoration/slabs/");
    registerBlock(registry, new StairsBlock("AchonyStairs", "achony_stairs", getUnmappedBlock("achony_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("BaronBricksStairs", "baron_bricks_stairs", getUnmappedBlock("baron_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("BlackBricksStairs", "black_bricks_stairs", getUnmappedBlock("black_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("BloodstoneBricksStairs", "bloodstone_bricks_stairs", getUnmappedBlock("bloodstone_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("BloodwoodStairs", "bloodwood_stairs", getUnmappedBlock("bloodwood_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("BlueBricksStairs", "blue_bricks_stairs", getUnmappedBlock("blue_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("BrownBricksStairs", "brown_bricks_stairs", getUnmappedBlock("brown_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("ChurryStairs", "churry_stairs", getUnmappedBlock("churry_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("CoralBricksStairs", "coral_bricks_stairs", getUnmappedBlock("coral_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("CreepStairs", "creep_stairs", getUnmappedBlock("creep_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("CreeponiaBricksStairs", "creeponia_bricks_stairs", getUnmappedBlock("creeponia_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("CrystalliteBricksStairs", "crystallite_bricks_stairs", getUnmappedBlock("crystallite_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("CrysteviaBricksStairs", "crystevia_bricks_stairs", getUnmappedBlock("crystevia_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("CyanBricksStairs", "cyan_bricks_stairs", getUnmappedBlock("cyan_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("CycadeStairs", "cycade_stairs", getUnmappedBlock("cycade_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("DarkBlueBricksStairs", "dark_blue_bricks_stairs", getUnmappedBlock("dark_blue_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("DarkBricksStairs", "dark_bricks_stairs", getUnmappedBlock("dark_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("DarkGreyBricksStairs", "dark_grey_bricks_stairs", getUnmappedBlock("dark_grey_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("DarkwashBricksStairs", "darkwash_bricks_stairs", getUnmappedBlock("darkwash_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("DawnwoodStairs", "dawnwood_stairs", getUnmappedBlock("dawnwood_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("GardenciaBricksStairs", "gardencia_bricks_stairs", getUnmappedBlock("gardencia_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("GreckonBricksStairs", "greckon_bricks_stairs", getUnmappedBlock("greckon_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("GreenBricksStairs", "green_bricks_stairs", getUnmappedBlock("green_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("GreyBricksStairs", "grey_bricks_stairs", getUnmappedBlock("grey_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("HauntedBricksStairs", "haunted_bricks_stairs", getUnmappedBlock("haunted_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("HauntedwoodStairs", "hauntedwood_stairs", getUnmappedBlock("hauntedwood_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("IroDottedBricksStairs", "iro_dotted_bricks_stairs", getUnmappedBlock("iro_dotted_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("IroStripedBricksStairs", "iro_striped_bricks_stairs", getUnmappedBlock("iro_striped_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("IrowoodStairs", "irowood_stairs", getUnmappedBlock("irowood_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("IntricateAmethystIvoryStairs", "intricate_amethyst_ivory_stairs", getUnmappedBlock("intricate_amethyst_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("NaturalAmethystIvoryStairs", "natural_amethyst_ivory_stairs", getUnmappedBlock("natural_amethyst_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("OrnateAmethystIvoryStairs", "ornate_amethyst_ivory_stairs", getUnmappedBlock("ornate_amethyst_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("PatternedAmethystIvoryStairs", "patterned_amethyst_ivory_stairs", getUnmappedBlock("patterned_amethyst_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("IntricateIvoryStairs", "intricate_ivory_stairs", getUnmappedBlock("intricate_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("IntricateJadeIvoryStairs", "intricate_jade_ivory_stairs", getUnmappedBlock("intricate_jade_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("NaturalJadeIvoryStairs", "natural_jade_ivory_stairs", getUnmappedBlock("natural_jade_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("OrnateJadeIvoryStairs", "ornate_jade_ivory_stairs", getUnmappedBlock("ornate_jade_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("PatternedJadeIvoryStairs", "patterned_jade_ivory_stairs", getUnmappedBlock("patterned_jade_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("IntricateLimoniteIvoryStairs", "intricate_limonite_ivory_stairs", getUnmappedBlock("intricate_limonite_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("NaturalLimoniteIvoryStairs", "natural_limonite_ivory_stairs", getUnmappedBlock("natural_limonite_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("OrnateLimoniteIvoryStairs", "ornate_limonite_ivory_stairs", getUnmappedBlock("ornate_limonite_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("PatternedLimoniteIvoryStairs", "patterned_limonite_ivory_stairs", getUnmappedBlock("patterned_limonite_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("NaturalIvoryStairs", "natural_ivory_stairs", getUnmappedBlock("natural_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("OrnateIvoryStairs", "ornate_ivory_stairs", getUnmappedBlock("ornate_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("PatternedIvoryStairs", "patterned_ivory_stairs", getUnmappedBlock("patterned_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("IntricateRositeIvoryStairs", "intricate_rosite_ivory_stairs", getUnmappedBlock("intricate_rosite_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("NaturalRositeIvoryStairs", "natural_rosite_ivory_stairs", getUnmappedBlock("natural_rosite_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("OrnateRositeIvoryStairs", "ornate_rosite_ivory_stairs", getUnmappedBlock("ornate_rosite_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("PatternedRositeIvoryStairs", "patterned_rosite_ivory_stairs", getUnmappedBlock("patterned_rosite_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("IntricateSapphireIvoryStairs", "intricate_sapphire_ivory_stairs", getUnmappedBlock("intricate_sapphire_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("NaturalSapphireIvoryStairs", "natural_sapphire_ivory_stairs", getUnmappedBlock("natural_sapphire_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("OrnateSapphireIvoryStairs", "ornate_sapphire_ivory_stairs", getUnmappedBlock("ornate_sapphire_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("PatternedSapphireIvoryStairs", "patterned_sapphire_ivory_stairs", getUnmappedBlock("patterned_sapphire_ivory")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("LelyetiaBricksStairs", "lelyetia_bricks_stairs", getUnmappedBlock("lelyetia_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("LimeBricksStairs", "lime_bricks_stairs", getUnmappedBlock("lime_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("LucalusStairs", "lucalus_stairs", getUnmappedBlock("lucalus_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("LunarBricksStairs", "lunar_bricks_stairs", getUnmappedBlock("lunar_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("LunideStairs", "lunide_stairs", getUnmappedBlock("lunide_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("MagentaBricksStairs", "magenta_bricks_stairs", getUnmappedBlock("magenta_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("MysteriumBlackBricksStairs", "black_mysterium_bricks_stairs", getUnmappedBlock("black_mysterium_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("MysteriumGreenBricksStairs", "green_mysterium_bricks_stairs", getUnmappedBlock("green_mysterium_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("OrangeBricksStairs", "orange_bricks_stairs", getUnmappedBlock("orange_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("PinkBricksStairs", "pink_bricks_stairs", getUnmappedBlock("pink_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("PurpleBricksStairs", "purple_bricks_stairs", getUnmappedBlock("purple_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("RedBricksStairs", "red_bricks_stairs", getUnmappedBlock("red_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("RosidianBricksStairs", "rosidian_bricks_stairs", getUnmappedBlock("rosidian_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("RunicStairs", "runic_stairs", getUnmappedBlock("runic_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("RunicConstructBricksStairs", "runic_construct_bricks_stairs", getUnmappedBlock("runic_construct_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("ShadowStairs", "shadow_stairs", getUnmappedBlock("shadow_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("ShyreStairs", "shyre_stairs", getUnmappedBlock("shyre_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("ShyreWhiteBricksStairs", "white_shyre_bricks_stairs", getUnmappedBlock("white_shyre_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("ShyreYellowBricksStairs", "yellow_shyre_bricks_stairs", getUnmappedBlock("yellow_shyre_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("SkeletalBricksStairs", "skeletal_bricks_stairs", getUnmappedBlock("skeletal_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("StranglewoodStairs", "stranglewood_stairs", getUnmappedBlock("stranglewood_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("ToxicwoodStairs", "toxicwood_stairs", getUnmappedBlock("toxicwood_planks")), "blocks/decoration/stairs/", ORE_DICT_STAIRS_WOOD);
    registerBlock(registry, new StairsBlock("WhitewashBricksStairs", "whitewash_bricks_stairs", getUnmappedBlock("whitewash_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new StairsBlock("YellowBricksStairs", "yellow_bricks_stairs", getUnmappedBlock("yellow_bricks")), "blocks/decoration/stairs/");
    registerBlock(registry, new FenceBlock("AchonyFence", "achony_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("BloodwoodFence", "bloodwood_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("ChurryFence", "churry_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("CreepFence", "creep_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("CycadeFence", "cycade_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("DawnwoodFence", "dawnwood_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("HauntedwoodFence", "hauntedwood_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("IrowoodFence", "irowood_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("LucalusFence", "lucalus_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("LunideFence", "lunide_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("RunicFence", "runic_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("ShadowFence", "shadow_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("ShyreFence", "shyre_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("StranglewoodFence", "stranglewood_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new FenceBlock("ToxicwoodFence", "toxicwood_fence"), "blocks/decoration/fences/", ORE_DICT_FENCE_WOOD);
    registerBlock(registry, new TwinklestoneFence(), "blocks/decoration/fences/");
    registerBlock(registry, new GateBlock("AchonyGate", "achony_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("BloodwoodGate", "bloodwood_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("ChurryGate", "churry_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("CreepGate", "creep_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("CycadeGate", "cycade_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("DawnwoodGate", "dawnwood_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("HauntedwoodGate", "hauntedwood_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("IrowoodGate", "irowood_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("LucalusGate", "lucalus_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("LunideGate", "lunide_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("RunicGate", "runic_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("ShadowGate", "shadow_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("ShyreGate", "shyre_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("StranglewoodGate", "stranglewood_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new GateBlock("ToxicwoodGate", "toxicwood_gate"), "blocks/decoration/gates/", ORE_DICT_FENCE_GATE_WOOD);
    registerBlock(registry, new BasicBlock("FlowerCore", "flower_core", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BlackMushroom", "black_mushroom", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BlueMushroomInside", "blue_mushroom_inside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BlueMushroomOutside", "blue_mushroom_outside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("GreenMushroomInside", "green_mushroom_inside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("GreenMushroomOutside", "green_mushroom_outside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("OrangeMushroomInside", "orange_mushroom_inside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("OrangeMushroomOutside", "orange_mushroom_outside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("PurpleMushroomInside", "purple_mushroom_inside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("PurpleMushroomOutside", "purple_mushroom_outside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BlackMushroomStem", "black_mushroom_stem", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BlueMushroomStem", "blue_mushroom_stem", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("GreenMushroomStem", "green_mushroom_stem", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("OrangeMushroomStem", "orange_mushroom_stem", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("PurpleMushroomStem", "purple_mushroom_stem", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("YellowMushroomStem", "yellow_mushroom_stem", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("YellowMushroomInside", "yellow_mushroom_inside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("YellowMushroomOutside", "yellow_mushroom_outside", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("PlantStem", "plant_stem", Material.GOURD), "blocks/generation/misc/");
    registerItemlessBlock(registry, new CandiedWaterBlock());
    registerBlock(registry, new UnbreakableLightBlock("AncientLight", "ancient_light", Material.GLASS, 1.0f), "blocks/functional/lights/");
    registerBlock(registry, new UnbreakableLightBlock("ArchaicLight", "archaic_light", Material.GLASS, 0.8f), "blocks/functional/lights/");
    registerBlock(registry, new LightBlock("ArchaicLightBreakable", "archaic_light_breakable", Material.GLASS, 0.8f, 1.2f, 0.5f), "blocks/functional/lights/");
    registerBlock(registry, new LightBlock("CreepCrystal", "creep_crystal", Material.GLASS, 0.8f, 1.2f, 0.5f), "blocks/functional/lights/");
    registerBlock(registry, new LightBlock("Darkstone", "darkstone", Material.GLASS, 0.8f, 1.2f, 0.5f), "blocks/functional/lights/");
    registerBlock(registry, new LightBlock("DeepCrystal", "deep_crystal", Material.GLASS, 0.8f, 1.2f, 0.5f), "blocks/functional/lights/");
    registerBlock(registry, new LightBlock("HiveLight", "hive_light", Material.GLASS, 0.8f, 1.2f, 0.5f), "blocks/functional/lights/");
    registerBlock(registry, new LightBlock("SteelLight", "steel_light", Material.IRON, 0.1f, 5.0f, 7.5f), "blocks/functional/lights/");
    registerBlock(registry, new LightBlock("Twinklestone", "twinklestone", Material.GLASS, 0.8f, 1.2f, 0.5f), "blocks/functional/lights/");
    registerBlock(registry, new VoxLight(), "blocks/functional/lights/");
    registerBlock(registry, new LampBlock("AmethystLamp", "amethyst_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("AquaticLamp", "aquatic_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("BaronyteLamp", "baronyte_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("BlaziumLamp", "blazium_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("BloodstoneLamp", "bloodstone_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("CrystalliteLamp", "crystallite_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("ElecaniumLamp", "elecanium_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("EmberstoneLamp", "emberstone_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("FireLamp", "fire_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("GhastlyLamp", "ghastly_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("GhoulishLamp", "ghoulish_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("IroLamp", "iro_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("IvoryLamp", "ivory_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("IvoryAmethystLamp", "ivory_amethyst_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("IvoryJadeLamp", "ivory_jade_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("IvoryLimoniteLamp", "ivory_limonite_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("IvoryRositeLamp", "ivory_rosite_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("IvorySapphireLamp", "ivory_sapphire_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("JadeLamp", "jade_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("AquaLifeLamp", "aqua_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("BlackLifeLamp", "black_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("BlueLifeLamp", "blue_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("BrownLifeLamp", "brown_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("CyanLifeLamp", "cyan_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("DarkGreyLifeLamp", "dark_grey_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("GreenLifeLamp", "green_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("GreyLifeLamp", "grey_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("LimeLifeLamp", "lime_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("MagentaLifeLamp", "magenta_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("OrangeLifeLamp", "orange_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("PinkLifeLamp", "pink_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("PurpleLifeLamp", "purple_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("RedLifeLamp", "red_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("WhiteLifeLamp", "white_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("YellowLifeLamp", "yellow_life_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("LimoniteLamp", "limonite_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("LunarLamp", "lunar_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("LyonLamp", "lyon_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("MysticLamp", "mystic_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("NeonLamp", "neon_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("NeonCirclingLamp", "neon_circling_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("NeonLapisLamp", "neon_lapis_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("NeonLapisCirclingLamp", "neon_lapis_circling_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("NeonLapisTrianglesLamp", "neon_lapis_triangles_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("NeonRunicLamp", "neon_runic_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("NeonTrianglesLamp", "neon_triangles_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("RositeLamp", "rosite_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("SapphireLamp", "sapphire_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new LampBlock("SkeletalLamp", "skeletal_lamp", Material.REDSTONE_LIGHT, 1.0f, 1.5f, 1.0f), "blocks/functional/lamps/");
    registerBlock(registry, new GlassBlock("AbyssalGlass", "abyssal_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new UnbreakableGlassBlock("AncientGlass", "ancient_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("AquaticGlass", "aquatic_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new UnbreakableGlassBlock("ArchaicGlass", "archaic_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("ArchaicGlassBreakable", "archaic_glass_breakable"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("BaronGlass", "baron_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("DecayedGlass", "decayed_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("GardencianGlass", "gardencian_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("HavenGlass", "haven_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("IroGlass", "iro_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("LelyetianGlass", "lelyetian_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new UnbreakableGlassBlock("LunarGlass", "lunar_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("RunicGlass", "runic_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new UnbreakableGlassBlock("UnbreakableRunicGlass", "unbreakable_runic_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("ShyreGlass", "shyre_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("VoxGlass", "vox_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new GlassBlock("ZhinxGlass", "zhinx_glass"), "blocks/decoration/glass/", ORE_DICT_GLASS);
    registerBlock(registry, new CompressedBlock("AmethystBlock", "amethyst_block"), "blocks/decoration/compressedblock/", "blockAmethyst");
    registerBlock(registry, new CompressedBlock("BaronyteBlock", "baronyte_block"), "blocks/decoration/compressedblock/", "blockBaronyte");
    registerBlock(registry, new CompressedBlock("BlaziumBlock", "blazium_block"), "blocks/decoration/compressedblock/", "blockBlazium");
    registerBlock(registry, new CompressedBlock("BloodstoneBlock", "bloodstone_block"), "blocks/decoration/compressedblock/", "blockBloodstone");
    registerBlock(registry, new CompressedBlock("CrystalliteBlock", "crystallite_block"), "blocks/decoration/compressedblock/", "blockCrystallite");
    registerBlock(registry, new CompressedBlock("ElecaniumBlock", "elecanium_block"), "blocks/decoration/compressedblock/", "blockElecanium");
    registerBlock(registry, new CompressedBlock("EmberstoneBlock", "emberstone_block"), "blocks/decoration/compressedblock/", "blockEmberstone");
    registerBlock(registry, new CompressedBlock("GemenyteBlock", "gemenyte_block"), "blocks/decoration/compressedblock/", "blockGemenyte");
    registerBlock(registry, new CompressedBlock("GhastlyBlock", "ghastly_block"), "blocks/decoration/compressedblock/", "blockGhastly");
    registerBlock(registry, new CompressedBlock("GhoulishBlock", "ghoulish_block"), "blocks/decoration/compressedblock/", "blockGhoulish");
    registerBlock(registry, new CompressedBlock("JadeBlock", "jade_block"), "blocks/decoration/compressedblock/", "blockJade");
    registerBlock(registry, new CompressedBlock("JewelyteBlock", "jewelyte_block"), "blocks/decoration/compressedblock/", "blockJewelyte");
    registerBlock(registry, new CompressedBlock("LimoniteBlock", "limonite_block", true), "blocks/decoration/compressedblock/", "blockLimonite");
    registerBlock(registry, new CompressedBlock("LunarBlock", "lunar_block"), "blocks/decoration/compressedblock/", "blockLunar");
    registerBlock(registry, new CompressedBlock("LyonBlock", "lyon_block"), "blocks/decoration/compressedblock/", "blockLyon");
    registerBlock(registry, new CompressedBlock("MystiteBlock", "mystite_block"), "blocks/decoration/compressedblock/", "blockMystite");
    registerBlock(registry, new CompressedBlock("OrnamyteBlock", "ornamyte_block"), "blocks/decoration/compressedblock/", "blockOrnamyte");
    registerBlock(registry, new CompressedBlock("RositeBlock", "rosite_block"), "blocks/decoration/compressedblock/", "blockRosite");
    registerBlock(registry, new CompressedBlock("SapphireBlock", "sapphire_block"), "blocks/decoration/compressedblock/", "blocksaphire");
    registerBlock(registry, new CompressedBlock("ShyregemBlock", "shyregem_block"), "blocks/decoration/compressedblock/", "blockShyregem");
    registerBlock(registry, new CompressedBlock("ShyrestoneBlock", "shyrestone_block"), "blocks/decoration/compressedblock/", "blockShyrestone");
    registerBlock(registry, new CompressedBlock("SkeletalIngotBlock", "skeletal_ingot_block"), "blocks/decoration/compressedblock/", "blockSkeletal");
    registerBlock(registry, new CompressedBlock("VarsiumBlock", "varsium_block"), "blocks/decoration/compressedblock/", "blockVarsium");
    registerBlock(registry, new CarpetBlock("BaronCarpet", "baron_carpet"), "blocks/decoration/carpets/");
    registerBlock(registry, new CarpetBlock("BoreanCarpet", "borean_carpet"), "blocks/decoration/carpets/");
    registerBlock(registry, new CarpetBlock("GardencianCarpet", "gardencian_carpet"), "blocks/decoration/carpets/");
    registerBlock(registry, new CarpetBlock("IroCarpet", "iro_carpet"), "blocks/decoration/carpets/");
    registerBlock(registry, new CarpetBlock("LunarCarpet", "lunar_carpet"), "blocks/decoration/carpets/");
    registerBlock(registry, new Crystallanium(), "blocks/functional/misc/");
    registerBlock(registry, new Emberium(), "blocks/functional/misc/");
    registerBlock(registry, new Shadonantium(), "blocks/functional/misc/");
    registerBlock(registry, new Skeletanium(), "blocks/functional/misc/");
    registerBlock(registry, new BasicBlock("AncientRock", "ancient_rock", Material.ROCK), "blocks/generation/misc/", ORE_DICT_STONE);
    registerBlock(registry, new UnbreakableBlock("BlackAncientTile", "black_ancient_tile", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("AncientTileCore", "ancient_tile_core", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("GreenAncientTile", "green_ancient_tile", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("AncientTileShrine", "ancient_tile_shrine", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("WhiteAncientTile", "white_ancient_tile", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("ArchaicDirt", "archaic_dirt", Material.GROUND), "blocks/generation/misc/");
    registerBlock(registry, new BasicDecorationBlock("ArchaicDirtBreakable", "archaic_dirt_breakable", Material.GROUND, 0.5f, 0.0f), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("ArchaicHorizontalStream", "archaic_stream_horizontal", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicDecorationBlock("ArchaicHorizontalStreamBreakable", "archaic_stream_horizontal_breakable", Material.ROCK, 2.0f, 10.0f), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("ArchaicRectangles", "archaic_rectangles", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicDecorationBlock("ArchaicRectanglesBreakable", "archaic_rectangles_breakable", Material.ROCK, 2.0f, 10.0f), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("ArchaicSquares", "archaic_squares", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicDecorationBlock("ArchaicSquaresBreakable", "archaic_squares_breakable", Material.ROCK, 2.0f, 10.0f), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("ArchaicTiles", "archaic_tiles", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicDecorationBlock("ArchaicTilesBreakable", "archaic_tiles_breakable", Material.ROCK, 2.0f, 10.0f), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("ArchaicVerticalStream", "archaic_stream_vertical", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicDecorationBlock("ArchaicVerticalStreamBreakable", "archaic_stream_vertical_breakable", Material.ROCK, 2.0f, 10.0f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BaronCastleWall", "baron_castle_wall", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BaronCube", "baron_cube", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BaronGround", "baron_ground", Material.CLAY), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BloodstoneBarBricks", "bloodstone_bar_bricks", Material.IRON, 7.5f, 7f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BloodstoneBars", "bloodstone_bars", Material.IRON, 7.5f, 7f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("GreenCandy", "green_candy", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("RedCandy", "red_candy", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("WhiteCandy", "white_candy", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("ChocolateBlock", "chocolate_block", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("DarkChocolateBlock", "dark_chocolate_block", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("WhiteChocolateBlock", "white_chocolate_block", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("CogBlock", "cog_block", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BlueCoral", "blue_coral", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("GreenCoral", "green_coral", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("OrangeCoral", "orange_coral", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("PinkCoral", "pink_coral", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("WhiteCoral", "white_coral", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("YellowCoral", "yellow_coral", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new CottonCandy("AquaCottonCandy", "aqua_cotton_candy"), "blocks/generation/misc/");
    registerBlock(registry, new CottonCandy("PinkCottonCandy", "pink_cotton_candy"), "blocks/generation/misc/");
    registerBlock(registry, new BasicDecorationBlock("Crate", "crate", Material.WOOD), "blocks/decoration/misc/");
    registerBlock(registry, new TranslucentBlock("BlueCrystal", "blue_crystal_block", Material.GLASS, 1.0f, 0f, 0), "blocks/generation/misc/");
    registerBlock(registry, new TranslucentBlock("GreenCrystal", "green_crystal_block", Material.GLASS, 1.0f, 0f, 0), "blocks/generation/misc/");
    registerBlock(registry, new TranslucentBlock("PurpleCrystal", "purple_crystal_block", Material.GLASS, 1.0f, 0f, 0), "blocks/generation/misc/");
    registerBlock(registry, new TranslucentBlock("RedCrystal", "red_crystal_block", Material.GLASS, 1.0f, 0f, 0), "blocks/generation/misc/");
    registerBlock(registry, new TranslucentBlock("WhiteCrystal", "white_crystal_block", Material.GLASS, 1.0f, 0f, 0), "blocks/generation/misc/");
    registerBlock(registry, new TranslucentBlock("YellowCrystal", "yellow_crystal_block", Material.GLASS, 1.0f, 0f, 0), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("DarkFaceBrick", "dark_face_brick", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new DeeplandsTrapExplosion(), "blocks/generation/misc/");
    registerBlock(registry, new DeeplandsTrapLava(), "blocks/generation/misc/");
    registerBlock(registry, new DeeplandsTrapNipper(), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("DegradedSteel", "degraded_steel", Material.IRON, 5.0f, 10.0f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("EyeBlock", "eye_block", Material.GOURD, 4.0f, 1.5f), "blocks/generation/misc/");
    registerBlock(registry, new GiantSnailAcid(), "blocks/functional/misc/");
    registerBlock(registry, new BasicBlock("Gingerbread", "gingerbread", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("HiveWall", "hive_wall", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new IroBrickTrap(), "blocks/generation/misc/");
    registerBlock(registry, new BasicNonCubeBlock("Iropole", "iropole", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("KaiyuTempleBlockFace", "kaiyu_temple_block_face", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("KaiyuTempleBlockFlow", "kaiyu_temple_block_flow", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("KaiyuTempleBlockMaze", "kaiyu_temple_block_maze", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("KaiyuTempleBlockPass", "kaiyu_temple_block_pass", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("KaiyuTempleBlockPlain", "kaiyu_temple_block_plain", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("KaiyuTempleBlockSquares", "kaiyu_temple_block_squares", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("KaiyuTempleBlockTrack", "kaiyu_temple_block_track", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new KaiyuTempleTrapWither(), "blocks/generation/misc/");
    registerBlock(registry, new KaiyuTempleTrapDamage(), "blocks/generation/misc/");
    registerBlock(registry, new KaiyuTempleTrapPoison(), "blocks/generation/misc/");
    registerBlock(registry, new KaiyuTempleTrapFire(), "blocks/generation/misc/");
    registerBlock(registry, new LunarOrbBlock("DarklightOrb", "darklight_orb"), "blocks/generation/misc/");
    registerBlock(registry, new LunarOrbBlock("DuskOrb", "dusk_orb"), "blocks/generation/misc/");
    registerBlock(registry, new LunarOrbBlock("LunarOrb", "lunar_orb"), "blocks/generation/misc/");
    registerBlock(registry, new LunarOrbBlock("MoonlightOrb", "moonlight_orb"), "blocks/generation/misc/");
    registerBlock(registry, new LunarOrbBlock("SunfireOrb", "sunfire_orb"), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("LunarPad", "lunar_pad", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new AcidBlock("OrangeAcid", "orange_acid"), "blocks/functional/misc/");
    registerBlock(registry, new BasicBlock("ParaviteHive", "paravite_hive", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("BlackPetals", "black_petals", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("BluePetals", "blue_petals", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("LightBluePetals", "light_blue_petals", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("MagentaPetals", "magenta_petals", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("PurplePetals", "purple_petals", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("RedPetals", "red_petals", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("RosePetals", "rose_petals", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("YellowPetals", "yellow_petals", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("Plastic", "plastic", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostCompass", "rune_post_compass", 63, 45), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostDistortion", "rune_post_distortion", 65, 50), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostEnergy", "rune_post_energy", 36, 22), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostFire", "rune_post_fire", 8, 7), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostKinetic", "rune_post_kinetic", 54, 32), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostLife", "rune_post_life", 72, 56), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostPoison", "rune_post_poison", 22, 14), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostLunar", "rune_post_lunar", 32, 20), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostPower", "rune_post_power", 59, 40), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostStorm", "rune_post_storm", 49, 30), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostStrike", "rune_post_strike", 42, 24), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostWater", "rune_post_water", 15, 10), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostWind", "rune_post_wind", 0, 4), "blocks/generation/misc/");
    registerBlock(registry, new RunePostBlock("RunePostWither", "rune_post_wither", 30, 15), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("SkeletalBlock", "skeletal_block", Material.ROCK, 5.0f, 5.0f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("Tentacles", "tentacles", Material.GOURD, 3.0f, 1.0f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("TentaclesDotsLeft", "tentacles_dots_left", Material.GOURD, 3.0f, 1.0f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("TentaclesDotsRight", "tentacles_dots_right", Material.GOURD, 3.0f, 1.0f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("TentaclesEyeOrange", "tentacles_eye_orange", Material.GOURD, 3.0f, 1.0f), "blocks/generation/misc/");
    registerBlock(registry, new TentaclesEyeRed(), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("TentaclesGreen", "tentacles_green", Material.GOURD, 3.0f, 1.0f), "blocks/generation/misc/");
    registerBlock(registry, new BasicBlock("ToxicStem", "toxic_stem", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("UnbreakableIroBricks", "unbreakable_iro_bricks", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("UnbreakablePlantStem", "unbreakable_plant_stem", Material.GOURD), "blocks/generation/misc/");
    registerBlock(registry, new UnbreakableBlock("UnbreakableRunicBricks", "unbreakable_runic_bricks", Material.ROCK), "blocks/generation/misc/");
    registerBlock(registry, new BasicNonCubeBlock("BlueShroom", "blue_shroom", Material.GOURD, 2.0f, 0.5f), "blocks/generation/misc/");
    registerBlock(registry, new BasicNonCubeBlock("GreenShroom", "green_shroom", Material.GOURD, 2.0f, 0.5f), "blocks/generation/misc/");
    registerBlock(registry, new BasicNonCubeBlock("OrangeShroom", "orange_shroom", Material.GOURD, 2.0f, 0.5f), "blocks/generation/misc/");
    registerBlock(registry, new BasicNonCubeBlock("PurpleShroom", "purple_shroom", Material.GOURD, 2.0f, 0.5f), "blocks/generation/misc/");
    registerBlock(registry, new BasicNonCubeBlock("ShroomStem", "shroom_stem", Material.GOURD, 2.0f, 0.5f).setBoundingBox(BasicNonCubeBlock.shroomStemAABB), "blocks/generation/misc/");
    registerBlock(registry, new BasicNonCubeBlock("VoxShroom", "vox_shroom", Material.GOURD, 2.0f, 0.5f), "blocks/generation/misc/");
    registerBlock(registry, new BasicNonCubeBlock("YellowShroom", "yellow_shroom", Material.GOURD, 2.0f, 0.5f), "blocks/generation/misc/");
    registerBlock(registry, new DirectionalBlock("VoxLog", "vox_log", Material.WOOD, 1.2f, 0.5f), "blocks/generation/misc/");
    registerBlock(registry, new BoneyBlock(), "blocks/generation/misc/");
    registerBlock(registry, new CarvedRunicPortalBlock("CarvedRuneOfDirection", "carved_rune_direction"), "blocks/generation/misc/");
    registerBlock(registry, new CarvedRunicBlock("CarvedRuneOfEmpowering", "carved_rune_empowering"), "blocks/generation/misc/");
    registerBlock(registry, new CarvedRunicBlock("CarvedRuneOfFocus", "carved_rune_focus"), "blocks/generation/misc/");
    registerBlock(registry, new CarvedRunicPortalBlock("CarvedRuneOfPower", "carved_rune_power"), "blocks/generation/misc/");
    registerBlock(registry, new CarvedRunicPortalBlock("CarvedRuneOfReality", "carved_rune_reality"), "blocks/generation/misc/");
    registerBlock(registry, new CarvedRunicPortalBlock("CarvedRuneOfSpace", "carved_rune_space"), "blocks/generation/misc/");
    registerBlock(registry, new CarvedRunicPortalBlock("CarvedRuneOfTravel", "carved_rune_travel"), "blocks/generation/misc/");
    registerBlock(registry, new ChargingTable(), "blocks/functional/utility/");
    registerBlock(registry, new CloudBlock("ShyreCloud", "shyre_cloud", Material.AIR), "blocks/generation/misc/");
    registerItemlessBlock(registry, new DimensionalFabric());
    registerItemlessBlock(registry, new AirGap());
    registerBlock(registry, new DustopianLamp(), "blocks/generation/special/");
    registerBlock(registry, new DustopianLampOff(), "blocks/generation/special/");
    registerBlock(registry, new EnhancerBlock("DamageEnhancer", "damage_enhancer"), "blocks/functional/misc/");
    registerBlock(registry, new EnhancerBlock("DivineEnhancer", "divine_enhancer"), "blocks/functional/misc/");
    registerBlock(registry, new EnhancerBlock("DurabilityEnhancer", "durability_enhancer"), "blocks/functional/misc/");
    registerBlock(registry, new EnhancerBlock("LuckEnhancer", "luck_enhancer"), "blocks/functional/misc/");
    registerBlock(registry, new EnhancerBlock("MagicEnhancer", "magic_enhancer"), "blocks/functional/misc/");
    registerBlock(registry, new EnhancerBlock("ResistanceEnhancer", "resistance_enhancer"), "blocks/functional/misc/");
    registerBlock(registry, new EnhancerBlock("SpeedEnhancer", "speed_enhancer"), "blocks/functional/misc/");
    registerBlock(registry, new EnhancerBlock("WeightEnhancer", "weight_enhancer"), "blocks/functional/misc/");
    registerBlock(registry, new LadderBlock("ArchaicLadder", "archaic_ladder", -1f, 999999999f), "blocks/functional/misc/");
    registerBlock(registry, new LadderBlock("ArchaicLadderBreakable", "archaic_ladder_breakable", 0.5f, 0.0f), "blocks/functional/misc/");
    registerItemlessBlock(registry, new LivingGrowth());
    registerBlock(registry, new LogBlock("CeleveStem", "celeve_stem"), "blocks/generation/misc/");
    registerBlock(registry, new LunarPillar(), "blocks/generation/misc/");
    registerBlock(registry, new SpikeyPillar(), "blocks/generation/misc/");
    registerBlock(registry, new ToxicBlock(), "blocks/generation/misc/");
    registerBlock(registry, new ToxicWaste(), "blocks/generation/misc/");
    registerBlock(registry, new SpawnerBlock("AmphibiorSpawner", "amphibior_spawner", "amphibior"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("AmphibiyteSpawner", "amphibiyte_spawner", "amphibiyte"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("AngelicaSpawner", "angelica_spawner", "angelica"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ArcWizardSpawner", "arc_wizard_spawner", "arc_wizard"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ArkzyneSpawner", "arkzyne_spawner", "arkzyne"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ArocknidSpawner", "arocknid_spawner", "arocknid"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("BansheeSpawner", "banshee_spawner", "banshee"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("BaumbaSpawner", "baumba_spawner", "baumba"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("BloodsuckerSpawner", "bloodsucker_spawner", "bloodsucker"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("CaneBugSpawner", "cane_bug_spawner", "cane_bug"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("CrusiliskSpawner", "crusilisk_spawner", "crusilisk"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("DawnlightSpawner", "dawnlight_spawner", "dawnlight"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("DayseeSpawner", "daysee_spawner", "daysee"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("DiocusSpawner", "diocus_spawner", "diocus"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("EnforcerSpawner", "enforcer_spawner", "enforcer"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ExoheadSpawner", "exohead_spawner", "exohead"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("FacelessFloaterSpawner", "faceless_floater_spawner", "faceless_floater"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("FenixSpawner", "fenix_spawner", "fenix", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("FleshEaterSpawner", "flesh_eater_spawner", "flesh_eater"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("FlowerfaceSpawner", "flowerface_spawner", "flowerface"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("FungockSpawner", "fungock_spawner", "fungock"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("GhastusSpawner", "ghastus_spawner", "ghastus", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("GingerbirdSpawner", "gingerbird_spawner", "gingerbird"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("GingerbreadManSpawner", "gingerbread_man_spawner", "gingerbread_man"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("GoldumSpawner", "goldum_spawner", "goldum", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("GoldusSpawner", "goldus_spawner", "goldus", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("InmateXSpawner", "inmate_x_spawner", "inmate_x"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("InmateYSpawner", "inmate_y_spawner", "inmate_y"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("IosaurSpawner", "iosaur_spawner", "iosaur"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("JaweSpawner", "jawe_spawner", "jawe"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("KaiyuSpawner", "kaiyu_spawner", "kaiyu"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("LightwalkerSpawner", "lightwalker_spawner", "lightwalker"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("LuxocronSpawner", "luxocron_spawner", "luxocron"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("MechyonSpawner", "mechyon_spawner", "mechyon"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("MerkyreSpawner", "merkyre_spawner", "merkyre"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("MermageSpawner", "mermage_spawner", "mermage"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("MushroomSpiderSpawner", "mushroom_spider_spawner", "mushroom_spider"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("NethengeicBeastSpawner", "nethengeic_beast_spawner", "nethengeic_beast"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("NightmareSpiderSpawner", "nightmare_spider_spawner", "nightmare_spider"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("NightwingSpawner", "nightwing_spawner", "nightwing"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("OpteryxSpawner", "opteryx_spawner", "opteryx"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ParaviteSpawner", "paravite_spawner", "paravite"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("PhantomSpawner", "phantom_spawner", "phantom"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("PodPlantSpawner", "pod_plant_spawner", "pod_plant"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("RawboneSpawner", "rawbone_spawner", "rawbone"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ReaverSpawner", "reaver_spawner", "reaver", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("RefluctSpawner", "refluct_spawner", "refluct"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("RockCritterSpawner", "rock_critter_spawner", "rock_critter"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("RunicGolemSpawner", "runic_golem_spawner", "runic_golem"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("RunicGuardianSpawner", "runic_guardian_spawner", "runic_guardian"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("SeekerSpawner", "seeker_spawner", "seeker"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ShavoSpawner", "shavo_spawner", "shavo", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ShyreTrollSpawner", "shyre_troll_spawner", "shyre_troll"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("SkeledonSpawner", "skeledon_spawner", "skeledon", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("SkelekyteSpawner", "skelekyte_spawner", "skelekyte", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("SoulscorneSpawner", "soulscorne_spawner", "soulscorne"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("SpectralWizardSpawner", "spectral_wizard_spawner", "spectral_wizard"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("SpinoledonSpawner", "spinoledon_spawner", "spinoledon"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("SurveyorSpawner", "surveyor_spawner", "surveyor"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("TharaflySpawner", "tharafly_spawner", "tharafly"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("UndeadTrollSpawner", "undead_troll_spawner", "undead_troll"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("UriohSpawner", "urioh_spawner", "urioh", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("UrvSpawner", "urv_spawner", "urv", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("VineWizardSpawner", "vine_wizard_spawner", "vine_wizard"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("VisageSpawner", "visage_spawner", "visage", true), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("VolarSpawner", "volar_spawner", "volar"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ZargSpawner", "zarg_spawner", "zarg"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ZhinxSpawner", "zhinx_spawner", "zhinx"), "blocks/functional/spawners/");
    registerBlock(registry, new SpawnerBlock("ZorpSpawner", "zorp_spawner", "zorp"), "blocks/functional/spawners/");
    registerBlock(registry, new ArmyBlock(), "blocks/functional/boss/");
    registerBlock(registry, new BaronessAltar(), "blocks/functional/boss/");
    registerBlock(registry, new CandyBlock(), "blocks/functional/boss/");
    registerBlock(registry, new ClunkheadAltar(), "blocks/functional/boss/");
    registerBlock(registry, new CraexxeusAltar(), "blocks/functional/boss/");
    registerBlock(registry, new CreepAltar(), "blocks/functional/boss/");
    registerBlock(registry, new DracyonAltar(), "blocks/functional/boss/");
    registerBlock(registry, new GrawAltar(), "blocks/functional/boss/");
    registerBlock(registry, new GuardianAltar(), "blocks/functional/boss/");
    registerBlock(registry, new HiveSpawner(), "blocks/functional/boss/");
    registerBlock(registry, new HydroTable(), "blocks/functional/boss/");
    registerBlock(registry, new IllusionAltar(), "blocks/functional/boss/");
    registerBlock(registry, new KrorAltar(), "blocks/functional/boss/");
    registerBlock(registry, new MechBotAltar(), "blocks/functional/boss/");
    registerBlock(registry, new PowerStation(), "blocks/functional/boss/");
    registerBlock(registry, new PrimordialShrine(), "blocks/functional/boss/");
    registerBlock(registry, new RockriderShrine(), "blocks/functional/boss/");
    registerBlock(registry, new ShadowAltar(), "blocks/functional/boss/");
    registerBlock(registry, new SilverfootAltar(), "blocks/functional/boss/");
    registerBlock(registry, new ToyBox(), "blocks/functional/boss/");
    registerBlock(registry, new VinocorneShrine(), "blocks/functional/boss/");
    registerBlock(registry, new VisualentAltar(), "blocks/functional/boss/");
    registerBlock(registry, new VoxxulonAltar(), "blocks/functional/boss/");
    registerBlock(registry, new PortalBlock("AbyssPortal", "abyss_portal", ConfigurationUtil.MainConfig.dimensionIds.abyss, Enums.RGBIntegers.RED_2), "blocks/functional/portal/");
    registerBlock(registry, new AncientCavernPortalBlock(), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("BarathosPortal", "barathos_portal", ConfigurationUtil.MainConfig.dimensionIds.barathos, Enums.RGBIntegers.LIGHT_CORAL), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("BoreanPortal", "borean_portal", ConfigurationUtil.MainConfig.dimensionIds.lborean, Enums.RGBIntegers.IRIS_BLUE), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("CandylandPortal", "candyland_portal", ConfigurationUtil.MainConfig.dimensionIds.candyland, Enums.RGBIntegers.MISTY_ROSE), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("CelevePortal", "celeve_portal", ConfigurationUtil.MainConfig.dimensionIds.celeve, Enums.RGBIntegers.YELLOW_2), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("CreeponiaPortal", "creeponia_portal", ConfigurationUtil.MainConfig.dimensionIds.creeponia, Enums.RGBIntegers.DE_YORK), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("CrysteviaPortal", "crystevia_portal", ConfigurationUtil.MainConfig.dimensionIds.crystevia, Enums.RGBIntegers.HELIOTROPE), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("DeeplandsPortal", "deeplands_portal", ConfigurationUtil.MainConfig.dimensionIds.deeplands, Enums.RGBIntegers.SILVER), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("DustopiaPortal", "dustopia_portal", ConfigurationUtil.MainConfig.dimensionIds.dustopia, Enums.RGBIntegers.BLACK), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("GardenciaPortal", "gardencia_portal", ConfigurationUtil.MainConfig.dimensionIds.gardencia, Enums.RGBIntegers.DEEP_PINK), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("GreckonPortal", "greckon_portal", ConfigurationUtil.MainConfig.dimensionIds.greckon, Enums.RGBIntegers.DARK_VIOLET), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("HavenPortal", "haven_portal", ConfigurationUtil.MainConfig.dimensionIds.haven, Enums.RGBIntegers.BRIGHT_TURQUOISE), "blocks/functional/portal/");
    registerBlock(registry, new ImmortallisPortalBlock(), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("IrominePortal", "iromine_portal", ConfigurationUtil.MainConfig.dimensionIds.iromine, Enums.RGBIntegers.TANGERINE_YELLOW), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("LelyetiaPortal", "lelyetia_portal", ConfigurationUtil.MainConfig.dimensionIds.lelyetia, Enums.RGBIntegers.MANGO_TANGO), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("LunalusPortal", "lunalus_portal", ConfigurationUtil.MainConfig.dimensionIds.lunalus, Enums.RGBIntegers.LAVENDER_BLUSH), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("MysteriumPortal", "mysterium_portal", ConfigurationUtil.MainConfig.dimensionIds.mysterium, Enums.RGBIntegers.TYRIAN_PURPLE), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("NetherPortal", "nether_portal", -1, Enums.RGBIntegers.PURPLE), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("PrecasiaPortal", "precasia_portal", ConfigurationUtil.MainConfig.dimensionIds.precasia, Enums.RGBIntegers.ELECTRIC_LIME), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("RunandorPortal", "runandor_portal", ConfigurationUtil.MainConfig.dimensionIds.runandor, Enums.RGBIntegers.ELECTRIC_BLUE), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("ShyrelandsPortal", "shyrelands_portal", ConfigurationUtil.MainConfig.dimensionIds.shyrelands, Enums.RGBIntegers.YELLOW), "blocks/functional/portal/");
    registerBlock(registry, new PortalBlock("VoxPondsPortal", "vox_ponds_portal", ConfigurationUtil.MainConfig.dimensionIds.voxPonds, Enums.RGBIntegers.OLIVE), "blocks/functional/portal/");
    registerBlock(registry, new AncientAltar(), "blocks/functional/utility/");
    registerBlock(registry, new AncientCavernShrine("ErebonShrine", "erebon_shrine", EREBON), "blocks/functional/utility/");
    registerBlock(registry, new AncientCavernShrine("LuxonShrine", "luxon_shrine", LUXON), "blocks/functional/utility/");
    registerBlock(registry, new AncientCavernShrine("PlutonShrine", "pluton_shrine", PLUTON), "blocks/functional/utility/");
    registerBlock(registry, new AncientCavernShrine("SelyanShrine", "selyan_shrine", SELYAN), "blocks/functional/utility/");
    registerBlock(registry, new AscensionShrine(), "blocks/functional/utility/");
    registerBlock(registry, new VoxCrate(), "blocks/functional/utility/");
    registerBlock(registry, new CreationForge(), "blocks/functional/utility/");
    registerBlock(registry, new CrystalCreator("BlueCrystalCreator", "blue_crystal_creator"), "blocks/functional/utility/");
    registerBlock(registry, new CrystalCreator("GreenCrystalCreator", "green_crystal_creator"), "blocks/functional/utility/");
    registerBlock(registry, new CrystalCreator("PurpleCrystalCreator", "purple_crystal_creator"), "blocks/functional/utility/");
    registerBlock(registry, new CrystalCreator("RedCrystalCreator", "red_crystal_creator"), "blocks/functional/utility/");
    registerBlock(registry, new CrystalCreator("WhiteCrystalCreator", "white_crystal_creator"), "blocks/functional/utility/");
    registerBlock(registry, new CrystalCreator("YellowCrystalCreator", "yellow_crystal_creator"), "blocks/functional/utility/");
    registerBlock(registry, new CrystalExtensionShrine(), "blocks/functional/utility/");
    registerBlock(registry, new DecloggingTable(), "blocks/functional/utility/");
    registerBlock(registry, new DeepCase(), "blocks/functional/misc/");
    registerBlock(registry, new DivineStation(), "blocks/functional/utility/");
    registerBlock(registry, new EnigmaTable(), "blocks/functional/utility/");
    registerBlock(registry, new ExoidStation(), "blocks/functional/utility/");
    registerBlock(registry, new ExtractionDevice(false), "blocks/functional/utility/");
    registerBlock(registry, new ExtractionDevice(true), "blocks/functional/utility/");
    registerBlock(registry, new FiltrationSystem(), "blocks/functional/utility/");
    registerItemlessBlock(registry, ((FiltrationSystem) getUnmappedBlock("filtration_system")).getBoilingState());
    registerBlock(registry, new FrameBench(), "blocks/functional/utility/");
    registerBlock(registry, new GoldAccumulator(), "blocks/functional/utility/");
    registerBlock(registry, new HauntingTable(), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor1", "immortallis_progressor_1", 1), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor2", "immortallis_progressor_2", 2), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor3", "immortallis_progressor_3", 3), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor4", "immortallis_progressor_4", 4), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor5", "immortallis_progressor_5", 5), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor6", "immortallis_progressor_6", 6), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor7", "immortallis_progressor_7", 7), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor8", "immortallis_progressor_8", 8), "blocks/functional/utility/");
    registerBlock(registry, new ImmortallisProgressor("ImmortallisProgressor9", "immortallis_progressor_9", 9), "blocks/functional/utility/");
    registerBlock(registry, new InfusionTable(), "blocks/functional/utility/");
    registerBlock(registry, new IroCrate(), "blocks/functional/misc/");
    registerBlock(registry, new LunarCreationTable(), "blocks/functional/utility/");
    registerBlock(registry, new LunarEnrichmentTable(), "blocks/functional/utility/");
    registerBlock(registry, new MendingTable(), "blocks/functional/utility/");
    registerBlock(registry, new MineralizationStation(), "blocks/functional/utility/");
    registerBlock(registry, new PetalCraftingStation(), "blocks/functional/utility/");
    registerBlock(registry, new PureGoldAccumulator(), "blocks/functional/utility/");
    registerBlock(registry, new RecreationStation(), "blocks/functional/utility/");
    registerBlock(registry, new RuneRandomizer(), "blocks/functional/utility/");
    registerBlock(registry, new RuneShrine(), "blocks/functional/utility/");
    registerBlock(registry, new RunicBlock(), "blocks/functional/utility/");
    registerBlock(registry, new StrangeBlock(), "blocks/functional/utility/");
    registerBlock(registry, new TeaSink(), "blocks/functional/utility/");
    registerItemlessBlock(registry, ((TeaSink) getUnmappedBlock("tea_sink")).getFullSink());
    registerBlock(registry, new VoxStoreCrate(), "blocks/functional/utility/");
    registerBlock(registry, new WhitewashingTable(), "blocks/functional/utility/");
    registerBlock(registry, new FlowerBlock("Arcbulb", "arcbulb", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("Arcflower", "arcflower", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("BurealStocks", "bureal_stocks", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("Candycane", "candycane", Material.ROCK, 0.0f, Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("CandyGrass", "candy_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("BlueCandyGrass", "blue_candy_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("CeleviansBlue", "celevians_blue", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("CeleviansPurple", "celevians_purple", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("CeleviansRed", "celevians_red", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("CeleviansWhite", "celevians_white", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("CreepFlowers", "creep_flowers", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("CreepGrass", "creep_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new CrysteviaCrystalPlant("BlueCrystal", "blue_crystal_plant"), "blocks/generation/plants/");
    registerBlock(registry, new CrysteviaCrystalPlant("GreenCrystalPlant", "green_crystal_plant"), "blocks/generation/plants/");
    registerBlock(registry, new CrysteviaCrystalPlant("PurpleCrystalPlant", "purple_crystal_plant"), "blocks/generation/plants/");
    registerBlock(registry, new CrysteviaCrystalPlant("RedCrystalPlant", "red_crystal_plant"), "blocks/generation/plants/");
    registerBlock(registry, new CrysteviaCrystalPlant("WhiteCrystalPlant", "white_crystal_plant"), "blocks/generation/plants/");
    registerBlock(registry, new CrysteviaCrystalPlant("YellowCrystalPlant", "yellow_crystal_plant"), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("Daileers", "daileers", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("DawnBush", "dawn_bush", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("DawnFlower", "dawn_flower", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("DawnGrass", "dawn_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("DayloomsBlue", "daylooms_blue", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("DayloomsPink", "daylooms_pink", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("DayloomsYellow", "daylooms_yellow", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("DeadGrass", "dead_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("DeepBlooms", "deep_blooms", Material.ROCK), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("DeepGrass", "deep_grass", Material.ROCK), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("HauntedFlower", "haunted_flower", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("HavenGrassPlant", "haven_grass_plant", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("HorizonDaisies", "horizon_daisies", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("IroGrass", "iro_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("Irotops", "irotops", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("LelyetianGrass", "lelyetian_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new UpsideDownGenericPlant("LelyetianGrassDown", "lelyetian_grass_down", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("LuconGrass", "lucon_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("Lunalip", "lunalip", Material.GROUND, Material.GRASS), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("Luntar", "luntar", Material.GROUND, Material.GRASS), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("Lurchians", "lurchians", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("Lylips", "lylips", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("Magias", "magias", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new MysticBush(), "blocks/generation/plants/");
    registerBlock(registry, new MysticFerns(), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("OcealitesBlue", "ocealites_blue", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("RainbowGrass", "rainbow_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("RainbowGrass2", "rainbow_grass2", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("RainbowGrass3", "rainbow_grass3", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("RuneBulbs", "rune_bulbs", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("RunicBush", "runic_bush", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new FlowerBlock("ShyreWeed", "shyre_weed", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new TangleThorns(), "blocks/generation/plants/");
    registerBlock(registry, new TrilliadBloom(), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("Tubeicles", "tubeicles", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("GreenWaterweeds", "green_waterweeds", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new RedWaterweeds(), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("WhiteWaterweeds", "white_waterweeds", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new GenericPlantBlock("YellowWaterweeds", "yellow_waterweeds", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantMultiStackable("BlueLollypop", "blue_lollypop", Material.GLASS, 0.0f, Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantMultiStackable("RedLollypop", "red_lollypop", Material.GLASS, 0.0f, Material.GRASS, Material.GROUND).addStemBlock((PlantMultiStackable) getUnmappedBlock("blue_lollypop")), "blocks/generation/plants/");
    registerBlock(registry, new PlantMultiStackable("YellowLollypop", "yellow_lollypop", Material.GLASS, 0.0f, Material.GRASS, Material.GROUND).addStemBlock((PlantMultiStackable) getUnmappedBlock("blue_lollypop"), (PlantMultiStackable) getUnmappedBlock("red_lollypop")), "blocks/generation/plants/");
    registerBlock(registry, new UpsideDownPlantStackable("AncientVines", "ancient_vines", Material.ROCK), "blocks/generation/plants/");
    registerBlock(registry, new UpsideDownPlantStackable("AncientVinesCap", "ancient_vines_cap", Material.ROCK).setStemBlock((PlantStackable) getUnmappedBlock("ancient_vines")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("BloodPineStem", "blood_pine_stem", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("BloodPine", "blood_pine", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("blood_pine_stem")), "blocks/generation/plants/");
    registerBlock(registry, new BloodSpikes(), "blocks/generation/plants/");
    registerBlock(registry, new BloodStrands(), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("EyeBulb", "bulb_stock", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new BulbStockCap(), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("CelebulbsStem", "celebulbs_stem", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("CelebulbsGreen", "celebulbs_green", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("celebulbs_stem")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("CelebulbsYellow", "celebulbs_yellow", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("celebulbs_stem")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("CoralCage", "coral_cage", Material.GRASS, Material.GROUND, Material.ROCK), "blocks/generation/plants/");
    registerBlock(registry, new DawnwoodBars(), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("EyeShrubStem", "eye_shrub_stem", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("EyeShrub", "eye_shrub", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("eye_shrub_stem")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("GardenGrass", "garden_grass", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("HavendalesBlueStem", "havendales_blue_stem", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("HavendalesBlue", "havendales_blue", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("havendales_blue_stem")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("HavendalesPinkStem", "havendales_pink_stem", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("HavendalesPink", "havendales_pink", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("havendales_pink_stem")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("HavendalesYellowStem", "havendales_yellow_stem", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("HavendalesYellow", "havendales_yellow", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("havendales_yellow_stem")), "blocks/generation/plants/");
    registerBlock(registry, new BidirectionalPlantStackable("LelyetianStem", "lelyetian_stem", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("LelyetianStemCap", "lelyetian_stem_cap", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("lelyetian_stem")), "blocks/generation/plants/");
    registerBlock(registry, new UpsideDownPlantStackable("LelyetianStemCapDown", "lelyetian_stem_cap_down", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("lelyetian_stem")), "blocks/generation/plants/");
    registerBlock(registry, new BidirectionalPlantStackable("LelyetianWiggler", "lelyetian_wiggler", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new UpsideDownPlantStackable("LelyetianWigglerBottom", "lelyetian_wiggler_bottom", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("lelyetian_wiggler")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("LelyetianWigglerTop", "lelyetian_wiggler_top", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("lelyetian_wiggler")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("GreenPeppermint", "green_peppermint", Material.GLASS, 0.0f, Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("RedPeppermint", "red_peppermint", Material.GLASS, 0.0f, Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("PlasticStick", "plastic_stick", Material.ROCK, 0.0f, Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("CandyTube", "candy_tube", Material.GLASS, 0.0f, Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("plastic_stick")), "blocks/generation/plants/");
    registerBlock(registry, new BidirectionalPlantStackable("ShyreStock", "shyre_stock", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("ShyreCap", "shyre_cap", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("shyre_stock")), "blocks/generation/plants/");
    registerBlock(registry, new UpsideDownPlantStackable("ShyreCapDown", "shyre_cap_down", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("shyre_stock")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("VoxFungiStem", "vox_fungi_stem", Material.GRASS, Material.GROUND), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("VoxFungi", "vox_fungi", Material.GRASS, Material.GROUND).setStemBlock((PlantStackable) getUnmappedBlock("vox_fungi_stem")), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("VoxTentaclesStem", "vox_tentacles_stem", Material.GRASS, Material.GROUND, Material.SPONGE), "blocks/generation/plants/");
    registerBlock(registry, new PlantStackable("VoxTentacles", "vox_tentacles", Material.GRASS, Material.GROUND, Material.SPONGE).setStemBlock((PlantStackable) getUnmappedBlock("vox_tentacles_stem")), "blocks/generation/plants/");
    registerBlock(registry, new VinesBlock("CreepVines", "creep_vines"), "blocks/generation/plants/");
    registerItemlessBlock(registry, new CropBlock("BubbleBerryCrop", "bubble_berry_crop", true));
    registerItemlessBlock(registry, new CropBlock("ChilliCrop", "chilli_crop", true));
    registerItemlessBlock(registry, new CropBlock("EyeBulbCrop", "eye_bulb_crop", false));
    registerItemlessBlock(registry, new CropBlock("FloraclesCrop", "floracles_crop", true));
    registerItemlessBlock(registry, new CropBlock("GoldicapsCrop", "goldicaps_crop", true));
    registerItemlessBlock(registry, new CropBlock("HeartFruitCrop", "heart_fruit_crop", false));
    registerItemlessBlock(registry, new CropBlock("HollyTopsCrop", "holly_tops_crop", true));
    registerItemlessBlock(registry, new CropBlock("LunacrikeCrop", "lunacrike_crop", true));
    registerItemlessBlock(registry, new CropBlock("LunaGlobeCrop", "luna_globe_crop", true));
    registerItemlessBlock(registry, new CropBlock("LunalonsCrop", "lunalon_crop", true));
    registerItemlessBlock(registry, new CropBlock("MagicMarangCrop", "magic_marang_crop", false));
    registerItemlessBlock(registry, new CropBlock("MysticShroomCrop", "mystic_shroom_crop", false));
    registerItemlessBlock(registry, new CropBlock("RosidonCrop", "rosidon_crop", true));
    registerItemlessBlock(registry, new CropBlock("TeaCrop", "tea_crop", true));
    registerItemlessBlock(registry, new CropBlock("ThornyPlantCrop", "thorny_plant_crop", true));
    registerItemlessBlock(registry, new CropBlock("TrilliadCrop", "trilliad_crop", true));
    registerBlock(registry, new StatueBlock("BaneStatue", "bane_statue", () -> SoundsRegister.MOB_BANE_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldBaneStatue", "gold_bane_statue", () -> SoundsRegister.MOB_BANE_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateBaneStatue", "ornate_bane_statue", () -> SoundsRegister.MOB_BANE_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("BaronessStatue", "baroness_statue", () -> SoundsRegister.MOB_ARIEL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldBaronessStatue", "gold_baroness_statue", () -> SoundsRegister.MOB_ARIEL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateBaronessStatue", "ornate_baroness_statue", () -> SoundsRegister.MOB_ARIEL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("ClunkheadStatue", "clunkhead_statue", () -> SoundsRegister.MOB_CLUNKHEAD_DEATH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldClunkheadStatue", "gold_clunkhead_statue", () -> SoundsRegister.MOB_CLUNKHEAD_DEATH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateClunkheadStatue", "ornate_clunkhead_statue", () -> SoundsRegister.MOB_CLUNKHEAD_DEATH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("ConiferonStatue", "coniferon_statue", () -> SoundsRegister.MOB_CONIFERON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldConiferonStatue", "gold_coniferon_statue", () -> SoundsRegister.MOB_CONIFERON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateConiferonStatue", "ornate_coniferon_statue", () -> SoundsRegister.MOB_CONIFERON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("CorallusStatue", "corallus_statue", () -> SoundsRegister.MOB_CORALLUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldCorallusStatue", "gold_corallus_statue", () -> SoundsRegister.MOB_CORALLUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateCorallusStatue", "ornate_corallus_statue", () -> SoundsRegister.MOB_CORALLUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("CottonCandorStatue", "cotton_candor_statue", () -> SoundsRegister.MOB_COTTON_CANDOR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldCottonCandorStatue", "gold_cotton_candor_statue", () -> SoundsRegister.MOB_COTTON_CANDOR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateCottonCandorStatue", "ornate_cotton_candor_statue", () -> SoundsRegister.MOB_COTTON_CANDOR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("CraexxeusStatue", "craexxeus_statue", () -> SoundsRegister.MOB_CRAEXXEUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldCraexxeusStatue", "gold_craexxeus_statue", () -> SoundsRegister.MOB_CRAEXXEUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateCraexxeusStatue", "ornate_craexxeus_statue", () -> SoundsRegister.MOB_CRAEXXEUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("CreepStatue", "creep_statue", () -> SoundsRegister.MOB_CREEPOID_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldCreepStatue", "gold_creep_statue", () -> SoundsRegister.MOB_CREEPOID_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateCreepStatue", "ornate_creep_statue", () -> SoundsRegister.MOB_CREEPOID_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("CrystocoreStatue", "crystocore_statue", () -> SoundsRegister.MOB_CRYSTAL_CONSTRUCT_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldCrystocoreStatue", "gold_crystocore_statue", () -> SoundsRegister.MOB_CRYSTAL_CONSTRUCT_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateCrystocoreStatue", "ornate_crystocore_statue", () -> SoundsRegister.MOB_CRYSTAL_CONSTRUCT_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("DracyonStatue", "dracyon_statue", () -> SoundsRegister.MOB_DRACYON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldDracyonStatue", "gold_dracyon_statue", () -> SoundsRegister.MOB_DRACYON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateDracyonStatue", "ornate_dracyon_statue", () -> SoundsRegister.MOB_DRACYON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("ElusiveStatue", "elusive_statue", () -> SoundsRegister.MOB_ELUSIVE_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldElusiveStatue", "gold_elusive_statue", () -> SoundsRegister.MOB_ELUSIVE_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateElusiveStatue", "ornate_elusive_statue", () -> SoundsRegister.MOB_ELUSIVE_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("FlashStatue", "flash_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateFlashStatue", "ornate_flash_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldFlashStatue", "gold_flash_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldorthStatue", "goldorth_statue", () -> SoundsRegister.MOB_GOLDORTH_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldGoldorthStatue", "gold_goldorth_statue", () -> SoundsRegister.MOB_GOLDORTH_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateGoldorthStatue", "ornate_goldorth_statue", () -> SoundsRegister.MOB_GOLDORTH_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GrawStatue", "graw_statue", () -> SoundsRegister.MOB_GRAW_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldGrawStatue", "gold_graw_statue", () -> SoundsRegister.MOB_GRAW_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateGrawStatue", "ornate_graw_statue", () -> SoundsRegister.MOB_GRAW_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GuardianStatue", "guardian_statue", () -> SoundsRegister.MOB_GUARDIAN_DEATH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldGuardianStatue", "gold_guardian_statue", () -> SoundsRegister.MOB_GUARDIAN_DEATH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateGuardianStatue", "ornate_guardian_statue", () -> SoundsRegister.MOB_GUARDIAN_DEATH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GyroStatue", "gyro_statue", () -> SoundsRegister.MOB_GYRO_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldGyroStatue", "gold_gyro_statue", () -> SoundsRegister.MOB_GYRO_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateGyroStatue", "ornate_gyro_statue", () -> SoundsRegister.MOB_GYRO_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("HarkosStatue", "harkos_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldHarkosStatue", "gold_harkos_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateHarkosStatue", "ornate_harkos_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("HiveKingStatue", "hive_king_statue", () -> SoundsRegister.MOB_HIVE_KING_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldHiveKingStatue", "gold_hive_king_statue", () -> SoundsRegister.MOB_HIVE_KING_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateHiveKingStatue", "ornate_hive_king_statue", () -> SoundsRegister.MOB_HIVE_KING_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("HoronStatue", "horon_statue", () -> SoundsRegister.MOB_HORON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldHoronStatue", "gold_horon_statue", () -> SoundsRegister.MOB_HORON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateHoronStatue", "ornate_horon_statue", () -> SoundsRegister.MOB_HORON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("HydroliskStatue", "hydrolisk_statue", () -> SoundsRegister.MOB_HYDROLISK_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldHydroliskStatue", "gold_hydrolisk_statue", () -> SoundsRegister.MOB_HYDROLISK_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateHydroliskStatue", "ornate_hydrolisk_statue", () -> SoundsRegister.MOB_HYDROLISK_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("KajarosStatue", "kajaros_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldKajarosStatue", "gold_kajaros_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateKajarosStatue", "ornate_kajaros_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("KingBamBamBamStatue", "king_bambambam_statue", () -> SoundsRegister.MOB_KING_BAMBAMBAM_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldKingBamBamBamStatue", "gold_king_bambambam_statue", () -> SoundsRegister.MOB_KING_BAMBAMBAM_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateKingBamBamBamStatue", "ornate_king_bambambam_statue", () -> SoundsRegister.MOB_KING_BAMBAMBAM_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("KingShroomusStatue", "king_shroomus_statue", () -> SoundsRegister.MOB_FUNGI_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldKingShroomusStatue", "gold_king_shroomus_statue", () -> SoundsRegister.MOB_FUNGI_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateKingShroomusStatue", "ornate_king_shroomus_statue", () -> SoundsRegister.MOB_FUNGI_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("KlobberStatue", "klobber_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldKlobberStatue", "gold_klobber_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateKlobberStatue", "ornate_klobber_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("KrorStatue", "kror_statue", () -> SoundsRegister.MOB_KROR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldKrorStatue", "gold_kror_statue", () -> SoundsRegister.MOB_KROR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateKrorStatue", "ornate_kror_statue", () -> SoundsRegister.MOB_KROR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("MechbotStatue", "mechbot_statue", () -> SoundsRegister.MOB_MECHYON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldMechbotStatue", "gold_mechbot_statue", () -> SoundsRegister.MOB_MECHYON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateMechbotStatue", "ornate_mechbot_statue", () -> SoundsRegister.MOB_MECHYON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("MirageStatue", "mirage_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldMirageStatue", "gold_mirage_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateMirageStatue", "ornate_mirage_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("MiskelStatue", "miskel_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldMiskelStatue", "gold_miskel_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateMiskelStatue", "ornate_miskel_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("NethengeicWitherStatue", "nethengeic_wither_statue", () -> SoundsRegister.MOB_NETHENGEIC_WITHER_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldNethengeicWitherStatue", "gold_nethengeic_wither_statue", () -> SoundsRegister.MOB_NETHENGEIC_WITHER_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateNethengeicWitherStatue", "ornate_nethengeic_wither_statue", () -> SoundsRegister.MOB_NETHENGEIC_WITHER_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OkazorStatue", "okazor_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldOkazorStatue", "gold_okazor_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateOkazorStatue", "ornate_okazor_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("PenumbraStatue", "penumbra_statue", () -> SoundsRegister.MOB_PENUMBRA_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldPenumbraStatue", "gold_penumbra_statue", () -> SoundsRegister.MOB_PENUMBRA_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnatePenumbraStatue", "ornate_penumbra_statue", () -> SoundsRegister.MOB_PENUMBRA_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("ProshieldStatue", "proshield_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldProshieldStatue", "gold_proshield_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateProshieldStatue", "ornate_proshield_statue", () -> SoundsRegister.MOB_IMMORTAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("RaxxanStatue", "raxxan_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldRaxxanStatue", "gold_raxxan_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateRaxxanStatue", "ornate_raxxan_statue", () -> SoundsRegister.MOB_PRIMORDIAL_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("RockriderStatue", "rockrider_statue", () -> SoundsRegister.MOB_ROCK_RIDER_SWITCH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldRockriderStatue", "gold_rockrider_statue", () -> SoundsRegister.MOB_ROCK_RIDER_SWITCH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateRockriderStatue", "ornate_rockrider_statue", () -> SoundsRegister.MOB_ROCK_RIDER_SWITCH), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("ShadowlordStatue", "shadowlord_statue", () -> SoundsRegister.MOB_SHADOWLORD_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldShadowlordStatue", "gold_shadowlord_statue", () -> SoundsRegister.MOB_SHADOWLORD_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateShadowlordStatue", "ornate_shadowlord_statue", () -> SoundsRegister.MOB_SHADOWLORD_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("SilverfootStatue", "silverfoot_statue", () -> SoundEvents.BLOCK_ANVIL_FALL), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldSilverfootStatue", "gold_silverfoot_statue", () -> SoundEvents.BLOCK_ANVIL_FALL), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateSilverfootStatue", "ornate_silverfoot_statue", () -> SoundEvents.BLOCK_ANVIL_FALL), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("SkeletronStatue", "skeletron_statue", () -> SoundEvents.ENTITY_SKELETON_AMBIENT), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldSkeletronStatue", "gold_skeletron_statue", () -> SoundEvents.ENTITY_SKELETON_AMBIENT), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateSkeletronStatue", "ornate_skeletron_statue", () -> SoundEvents.ENTITY_SKELETON_AMBIENT), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("SmashStatue", "smash_statue", () -> SoundsRegister.MOB_SMASH_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateSmashStatue", "ornate_smash_statue", () -> SoundsRegister.MOB_SMASH_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldSmashStatue", "gold_smash_statue", () -> SoundsRegister.MOB_SMASH_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("TyrosaurStatue", "tyrosaur_statue", () -> SoundsRegister.MOB_TYROSAUR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldTyrosaurStatue", "gold_tyrosaur_statue", () -> SoundsRegister.MOB_TYROSAUR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateTyrosaurStatue", "ornate_tyrosaur_statue", () -> SoundsRegister.MOB_TYROSAUR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("VinocorneStatue", "vinocorne_statue", () -> SoundsRegister.MOB_TREE_SPIRIT_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldVinocorneStatue", "gold_vinocorne_statue", () -> SoundsRegister.MOB_TREE_SPIRIT_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateVinocorneStatue", "ornate_vinocorne_statue", () -> SoundsRegister.MOB_TREE_SPIRIT_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("VisualentStatue", "visualent_statue", () -> SoundsRegister.MOB_VISULAR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldVisualentStatue", "gold_visualent_statue", () -> SoundsRegister.MOB_VISULAR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateVisualentStatue", "ornate_visualent_statue", () -> SoundsRegister.MOB_VISULAR_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("VoxxulonStatue", "voxxulon_statue", () -> SoundsRegister.MOB_VOXXULON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldVoxxulonStatue", "gold_voxxulon_statue", () -> SoundsRegister.MOB_VOXXULON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateVoxxulonStatue", "ornate_voxxulon_statue", () -> SoundsRegister.MOB_VOXXULON_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("XxeusStatue", "xxeus_statue", () -> SoundsRegister.MOB_XXEUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("GoldXxeusStatue", "gold_xxeus_statue", () -> SoundsRegister.MOB_XXEUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new StatueBlock("OrnateXxeusStatue", "ornate_xxeus_statue", () -> SoundsRegister.MOB_XXEUS_LIVING), "blocks/decoration/statues/");
    registerBlock(registry, new BannerBlock("AncientBanner", "ancient_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedAncientBanner", "gilded_ancient_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedAncientBanner", "encrusted_ancient_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledAncientBanner", "bejewelled_ancient_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("BaronBanner", "baron_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedBaronBanner", "gilded_baron_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedBaronBanner", "encrusted_baron_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledBaronBanner", "bejewelled_baron_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("BloodBanner", "blood_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedBloodBanner", "gilded_blood_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedBloodBanner", "encrusted_blood_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledBloodBanner", "bejewelled_blood_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("BoreicBanner", "boreic_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedBoreicBanner", "gilded_boreic_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedBoreicBanner", "encrusted_boreic_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledBoreicBanner", "bejewelled_boreic_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("CandyBanner", "candy_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedCandyBanner", "gilded_candy_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedCandyBanner", "encrusted_candy_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledCandyBanner", "bejewelled_candy_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("ClownBanner", "clown_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedClownBanner", "gilded_clown_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedClownBanner", "encrusted_clown_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledClownBanner", "bejewelled_clown_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("CreationBanner", "creation_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedCreationBanner", "gilded_creation_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedCreationBanner", "encrusted_creation_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledCreationBanner", "bejewelled_creation_banner"), "blocks/decoration/banners/bejewelled/");
    // TODO Obtain method
    registerBlock(registry, new BannerBlock("CreepoidBanner", "creepoid_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedCreepoidBanner", "gilded_creepoid_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedCreepoidBanner", "encrusted_creepoid_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledCreepoidBanner", "bejewelled_creepoid_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("CreepyBanner", "creepy_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedCreepyBanner", "gilded_creepy_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedCreepyBanner", "encrusted_creepy_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledCreepyBanner", "bejewelled_creepy_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("CrystalBanner", "crystal_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedCrystalBanner", "gilded_crystal_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedCrystalBanner", "encrusted_crystal_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledCrystalBanner", "bejewelled_crystal_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("DeepBanner", "deep_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedDeepBanner", "gilded_deep_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedDeepBanner", "encrusted_deep_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledDeepBanner", "bejewelled_deep_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("DustopianBanner", "dustopian_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedDustopianBanner", "gilded_dustopian_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedDustopianBanner", "encrusted_dustopian_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledDustopianBanner", "bejewelled_dustopian_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("EnergyBanner", "energy_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedEnergyBanner", "gilded_energy_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedEnergyBanner", "encrusted_energy_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledEnergyBanner", "bejewelled_energy_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("FungalBanner", "fungal_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedFungalBanner", "gilded_fungal_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedFungalBanner", "encrusted_fungal_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledFungalBanner", "bejewelled_fungal_banner"), "blocks/decoration/banners/bejewelled/");
    // TODO Obtain method
    registerBlock(registry, new BannerBlock("GhostlyBanner", "ghostly_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedGhostlyBanner", "gilded_ghostly_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedGhostlyBanner", "encrusted_ghostly_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledGhostlyBanner", "bejewelled_ghostly_banner"), "blocks/decoration/banners/bejewelled/");
    // TODO Obtain method
    registerBlock(registry, new BannerBlock("GhoulBanner", "ghoul_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedGhoulBanner", "gilded_ghoul_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedGhoulBanner", "encrusted_ghoul_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledGhoulBanner", "bejewelled_ghoul_banner"), "blocks/decoration/banners/bejewelled/");
    // TODO Obtain method
    registerBlock(registry, new BannerBlock("GingerbreadBanner", "gingerbread_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedGingerbreadBanner", "gilded_gingerbread_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedGingerbreadBanner", "encrusted_gingerbread_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledGingerbreadBanner", "bejewelled_gingerbread_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("HauntedBanner", "haunted_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedHauntedBanner", "gilded_haunted_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedHauntedBanner", "encrusted_haunted_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledHauntedBanner", "bejewelled_haunted_banner"), "blocks/decoration/banners/bejewelled/");
    // TODO Obtain method
    registerBlock(registry, new BannerBlock("IllusionBanner", "illusion_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedIllusionBanner", "gilded_illusion_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedIllusionBanner", "encrusted_illusion_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledIllusionBanner", "bejewelled_illusion_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("ImmortalBanner", "immortal_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedImmortalBanner", "gilded_immortal_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedImmortalBanner", "encrusted_immortal_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledImmortalBanner", "bejewelled_immortal_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("LelyetianBanner", "lelyetian_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedLelyetianBanner", "gilded_lelyetian_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedLelyetianBanner", "encrusted_lelyetian_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledLelyetianBanner", "bejewelled_lelyetian_banner"), "blocks/decoration/banners/bejewelled/");
    // TODO Obtain method
    registerBlock(registry, new BannerBlock("LightBanner", "light_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedLightBanner", "gilded_light_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedLightBanner", "encrusted_light_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledLightBanner", "bejewelled_light_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("LottoBanner", "lotto_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedLottoBanner", "gilded_lotto_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedLottoBanner", "encrusted_lotto_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledLottoBanner", "bejewelled_lotto_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("LunarBanner", "lunar_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedLunarBanner", "gilded_lunar_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedLunarBanner", "encrusted_lunar_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledLunarBanner", "bejewelled_lunar_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("MechaBanner", "mecha_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedMechaBanner", "gilded_mecha_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedMechaBanner", "encrusted_mecha_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledMechaBanner", "bejewelled_mecha_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("NethengeicBanner", "nethengeic_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedNethengeicBanner", "gilded_nethengeic_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedNethengeicBanner", "encrusted_nethengeic_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledNethengeicBanner", "bejewelled_nethengeic_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("NetherBanner", "nether_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedNetherBanner", "gilded_nether_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedNetherBanner", "encrusted_nether_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledNetherBanner", "bejewelled_nether_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("RosidianBanner", "rosidian_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedRosidianBanner", "gilded_rosidian_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedRosidianBanner", "encrusted_rosidian_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledRosidianBanner", "bejewelled_rosidian_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("RunicBanner", "runic_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedRunicBanner", "gilded_runic_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedRunicBanner", "encrusted_runic_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledRunicBanner", "bejewelled_runic_banner"), "blocks/decoration/banners/bejewelled/");
    // TODO Obtain method
    registerBlock(registry, new BannerBlock("SeaBanner", "sea_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedSeaBanner", "gilded_sea_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedSeaBanner", "encrusted_sea_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledSeaBanner", "bejewelled_sea_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("ShadowBanner", "shadow_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedShadowBanner", "gilded_shadow_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedShadowBanner", "encrusted_shadow_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledShadowBanner", "bejewelled_shadow_banner"), "blocks/decoration/banners/bejewelled/");
    // TODO Obtain method
    registerBlock(registry, new BannerBlock("ShinyBanner", "shiny_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedShinyBanner", "gilded_shiny_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedShinyBanner", "encrusted_shiny_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledShinyBanner", "bejewelled_shiny_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("ShyreBanner", "shyre_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedShyreBanner", "gilded_shyre_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedShyreBanner", "encrusted_shyre_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledShyreBanner", "bejewelled_shyre_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("SkeletalBanner", "skeletal_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedSkeletalBanner", "gilded_skeletal_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedSkeletalBanner", "encrusted_skeletal_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledSkeletalBanner", "bejewelled_skeletal_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("SoulBanner", "soul_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedSoulBanner", "gilded_soul_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedSoulBanner", "encrusted_soul_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledSoulBanner", "bejewelled_soul_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("UtopianBanner", "utopian_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedUtopianBanner", "gilded_utopian_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedUtopianBanner", "encrusted_utopian_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledUtopianBanner", "bejewelled_utopian_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("VoidBanner", "void_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedVoidBanner", "gilded_void_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedVoidBanner", "encrusted_void_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledVoidBanner", "bejewelled_void_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("VoxBanner", "vox_banner"), "blocks/decoration/banners/normal/");
    registerBlock(registry, new BannerBlock("GildedVoxBanner", "gilded_vox_banner"), "blocks/decoration/banners/gilded/");
    registerBlock(registry, new BannerBlock("EncrustedVoxBanner", "encrusted_vox_banner"), "blocks/decoration/banners/encrusted/");
    registerBlock(registry, new BannerBlock("BejewelledVoxBanner", "bejewelled_vox_banner"), "blocks/decoration/banners/bejewelled/");
    registerBlock(registry, new BannerBlock("PlutonBanner", "pluton_banner"), "blocks/decoration/banners/special/");
    registerBlock(registry, new BannerBlock("LuxonBanner", "luxon_banner"), "blocks/decoration/banners/special/");
    registerBlock(registry, new BannerBlock("ErebonBanner", "erebon_banner"), "blocks/decoration/banners/special/");
    registerBlock(registry, new BannerBlock("SelyanBanner", "selyan_banner"), "blocks/decoration/banners/special/");
}
Also used : BasicDecorationBlock(net.tslat.aoa3.block.decoration.BasicDecorationBlock) VoxLight(net.tslat.aoa3.block.functional.lights.VoxLight) StairsBlock(net.tslat.aoa3.block.decoration.stairs.StairsBlock) AncientCavernPortalBlock(net.tslat.aoa3.block.functional.portal.AncientCavernPortalBlock) TentaclesEyeRed(net.tslat.aoa3.block.generation.wood.TentaclesEyeRed) SpawnerBlock(net.tslat.aoa3.block.functional.spawners.SpawnerBlock) StatueBlock(net.tslat.aoa3.block.decoration.statue.StatueBlock) SlabBlock(net.tslat.aoa3.block.decoration.slabs.SlabBlock) CarpetBlock(net.tslat.aoa3.block.decoration.carpets.CarpetBlock) DeeplandsStone(net.tslat.aoa3.block.generation.stone.DeeplandsStone) StranglewoodLog(net.tslat.aoa3.block.generation.wood.StranglewoodLog) UpsideDownGrassBlock(net.tslat.aoa3.block.generation.grass.UpsideDownGrassBlock) GrassBlock(net.tslat.aoa3.block.generation.grass.GrassBlock) UnbreakableGlassBlock(net.tslat.aoa3.block.decoration.glass.UnbreakableGlassBlock) DustopianLampOff(net.tslat.aoa3.block.generation.special.DustopianLampOff) CropBlock(net.tslat.aoa3.block.functional.crops.CropBlock) TranslucentLeavesBlock(net.tslat.aoa3.block.generation.leaves.TranslucentLeavesBlock) LeavesBlock(net.tslat.aoa3.block.generation.leaves.LeavesBlock) PortalBlock(net.tslat.aoa3.block.functional.portal.PortalBlock) AncientCavernPortalBlock(net.tslat.aoa3.block.functional.portal.AncientCavernPortalBlock) ImmortallisPortalBlock(net.tslat.aoa3.block.functional.portal.ImmortallisPortalBlock) TranslucentLeavesBlock(net.tslat.aoa3.block.generation.leaves.TranslucentLeavesBlock) TwinklestoneFence(net.tslat.aoa3.block.decoration.fences.TwinklestoneFence) CompressedBlock(net.tslat.aoa3.block.decoration.misc.CompressedBlock) DimensionalFabric(net.tslat.aoa3.block.generation.special.DimensionalFabric) ImmortallisPortalBlock(net.tslat.aoa3.block.functional.portal.ImmortallisPortalBlock) BannerBlock(net.tslat.aoa3.block.decoration.banner.BannerBlock) CandiedWaterBlock(net.tslat.aoa3.block.functional.liquids.CandiedWaterBlock) LogBlock(net.tslat.aoa3.block.generation.wood.LogBlock) UnbreakableGlassBlock(net.tslat.aoa3.block.decoration.glass.UnbreakableGlassBlock) GlassBlock(net.tslat.aoa3.block.decoration.glass.GlassBlock) UpsideDownGrassBlock(net.tslat.aoa3.block.generation.grass.UpsideDownGrassBlock) GateBlock(net.tslat.aoa3.block.decoration.gates.GateBlock) OreBlock(net.tslat.aoa3.block.generation.ores.OreBlock) PortalBlock(net.tslat.aoa3.block.functional.portal.PortalBlock) StairsBlock(net.tslat.aoa3.block.decoration.stairs.StairsBlock) DirtBlock(net.tslat.aoa3.block.generation.dirt.DirtBlock) CarpetBlock(net.tslat.aoa3.block.decoration.carpets.CarpetBlock) StoneBlock(net.tslat.aoa3.block.generation.stone.StoneBlock) Block(net.minecraft.block.Block) FenceBlock(net.tslat.aoa3.block.decoration.fences.FenceBlock) SlabBlock(net.tslat.aoa3.block.decoration.slabs.SlabBlock) SpawnerBlock(net.tslat.aoa3.block.functional.spawners.SpawnerBlock) StatueBlock(net.tslat.aoa3.block.decoration.statue.StatueBlock) UnbreakableLightBlock(net.tslat.aoa3.block.functional.lights.UnbreakableLightBlock) UpsideDownGrassBlock(net.tslat.aoa3.block.generation.grass.UpsideDownGrassBlock) AncientCavernPortalBlock(net.tslat.aoa3.block.functional.portal.AncientCavernPortalBlock) LightBlock(net.tslat.aoa3.block.functional.lights.LightBlock) GrassBlock(net.tslat.aoa3.block.generation.grass.GrassBlock) UnbreakableGlassBlock(net.tslat.aoa3.block.decoration.glass.UnbreakableGlassBlock) BasicDecorationBlock(net.tslat.aoa3.block.decoration.BasicDecorationBlock) BannerBlock(net.tslat.aoa3.block.decoration.banner.BannerBlock) CandiedWaterBlock(net.tslat.aoa3.block.functional.liquids.CandiedWaterBlock) CropBlock(net.tslat.aoa3.block.functional.crops.CropBlock) CompressedBlock(net.tslat.aoa3.block.decoration.misc.CompressedBlock) TranslucentLeavesBlock(net.tslat.aoa3.block.generation.leaves.TranslucentLeavesBlock) LampBlock(net.tslat.aoa3.block.functional.lamps.LampBlock) GateBlock(net.tslat.aoa3.block.decoration.gates.GateBlock) ImmortallisPortalBlock(net.tslat.aoa3.block.functional.portal.ImmortallisPortalBlock) GlassBlock(net.tslat.aoa3.block.decoration.glass.GlassBlock) ItemBlock(net.minecraft.item.ItemBlock) LeavesBlock(net.tslat.aoa3.block.generation.leaves.LeavesBlock) LogBlock(net.tslat.aoa3.block.generation.wood.LogBlock) StoneBlock(net.tslat.aoa3.block.generation.stone.StoneBlock) OreBlock(net.tslat.aoa3.block.generation.ores.OreBlock) UnbreakableLightBlock(net.tslat.aoa3.block.functional.lights.UnbreakableLightBlock) DustopianLamp(net.tslat.aoa3.block.generation.special.DustopianLamp) LampBlock(net.tslat.aoa3.block.functional.lamps.LampBlock) DirtBlock(net.tslat.aoa3.block.generation.dirt.DirtBlock) UnbreakableLightBlock(net.tslat.aoa3.block.functional.lights.UnbreakableLightBlock) LightBlock(net.tslat.aoa3.block.functional.lights.LightBlock) FenceBlock(net.tslat.aoa3.block.decoration.fences.FenceBlock) SubscribeEvent(net.minecraftforge.fml.common.eventhandler.SubscribeEvent)

Example 5 with PortalBlock

use of net.tslat.aoa3.block.functional.portal.PortalBlock in project Advent-Of-Ascension by Tslat.

the class AoATeleporter method placeEntity.

@Override
public void placeEntity(World world, Entity entity, float yaw) {
    PlayerDataManager plData = null;
    if (entity.hasCapability(AdventPlayerProvider.ADVENT_PLAYER, null)) {
        entity.setNoGravity(false);
        PortalCoordinatesContainer loc = (plData = PlayerUtil.getAdventPlayer((EntityPlayer) entity)).getPortalReturnLocation(world.provider.getDimension());
        BlockPos locPos;
        if (loc != null) {
            Block locationBlock = world.getBlockState(locPos = loc.asBlockPos()).getBlock();
            if (locationBlock == getPortalBlock()) {
                placeInPortal(world, entity, locPos);
                return;
            } else if (!(locationBlock instanceof PortalBlock)) {
                plData.removePortalReturnLocation(world.provider.getDimension());
            }
        }
    }
    double movementFactor = world.provider.getMovementFactor() / fromWorld.provider.getMovementFactor();
    if (movementFactor != 1)
        entity.setPositionAndUpdate(entity.posX * movementFactor, entity.posY, entity.posZ * movementFactor);
    if (fromWorld.getBlockState(entity.getPosition()).getBlock() == getPortalBlock()) {
        ChunkPos chunkPos = fromWorld.getChunk(entity.getPosition()).getPos();
        getCachedPortalMap().put(ChunkPos.asLong(chunkPos.x, chunkPos.z), entity.getPosition());
    }
    BlockPos pos = findExistingPortal(world, entity);
    if (pos == null) {
        pos = findSuitablePortalLocation(world, entity);
        pos = makePortal(world, entity, pos);
    }
    placeInPortal(world, entity, pos);
    ChunkPos chunkPos = world.getChunk(pos).getPos();
    getCachedPortalMap().put(ChunkPos.asLong(chunkPos.x, chunkPos.z), pos);
    if (plData != null) {
        PortalCoordinatesContainer portalLoc = plData.getPortalReturnLocation(world.provider.getDimension());
        if (portalLoc != null) {
            PortalCoordinatesContainer returnPortalLoc = plData.getPortalReturnLocation(entity.world.provider.getDimension());
            if (returnPortalLoc != null && returnPortalLoc.fromDim == world.provider.getDimension())
                return;
        }
        if (portalLoc == null || entity.world.provider.getDimension() == portalLoc.fromDim || entity.getDistanceSq(portalLoc.asBlockPos()) > ConfigurationUtil.MainConfig.portalSearchRadius)
            plData.setPortalReturnLocation(world.provider.getDimension(), new PortalCoordinatesContainer(entity.world.provider.getDimension(), pos.getX(), pos.getY(), pos.getZ()));
    }
}
Also used : PortalCoordinatesContainer(net.tslat.aoa3.library.misc.PortalCoordinatesContainer) EntityPlayer(net.minecraft.entity.player.EntityPlayer) PortalBlock(net.tslat.aoa3.block.functional.portal.PortalBlock) Block(net.minecraft.block.Block) BlockPos(net.minecraft.util.math.BlockPos) ChunkPos(net.minecraft.util.math.ChunkPos) PlayerDataManager(net.tslat.aoa3.utils.player.PlayerDataManager) PortalBlock(net.tslat.aoa3.block.functional.portal.PortalBlock)

Aggregations

PortalBlock (net.tslat.aoa3.block.functional.portal.PortalBlock)5 Block (net.minecraft.block.Block)4 IBlockState (net.minecraft.block.state.IBlockState)2 Vec3i (net.minecraft.util.math.Vec3i)2 CarvedRunicPortalBlock (net.tslat.aoa3.block.functional.misc.CarvedRunicPortalBlock)2 EntityPlayer (net.minecraft.entity.player.EntityPlayer)1 ItemBlock (net.minecraft.item.ItemBlock)1 BlockPos (net.minecraft.util.math.BlockPos)1 ChunkPos (net.minecraft.util.math.ChunkPos)1 SubscribeEvent (net.minecraftforge.fml.common.eventhandler.SubscribeEvent)1 BasicDecorationBlock (net.tslat.aoa3.block.decoration.BasicDecorationBlock)1 BannerBlock (net.tslat.aoa3.block.decoration.banner.BannerBlock)1 CarpetBlock (net.tslat.aoa3.block.decoration.carpets.CarpetBlock)1 FenceBlock (net.tslat.aoa3.block.decoration.fences.FenceBlock)1 TwinklestoneFence (net.tslat.aoa3.block.decoration.fences.TwinklestoneFence)1 GateBlock (net.tslat.aoa3.block.decoration.gates.GateBlock)1 GlassBlock (net.tslat.aoa3.block.decoration.glass.GlassBlock)1 UnbreakableGlassBlock (net.tslat.aoa3.block.decoration.glass.UnbreakableGlassBlock)1 CompressedBlock (net.tslat.aoa3.block.decoration.misc.CompressedBlock)1 SlabBlock (net.tslat.aoa3.block.decoration.slabs.SlabBlock)1