diff --git a/.gitignore b/.gitignore index 11b505e85..63dda4360 100644 --- a/.gitignore +++ b/.gitignore @@ -247,6 +247,5 @@ nbdist/ **/testDir/ -platforms/fabric/run/** +platforms/**/run/** -platforms/forge/run/** diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/FabricEntryPoint.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/FabricEntryPoint.java index 403f8df56..c97f348e2 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/FabricEntryPoint.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/FabricEntryPoint.java @@ -19,6 +19,9 @@ package com.dfsek.terra.fabric; import cloud.commandframework.execution.CommandExecutionCoordinator; import cloud.commandframework.fabric.FabricServerCommandManager; + +import com.dfsek.terra.lifecycle.util.RegistryUtil; + import net.fabricmc.api.ModInitializer; import net.minecraft.server.command.ServerCommandSource; import org.slf4j.Logger; @@ -43,7 +46,6 @@ public class FabricEntryPoint implements ModInitializer { commandSender -> (ServerCommandSource) commandSender ); - manager.brigadierManager().setNativeNumberSuggestions(false); TERRA_PLUGIN.getEventManager().callEvent(new CommandRegistrationEvent(manager)); diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/RegistryMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/RegistryMixin.java new file mode 100644 index 000000000..1d32a1a38 --- /dev/null +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/RegistryMixin.java @@ -0,0 +1,18 @@ +package com.dfsek.terra.fabric.mixin; + +import com.dfsek.terra.lifecycle.util.RegistryUtil; + +import net.minecraft.util.registry.Registry; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + + +@Mixin(Registry.class) +public class RegistryMixin { + @Inject(method = "", at = @At("RETURN")) + private static void registerTerraGenerators(CallbackInfo ci) { + RegistryUtil.register(); + } +} \ No newline at end of file diff --git a/platforms/fabric/src/main/resources/terra.fabric.mixins.json b/platforms/fabric/src/main/resources/terra.fabric.mixins.json index f97889f6d..50c976016 100644 --- a/platforms/fabric/src/main/resources/terra.fabric.mixins.json +++ b/platforms/fabric/src/main/resources/terra.fabric.mixins.json @@ -4,6 +4,7 @@ "package": "com.dfsek.terra.fabric.mixin", "compatibilityLevel": "JAVA_17", "mixins": [ + "RegistryMixin" ], "client": [ ], diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java index 13eef4b2d..fae4336ba 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java @@ -31,7 +31,7 @@ import com.dfsek.terra.api.handle.WorldHandle; public class MinecraftWorldHandle implements WorldHandle { - private static final BlockState AIR = (BlockState) Blocks.AIR.getDefaultState(); + private static BlockState AIR = null; @Override public @NotNull BlockState createBlockState(@NotNull String data) { @@ -46,6 +46,7 @@ public class MinecraftWorldHandle implements WorldHandle { @Override public @NotNull BlockState air() { + if (AIR == null) AIR = (BlockState) Blocks.AIR.getDefaultState(); return AIR; } diff --git a/platforms/mixin-lifecycle/src/main/resources/terra.lifecycle.mixins.json b/platforms/mixin-lifecycle/src/main/resources/terra.lifecycle.mixins.json index ea76eb90e..58c338929 100644 --- a/platforms/mixin-lifecycle/src/main/resources/terra.lifecycle.mixins.json +++ b/platforms/mixin-lifecycle/src/main/resources/terra.lifecycle.mixins.json @@ -5,7 +5,6 @@ "compatibilityLevel": "JAVA_17", "mixins": [ "NoiseConfigMixin", - "RegistryMixin", "lifecycle.MinecraftServerMixin" ], "client": [ diff --git a/platforms/quilt/src/main/java/com/dfsek/terra/quilt/QuiltEntryPoint.java b/platforms/quilt/src/main/java/com/dfsek/terra/quilt/QuiltEntryPoint.java index f7c939fed..3faf845c6 100644 --- a/platforms/quilt/src/main/java/com/dfsek/terra/quilt/QuiltEntryPoint.java +++ b/platforms/quilt/src/main/java/com/dfsek/terra/quilt/QuiltEntryPoint.java @@ -19,6 +19,9 @@ package com.dfsek.terra.quilt; import cloud.commandframework.execution.CommandExecutionCoordinator; import cloud.commandframework.fabric.FabricServerCommandManager; + +import com.dfsek.terra.lifecycle.util.RegistryUtil; + import net.minecraft.server.command.ServerCommandSource; import org.quiltmc.loader.api.ModContainer; import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; @@ -42,7 +45,8 @@ public class QuiltEntryPoint implements ModInitializer { serverCommandSource -> (CommandSender) serverCommandSource, commandSender -> (ServerCommandSource) commandSender ); - + + RegistryUtil.register(); manager.brigadierManager().setNativeNumberSuggestions(false);