From d4fcbb6994f86221f46c51334e47aa28aef181f1 Mon Sep 17 00:00:00 2001 From: Hugman Date: Sun, 5 Jul 2026 23:27:35 +0200 Subject: [PATCH] Try to add ULB compat --- build.gradle | 3 +++ gradle.properties | 5 +++- .../datagen/provider/UHCConfigProvider.java | 24 +++++++++++++++++++ .../datagen/provider/UHCModuleProvider.java | 9 +++++++ .../provider/UHCModuleTagProvider.java | 8 +++++++ .../fr/hugman/uhc/api/config/UHCConfigs.java | 5 ++++ .../fr/hugman/uhc/api/module/UHCModules.java | 3 +++ .../uhc/api/registry/UHCModuleTags.java | 4 ++++ 8 files changed, 60 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 96d7a4b..0ee04c5 100644 --- a/build.gradle +++ b/build.gradle @@ -17,6 +17,7 @@ if(env.COMMIT_HASH != null) { repositories { maven { url = "https://maven.nucleoid.xyz/" } + maven { url = "https://maven.nucleoid.xyz/snapshots" } maven { url = "https://maven.gegy.dev/" } } @@ -28,6 +29,8 @@ dependencies { implementation "xyz.nucleoid:plasmid:${project.plasmid_version}" + implementation "fr.hugman:ultimate_lucky_block:${project.ultimate_lucky_block_version}" + runtimeOnly "eu.pb4:factorytools:0.11.0+26.2" } diff --git a/gradle.properties b/gradle.properties index 6fd5f87..cb7b4ff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,7 @@ loom_version=1.17-SNAPSHOT fabric_api_version=0.152.1+26.2 # check this on https://nucleoid.xyz/use/ -plasmid_version=0.7.2-SNAPSHOT+26.2 \ No newline at end of file +plasmid_version=0.7.2-SNAPSHOT+26.2 + +# check this on https://maven.nucleoid.xyz/ +ultimate_lucky_block_version=1.0.0+29eeda3 \ No newline at end of file diff --git a/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCConfigProvider.java b/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCConfigProvider.java index c890856..dc2aabb 100644 --- a/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCConfigProvider.java +++ b/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCConfigProvider.java @@ -4,6 +4,7 @@ import fr.hugman.uhc.api.config.UHCConfigs; import fr.hugman.uhc.api.config.UHCMapConfig; import fr.hugman.uhc.api.config.UHCTimersConfig; +import fr.hugman.uhc.api.module.UHCModules; import fr.hugman.uhc.api.registry.UHCModuleTags; import fr.hugman.uhc.api.registry.UHCRegistryKeys; import fr.hugman.uhc.api.tags.UHCBiomeTags; @@ -12,6 +13,7 @@ import net.fabricmc.fabric.api.datagen.v1.FabricPackOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; import net.minecraft.core.HolderLookup; +import net.minecraft.core.HolderSet; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.world.level.biome.MultiNoiseBiomeSource; @@ -70,5 +72,27 @@ public static void register(BootstrapContext registerable) { new DoubleRange(200, 8000), 0.75D ), UHCTimersConfig.DEFAULT.withWarmup(600), modules.getOrThrow(UHCModuleTags.DOUBLERUNNER))); + + registerable.register(UHCConfigs.LUCKY_UHC, new UHCConfig(UHCMapConfig.of( + dimensionsTypes.getOrThrow(BuiltinDimensionTypes.OVERWORLD), + overworldChunkGenerator, + biomes.getOrThrow(UHCBiomeTags.OCEANLESS_BLACKLIST), + new DoubleRange(400, 10000), + 0.5D + ), UHCTimersConfig.DEFAULT, HolderSet.direct(modules.getOrThrow(UHCModules.LUCKY_BLOCKS)))); + registerable.register(UHCConfigs.LUCKY_UHCRUN, new UHCConfig(UHCMapConfig.of( + dimensionsTypes.getOrThrow(BuiltinDimensionTypes.OVERWORLD), + overworldChunkGenerator, + biomes.getOrThrow(UHCBiomeTags.OCEANLESS_BLACKLIST), + new DoubleRange(200, 8000), + 0.6D + ), UHCTimersConfig.DEFAULT.withWarmup(1200), modules.getOrThrow(UHCModuleTags.LUCKY_UHCRUN))); + registerable.register(UHCConfigs.LUCKY_DOUBLERUNNER, new UHCConfig(UHCMapConfig.of( + dimensionsTypes.getOrThrow(BuiltinDimensionTypes.OVERWORLD), + overworldChunkGenerator, + biomes.getOrThrow(UHCBiomeTags.OCEANLESS_BLACKLIST), + new DoubleRange(200, 8000), + 0.75D + ), UHCTimersConfig.DEFAULT.withWarmup(600), modules.getOrThrow(UHCModuleTags.LUCKY_DOUBLERUNNER))); } } diff --git a/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCModuleProvider.java b/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCModuleProvider.java index ea3959e..dafa74b 100644 --- a/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCModuleProvider.java +++ b/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCModuleProvider.java @@ -8,6 +8,8 @@ import fr.hugman.uhc.api.registry.UHCRegistryKeys; import fr.hugman.uhc.api.world.level.levelgen.feature.UHCPlacedFeatures; import fr.hugman.uhc.impl.UHC; +import fr.hugman.ultimate_lucky_block.api.block.ULBBlocks; +import fr.hugman.ultimate_lucky_block.api.world.gen.feature.ULBPlacedFeatures; import net.fabricmc.fabric.api.datagen.v1.FabricPackOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; import net.minecraft.core.HolderLookup; @@ -98,6 +100,13 @@ public static void register(BootstrapContext registerable) { ))) .descriptionFrom(UHCModules.ORE_BOOST)); //TODO: other modules + + register(registerable, UHCModules.LUCKY_BLOCKS, ULBBlocks.LUCKY_BLOCK, + new PlacedFeaturesModifier(HolderSet.direct( + placedFeatures.getOrThrow(ULBPlacedFeatures.SURFACE_LUCKY_BLOCKS), + placedFeatures.getOrThrow(ULBPlacedFeatures.MINERAL_LUCKY_BLOCKS) + )) + ); } public static void register( diff --git a/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCModuleTagProvider.java b/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCModuleTagProvider.java index e029dbc..ae41eb5 100644 --- a/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCModuleTagProvider.java +++ b/src/datagen/java/fr/hugman/uhc/api/datagen/provider/UHCModuleTagProvider.java @@ -1,6 +1,7 @@ package fr.hugman.uhc.api.datagen.provider; import fr.hugman.uhc.api.module.UHCModule; +import fr.hugman.uhc.api.module.UHCModules; import fr.hugman.uhc.api.registry.UHCModuleTags; import fr.hugman.uhc.api.registry.UHCRegistryKeys; import net.fabricmc.fabric.api.datagen.v1.FabricPackOutput; @@ -40,5 +41,12 @@ protected void addTags(HolderLookup.Provider wrapperLookup) { .addOptional(MOB_COOKED_FOOD) .addOptional(FASTER_RESOURCES_PLUS) .addOptional(POTION_DROPS); + + builder(UHCModuleTags.UHCRUN) + .forceAddTag(UHCModuleTags.UHCRUN) + .add(UHCModules.LUCKY_BLOCKS); + builder(UHCModuleTags.LUCKY_DOUBLERUNNER) + .forceAddTag(UHCModuleTags.LUCKY_DOUBLERUNNER) + .add(UHCModules.LUCKY_BLOCKS); } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/uhc/api/config/UHCConfigs.java b/src/main/java/fr/hugman/uhc/api/config/UHCConfigs.java index d03006a..2d8e037 100644 --- a/src/main/java/fr/hugman/uhc/api/config/UHCConfigs.java +++ b/src/main/java/fr/hugman/uhc/api/config/UHCConfigs.java @@ -9,6 +9,11 @@ public class UHCConfigs { public static final ResourceKey STANDARD_UHCRUN = of("uhcrun"); public static final ResourceKey STANDARD_DOUBLERUNNER = of("doublerunner"); + // [COMPAT] Ultimate Lucky Block + public static final ResourceKey LUCKY_UHC = of("lucky_uhc"); + public static final ResourceKey LUCKY_UHCRUN = of("lucky_uhcrun"); + public static final ResourceKey LUCKY_DOUBLERUNNER = of("lucky_doublerunner"); + private static ResourceKey of(String path) { return ResourceKey.create(UHCRegistryKeys.UHC_CONFIG, UHC.id(path)); } diff --git a/src/main/java/fr/hugman/uhc/api/module/UHCModules.java b/src/main/java/fr/hugman/uhc/api/module/UHCModules.java index a1001f0..d35eae4 100644 --- a/src/main/java/fr/hugman/uhc/api/module/UHCModules.java +++ b/src/main/java/fr/hugman/uhc/api/module/UHCModules.java @@ -33,6 +33,9 @@ public class UHCModules { public static final ResourceKey FASTER_RESOURCES_PLUS = of("faster_resources_plus"); public static final ResourceKey BETTER_TOOLS_PLUS = of("better_tools_plus"); + // [COMPAT] Ultimate Lucky Block + public static final ResourceKey LUCKY_BLOCKS = of("lucky_blocks"); + public static ResourceKey of(String path) { return ResourceKey.create(UHCRegistryKeys.UHC_MODULE, UHC.id(path)); } diff --git a/src/main/java/fr/hugman/uhc/api/registry/UHCModuleTags.java b/src/main/java/fr/hugman/uhc/api/registry/UHCModuleTags.java index 1d3315d..2ea2c24 100644 --- a/src/main/java/fr/hugman/uhc/api/registry/UHCModuleTags.java +++ b/src/main/java/fr/hugman/uhc/api/registry/UHCModuleTags.java @@ -8,6 +8,10 @@ public class UHCModuleTags { public static final TagKey UHCRUN = of("uhcrun"); public static final TagKey DOUBLERUNNER = of("doublerunner"); + // [COMPAT] Ultimate Lucky Block + public static final TagKey LUCKY_UHCRUN = of("lucky_uhcrun"); + public static final TagKey LUCKY_DOUBLERUNNER = of("lucky_doublerunner"); + private static TagKey of(String path) { return TagKey.create(UHCRegistryKeys.UHC_MODULE, UHC.id(path)); }