restrict .locate to the correct dimension
disable .locate seed based features until biome simulation is fixed
This commit is contained in:
@@ -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}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user