From 42b70271a6cf646b804ac90b9c4978efcdbd8df8 Mon Sep 17 00:00:00 2001 From: "Blue (Lukas Rieger)" Date: Mon, 3 Aug 2020 15:38:28 +0200 Subject: [PATCH] Update fabric version for 1.16 --- BlueMapFabric/build.gradle | 10 +++++----- .../bluecolored/bluemap/fabric/FabricMod.java | 18 +++++++++++------- .../fabric/mixin/MixinChunkGenerator.java | 15 +++------------ .../bluemap/fabric/mixin/MixinServerWorld.java | 3 +-- .../src/main/resources/fabric.mod.json | 4 ++-- 5 files changed, 22 insertions(+), 28 deletions(-) diff --git a/BlueMapFabric/build.gradle b/BlueMapFabric/build.gradle index c94a5520..5cd28426 100644 --- a/BlueMapFabric/build.gradle +++ b/BlueMapFabric/build.gradle @@ -9,10 +9,10 @@ configurations { } dependencies { - minecraft "com.mojang:minecraft:1.15.2" - mappings "net.fabricmc:yarn:1.15.2+build.15:v2" - modImplementation "net.fabricmc:fabric-loader:0.8.2+build.194" - modImplementation "net.fabricmc.fabric-api:fabric-api:0.5.1+build.294-1.15" + minecraft "com.mojang:minecraft:1.16.1" + mappings "net.fabricmc:yarn:1.16.1+build.21:v2" + modImplementation "net.fabricmc:fabric-loader:0.9.0+build.204" + modImplementation "net.fabricmc.fabric-api:fabric-api:0.16.2+build.385-1.16.1" shadowInclude (project(':BlueMapCommon')) { //exclude dependencies provided by fabric @@ -50,7 +50,7 @@ shadowJar { } task ramappedShadowJar(type: RemapJarTask) { - destinationDir = file '../build/unsupported' + destinationDir = file '../build/release' dependsOn tasks.shadowJar input = tasks.shadowJar.archivePath addNestedDependencies = true diff --git a/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/FabricMod.java b/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/FabricMod.java index bf095dba..d288d050 100644 --- a/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/FabricMod.java +++ b/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/FabricMod.java @@ -20,11 +20,11 @@ import de.bluecolored.bluemap.core.logger.Logger; import de.bluecolored.bluemap.core.resourcepack.ParseResourceException; import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.event.server.ServerStartCallback; -import net.fabricmc.fabric.api.event.server.ServerStopCallback; -import net.fabricmc.fabric.api.registry.CommandRegistry; +import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback; +import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; import net.minecraft.server.MinecraftServer; import net.minecraft.server.world.ServerWorld; +import net.minecraft.world.dimension.DimensionType; public class FabricMod implements ModInitializer, ServerInterface { @@ -57,11 +57,11 @@ public UUID load(ServerWorld key) throws Exception { public void onInitialize() { //register commands - CommandRegistry.INSTANCE.register(true, dispatcher -> { + CommandRegistrationCallback.EVENT.register((dispatcher, dedicated) -> { new Commands<>(pluginInstance, dispatcher, fabricSource -> new FabricCommandSource(this, pluginInstance, fabricSource)); }); - ServerStartCallback.EVENT.register((MinecraftServer server) -> { + ServerLifecycleEvents.SERVER_STARTED.register((MinecraftServer server) -> { new Thread(()->{ Logger.global.logInfo("Loading BlueMap..."); @@ -74,7 +74,7 @@ public void onInitialize() { }).start(); }); - ServerStopCallback.EVENT.register((MinecraftServer server) -> { + ServerLifecycleEvents.SERVER_STOPPING.register((MinecraftServer server) -> { pluginInstance.unload(); Logger.global.logInfo("BlueMap unloaded!"); }); @@ -114,7 +114,11 @@ public UUID getUUIDForWorld(ServerWorld world) throws IOException { } private UUID loadUUIDForWorld(ServerWorld world) throws IOException { - File dimensionDir = world.getDimension().getType().getSaveDirectory(world.getSaveHandler().getWorldDir()); + MinecraftServer server = world.getServer(); + String worldName = server.getSaveProperties().getLevelName(); + File worldFolder = new File(world.getServer().getRunDirectory(), worldName); + File dimensionFolder = DimensionType.getSaveDirectory(world.getRegistryKey(), worldFolder); + File dimensionDir = dimensionFolder.getCanonicalFile(); return getUUIDForWorld(dimensionDir); } diff --git a/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/mixin/MixinChunkGenerator.java b/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/mixin/MixinChunkGenerator.java index cf15eb34..831d20db 100644 --- a/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/mixin/MixinChunkGenerator.java +++ b/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/mixin/MixinChunkGenerator.java @@ -1,8 +1,6 @@ package de.bluecolored.bluemap.fabric.mixin; -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -10,23 +8,16 @@ import com.flowpowered.math.vector.Vector2i; import de.bluecolored.bluemap.fabric.events.ChunkFinalizeCallback; -import net.minecraft.server.world.ServerWorld; import net.minecraft.world.ChunkRegion; -import net.minecraft.world.IWorld; +import net.minecraft.world.gen.StructureAccessor; import net.minecraft.world.gen.chunk.ChunkGenerator; @Mixin(ChunkGenerator.class) public class MixinChunkGenerator { - @Shadow - @Final - protected IWorld world; - @Inject(at = @At("RETURN"), method = "generateFeatures") - public void generateFeatures(ChunkRegion region, CallbackInfo ci) { - if (world instanceof ServerWorld) { - ChunkFinalizeCallback.EVENT.invoker().onChunkFinalized((ServerWorld) world, new Vector2i(region.getCenterChunkX(), region.getCenterChunkZ())); - } + public void generateFeatures(ChunkRegion region, StructureAccessor accessor, CallbackInfo ci) { + ChunkFinalizeCallback.EVENT.invoker().onChunkFinalized(region.getWorld(), new Vector2i(region.getCenterChunkX(), region.getCenterChunkZ())); } } diff --git a/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/mixin/MixinServerWorld.java b/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/mixin/MixinServerWorld.java index fb9e9bc0..c5603c03 100644 --- a/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/mixin/MixinServerWorld.java +++ b/BlueMapFabric/src/main/java/de/bluecolored/bluemap/fabric/mixin/MixinServerWorld.java @@ -8,13 +8,12 @@ import de.bluecolored.bluemap.fabric.events.WorldSaveCallback; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.ProgressListener; -import net.minecraft.world.SessionLockException; @Mixin(ServerWorld.class) public abstract class MixinServerWorld { @Inject(at = @At("RETURN"), method = "save") - public void save(ProgressListener progressListener, boolean flush, boolean bl, CallbackInfo ci) throws SessionLockException { + public void save(ProgressListener progressListener, boolean flush, boolean bl, CallbackInfo ci) { WorldSaveCallback.EVENT.invoker().onWorldSaved((ServerWorld) (Object) this); } diff --git a/BlueMapFabric/src/main/resources/fabric.mod.json b/BlueMapFabric/src/main/resources/fabric.mod.json index 0cec38f6..a7814c10 100644 --- a/BlueMapFabric/src/main/resources/fabric.mod.json +++ b/BlueMapFabric/src/main/resources/fabric.mod.json @@ -27,9 +27,9 @@ ], "depends": { - "fabricloader": ">=0.7.4", + "fabricloader": ">=0.9.0", "fabric": "*", - "minecraft": "1.15.x" + "minecraft": "1.16.x" }, "suggests": {} }