diff --git a/1.16.5.properties b/1.16.5.properties index 2abaa393f..518e6123a 100644 --- a/1.16.5.properties +++ b/1.16.5.properties @@ -32,9 +32,11 @@ fabric_api_version=0.42.0+1.16 forge_version=36.2.28 # Forge mod versions starlight_version_forge= + terraforged_version=3285909 # Forge mod run # 0 = Dont enable and dont run # 1 = Can be refranced in code but dosnt run # 2 = Can be refranced in code and runs in client enable_starlight_forge=0 + enable_terraforged=2 diff --git a/1.17.1.properties b/1.17.1.properties index 3cbe7f17a..4d85f2a2a 100644 --- a/1.17.1.properties +++ b/1.17.1.properties @@ -32,9 +32,11 @@ fabric_api_version=0.46.1+1.17 forge_version=37.1.1 # Forge mod versions starlight_version_forge=3457784 + terraforged_version= # Forge mod run # 0 = Dont enable and dont run # 1 = Can be refranced in code but dosnt run # 2 = Can be refranced in code and runs in client enable_starlight_forge=0 + enable_terraforged=0 diff --git a/1.18.1.properties b/1.18.1.properties index 71bbd4277..5bdba4005 100644 --- a/1.18.1.properties +++ b/1.18.1.properties @@ -32,9 +32,11 @@ fabric_api_version=0.46.6+1.18 forge_version=39.1.2 # Forge mod versions starlight_version_forge=3559934 + terraforged_version= # Forge mod run # 0 = Dont enable and don't run # 1 = Can be referenced in code but doesn't run # 2 = Can be referenced in code and runs in client enable_starlight_forge=0 + enable_terraforged=0 diff --git a/1.18.2.properties b/1.18.2.properties index 73cb48d53..462b071b2 100644 --- a/1.18.2.properties +++ b/1.18.2.properties @@ -32,9 +32,11 @@ fabric_api_version=0.48.0+1.18.2 forge_version=40.0.18 # Forge mod versions starlight_version_forge=0 + terraforged_version= # Forge mod run # 0 = Don't enable and don't run # 1 = Can be referenced in code but doesn't run # 2 = Can be referenced in code and runs in client enable_starlight_forge=0 + enable_terraforged=0 diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/BatchGenerationEnvironment.java b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/BatchGenerationEnvironment.java index 1d8eb497a..b5dac975b 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/BatchGenerationEnvironment.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/BatchGenerationEnvironment.java @@ -350,8 +350,13 @@ public final class BatchGenerationEnvironment extends AbstractBatchGenerationEnv if (!(generator instanceof NoiseBasedChunkGenerator || generator instanceof DebugLevelSource || generator instanceof FlatLevelSource)) { - EVENT_LOGGER.warn("Unknown Chunk Generator detected: [{}], Distant Generation May Fail!", generator.getClass()); - EVENT_LOGGER.warn("If it does crash, set Distant Generation to OFF or Generation Mode to None."); + if (generator.getClass().toString().equals("class com.terraforged.mod.chunk.TFChunkGenerator")) { + EVENT_LOGGER.info("TerraForge Chunk Generator detected: [{}], Distant Generation will try its best to support it.", generator.getClass()); + EVENT_LOGGER.info("If it does crash, set Distant Generation to OFF or Generation Mode to None."); + } else { + EVENT_LOGGER.warn("Unknown Chunk Generator detected: [{}], Distant Generation May Fail!", generator.getClass()); + EVENT_LOGGER.warn("If it does crash, set Distant Generation to OFF or Generation Mode to None."); + } } params = new GlobalParameters((ServerLevel) ((WorldWrapper) serverlevel).getWorld(), lodBuilder, lodDim); } diff --git a/core b/core index 25d2b9df7..1fd1082a8 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 25d2b9df7b72928be86e068dae1c736ed76ddca4 +Subproject commit 1fd1082a80b294ecc72d76f9744d2711323c6ae2 diff --git a/fabric/src/main/java/com/seibel/lod/fabric/mixins/events/MixinLightmap.java b/fabric/src/main/java/com/seibel/lod/fabric/mixins/events/MixinLightmap.java index 69f3f788a..a71bc4777 100644 --- a/fabric/src/main/java/com/seibel/lod/fabric/mixins/events/MixinLightmap.java +++ b/fabric/src/main/java/com/seibel/lod/fabric/mixins/events/MixinLightmap.java @@ -22,7 +22,7 @@ public class MixinLightmap { value="INVOKE", target="Lnet/minecraft/client/renderer/texture/DynamicTexture;upload()V")) public void updateLightTexture(float f, CallbackInfo ci) { - ApiShared.LOGGER.info("Lightmap update"); + //ApiShared.LOGGER.info("Lightmap update"); MinecraftRenderWrapper.INSTANCE.updateLightmap(lightPixels); } } diff --git a/forge/build.gradle b/forge/build.gradle index cd655ecdb..8f023fda4 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -38,6 +38,8 @@ dependencies { addMod("curse.maven:starlight-forge-526854:${rootProject.starlight_version_forge}", rootProject.enable_starlight_forge) annotationProcessor "org.spongepowered:mixin:0.8.4:processor" + addMod("curse.maven:TerraForged-363820:${rootProject.terraforged_version}", rootProject.enable_terraforged) + common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowMe(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } diff --git a/forge/src/main/java/com/seibel/lod/forge/mixins/MixinLightmap.java b/forge/src/main/java/com/seibel/lod/forge/mixins/MixinLightmap.java index 7ea3fbb06..02bc19570 100644 --- a/forge/src/main/java/com/seibel/lod/forge/mixins/MixinLightmap.java +++ b/forge/src/main/java/com/seibel/lod/forge/mixins/MixinLightmap.java @@ -22,7 +22,7 @@ public class MixinLightmap { value="INVOKE", target="Lnet/minecraft/client/renderer/texture/DynamicTexture;upload()V")) public void updateLightTexture(float f, CallbackInfo ci) { - ApiShared.LOGGER.info("Lightmap update"); + //ApiShared.LOGGER.info("Lightmap update"); MinecraftRenderWrapper.INSTANCE.updateLightmap(lightPixels); } } diff --git a/forge/src/main/java/com/seibel/lod/forge/mixins/MixinTFChunkGenerator.java b/forge/src/main/java/com/seibel/lod/forge/mixins/MixinTFChunkGenerator.java new file mode 100644 index 000000000..5fdfe3b9a --- /dev/null +++ b/forge/src/main/java/com/seibel/lod/forge/mixins/MixinTFChunkGenerator.java @@ -0,0 +1,54 @@ +package com.seibel.lod.forge.mixins; + +import org.spongepowered.asm.mixin.Mixin; + +#if MC_VERSION_1_16_5 + +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +import com.terraforged.mod.chunk.generator.FeatureGenerator; + +import java.util.Random; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.chunk.ChunkGenerator; +import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; + +@Mixin(FeatureGenerator.class) +public class MixinTFChunkGenerator { + + @Redirect(method = "decorate(" + + "Lnet/minecraft/world/level/StructureFeatureManager;" + + "Lnet/minecraft/world/level/WorldGenLevel;" + + "Lnet/minecraft/world/level/chunk/ChunkAccess;" + + "Lnet/minecraft/world/level/biome/Biome;" + + "Lnet/minecraft/core/BlockPos;" + + "Lcom/terraforged/mod/profiler/watchdog/WatchdogContext;)V", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/world/level/levelgen/feature/ConfiguredFeature;place(" + + "Lnet/minecraft/world/level/WorldGenLevel;" + + "Lnet/minecraft/world/level/chunk/ChunkGenerator;" + + "Ljava/util/Random;Lnet/minecraft/core/BlockPos;)Z" + )) + private boolean wrapDecorate$FeaturePlace(ConfiguredFeature feature, WorldGenLevel arg, + ChunkGenerator arg2, Random random, BlockPos arg3) { + synchronized(FeatureGenerator.class) { + //ClientApi.LOGGER.info("wrapDecorate FeaturePlace triggered"); + return feature.place(arg, arg2, random, arg3); + } + } + + //METHOD: com.terraforged.mod.chunk.generator.FeatureGenerator.decorate(StructureFeatureManager manager, + // WorldGenLevel region, ChunkAccess chunk, Biome biome, BlockPos pos, WatchdogContext context) + + //TARGET: boolean net.minecraft.world.level.levelgen.feature.ConfiguredFeature.place + // (WorldGenLevel arg, ChunkGenerator arg2, Random random, BlockPos arg3) +} + +#else +class MixinTFChunkGenerator { +} +#endif \ No newline at end of file diff --git a/forge/src/main/resources/lod.mixins.json b/forge/src/main/resources/lod.mixins.json index 3263b184c..589806557 100644 --- a/forge/src/main/resources/lod.mixins.json +++ b/forge/src/main/resources/lod.mixins.json @@ -10,7 +10,8 @@ "MixinWorldRenderer", "MixinFogRenderer", "MixinChunkGenerator", - "MixinLightmap" + "MixinLightmap", + "MixinTFChunkGenerator" ], "server": [] } diff --git a/gradle.properties b/gradle.properties index 7f579c892..521621874 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,4 +18,4 @@ toml_version=3.6.4 manifold_version=2022.1.7 ##### FOR IDE SUPPORT AND TELL IDE TO USE CERTIAN MC VERSION: SWITCH THIS: -mcVer=1.18.2 \ No newline at end of file +mcVer=1.16.5 \ No newline at end of file