gson = new GsonBuilder()
.registerTypeAdapterFactory(new CaseInsensitiveEnumTypeAdapterFactory())
.registerTypeAdapter(BlockDefinition.Tiles.class, new BlockTilesDefinitionHandler())
.registerTypeAdapter(BlockDefinition.ColorSources.class, new BlockColorSourceDefinitionHandler())
.registerTypeAdapter(BlockDefinition.ColorOffsets.class, new BlockColorOffsetDefinitionHandler())
.registerTypeAdapter(Vector3f.class, new Vector3fTypeAdapter())
.registerTypeAdapter(Vector4f.class, new Vector4fTypeAdapter())
.create();
cubeShape = (BlockShape) Assets.get(AssetType.SHAPE, "engine:cube");
loweredShape = (BlockShape) Assets.get(AssetType.SHAPE, "engine:loweredCube");
trimmedLoweredShape = (BlockShape) Assets.get(AssetType.SHAPE, "engine:trimmedLoweredCube");