diff --git a/build.gradle b/build.gradle index 00773e8..3d911df 100644 --- a/build.gradle +++ b/build.gradle @@ -27,18 +27,26 @@ dependencies { modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - modImplementation "vazkii.patchouli:Patchouli:${patchouli_version}" - modImplementation "com.github.Draylar:maybe-data:${maybedata_version}" include "com.github.Draylar:maybe-data:${maybedata_version}" modImplementation "eu.midnightdust:midnight-hats:${midnighthats_version}" include "eu.midnightdust:midnight-hats:${midnighthats_version}" - modImplementation ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") - include ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") - modImplementation ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") - include ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") - modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}") + modImplementation ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") { + exclude(module: "fabric-api") + } + include ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") { + exclude(module: "fabric-api") + } + modImplementation ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") { + exclude(module: "fabric-api") + } + include ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") { + exclude(module: "fabric-api") + } + modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}") { + exclude(module: "fabric-api") + } } processResources { diff --git a/build/loom-cache/maybe-data-1.0.0-1.16.2.jar b/build/loom-cache/maybe-data-1.0.0-1.16.1.jar similarity index 85% rename from build/loom-cache/maybe-data-1.0.0-1.16.2.jar rename to build/loom-cache/maybe-data-1.0.0-1.16.1.jar index bda0f29..610faa8 100644 Binary files a/build/loom-cache/maybe-data-1.0.0-1.16.2.jar and b/build/loom-cache/maybe-data-1.0.0-1.16.1.jar differ diff --git a/gradle.properties b/gradle.properties index 4445aeb..41b3586 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.16.2 - yarn_mappings=1.16.2+build.6 - loader_version=0.9.1+build.205 + minecraft_version=1.16.1 + yarn_mappings=1.16.1+build.7 + loader_version=0.8.8+build.202 # Mod Properties mod_version = 2.0.0 @@ -14,13 +14,13 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.17.2+build.396-1.16 - patchouli_version=1.16-40-FABRIC - maybedata_version=1.0.0-1.16.2 + fabric_version=0.14.0+build.371-1.16 + patchouli_version=1.16-38-FABRIC + maybedata_version=1.0.0-1.16.1 # Config stuff auto_config_version = 3.2.0-unstable - cloth_config_version = 4.7.0-unstable + cloth_config_version = 4.6.0 mod_menu_version = 1.14.6+build.31 # MidnightHats diff --git a/logs/latest.log b/logs/latest.log deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java index 31d7293..30ccf03 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java @@ -20,6 +20,8 @@ import net.minecraft.item.*; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; +import java.util.Locale; + public class DishesMain implements ModInitializer { public static final String MOD_ID = "dishes"; public static DishesConfig DD_CONFIG; @@ -165,5 +167,28 @@ public class DishesMain implements ModInitializer { Flags.init(); } WorldGenInit.init(); + + } + public enum Ores implements ItemConvertible { + SaltOre(4, 20, 40, 120); + + public final String name; + public final int veinSize; + public final int veinsPerChunk; + public final int minY; + public final int maxY; + + Ores(int veinSize, int veinsPerChunk, int minY, int maxY) { + name = this.toString().toLowerCase(Locale.ROOT); + this.veinSize = veinSize; + this.veinsPerChunk = veinsPerChunk; + this.minY = minY; + this.maxY = maxY; + } + + @Override + public Item asItem() { + return SaltOre.asItem(); + } } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java index 3f1ed7c..1a3f65f 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java @@ -1,7 +1,7 @@ package eu.midnightdust.motschen.dishes.config; -import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; +import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; @Config(name = "trader") public class IceCreamTraderConfig { diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java index 187559b..ca5d32d 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java @@ -1,7 +1,7 @@ package eu.midnightdust.motschen.dishes.config; -import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; +import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; @Config(name = "main") public class MainConfig { diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java index 3e8509c..bdf950c 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java @@ -1,7 +1,7 @@ package eu.midnightdust.motschen.dishes.config; -import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; +import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; @Config(name = "trader") public class WorldGenConfig { diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java index 0a6e8d7..eaa71f1 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java @@ -3,8 +3,6 @@ package eu.midnightdust.motschen.dishes.init; import eu.midnightdust.motschen.dishes.config.DishesConfig; import eu.midnightdust.motschen.dishes.entities.IceCreamTraderSpawn; import eu.midnightdust.motschen.dishes.world.LootModifier; -import eu.midnightdust.motschen.dishes.world.OreFeatureInjector; -import eu.midnightdust.motschen.dishes.world.OreFeatures; import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; import net.minecraft.server.world.ServerWorld; @@ -18,8 +16,7 @@ public class WorldGenInit { } if (config.worldgen.loot == true) { LootModifier.init(); } if (config.worldgen.salt_ore == true) { - OreFeatures.init(); - OreFeatureInjector.init(); + eu.midnightdust.motschen.dishes.world.SaltOre.initBiomeFeatures(); } if (config.trader.enabled == true && config.trader.spawntrader == true) { diff --git a/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java b/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java deleted file mode 100644 index 8699725..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java +++ /dev/null @@ -1,19 +0,0 @@ -package eu.midnightdust.motschen.dishes.mixin; - -import net.minecraft.world.biome.GenerationSettings; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import java.util.List; -import java.util.function.Supplier; - -@Mixin(GenerationSettings.class) -public interface GenerationSettingsAccessorMixin { - - @Accessor - List>>> getFeatures(); - - @Accessor - void setFeatures(List>>> features); -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatureInjector.java b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatureInjector.java deleted file mode 100644 index c4452af..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatureInjector.java +++ /dev/null @@ -1,44 +0,0 @@ -package eu.midnightdust.motschen.dishes.world; - -import com.google.common.collect.Lists; -import eu.midnightdust.motschen.dishes.mixin.GenerationSettingsAccessorMixin; -import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback; -import net.minecraft.util.registry.BuiltinRegistries; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.feature.ConfiguredFeature; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Supplier; - -public class OreFeatureInjector { - - public static void init() { - BuiltinRegistries.BIOME.forEach(OreFeatureInjector::addToBiome); - RegistryEntryAddedCallback.event(BuiltinRegistries.BIOME).register((i, identifier, biome) -> addToBiome(biome)); - } - - private static void addToBiome(Biome biome) { - addSaltOre(biome); - } - - private static void addSaltOre(Biome biome) { - if (biome.getCategory() != Biome.Category.NETHER && biome.getCategory() != Biome.Category.THEEND) { - addFeature(biome, GenerationStep.Feature.UNDERGROUND_DECORATION, OreFeatures.SALT_ORE_FEATURE); - } - } - - public static void addFeature(Biome biome, GenerationStep.Feature step, ConfiguredFeature feature) { - GenerationSettingsAccessorMixin generationSettingsAccessor = (GenerationSettingsAccessorMixin) biome.getGenerationSettings(); - int stepIndex = step.ordinal(); - List>>> featuresByStep = new ArrayList<>( generationSettingsAccessor.getFeatures()); - while (featuresByStep.size() <= stepIndex) { - featuresByStep.add(Lists.newArrayList()); - } - List>> features = new ArrayList<>(featuresByStep.get(stepIndex)); - features.add(() -> feature); - featuresByStep.set(stepIndex, features); - generationSettingsAccessor.setFeatures(featuresByStep); - } -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java deleted file mode 100644 index eebb787..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java +++ /dev/null @@ -1,18 +0,0 @@ -package eu.midnightdust.motschen.dishes.world; - -import eu.midnightdust.motschen.dishes.DishesMain; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.BuiltinRegistries; -import net.minecraft.util.registry.Registry; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import net.minecraft.world.gen.feature.Feature; -import net.minecraft.world.gen.feature.OreFeatureConfig; - -public class OreFeatures { - public static final ConfiguredFeature SALT_ORE_FEATURE = Feature.ORE.configure(new OreFeatureConfig(OreFeatureConfig.Rules.BASE_STONE_OVERWORLD, DishesMain.SaltOre.getDefaultState(), 4)).method_30377(120).spreadHorizontally().repeat(20); - - public static void init() { - Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier(DishesMain.MOD_ID, "salt_ore"), SALT_ORE_FEATURE); - - } -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/world/SaltOre.java b/src/main/java/eu/midnightdust/motschen/dishes/world/SaltOre.java new file mode 100644 index 0000000..f8d3396 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/SaltOre.java @@ -0,0 +1,41 @@ +package eu.midnightdust.motschen.dishes.world; + +import eu.midnightdust.motschen.dishes.DishesMain; +import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback; +import net.minecraft.util.registry.Registry; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.gen.GenerationStep; +import net.minecraft.world.gen.decorator.Decorator; +import net.minecraft.world.gen.decorator.RangeDecoratorConfig; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.OreFeatureConfig; + +import java.util.ArrayList; +import java.util.List; + +public class SaltOre { + private static List checkedBiomes = new ArrayList<>(); + + public static void initBiomeFeatures() { + for (Biome biome : Registry.BIOME) { + addToBiome(biome); + } + + //Handles modded biomes + RegistryEntryAddedCallback.event(Registry.BIOME).register((i, identifier, biome) -> addToBiome(biome)); + } + private static void addToBiome(Biome biome){ + if(checkedBiomes.contains(biome)){ + //Just to be sure we dont add the stuff twice to the same biome + return; + } + checkedBiomes.add(biome); + addOre(biome, OreFeatureConfig.Target.NATURAL_STONE, DishesMain.Ores.SaltOre); + } + + private static void addOre(Biome biome, OreFeatureConfig.Target canReplaceIn, DishesMain.Ores ore) { + biome.addFeature(GenerationStep.Feature.UNDERGROUND_ORES, Feature.ORE.configure( + new OreFeatureConfig(canReplaceIn, DishesMain.SaltOre.getDefaultState(), ore.veinSize)).createDecoratedFeature(Decorator.COUNT_RANGE.configure( + new RangeDecoratorConfig(ore.veinsPerChunk, ore.minY, ore.minY, ore.maxY)))); + } +} \ No newline at end of file diff --git a/src/main/resources/dishes.mixins.json b/src/main/resources/dishes.mixins.json deleted file mode 100644 index fa606c4..0000000 --- a/src/main/resources/dishes.mixins.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "required": true, - "package": "eu.midnightdust.motschen.dishes.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "GenerationSettingsAccessorMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 8dc5c02..182264e 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -30,10 +30,6 @@ ] }, - "mixins": [ - "dishes.mixins.json" - ], - "depends": { "fabricloader": ">=0.7.2", "fabric": "*"