diff --git a/build.gradle b/build.gradle index 5ca68b8..ad54ba3 100644 --- a/build.gradle +++ b/build.gradle @@ -29,11 +29,11 @@ dependencies { modImplementation("meteordevelopment:meteor-client:SNAPSHOT") - extraLibs('com.seedfinding:mc_math:0eb505174da8a92550f8ec6efe254e0fa936cc0d') {transitive = false} + extraLibs('com.seedfinding:mc_math:d73ac7cc644c67628ade0effd7136e11eb00bb76') {transitive = false} extraLibs('com.seedfinding:mc_seed:5518e3ba3ee567fb0b51c15958967f70a6a19e02') {transitive = false} extraLibs('com.seedfinding:mc_core:88b246597e0147e37b38d1b33e9526e6c3eb1469') {transitive = false} extraLibs('com.seedfinding:mc_noise:a6ab8e6c688491829f8d2adf845392da22ef8e9c') {transitive = false} - extraLibs('com.seedfinding:mc_biome:b2271807a047bb43ac60c8c20ad47e315f19b9a6') {transitive = false} + extraLibs('com.seedfinding:mc_biome:533cdb5ed955ff1c3106f9901aea6aa5b08fd781') {transitive = false} extraLibs('com.seedfinding:mc_terrain:9e937ddb838e28e79423c287fa18b1ce66f061d7') {transitive = false} extraLibs('com.seedfinding:mc_feature:ef939c0dd7d66ab1bd290d6aab1e42a12cb3dbf1') {transitive = false} diff --git a/src/main/java/anticope/rejects/utils/WorldGenUtils.java b/src/main/java/anticope/rejects/utils/WorldGenUtils.java index 62d9cbf..d53cff5 100644 --- a/src/main/java/anticope/rejects/utils/WorldGenUtils.java +++ b/src/main/java/anticope/rejects/utils/WorldGenUtils.java @@ -13,6 +13,8 @@ import com.seedfinding.mccore.util.pos.*; import com.seedfinding.mccore.version.MCVersion; import com.seedfinding.mcterrain.TerrainGenerator; import meteordevelopment.meteorclient.utils.player.ChatUtils; +import meteordevelopment.meteorclient.utils.player.PlayerUtils; + import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.entity.Entity; @@ -127,6 +129,9 @@ public class WorldGenUtils { public static BlockPos locateFeature(Feature feature, BlockPos center) { Seed seed = Seeds.get().getSeed(); BlockPos pos = null; + if (!checkIfInDimension(getDimension(feature))) { + return null; + } if (seed != null) { try { pos = locateFeature(seed, feature, center); @@ -228,6 +233,7 @@ public class WorldGenUtils { private static BlockPos locateStructure(Seed seed, Feature feature, BlockPos center) { Dimension dimension = getDimension(feature); + if (dimension == Dimension.OVERWORLD && seed.version.isNewerThan(MCVersion.v1_18)) return null; // TODO: enable 1.18 support when mc_biome updates MCVersion mcVersion = seed.version; Structure structure = getStructure(feature, mcVersion); if (structure == null) return null; @@ -296,6 +302,14 @@ public class WorldGenUtils { }; } + private static boolean checkIfInDimension(Dimension dimension) { + return switch (dimension) { + case OVERWORLD -> (PlayerUtils.getDimension() == meteordevelopment.meteorclient.utils.world.Dimension.Overworld); + case NETHER -> (PlayerUtils.getDimension() == meteordevelopment.meteorclient.utils.world.Dimension.Nether); + case END -> (PlayerUtils.getDimension() == meteordevelopment.meteorclient.utils.world.Dimension.End); + }; + } + private static Structure getStructure(Feature feature, MCVersion version) { return switch (feature) { case buried_treasure -> new BuriedTreasure(version);