CLASS net/minecraft/class_5721 net/minecraft/world/gen/feature/util/CaveSurface
	METHOD method_32980 createEmpty ()Lnet/minecraft/class_5721;
	METHOD method_32981 createHalfWithCeiling (I)Lnet/minecraft/class_5721;
		ARG 0 ceiling
	METHOD method_32982 create (Lnet/minecraft/class_3746;Lnet/minecraft/class_2338;ILjava/util/function/Predicate;Ljava/util/function/Predicate;)Ljava/util/Optional;
		ARG 0 world
		ARG 1 pos
		ARG 2 height
		ARG 3 canGenerate
		ARG 4 canReplace
	METHOD method_32983 withFloor (Ljava/util/OptionalInt;)Lnet/minecraft/class_5721;
		ARG 1 floor
	METHOD method_32984 create (Ljava/util/OptionalInt;Ljava/util/OptionalInt;)Lnet/minecraft/class_5721;
		ARG 0 ceilingHeight
		ARG 1 floorHeight
	METHOD method_32985 getCeilingHeight ()Ljava/util/OptionalInt;
	METHOD method_32986 createBounded (II)Lnet/minecraft/class_5721$class_5723;
		ARG 0 floor
		ARG 1 ceiling
	METHOD method_32987 getFloorHeight ()Ljava/util/OptionalInt;
	METHOD method_32988 createHalfWithFloor (I)Lnet/minecraft/class_5721;
		ARG 0 floor
	METHOD method_33385 getOptionalHeight ()Ljava/util/OptionalInt;
	METHOD method_34280 getCaveSurface (Lnet/minecraft/class_3746;ILjava/util/function/Predicate;Ljava/util/function/Predicate;Lnet/minecraft/class_2338$class_2339;ILnet/minecraft/class_2350;)Ljava/util/OptionalInt;
		ARG 0 world
		ARG 1 height
		ARG 2 canGenerate
		ARG 3 canReplace
		ARG 4 mutablePos
		ARG 5 y
		ARG 6 direction
	CLASS class_5722 Empty
		FIELD field_28197 INSTANCE Lnet/minecraft/class_5721$class_5722;
	CLASS class_5723 Bounded
		FIELD field_28198 floor I
		FIELD field_28199 ceiling I
		METHOD <init> (II)V
			ARG 1 floor
			ARG 2 ceiling
		METHOD method_32990 getCeiling ()I
		METHOD method_32991 getFloor ()I
		METHOD method_32992 getHeight ()I
	CLASS class_5724 Half
		FIELD field_28200 height I
		FIELD field_28201 floor Z
		METHOD <init> (IZ)V
			ARG 1 height
			ARG 2 floor
