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")
|
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_seed:5518e3ba3ee567fb0b51c15958967f70a6a19e02') {transitive = false}
|
||||||
extraLibs('com.seedfinding:mc_core:88b246597e0147e37b38d1b33e9526e6c3eb1469') {transitive = false}
|
extraLibs('com.seedfinding:mc_core:88b246597e0147e37b38d1b33e9526e6c3eb1469') {transitive = false}
|
||||||
extraLibs('com.seedfinding:mc_noise:a6ab8e6c688491829f8d2adf845392da22ef8e9c') {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_terrain:9e937ddb838e28e79423c287fa18b1ce66f061d7') {transitive = false}
|
||||||
extraLibs('com.seedfinding:mc_feature:ef939c0dd7d66ab1bd290d6aab1e42a12cb3dbf1') {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.mccore.version.MCVersion;
|
||||||
import com.seedfinding.mcterrain.TerrainGenerator;
|
import com.seedfinding.mcterrain.TerrainGenerator;
|
||||||
import meteordevelopment.meteorclient.utils.player.ChatUtils;
|
import meteordevelopment.meteorclient.utils.player.ChatUtils;
|
||||||
|
import meteordevelopment.meteorclient.utils.player.PlayerUtils;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
@@ -127,6 +129,9 @@ public class WorldGenUtils {
|
|||||||
public static BlockPos locateFeature(Feature feature, BlockPos center) {
|
public static BlockPos locateFeature(Feature feature, BlockPos center) {
|
||||||
Seed seed = Seeds.get().getSeed();
|
Seed seed = Seeds.get().getSeed();
|
||||||
BlockPos pos = null;
|
BlockPos pos = null;
|
||||||
|
if (!checkIfInDimension(getDimension(feature))) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if (seed != null) {
|
if (seed != null) {
|
||||||
try {
|
try {
|
||||||
pos = locateFeature(seed, feature, center);
|
pos = locateFeature(seed, feature, center);
|
||||||
@@ -228,6 +233,7 @@ public class WorldGenUtils {
|
|||||||
|
|
||||||
private static BlockPos locateStructure(Seed seed, Feature feature, BlockPos center) {
|
private static BlockPos locateStructure(Seed seed, Feature feature, BlockPos center) {
|
||||||
Dimension dimension = getDimension(feature);
|
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;
|
MCVersion mcVersion = seed.version;
|
||||||
Structure<?, ?> structure = getStructure(feature, mcVersion);
|
Structure<?, ?> structure = getStructure(feature, mcVersion);
|
||||||
if (structure == null) return null;
|
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) {
|
private static Structure<?, ?> getStructure(Feature feature, MCVersion version) {
|
||||||
return switch (feature) {
|
return switch (feature) {
|
||||||
case buried_treasure -> new BuriedTreasure(version);
|
case buried_treasure -> new BuriedTreasure(version);
|
||||||
|
|||||||
Reference in New Issue
Block a user