restrict .locate to the correct dimension

disable .locate seed based features until biome simulation is fixed
This commit is contained in:
C10udburst
2022-03-05 15:43:06 +01:00
parent 319036f35c
commit 94856c1cfc
2 changed files with 16 additions and 2 deletions

View File

@@ -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}

View File

@@ -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);