diff --git a/fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener b/fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener
index a0e8732b4..b6e1f6669 100644
--- a/fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener
+++ b/fabric-data-generation-api-v1/src/main/resources/fabric-data-generation-api-v1.accesswidener
@@ -142,9 +142,15 @@ transitive-accessible	method	net/minecraft/data/recipe/RecipeGenerator	createSha
 transitive-accessible	method	net/minecraft/data/recipe/RecipeGenerator	createShapeless	(Lnet/minecraft/recipe/book/RecipeCategory;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/data/recipe/ShapelessRecipeJsonBuilder;
 transitive-accessible	method	net/minecraft/data/recipe/RecipeGenerator	createShapeless	(Lnet/minecraft/recipe/book/RecipeCategory;Lnet/minecraft/item/ItemConvertible;)Lnet/minecraft/data/recipe/ShapelessRecipeJsonBuilder;
 transitive-accessible	method	net/minecraft/data/recipe/RecipeGenerator	createShapeless	(Lnet/minecraft/recipe/book/RecipeCategory;Lnet/minecraft/item/ItemConvertible;I)Lnet/minecraft/data/recipe/ShapelessRecipeJsonBuilder;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createStoneState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/client/data/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createMudBrickState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/client/data/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createDeepslateState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/client/data/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67806	(Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/render/model/json/ModelVariant;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67822	(Lnet/minecraft/client/render/model/json/ModelVariant;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67833	([Lnet/minecraft/client/render/model/json/ModelVariant;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67835	(Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67834	()Lnet/minecraft/class_10795;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67832	([Lnet/minecraft/class_10795;)Lnet/minecraft/client/render/model/json/MultipartModelSelector;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createStoneState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/ModelVariant;Lnet/minecraft/client/data/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createMudBrickState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/ModelVariant;Lnet/minecraft/client/data/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createDeepslateState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/ModelVariant;Lnet/minecraft/client/data/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/client/data/BlockStateSupplier;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerItemModel	(Lnet/minecraft/item/Item;Lnet/minecraft/util/Identifier;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerParentedItemModel	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerTintedItemModel	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/client/render/item/tint/TintSource;)V
@@ -156,40 +162,34 @@ transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerItemModel	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerItemModel	(Lnet/minecraft/block/Block;Ljava/lang/String;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerTwoLayerItemModel	(Lnet/minecraft/block/Block;Ljava/lang/String;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createNorthDefaultHorizontalRotationStates	()Lnet/minecraft/client/data/BlockStateVariantMap;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createSouthDefaultHorizontalRotationStates	()Lnet/minecraft/client/data/BlockStateVariantMap;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createEastDefaultHorizontalRotationStates	()Lnet/minecraft/client/data/BlockStateVariantMap;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createNorthDefaultRotationStates	()Lnet/minecraft/client/data/BlockStateVariantMap;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createBlockStateWithRandomHorizontalRotations	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/VariantsBlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createModelVariantWithRandomHorizontalRotations	(Lnet/minecraft/util/Identifier;)[Lnet/minecraft/client/data/BlockStateVariant;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createBlockStateWithTwoModelAndRandomInversion	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/VariantsBlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createBooleanModelMap	(Lnet/minecraft/state/property/BooleanProperty;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateVariantMap;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67839	(Lnet/minecraft/client/render/model/json/ModelVariant;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67823	(Lnet/minecraft/client/render/model/json/ModelVariant;Lnet/minecraft/client/render/model/json/ModelVariant;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createBooleanModelMap	(Lnet/minecraft/state/property/BooleanProperty;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateVariantMap;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerMirrorable	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerRotatable	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerBrushableBlock	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createButtonBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	fillDoorVariantMap	(Lnet/minecraft/client/data/BlockStateVariantMap$QuadrupleProperty;Lnet/minecraft/block/enums/DoubleBlockHalf;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateVariantMap$QuadrupleProperty;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createDoorBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createCustomFenceBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createFenceBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createWallBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createFenceGateBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Z)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createStairsBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createOrientableTrapdoorBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createTrapdoorBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createSingletonBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/VariantsBlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createButtonBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createDoorBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createCustomFenceBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createFenceBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createWallBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createFenceGateBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Z)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createStairsBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createOrientableTrapdoorBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createTrapdoorBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createSingletonBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/VariantsBlockStateSupplier;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createAxisRotatedVariantMap	()Lnet/minecraft/client/data/BlockStateVariantMap;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createUvLockedColumnBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/data/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createAxisRotatedBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerAxisRotated	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)V
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createAxisRotatedBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerAxisRotated	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerNorthDefaultHorizontalRotated	(Lnet/minecraft/block/Block;Lnet/minecraft/client/data/TexturedModel$Factory;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createAxisRotatedBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createAxisRotatedBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerAxisRotated	(Lnet/minecraft/block/Block;Lnet/minecraft/client/data/TexturedModel$Factory;Lnet/minecraft/client/data/TexturedModel$Factory;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerCreakingHeart	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createCreakingHeartModel	(Lnet/minecraft/client/data/TexturedModel$Factory;Lnet/minecraft/block/Block;Ljava/lang/String;)Lnet/minecraft/util/Identifier;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createSubModel	(Lnet/minecraft/block/Block;Ljava/lang/String;Lnet/minecraft/client/data/Model;Ljava/util/function/Function;)Lnet/minecraft/util/Identifier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createPressurePlateBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createSlabBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createPressurePlateBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createSlabBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerGrassTinted	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerCubeAllModelTexturePool	(Lnet/minecraft/block/Block;)Lnet/minecraft/client/data/BlockStateModelGenerator$BlockTexturePool;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerDoor	(Lnet/minecraft/block/Block;)V
@@ -213,25 +213,24 @@ transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerDoubleBlock	(Lnet/minecraft/block/Block;Lnet/minecraft/client/data/BlockStateModelGenerator$CrossType;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerDoubleBlockAndItem	(Lnet/minecraft/block/Block;Lnet/minecraft/client/data/BlockStateModelGenerator$CrossType;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerGrassTintedDoubleBlockAndItem	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerDoubleBlock	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)V
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerDoubleBlock	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerTurnableRail	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerStraightRail	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerBuiltinWithParticle	(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerBuiltinWithParticle	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	uploadParticleModel	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)Lnet/minecraft/util/Identifier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	uploadParticleModel	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerBuiltin	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerWoolAndCarpet	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerLeafLitter	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerFlowerbed	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerSegmentedBlock	(Lnet/minecraft/block/Block;Lnet/minecraft/state/property/IntProperty;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)V
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerSegmentedBlock	(Lnet/minecraft/block/Block;Lnet/minecraft/state/property/IntProperty;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerRandomHorizontalRotations	(Lnet/minecraft/client/data/TexturedModel$Factory;[Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerSouthDefaultHorizontalFacing	(Lnet/minecraft/client/data/TexturedModel$Factory;[Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerGlassAndPane	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerCommandBlock	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerAnvil	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getBambooBlockStateVariants	(I)Ljava/util/List;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createUpDefaultFacingVariantMap	()Lnet/minecraft/client/data/BlockStateVariantMap;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createValueFencedModelMap	(Lnet/minecraft/state/property/Property;Ljava/lang/Comparable;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateVariantMap;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getBambooBlockStateVariants	(I)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createValueFencedModelMap	(Lnet/minecraft/state/property/Property;Ljava/lang/Comparable;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateVariantMap;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerBeehive	(Lnet/minecraft/block/Block;Ljava/util/function/Function;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerCrop	(Lnet/minecraft/block/Block;Lnet/minecraft/state/property/Property;[I)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerCooker	(Lnet/minecraft/block/Block;Lnet/minecraft/client/data/TexturedModel$Factory;)V
@@ -243,36 +242,36 @@ transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerNorthDefaultHorizontalRotatable	(Lnet/minecraft/block/Block;Lnet/minecraft/client/data/TextureMap;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerDispenserLikeOrientable	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerCopperBulb	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createCopperBulbBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;Lnet/minecraft/util/Identifier;)Lnet/minecraft/client/data/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	createCopperBulbBlockState	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)Lnet/minecraft/client/data/BlockStateSupplier;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerWaxedCopperBulb	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerAmethyst	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getDripstoneVariant	(Lnet/minecraft/util/math/Direction;Lnet/minecraft/block/enums/Thickness;)Lnet/minecraft/client/data/BlockStateVariant;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getDripstoneVariant	(Lnet/minecraft/util/math/Direction;Lnet/minecraft/block/enums/Thickness;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerNetherrackBottomCustomTop	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerRod	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getFireFloorModels	(Lnet/minecraft/block/Block;)Ljava/util/List;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getFireSideModels	(Lnet/minecraft/block/Block;)Ljava/util/List;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getFireUpModels	(Lnet/minecraft/block/Block;)Ljava/util/List;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	buildBlockStateVariants	(Ljava/util/List;Ljava/util/function/UnaryOperator;)Ljava/util/List;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getFireFloorModels	(Lnet/minecraft/block/Block;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getFireSideModels	(Lnet/minecraft/block/Block;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getFireUpModels	(Lnet/minecraft/block/Block;)Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerLantern	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerTopSoil	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/client/data/BlockStateVariant;)V
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerTopSoil	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerWeightedPressurePlate	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerParented	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerNorthDefaultHorizontalRotation	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerPiston	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/client/data/TextureMap;)V
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerPiston	(Lnet/minecraft/block/Block;Lnet/minecraft/client/render/model/json/WeightedUnbakedModel;Lnet/minecraft/client/data/TextureMap;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerTorch	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getTurtleEggModel	(ILjava/lang/String;Lnet/minecraft/client/data/TextureMap;)Lnet/minecraft/util/Identifier;
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getTurtleEggModel	(Ljava/lang/Integer;Ljava/lang/Integer;)Lnet/minecraft/util/Identifier;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getTurtleEggModel	(ILjava/lang/String;Lnet/minecraft/client/data/TextureMap;)Lnet/minecraft/client/render/model/json/ModelVariant;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	getTurtleEggModel	(II)Lnet/minecraft/client/render/model/json/ModelVariant;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerMultifaceBlock	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerMultifaceBlock	(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;)V
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	method_67809	(Lnet/minecraft/state/State;Ljava/util/function/Function;)Ljava/util/Map;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerMultifaceBlockModel	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerPaleMossCarpet	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerHangingMoss	(Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	supplyChiseledBookshelfModels	(Lnet/minecraft/client/data/MultipartBlockStateSupplier;Lnet/minecraft/client/data/When$PropertyCondition;Lnet/minecraft/client/data/VariantSettings$Rotation;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	supplyChiseledBookshelfModel	(Lnet/minecraft/client/data/MultipartBlockStateSupplier;Lnet/minecraft/client/data/When$PropertyCondition;Lnet/minecraft/client/data/VariantSettings$Rotation;Lnet/minecraft/state/property/BooleanProperty;Lnet/minecraft/client/data/Model;Z)V
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	supplyChiseledBookshelfModels	(Lnet/minecraft/client/data/MultipartBlockStateSupplier;Lnet/minecraft/client/render/model/json/MultipartModelSelector;Lnet/minecraft/class_10804;)V
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	supplyChiseledBookshelfModel	(Lnet/minecraft/client/data/MultipartBlockStateSupplier;Lnet/minecraft/client/render/model/json/MultipartModelSelector;Lnet/minecraft/class_10804;Lnet/minecraft/state/property/BooleanProperty;Lnet/minecraft/client/data/Model;Z)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerShulkerBox	(Lnet/minecraft/block/Block;Lnet/minecraft/util/DyeColor;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerPlantPart	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lnet/minecraft/client/data/BlockStateModelGenerator$CrossType;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerRoots	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)V
-transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	addJigsawOrientationToVariant	(Lnet/minecraft/block/enums/Orientation;Lnet/minecraft/client/data/BlockStateVariant;)Lnet/minecraft/client/data/BlockStateVariant;
+transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	addJigsawOrientationToVariant	(Lnet/minecraft/block/enums/Orientation;)Lnet/minecraft/class_10804;
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerSkull	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lnet/minecraft/block/SkullBlock$SkullType;Lnet/minecraft/util/Identifier;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerBanner	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lnet/minecraft/util/DyeColor;)V
 transitive-accessible	method	net/minecraft/client/data/BlockStateModelGenerator	registerChest	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Z)V
diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/ServerPlayerEntityMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/ServerPlayerEntityMixin.java
index 2c13abe40..ec64b8b77 100644
--- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/ServerPlayerEntityMixin.java
+++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/ServerPlayerEntityMixin.java
@@ -18,6 +18,8 @@ package net.fabricmc.fabric.mixin.entity.event;
 
 import java.util.List;
 
+import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
+import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
 import com.mojang.datafixers.util.Either;
 import org.jetbrains.annotations.Nullable;
 import org.spongepowered.asm.mixin.Mixin;
@@ -35,7 +37,6 @@ import net.minecraft.entity.LivingEntity;
 import net.minecraft.entity.damage.DamageSource;
 import net.minecraft.entity.mob.HostileEntity;
 import net.minecraft.entity.player.PlayerEntity;
-import net.minecraft.registry.RegistryKey;
 import net.minecraft.server.network.ServerPlayerEntity;
 import net.minecraft.server.world.ServerWorld;
 import net.minecraft.state.property.Property;
@@ -104,10 +105,10 @@ abstract class ServerPlayerEntityMixin extends LivingEntityMixin {
 		}
 	}
 
-	@Redirect(method = "trySleep", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerPlayerEntity;setSpawnPoint(Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/util/math/BlockPos;FZZ)V"))
-	private void onSetSpawnPoint(ServerPlayerEntity player, RegistryKey<World> dimension, BlockPos pos, float angle, boolean spawnPointSet, boolean sendMessage) {
-		if (EntitySleepEvents.ALLOW_SETTING_SPAWN.invoker().allowSettingSpawn(player, pos)) {
-			player.setSpawnPoint(dimension, pos, angle, spawnPointSet, sendMessage);
+	@WrapOperation(method = "trySleep", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerPlayerEntity;setSpawnPoint(Lnet/minecraft/server/network/ServerPlayerEntity$class_10766;Z)V"))
+	private void onSetSpawnPoint(ServerPlayerEntity player, ServerPlayerEntity.class_10766 spawnPoint, boolean sendMessage, Operation<Void> original) {
+		if (EntitySleepEvents.ALLOW_SETTING_SPAWN.invoker().allowSettingSpawn(player, spawnPoint.pos())) {
+			original.call(player, spawnPoint, sendMessage);
 		}
 	}
 
diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkManagerMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkManagerMixin.java
index 2620ec4da..75cb1ff30 100644
--- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkManagerMixin.java
+++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkManagerMixin.java
@@ -16,8 +16,10 @@
 
 package net.fabricmc.fabric.mixin.event.lifecycle.client;
 
+import java.util.Map;
 import java.util.function.Consumer;
 
+import com.llamalad7.mixinextras.sugar.Local;
 import org.spongepowered.asm.mixin.Final;
 import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.Shadow;
@@ -29,10 +31,10 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
 
 import net.minecraft.client.world.ClientChunkManager;
 import net.minecraft.client.world.ClientWorld;
-import net.minecraft.nbt.NbtCompound;
 import net.minecraft.network.PacketByteBuf;
 import net.minecraft.network.packet.s2c.play.ChunkData;
 import net.minecraft.util.math.ChunkPos;
+import net.minecraft.world.Heightmap;
 import net.minecraft.world.chunk.WorldChunk;
 
 import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientChunkEvents;
@@ -41,15 +43,15 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientChunkEvents;
 public abstract class ClientChunkManagerMixin {
 	@Final
 	@Shadow
-	private ClientWorld world;
+	ClientWorld world;
 
 	@Inject(method = "loadChunkFromPacket", at = @At("TAIL"))
-	private void onChunkLoad(int x, int z, PacketByteBuf packetByteBuf, NbtCompound nbtCompound, Consumer<ChunkData.BlockEntityVisitor> consumer, CallbackInfoReturnable<WorldChunk> info) {
+	private void onChunkLoad(int x, int z, PacketByteBuf packetByteBuf, Map<Heightmap.Type, long[]> highmap, Consumer<ChunkData.BlockEntityVisitor> consumer, CallbackInfoReturnable<WorldChunk> info) {
 		ClientChunkEvents.CHUNK_LOAD.invoker().onChunkLoad(this.world, info.getReturnValue());
 	}
 
 	@Inject(method = "loadChunkFromPacket", at = @At(value = "NEW", target = "net/minecraft/world/chunk/WorldChunk", shift = At.Shift.BEFORE), locals = LocalCapture.CAPTURE_FAILHARD)
-	private void onChunkUnload(int x, int z, PacketByteBuf buf, NbtCompound tag, Consumer<ChunkData.BlockEntityVisitor> consumer, CallbackInfoReturnable<WorldChunk> info, int index, WorldChunk worldChunk, ChunkPos chunkPos) {
+	private void onChunkUnload(int x, int z, PacketByteBuf buf, Map<Heightmap.Type, long[]> highmap, Consumer<ChunkData.BlockEntityVisitor> consumer, CallbackInfoReturnable<WorldChunk> info, int index, WorldChunk worldChunk, ChunkPos chunkPos) {
 		if (worldChunk != null) {
 			ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.world, worldChunk);
 		}
@@ -65,10 +67,9 @@ public abstract class ClientChunkManagerMixin {
 			at = @At(
 					value = "INVOKE",
 					target = "net/minecraft/client/world/ClientChunkManager$ClientChunkMap.isInRadius(II)Z"
-			),
-			locals = LocalCapture.CAPTURE_FAILHARD
+			)
 	)
-	private void onUpdateLoadDistance(int loadDistance, CallbackInfo ci, int oldRadius, int newRadius, ClientChunkManager.ClientChunkMap clientChunkMap, int k, WorldChunk oldChunk, ChunkPos chunkPos) {
+	private void onUpdateLoadDistance(int loadDistance, CallbackInfo ci, @Local ClientChunkManager.ClientChunkMap clientChunkMap, @Local WorldChunk oldChunk, @Local ChunkPos chunkPos) {
 		if (!clientChunkMap.isInRadius(chunkPos.x, chunkPos.z)) {
 			ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.world, oldChunk);
 		}
diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/trade/TradeOfferHelper.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/trade/TradeOfferHelper.java
index 860685b10..ae9a5f26f 100644
--- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/trade/TradeOfferHelper.java
+++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/trade/TradeOfferHelper.java
@@ -105,14 +105,6 @@ public final class TradeOfferHelper {
 		factory.accept(new TradeOfferInternals.WanderingTraderOffersBuilderImpl());
 	}
 
-	/**
-	 * @deprecated This never did anything useful.
-	 */
-	@Deprecated(forRemoval = true)
-	public static void refreshOffers() {
-		TradeOfferInternals.printRefreshOffersWarning();
-	}
-
 	private TradeOfferHelper() {
 	}
 
diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/impl/object/builder/TradeOfferInternals.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/impl/object/builder/TradeOfferInternals.java
index 10272eec8..12342c6c1 100644
--- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/impl/object/builder/TradeOfferInternals.java
+++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/impl/object/builder/TradeOfferInternals.java
@@ -72,7 +72,25 @@ public final class TradeOfferInternals {
 	}
 
 	public static synchronized void registerWanderingTraderOffers(int level, Consumer<List<TradeOffers.Factory>> factory) {
-		registerOffers(TradeOffers.WANDERING_TRADER_TRADES, level, factory);
+		final List<TradeOffers.Factory> list = new ArrayList<>();
+		factory.accept(list);
+		WanderingTraderOffersBuilderImpl.initWanderingTraderTrades();
+
+		Int2ObjectMap<TradeOffers.Factory[]> tradeMap = new Int2ObjectOpenHashMap<>();
+
+		TradeOffers.WANDERING_TRADER_TRADES.forEach(pair -> {
+			tradeMap.put(pair.getRight(), pair.getLeft());
+		});
+
+		registerOffers(tradeMap, level, factory);
+
+		List<Pair<TradeOffers.Factory[], Integer>> tradeList = new ArrayList<>();
+
+		tradeMap.forEach((key, value) -> {
+			tradeList.add(Pair.of(value, key));
+		});
+
+		TradeOffers.WANDERING_TRADER_TRADES = tradeList;
 	}
 
 	// Shared code to register offers for both villagers and wandering traders.
@@ -87,11 +105,6 @@ public final class TradeOfferInternals {
 		leveledTradeMap.put(level, allEntries);
 	}
 
-	public static void printRefreshOffersWarning() {
-		Throwable loggingThrowable = new Throwable();
-		LOGGER.warn("TradeOfferHelper#refreshOffers does not do anything, yet it was called! Stack trace:", loggingThrowable);
-	}
-
 	public static class WanderingTraderOffersBuilderImpl implements TradeOfferHelper.WanderingTraderOffersBuilder {
 		private static final Object2IntMap<Identifier> ID_TO_INDEX = Util.make(new Object2IntOpenHashMap<>(), idToIndex -> {
 			idToIndex.put(BUY_ITEMS_POOL, 0);
@@ -105,8 +118,8 @@ public final class TradeOfferInternals {
 		 * Make the trade list modifiable.
 		 */
 		static void initWanderingTraderTrades() {
-			if (!(TradeOffers.REBALANCED_WANDERING_TRADER_TRADES instanceof ArrayList)) {
-				TradeOffers.REBALANCED_WANDERING_TRADER_TRADES = new ArrayList<>(TradeOffers.REBALANCED_WANDERING_TRADER_TRADES);
+			if (!(TradeOffers.WANDERING_TRADER_TRADES instanceof ArrayList)) {
+				TradeOffers.WANDERING_TRADER_TRADES = new ArrayList<>(TradeOffers.WANDERING_TRADER_TRADES);
 			}
 		}
 
@@ -121,8 +134,8 @@ public final class TradeOfferInternals {
 
 			Pair<TradeOffers.Factory[], Integer> pool = Pair.of(factories, count);
 			initWanderingTraderTrades();
-			ID_TO_INDEX.put(id, TradeOffers.REBALANCED_WANDERING_TRADER_TRADES.size());
-			TradeOffers.REBALANCED_WANDERING_TRADER_TRADES.add(pool);
+			ID_TO_INDEX.put(id, TradeOffers.WANDERING_TRADER_TRADES.size());
+			TradeOffers.WANDERING_TRADER_TRADES.add(pool);
 			TradeOffers.Factory[] delayedModifications = DELAYED_MODIFICATIONS.remove(id);
 
 			if (delayedModifications != null) addOffersToPool(id, delayedModifications);
@@ -143,9 +156,9 @@ public final class TradeOfferInternals {
 
 			int poolIndex = ID_TO_INDEX.getInt(pool);
 			initWanderingTraderTrades();
-			Pair<TradeOffers.Factory[], Integer> poolPair = TradeOffers.REBALANCED_WANDERING_TRADER_TRADES.get(poolIndex);
+			Pair<TradeOffers.Factory[], Integer> poolPair = TradeOffers.WANDERING_TRADER_TRADES.get(poolIndex);
 			TradeOffers.Factory[] modified = ArrayUtils.addAll(poolPair.getLeft(), factories);
-			TradeOffers.REBALANCED_WANDERING_TRADER_TRADES.set(poolIndex, Pair.of(modified, poolPair.getRight()));
+			TradeOffers.WANDERING_TRADER_TRADES.set(poolIndex, Pair.of(modified, poolPair.getRight()));
 			return this;
 		}
 	}
diff --git a/fabric-object-builder-api-v1/src/main/resources/fabric-object-builder-api-v1.accesswidener b/fabric-object-builder-api-v1/src/main/resources/fabric-object-builder-api-v1.accesswidener
index 1afbb590a..5a803854e 100644
--- a/fabric-object-builder-api-v1/src/main/resources/fabric-object-builder-api-v1.accesswidener
+++ b/fabric-object-builder-api-v1/src/main/resources/fabric-object-builder-api-v1.accesswidener
@@ -7,7 +7,7 @@ extendable class net/minecraft/block/entity/BlockEntityType$BlockEntityFactory
 accessible method net/minecraft/block/entity/BlockEntityType <init> (Lnet/minecraft/block/entity/BlockEntityType$BlockEntityFactory;Ljava/util/Set;)V
 accessible class net/minecraft/village/TradeOffers$TypeAwareBuyForOneEmeraldFactory
 mutable field net/minecraft/village/TradeOffers REBALANCED_PROFESSION_TO_LEVELED_TRADE Ljava/util/Map;
-mutable field net/minecraft/village/TradeOffers REBALANCED_WANDERING_TRADER_TRADES Ljava/util/List;
+mutable field net/minecraft/village/TradeOffers WANDERING_TRADER_TRADES Ljava/util/List;
 
 accessible method net/minecraft/entity/SpawnRestriction register (Lnet/minecraft/entity/EntityType;Lnet/minecraft/entity/SpawnLocation;Lnet/minecraft/world/Heightmap$Type;Lnet/minecraft/entity/SpawnRestriction$SpawnPredicate;)V
 
diff --git a/fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/VillagerTypeTest1.java b/fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/VillagerTypeTest1.java
index b29032d88..c4139c8a2 100644
--- a/fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/VillagerTypeTest1.java
+++ b/fabric-object-builder-api-v1/src/testmod/java/net/fabricmc/fabric/test/object/builder/VillagerTypeTest1.java
@@ -24,6 +24,7 @@ import static net.minecraft.server.command.CommandManager.literal;
 import java.util.Optional;
 
 import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
+import org.apache.commons.lang3.tuple.Pair;
 
 import net.minecraft.component.DataComponentTypes;
 import net.minecraft.entity.Entity;
@@ -106,8 +107,8 @@ public class VillagerTypeTest1 implements ModInitializer {
 						WanderingTraderEntity trader = (WanderingTraderEntity) entity;
 						trader.getOffers().clear();
 
-						for (TradeOffers.Factory[] value : TradeOffers.WANDERING_TRADER_TRADES.values()) {
-							for (TradeOffers.Factory factory : value) {
+						for (Pair<TradeOffers.Factory[], Integer> value : TradeOffers.WANDERING_TRADER_TRADES) {
+							for (TradeOffers.Factory factory : value.getKey()) {
 								final TradeOffer result = factory.create(trader, Random.create());
 
 								if (result == null) {
diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/WorldRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/WorldRendererMixin.java
index 73ca3122d..b93fa783e 100644
--- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/WorldRendererMixin.java
+++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/WorldRendererMixin.java
@@ -187,7 +187,7 @@ public abstract class WorldRendererMixin {
 	}
 
 	@Inject(at = @At("HEAD"), method = "renderClouds", cancellable = true)
-	private void renderCloud(FrameGraphBuilder frameGraphBuilder, Matrix4f matrix4f, Matrix4f matrix4f2, CloudRenderMode cloudRenderMode, Vec3d vec3d, float f, int i, float g, CallbackInfo info) {
+	private void renderCloud(FrameGraphBuilder frameGraphBuilder, CloudRenderMode cloudRenderMode, Vec3d vec3d, float f, int i, float g, CallbackInfo info) {
 		if (this.client.world != null) {
 			DimensionRenderingRegistry.CloudRenderer renderer = DimensionRenderingRegistry.getCloudRenderer(world.getRegistryKey());
 
diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/DimensionalRenderingTest.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/DimensionalRenderingTest.java
index 19ed334d7..175d68ddb 100644
--- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/DimensionalRenderingTest.java
+++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/DimensionalRenderingTest.java
@@ -18,14 +18,10 @@ package net.fabricmc.fabric.test.rendering.client;
 
 import net.minecraft.client.render.DimensionEffects;
 import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.render.RenderPhase;
 import net.minecraft.client.render.VertexConsumer;
-import net.minecraft.client.render.VertexFormat;
-import net.minecraft.client.render.VertexFormats;
 import net.minecraft.registry.RegistryKey;
 import net.minecraft.registry.RegistryKeys;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.TriState;
 
 import net.fabricmc.api.ClientModInitializer;
 import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry;
@@ -33,23 +29,9 @@ import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
 
 public class DimensionalRenderingTest implements ClientModInitializer {
 	private static final Identifier SKY_TEXTURE = Identifier.ofVanilla("textures/block/dirt.png");
-	private static final RenderLayer RENDER_LAYER = RenderLayer.of(
-			"fabric-rendering-v1-testmod:void_sky",
-			VertexFormats.POSITION_TEXTURE_COLOR,
-			VertexFormat.DrawMode.QUADS,
-			1536,
-			false,
-			false,
-			RenderLayer.MultiPhaseParameters.builder()
-					.program(RenderLayer.POSITION_TEXTURE_COLOR_PROGRAM)
-					.texture(new RenderPhase.Texture(SKY_TEXTURE, TriState.FALSE, false))
-					.transparency(RenderLayer.TRANSLUCENT_TRANSPARENCY)
-					.writeMaskState(RenderLayer.COLOR_MASK)
-					.build(false)
-	);
 
 	private static void render(WorldRenderContext context) {
-		VertexConsumer vertexConsumer = context.consumers().getBuffer(RENDER_LAYER);
+		VertexConsumer vertexConsumer = context.consumers().getBuffer(RenderLayer.getCelestial(SKY_TEXTURE));
 		vertexConsumer.vertex(-100.0f, -100.0f, -100.0f).texture(0.0F, 0.0F).color(255, 255, 255, 255);
 		vertexConsumer.vertex(-100.0f, -100.0f, 100.0f).texture(0.0F, 1.0F).color(255, 255, 255, 255);
 		vertexConsumer.vertex(100.0f, -100.0f, 100.0f).texture(1.0F, 1.0F).color(255, 255, 255, 255);
diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/HudAndShaderTest.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/HudAndShaderTest.java
index 8c6d1381c..ef34a7950 100644
--- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/HudAndShaderTest.java
+++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/HudAndShaderTest.java
@@ -16,19 +16,6 @@
 
 package net.fabricmc.fabric.test.rendering.client;
 
-import com.mojang.blaze3d.systems.RenderSystem;
-import org.joml.Matrix4f;
-
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gl.Defines;
-import net.minecraft.client.gl.ShaderProgramKey;
-import net.minecraft.client.gl.ShaderProgramKeys;
-import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.render.VertexConsumer;
-import net.minecraft.client.render.VertexFormats;
-import net.minecraft.client.util.Window;
-import net.minecraft.util.Identifier;
-
 import net.fabricmc.api.ClientModInitializer;
 import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
 
@@ -37,12 +24,15 @@ import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
  * in the lower-right corner of the screen.
  */
 public class HudAndShaderTest implements ClientModInitializer {
+	/* TODO 1.21.5
 	private static final ShaderProgramKey TEST_SHADER = new ShaderProgramKey(
 			Identifier.of("fabric-rendering-v1-testmod", "core/test"),
 			VertexFormats.POSITION, Defines.EMPTY);
+	 */
 
 	@Override
 	public void onInitializeClient() {
+		/* TODO 1.21.5
 		ShaderProgramKeys.getAll().add(TEST_SHADER);
 
 		HudRenderCallback.EVENT.register((drawContext, tickDelta) -> {
@@ -70,5 +60,6 @@ public class HudAndShaderTest implements ClientModInitializer {
 			// Reset shader color
 			RenderSystem.setShaderColor(1f, 1f, 1f, 1f);
 		});
+		 */
 	}
 }
diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/WorldRenderEventsTests.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/WorldRenderEventsTests.java
index 915b90f67..f17757246 100644
--- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/WorldRenderEventsTests.java
+++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/WorldRenderEventsTests.java
@@ -20,7 +20,6 @@ import com.mojang.blaze3d.systems.RenderSystem;
 
 import net.minecraft.block.Blocks;
 import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gl.ShaderProgramKeys;
 import net.minecraft.client.render.OverlayTexture;
 import net.minecraft.client.render.RenderLayer;
 import net.minecraft.client.render.VertexRendering;
@@ -65,7 +64,6 @@ public class WorldRenderEventsTests implements ClientModInitializer {
 		matrices.push();
 		matrices.translate(-camera.x, -camera.y, -camera.z);
 
-		RenderSystem.setShader(ShaderProgramKeys.POSITION_COLOR);
 		RenderSystem.setShaderColor(1f, 1f, 1f, 1f);
 		RenderSystem.enableBlend();
 		RenderSystem.defaultBlendFunc();
diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/SimpleResourceReloadMixin.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/SimpleResourceReloadMixin.java
index 2c67f46c9..5a9e79a32 100644
--- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/SimpleResourceReloadMixin.java
+++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/SimpleResourceReloadMixin.java
@@ -25,10 +25,8 @@ import org.spongepowered.asm.mixin.Unique;
 import org.spongepowered.asm.mixin.injection.At;
 import org.spongepowered.asm.mixin.injection.Inject;
 import org.spongepowered.asm.mixin.injection.ModifyArg;
-import org.spongepowered.asm.mixin.injection.Redirect;
 import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
 
-import net.minecraft.resource.ProfiledResourceReload;
 import net.minecraft.resource.ResourceManager;
 import net.minecraft.resource.ResourceReload;
 import net.minecraft.resource.ResourceReloader;
@@ -51,17 +49,17 @@ public class SimpleResourceReloadMixin {
 		}
 	}
 
-	@ModifyArg(method = "start", index = 1, at = @At(value = "INVOKE", target = "Lnet/minecraft/resource/SimpleResourceReload;create(Lnet/minecraft/resource/ResourceManager;Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;)Lnet/minecraft/resource/SimpleResourceReload;"))
+	@ModifyArg(method = "start", at = @At(value = "INVOKE", target = "Lnet/minecraft/resource/SimpleResourceReload;create(Lnet/minecraft/resource/ResourceManager;Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;)Lnet/minecraft/resource/ResourceReload;"))
 	private static List<ResourceReloader> sortSimple(List<ResourceReloader> reloaders) {
 		List<ResourceReloader> sorted = ResourceManagerHelperImpl.sort(fabric_resourceType.get(), reloaders);
-		fabric_resourceType.set(null);
+		fabric_resourceType.remove();
 		return sorted;
 	}
 
-	@Redirect(method = "start", at = @At(value = "NEW", target = "(Lnet/minecraft/resource/ResourceManager;Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;)Lnet/minecraft/resource/ProfiledResourceReload;"))
-	private static ProfiledResourceReload sortProfiled(ResourceManager manager, List<ResourceReloader> reloaders, Executor prepareExecutor, Executor applyExecutor, CompletableFuture<Unit> initialStage) {
+	@ModifyArg(method = "start", at = @At(value = "INVOKE", target = "Lnet/minecraft/resource/ProfiledResourceReload;method_67569(Lnet/minecraft/resource/ResourceManager;Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;)Lnet/minecraft/resource/ResourceReload;"))
+	private static List<ResourceReloader> sortProfiled(List<ResourceReloader> reloaders) {
 		List<ResourceReloader> sorted = ResourceManagerHelperImpl.sort(fabric_resourceType.get(), reloaders);
-		fabric_resourceType.set(null);
-		return new ProfiledResourceReload(manager, sorted, prepareExecutor, applyExecutor, initialStage);
+		fabric_resourceType.remove();
+		return sorted;
 	}
 }
diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/item/PlayerInventoryStorageImpl.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/item/PlayerInventoryStorageImpl.java
index e4a0e5e82..64e585c46 100644
--- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/item/PlayerInventoryStorageImpl.java
+++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/item/PlayerInventoryStorageImpl.java
@@ -85,10 +85,10 @@ class PlayerInventoryStorageImpl extends InventoryStorageImpl implements PlayerI
 	@Override
 	public SingleSlotStorage<ItemVariant> getHandSlot(Hand hand) {
 		if (Objects.requireNonNull(hand) == Hand.MAIN_HAND) {
-			if (PlayerInventory.isValidHotbarIndex(playerInventory.method_67532())) {
-				return getSlot(playerInventory.method_67532());
+			if (PlayerInventory.isValidHotbarIndex(playerInventory.getSelectedSlot())) {
+				return getSlot(playerInventory.getSelectedSlot());
 			} else {
-				throw new RuntimeException("Unexpected player selected slot: " + playerInventory.method_67532());
+				throw new RuntimeException("Unexpected player selected slot: " + playerInventory.getSelectedSlot());
 			}
 		} else if (hand == Hand.OFF_HAND) {
 			return getSlot(PlayerInventory.OFF_HAND_SLOT);
diff --git a/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/PlayerInventoryStorageTests.java b/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/PlayerInventoryStorageTests.java
index ee778b299..8bb003430 100644
--- a/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/PlayerInventoryStorageTests.java
+++ b/fabric-transfer-api-v1/src/test/java/net/fabricmc/fabric/test/transfer/unittests/PlayerInventoryStorageTests.java
@@ -58,7 +58,7 @@ public class PlayerInventoryStorageTests extends AbstractTransferApiTest {
 
 		// Fill everything with stone besides the first two inventory slots.
 		inv.setSelectedSlot(3);
-		inv.method_67531(new ItemStack(Items.STONE, 63));
+		inv.setSelectedStack(new ItemStack(Items.STONE, 63));
 		inv.setStack(PlayerInventory.OFF_HAND_SLOT, new ItemStack(Items.STONE, 62));
 
 		for (int i = 4; i < PlayerInventory.MAIN_SIZE; ++i) {
diff --git a/fabric-transitive-access-wideners-v1/src/main/resources/fabric-transitive-access-wideners-v1.accesswidener b/fabric-transitive-access-wideners-v1/src/main/resources/fabric-transitive-access-wideners-v1.accesswidener
index 89d120dd0..1c4ab053e 100644
--- a/fabric-transitive-access-wideners-v1/src/main/resources/fabric-transitive-access-wideners-v1.accesswidener
+++ b/fabric-transitive-access-wideners-v1/src/main/resources/fabric-transitive-access-wideners-v1.accesswidener
@@ -50,9 +50,8 @@ transitive-accessible class net/minecraft/client/model/ModelPart$Vertex
 transitive-accessible class net/minecraft/client/model/ModelPart$Quad
 
 # Creating custom render layers
-transitive-accessible method net/minecraft/client/render/RenderLayer of (Lnet/minecraft/client/render/RenderPhase$ShaderProgram;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;
-transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;Lnet/minecraft/client/render/VertexFormat;Lnet/minecraft/client/render/VertexFormat$DrawMode;IZZLnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
-transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;Lnet/minecraft/client/render/VertexFormat;Lnet/minecraft/client/render/VertexFormat$DrawMode;ILnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
+transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;ILnet/minecraft/class_10785;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
+transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;IZZLnet/minecraft/class_10785;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
 transitive-accessible class net/minecraft/client/render/RenderLayer$MultiPhase
 transitive-accessible class net/minecraft/client/render/RenderLayer$MultiPhaseParameters
 transitive-accessible class net/minecraft/client/render/RenderLayer$OutlineMode
@@ -164,7 +163,6 @@ transitive-accessible method net/minecraft/block/CoralWallFanBlock <init> (Lnet/
 transitive-accessible method net/minecraft/block/CraftingTableBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/CreakingHeartBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/CropBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
-transitive-accessible method net/minecraft/block/DeadBushBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/DeadCoralBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/DeadCoralFanBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/DeadCoralWallFanBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
@@ -172,6 +170,7 @@ transitive-accessible method net/minecraft/block/DecoratedPotBlock <init> (Lnet/
 transitive-accessible method net/minecraft/block/DirtPathBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/DispenserBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/DoorBlock <init> (Lnet/minecraft/block/BlockSetType;Lnet/minecraft/block/AbstractBlock$Settings;)V
+transitive-accessible method net/minecraft/block/DryVegetationBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/DyedCarpetBlock <init> (Lnet/minecraft/util/DyeColor;Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/EnchantingTableBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/EndGatewayBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
@@ -215,6 +214,7 @@ transitive-accessible method net/minecraft/block/SaplingBlock <init> (Lnet/minec
 transitive-accessible method net/minecraft/block/ScaffoldingBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/SeaPickleBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/SeagrassBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
+transitive-accessible method net/minecraft/block/ShortDryGrassBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/ShortPlantBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/SkullBlock <init> (Lnet/minecraft/block/SkullBlock$SkullType;Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/SmithingTableBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
@@ -228,6 +228,7 @@ transitive-accessible method net/minecraft/block/StemBlock <init> (Lnet/minecraf
 transitive-accessible method net/minecraft/block/StructureBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/StructureVoidBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/SugarCaneBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
+transitive-accessible method net/minecraft/block/TallDryGrassBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/TorchBlock <init> (Lnet/minecraft/particle/SimpleParticleType;Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/TranslucentBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/TransparentBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
@@ -293,73 +294,6 @@ transitive-accessible method net/minecraft/entity/decoration/InteractionEntity s
 transitive-accessible method net/minecraft/entity/decoration/InteractionEntity shouldRespond ()Z
 
 # Protected static fields of RenderPhase
-transitive-accessible field net/minecraft/client/render/RenderPhase NO_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase ADDITIVE_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase LIGHTNING_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase GLINT_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase CRUMBLING_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase OVERLAY_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase TRANSLUCENT_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase VIGNETTE_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase CROSSHAIR_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase MOJANG_LOGO_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase NAUSEA_OVERLAY_TRANSPARENCY Lnet/minecraft/client/render/RenderPhase$Transparency;
-transitive-accessible field net/minecraft/client/render/RenderPhase NO_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_COLOR_LIGHTMAP_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_TEXTURE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_COLOR_TEXTURE_LIGHTMAP_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_COLOR_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase POSITION_TEXTURE_COLOR_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase PARTICLE Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase SOLID_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase CUTOUT_MIPPED_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase CUTOUT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TRANSLUCENT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TRANSLUCENT_MOVING_BLOCK_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ARMOR_CUTOUT_NO_CULL_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ARMOR_TRANSLUCENT Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_SOLID_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_CUTOUT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_CUTOUT_NONULL_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_CUTOUT_NONULL_OFFSET_Z_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ITEM_ENTITY_TRANSLUCENT_CULL_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_TRANSLUCENT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_TRANSLUCENT_EMISSIVE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_SMOOTH_CUTOUT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase BEACON_BEAM_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_DECAL_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_NO_OUTLINE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_SHADOW_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_ALPHA_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase EYES_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENERGY_SWIRL_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase LEASH_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase WATER_MASK_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase OUTLINE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ARMOR_ENTITY_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TRANSLUCENT_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENTITY_GLINT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase CRUMBLING_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TEXT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TEXT_BACKGROUND_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TEXT_INTENSITY_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TRANSPARENT_TEXT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TRANSPARENT_TEXT_BACKGROUND_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TRANSPARENT_TEXT_INTENSITY_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase LIGHTNING_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase TRIPWIRE_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase END_PORTAL_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase END_GATEWAY_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase field_56584 Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase CLOUDS_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase LINES_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase GUI_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase GUI_OVERLAY_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase GUI_TEXT_HIGHLIGHT_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase GUI_GHOST_RECIPE_OVERLAY_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
-transitive-accessible field net/minecraft/client/render/RenderPhase BREEZE_WIND_PROGRAM Lnet/minecraft/client/render/RenderPhase$ShaderProgram;
 transitive-accessible field net/minecraft/client/render/RenderPhase MIPMAP_BLOCK_ATLAS_TEXTURE Lnet/minecraft/client/render/RenderPhase$Texture;
 transitive-accessible field net/minecraft/client/render/RenderPhase BLOCK_ATLAS_TEXTURE Lnet/minecraft/client/render/RenderPhase$Texture;
 transitive-accessible field net/minecraft/client/render/RenderPhase NO_TEXTURE Lnet/minecraft/client/render/RenderPhase$TextureBase;
@@ -370,21 +304,13 @@ transitive-accessible field net/minecraft/client/render/RenderPhase ENABLE_LIGHT
 transitive-accessible field net/minecraft/client/render/RenderPhase DISABLE_LIGHTMAP Lnet/minecraft/client/render/RenderPhase$Lightmap;
 transitive-accessible field net/minecraft/client/render/RenderPhase ENABLE_OVERLAY_COLOR Lnet/minecraft/client/render/RenderPhase$Overlay;
 transitive-accessible field net/minecraft/client/render/RenderPhase DISABLE_OVERLAY_COLOR Lnet/minecraft/client/render/RenderPhase$Overlay;
-transitive-accessible field net/minecraft/client/render/RenderPhase ENABLE_CULLING Lnet/minecraft/client/render/RenderPhase$Cull;
-transitive-accessible field net/minecraft/client/render/RenderPhase DISABLE_CULLING Lnet/minecraft/client/render/RenderPhase$Cull;
-transitive-accessible field net/minecraft/client/render/RenderPhase ALWAYS_DEPTH_TEST Lnet/minecraft/client/render/RenderPhase$DepthTest;
-transitive-accessible field net/minecraft/client/render/RenderPhase EQUAL_DEPTH_TEST Lnet/minecraft/client/render/RenderPhase$DepthTest;
-transitive-accessible field net/minecraft/client/render/RenderPhase LEQUAL_DEPTH_TEST Lnet/minecraft/client/render/RenderPhase$DepthTest;
-transitive-accessible field net/minecraft/client/render/RenderPhase BIGGER_DEPTH_TEST Lnet/minecraft/client/render/RenderPhase$DepthTest;
-transitive-accessible field net/minecraft/client/render/RenderPhase ALL_MASK Lnet/minecraft/client/render/RenderPhase$WriteMaskState;
-transitive-accessible field net/minecraft/client/render/RenderPhase COLOR_MASK Lnet/minecraft/client/render/RenderPhase$WriteMaskState;
-transitive-accessible field net/minecraft/client/render/RenderPhase DEPTH_MASK Lnet/minecraft/client/render/RenderPhase$WriteMaskState;
 transitive-accessible field net/minecraft/client/render/RenderPhase NO_LAYERING Lnet/minecraft/client/render/RenderPhase$Layering;
 transitive-accessible field net/minecraft/client/render/RenderPhase POLYGON_OFFSET_LAYERING Lnet/minecraft/client/render/RenderPhase$Layering;
 transitive-accessible field net/minecraft/client/render/RenderPhase VIEW_OFFSET_Z_LAYERING Lnet/minecraft/client/render/RenderPhase$Layering;
 transitive-accessible field net/minecraft/client/render/RenderPhase VIEW_OFFSET_Z_LAYERING_FORWARD Lnet/minecraft/client/render/RenderPhase$Layering;
 transitive-accessible field net/minecraft/client/render/RenderPhase WORLD_BORDER_LAYERING Lnet/minecraft/client/render/RenderPhase$Layering;
 transitive-accessible field net/minecraft/client/render/RenderPhase MAIN_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
+transitive-accessible field net/minecraft/client/render/RenderPhase field_56917 Lnet/minecraft/client/render/RenderPhase$Target;
 transitive-accessible field net/minecraft/client/render/RenderPhase OUTLINE_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
 transitive-accessible field net/minecraft/client/render/RenderPhase TRANSLUCENT_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
 transitive-accessible field net/minecraft/client/render/RenderPhase PARTICLES_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
@@ -392,23 +318,15 @@ transitive-accessible field net/minecraft/client/render/RenderPhase WEATHER_TARG
 transitive-accessible field net/minecraft/client/render/RenderPhase CLOUDS_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
 transitive-accessible field net/minecraft/client/render/RenderPhase ITEM_ENTITY_TARGET Lnet/minecraft/client/render/RenderPhase$Target;
 transitive-accessible field net/minecraft/client/render/RenderPhase FULL_LINE_WIDTH Lnet/minecraft/client/render/RenderPhase$LineWidth;
-transitive-accessible field net/minecraft/client/render/RenderPhase NO_COLOR_LOGIC Lnet/minecraft/client/render/RenderPhase$ColorLogic;
-transitive-accessible field net/minecraft/client/render/RenderPhase OR_REVERSE Lnet/minecraft/client/render/RenderPhase$ColorLogic;
 
 # Protected static inner classes of RenderPhase
-transitive-accessible class net/minecraft/client/render/RenderPhase$Transparency
-transitive-accessible class net/minecraft/client/render/RenderPhase$ShaderProgram
 transitive-accessible class net/minecraft/client/render/RenderPhase$Texture
 transitive-accessible class net/minecraft/client/render/RenderPhase$TextureBase
 transitive-accessible class net/minecraft/client/render/RenderPhase$Texturing
 transitive-accessible class net/minecraft/client/render/RenderPhase$Lightmap
 transitive-accessible class net/minecraft/client/render/RenderPhase$Overlay
-transitive-accessible class net/minecraft/client/render/RenderPhase$Cull
-transitive-accessible class net/minecraft/client/render/RenderPhase$DepthTest
-transitive-accessible class net/minecraft/client/render/RenderPhase$WriteMaskState
 transitive-accessible class net/minecraft/client/render/RenderPhase$Layering
 transitive-accessible class net/minecraft/client/render/RenderPhase$Target
 transitive-accessible class net/minecraft/client/render/RenderPhase$LineWidth
-transitive-accessible class net/minecraft/client/render/RenderPhase$ColorLogic
 transitive-accessible class net/minecraft/client/render/RenderPhase$OffsetTexturing
 transitive-accessible class net/minecraft/client/render/RenderPhase$Textures
diff --git a/fabric-transitive-access-wideners-v1/template.accesswidener b/fabric-transitive-access-wideners-v1/template.accesswidener
index 3c5c48f98..7948177c2 100644
--- a/fabric-transitive-access-wideners-v1/template.accesswidener
+++ b/fabric-transitive-access-wideners-v1/template.accesswidener
@@ -45,9 +45,8 @@ transitive-accessible class net/minecraft/client/model/ModelPart$Vertex
 transitive-accessible class net/minecraft/client/model/ModelPart$Quad
 
 # Creating custom render layers
-transitive-accessible method net/minecraft/client/render/RenderLayer of (Lnet/minecraft/client/render/RenderPhase$ShaderProgram;)Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;
-transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;Lnet/minecraft/client/render/VertexFormat;Lnet/minecraft/client/render/VertexFormat$DrawMode;IZZLnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
-transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;Lnet/minecraft/client/render/VertexFormat;Lnet/minecraft/client/render/VertexFormat$DrawMode;ILnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
+transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;ILnet/minecraft/class_10785;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
+transitive-accessible method net/minecraft/client/render/RenderLayer of (Ljava/lang/String;IZZLnet/minecraft/class_10785;Lnet/minecraft/client/render/RenderLayer$MultiPhaseParameters;)Lnet/minecraft/client/render/RenderLayer$MultiPhase;
 transitive-accessible class net/minecraft/client/render/RenderLayer$MultiPhase
 transitive-accessible class net/minecraft/client/render/RenderLayer$MultiPhaseParameters
 transitive-accessible class net/minecraft/client/render/RenderLayer$OutlineMode
diff --git a/gradle.properties b/gradle.properties
index 72167b754..ce2081882 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,8 +1,8 @@
 org.gradle.jvmargs=-Xmx2560M
 org.gradle.parallel=true
 
-version=0.116.0
-minecraft_version=25w06a
+version=0.116.1
+minecraft_version=25w07a
 yarn_version=+build.1
 loader_version=0.16.10
 installer_version=1.0.1
@@ -12,7 +12,7 @@ curseforge_minecraft_version=1.21.5-Snapshot
 
 # Do not manually update, use the bumpversions task:
 fabric-api-base-version=0.4.57
-fabric-api-lookup-api-v1-version=1.6.89
+fabric-api-lookup-api-v1-version=1.6.90
 fabric-biome-api-v1-version=16.0.2
 fabric-block-api-v1-version=1.0.32
 fabric-block-view-api-v2-version=1.0.20
@@ -21,26 +21,26 @@ fabric-client-gametest-api-v1-version=4.1.0
 fabric-command-api-v1-version=1.2.65
 fabric-command-api-v2-version=2.2.44
 fabric-commands-v0-version=0.2.82
-fabric-content-registries-v0-version=10.0.3
+fabric-content-registries-v0-version=10.0.4
 fabric-crash-report-info-v1-version=0.3.7
-fabric-data-attachment-api-v1-version=1.5.5
-fabric-data-generation-api-v1-version=22.2.12
+fabric-data-attachment-api-v1-version=1.5.6
+fabric-data-generation-api-v1-version=22.2.13
 fabric-dimensions-v1-version=4.0.11
-fabric-entity-events-v1-version=2.0.16
+fabric-entity-events-v1-version=2.0.17
 fabric-events-interaction-v0-version=4.0.6
 fabric-game-rule-api-v1-version=1.0.65
-fabric-gametest-api-v1-version=3.0.2
-fabric-item-api-v1-version=11.2.0
-fabric-item-group-api-v1-version=4.2.0
+fabric-gametest-api-v1-version=3.0.3
+fabric-item-api-v1-version=11.2.1
+fabric-item-group-api-v1-version=4.2.1
 fabric-key-binding-api-v1-version=1.0.58
 fabric-keybindings-v0-version=0.2.56
-fabric-lifecycle-events-v1-version=2.5.7
-fabric-loot-api-v2-version=3.0.39
-fabric-loot-api-v3-version=1.0.27
+fabric-lifecycle-events-v1-version=2.5.8
+fabric-loot-api-v2-version=3.0.40
+fabric-loot-api-v3-version=1.0.28
 fabric-message-api-v1-version=6.0.28
 fabric-model-loading-api-v1-version=4.3.0
 fabric-networking-api-v1-version=4.3.13
-fabric-object-builder-api-v1-version=19.0.4
+fabric-object-builder-api-v1-version=20.0.0
 fabric-particles-v1-version=4.0.17
 fabric-recipe-api-v1-version=8.0.11
 fabric-registry-sync-v0-version=6.1.11
@@ -48,15 +48,15 @@ fabric-renderer-api-v1-version=5.0.6
 fabric-renderer-indigo-version=2.0.6
 fabric-rendering-data-attachment-v1-version=0.3.58
 fabric-rendering-fluids-v1-version=3.1.22
-fabric-rendering-v1-version=11.1.0
+fabric-rendering-v1-version=11.1.1
 fabric-resource-conditions-api-v1-version=5.0.16
-fabric-resource-loader-v0-version=3.0.16
+fabric-resource-loader-v0-version=3.0.17
 fabric-screen-api-v1-version=2.0.41
 fabric-screen-handler-api-v1-version=1.3.118
 fabric-sound-api-v1-version=1.0.33
-fabric-tag-api-v1-version=1.0.8
-fabric-transfer-api-v1-version=5.4.15
-fabric-transitive-access-wideners-v1-version=6.3.6
-fabric-convention-tags-v1-version=2.1.17
-fabric-convention-tags-v2-version=2.12.1
+fabric-tag-api-v1-version=1.0.9
+fabric-transfer-api-v1-version=5.4.16
+fabric-transitive-access-wideners-v1-version=6.3.7
+fabric-convention-tags-v1-version=2.1.18
+fabric-convention-tags-v2-version=2.12.2
 fabric-client-tags-api-v1-version=1.1.32
diff --git a/settings.gradle b/settings.gradle
index 5dfaff9c3..df08bdf09 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -49,14 +49,14 @@ include 'fabric-key-binding-api-v1'
 include 'fabric-lifecycle-events-v1'
 include 'fabric-loot-api-v3'
 include 'fabric-message-api-v1'
-include 'fabric-model-loading-api-v1'
+//include 'fabric-model-loading-api-v1'
 include 'fabric-networking-api-v1'
 include 'fabric-object-builder-api-v1'
 include 'fabric-particles-v1'
 include 'fabric-recipe-api-v1'
 include 'fabric-registry-sync-v0'
-include 'fabric-renderer-api-v1'
-include 'fabric-renderer-indigo'
+//include 'fabric-renderer-api-v1'
+//include 'fabric-renderer-indigo'
 include 'fabric-rendering-fluids-v1'
 include 'fabric-rendering-v1'
 include 'fabric-resource-conditions-api-v1'