diff --git a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/MixinChunkGenerator.java b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/MixinChunkGenerator.java
index a3de093fe..47cc1b976 100644
--- a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/MixinChunkGenerator.java
+++ b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/MixinChunkGenerator.java
@@ -32,6 +32,6 @@ public class MixinChunkGenerator {
 	@Inject(method = "method_38267", at = @At("HEAD"))
 	private void populateBiomes_lambda_head(Chunk chunk, NoiseConfig noiseConfig, CallbackInfoReturnable<Chunk> ci) {
 		// capture seed so TheEndBiomeData.Overrides has it if it needs it
-		TheEndBiomeData.Overrides.setSeed(noiseConfig.legacyWorldSeed());
+		TheEndBiomeData.Overrides.setSeed(noiseConfig.getLegacyWorldSeed());
 	}
 }
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 4b347f451..120d02877 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
@@ -42,6 +42,7 @@ transitive-accessible	method	net/minecraft/data/server/RecipeProvider	offerPlank
 transitive-accessible	method	net/minecraft/data/server/RecipeProvider	offerPlanksRecipe	(Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/tag/TagKey;)V
 transitive-accessible	method	net/minecraft/data/server/RecipeProvider	offerBarkBlockRecipe	(Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;)V
 transitive-accessible	method	net/minecraft/data/server/RecipeProvider	offerBoatRecipe	(Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;)V
+transitive-accessible	method	net/minecraft/data/server/RecipeProvider	method_42754	(Ljava/util/function/Consumer;Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/item/ItemConvertible;)V
 transitive-accessible	method	net/minecraft/data/server/RecipeProvider	createTransmutationRecipe	(Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/recipe/Ingredient;)Lnet/minecraft/data/server/recipe/CraftingRecipeJsonBuilder;
 transitive-accessible	method	net/minecraft/data/server/RecipeProvider	createDoorRecipe	(Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/recipe/Ingredient;)Lnet/minecraft/data/server/recipe/CraftingRecipeJsonBuilder;
 transitive-accessible	method	net/minecraft/data/server/RecipeProvider	createFenceRecipe	(Lnet/minecraft/item/ItemConvertible;Lnet/minecraft/recipe/Ingredient;)Lnet/minecraft/data/server/recipe/CraftingRecipeJsonBuilder;
@@ -88,7 +89,7 @@ transitive-accessible	method	net/minecraft/data/server/RecipeProvider	convertBet
 transitive-accessible	method	net/minecraft/data/server/RecipeProvider	getSmeltingItemPath	(Lnet/minecraft/item/ItemConvertible;)Ljava/lang/String;
 transitive-accessible	method	net/minecraft/data/server/RecipeProvider	getBlastingItemPath	(Lnet/minecraft/item/ItemConvertible;)Ljava/lang/String;
 transitive-accessible	method	net/minecraft/data/client/BlockStateModelGenerator	createStoneState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/data/client/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/data/client/BlockStateSupplier;
-transitive-accessible	method	net/minecraft/data/client/BlockStateModelGenerator	method_42039	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/data/client/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/data/client/BlockStateSupplier;
+transitive-accessible	method	net/minecraft/data/client/BlockStateModelGenerator	createMudBrickState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/data/client/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/data/client/BlockStateSupplier;
 transitive-accessible	method	net/minecraft/data/client/BlockStateModelGenerator	createDeepslateState	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;Lnet/minecraft/data/client/TextureMap;Ljava/util/function/BiConsumer;)Lnet/minecraft/data/client/BlockStateSupplier;
 transitive-accessible	method	net/minecraft/data/client/BlockStateModelGenerator	excludeFromSimpleItemModelGeneration	(Lnet/minecraft/block/Block;)V
 transitive-accessible	method	net/minecraft/data/client/BlockStateModelGenerator	registerParentedItemModel	(Lnet/minecraft/block/Block;Lnet/minecraft/util/Identifier;)V
@@ -227,6 +228,7 @@ transitive-accessible	method	net/minecraft/data/server/BlockLootTableGenerator	d
 transitive-accessible	method	net/minecraft/data/server/BlockLootTableGenerator	glowLichenDrops	(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
 transitive-accessible	method	net/minecraft/data/server/BlockLootTableGenerator	leavesDrop	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[F)Lnet/minecraft/loot/LootTable$Builder;
 transitive-accessible	method	net/minecraft/data/server/BlockLootTableGenerator	oakLeavesDrop	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;[F)Lnet/minecraft/loot/LootTable$Builder;
+transitive-accessible	method	net/minecraft/data/server/BlockLootTableGenerator	method_42752	(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
 transitive-accessible	method	net/minecraft/data/server/BlockLootTableGenerator	cropDrops	(Lnet/minecraft/block/Block;Lnet/minecraft/item/Item;Lnet/minecraft/item/Item;Lnet/minecraft/loot/condition/LootCondition$Builder;)Lnet/minecraft/loot/LootTable$Builder;
 transitive-accessible	method	net/minecraft/data/server/BlockLootTableGenerator	seagrassDrops	(Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
 transitive-accessible	method	net/minecraft/data/server/BlockLootTableGenerator	tallGrassDrops	(Lnet/minecraft/block/Block;Lnet/minecraft/block/Block;)Lnet/minecraft/loot/LootTable$Builder;
diff --git a/fabric-dimensions-v1/src/testmod/java/net/fabricmc/fabric/test/dimension/VoidChunkGenerator.java b/fabric-dimensions-v1/src/testmod/java/net/fabricmc/fabric/test/dimension/VoidChunkGenerator.java
index 2af7a678e..4a5b1c3c8 100644
--- a/fabric-dimensions-v1/src/testmod/java/net/fabricmc/fabric/test/dimension/VoidChunkGenerator.java
+++ b/fabric-dimensions-v1/src/testmod/java/net/fabricmc/fabric/test/dimension/VoidChunkGenerator.java
@@ -46,7 +46,7 @@ import net.minecraft.world.gen.noise.NoiseConfig;
 
 public class VoidChunkGenerator extends ChunkGenerator {
 	public static final Codec<VoidChunkGenerator> CODEC = RecordCodecBuilder.create((instance) ->
-			method_41042(instance).and(RegistryOps.createRegistryCodec(Registry.BIOME_KEY).forGetter((generator) -> generator.biomeRegistry))
+			createStructureSetRegistryGetter(instance).and(RegistryOps.createRegistryCodec(Registry.BIOME_KEY).forGetter((generator) -> generator.biomeRegistry))
 					.apply(instance, instance.stable(VoidChunkGenerator::new)));
 
 	private final Registry<Biome> biomeRegistry;
diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/api/entity/event/v1/FabricElytraItem.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/api/entity/event/v1/FabricElytraItem.java
index 963cd5da4..b83ff6948 100644
--- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/api/entity/event/v1/FabricElytraItem.java
+++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/api/entity/event/v1/FabricElytraItem.java
@@ -59,7 +59,7 @@ public interface FabricElytraItem {
 				chestStack.damage(1, entity, p -> p.sendEquipmentBreakStatus(EquipmentSlot.CHEST));
 			}
 
-			entity.emitGameEvent(GameEvent.ELYTRA_FREE_FALL);
+			entity.emitGameEvent(GameEvent.ELYTRA_GLIDE);
 		}
 	}
 }
diff --git a/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen/MouseMixin.java b/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen/MouseMixin.java
index 985a74a1e..79017698f 100644
--- a/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen/MouseMixin.java
+++ b/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen/MouseMixin.java
@@ -127,7 +127,7 @@ abstract class MouseMixin {
 		}
 
 		// Apply same calculations to horizontal scroll as vertical scroll amount has
-		this.horizontalScrollAmount = this.client.options.method_42439().getValue() ? Math.signum(horizontal) : horizontal * this.client.options.getMouseWheelSensitivity().getValue();
+		this.horizontalScrollAmount = this.client.options.getDiscreteMouseScroll().getValue() ? Math.signum(horizontal) : horizontal * this.client.options.getMouseWheelSensitivity().getValue();
 
 		if (!ScreenMouseEvents.allowMouseScroll(this.currentScreen).invoker().allowMouseScroll(this.currentScreen, mouseX, mouseY, this.horizontalScrollAmount, verticalAmount)) {
 			this.currentScreen = null;
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 5b0188121..60aa96b57 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
@@ -70,6 +70,7 @@ transitive-accessible method net/minecraft/block/LecternBlock <init> (Lnet/minec
 transitive-accessible method net/minecraft/block/LeverBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/LilyPadBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/LoomBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
+transitive-accessible method net/minecraft/block/MangroveRootsBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/MelonBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/NetherWartBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
 transitive-accessible method net/minecraft/block/NyliumBlock <init> (Lnet/minecraft/block/AbstractBlock$Settings;)V
diff --git a/gradle.properties b/gradle.properties
index 9f1cc1db2..855fe902e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,7 +1,7 @@
 org.gradle.jvmargs=-Xmx2560M
 
-version=0.49.4
-minecraft_version=22w12a
+version=0.49.5
+minecraft_version=22w13a
 yarn_version=+build.1
 loader_version=0.13.3
 
@@ -10,16 +10,16 @@ prerelease=true
 # Do not manually update, use the bumpversions task:
 fabric-api-base-version=0.4.4
 fabric-api-lookup-api-v1-version=1.5.7
-fabric-biome-api-v1-version=9.0.1
+fabric-biome-api-v1-version=9.0.2
 fabric-blockrenderlayer-v1-version=1.1.12
 fabric-command-api-v1-version=1.1.11
 fabric-commands-v0-version=0.2.10
 fabric-containers-v0-version=0.1.21
 fabric-content-registries-v0-version=3.0.6
 fabric-crash-report-info-v1-version=0.1.11
-fabric-data-generation-api-v1-version=2.0.8
-fabric-dimensions-v1-version=2.1.18
-fabric-entity-events-v1-version=1.4.9
+fabric-data-generation-api-v1-version=2.0.9
+fabric-dimensions-v1-version=2.1.19
+fabric-entity-events-v1-version=1.4.10
 fabric-events-interaction-v0-version=0.4.21
 fabric-events-lifecycle-v0-version=0.2.13
 fabric-game-rule-api-v1-version=1.0.13
@@ -46,8 +46,8 @@ fabric-rendering-v0-version=1.1.13
 fabric-rendering-v1-version=1.10.7
 fabric-resource-conditions-api-v1-version=2.0.2
 fabric-resource-loader-v0-version=0.4.22
-fabric-screen-api-v1-version=1.0.13
+fabric-screen-api-v1-version=1.0.14
 fabric-screen-handler-api-v1-version=1.1.14
 fabric-textures-v0-version=1.0.12
 fabric-transfer-api-v1-version=1.5.15
-fabric-transitive-access-wideners-v1-version=1.0.0
+fabric-transitive-access-wideners-v1-version=1.0.1