Make Biome Search Resolution configurable.

This commit is contained in:
dfsek 2020-11-20 23:12:18 -07:00
parent dada49f6bf
commit 6a70972ea8
3 changed files with 6 additions and 2 deletions

View File

@ -1,6 +1,7 @@
package com.dfsek.terra.async; package com.dfsek.terra.async;
import com.dfsek.terra.biome.grid.TerraBiomeGrid; import com.dfsek.terra.biome.grid.TerraBiomeGrid;
import com.dfsek.terra.config.base.ConfigUtil;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -27,11 +28,11 @@ public class AsyncBiomeFinder extends AsyncFeatureFinder<Biome> {
*/ */
@Override @Override
public boolean isValid(int x, int z, Biome target) { public boolean isValid(int x, int z, Biome target) {
return getGrid().getBiome(x << 2, z << 2, GenerationPhase.POST_GEN).equals(target); return getGrid().getBiome(x * ConfigUtil.biomeSearchRes, z * ConfigUtil.biomeSearchRes, GenerationPhase.POST_GEN).equals(target);
} }
@Override @Override
public Vector finalizeVector(Vector orig) { public Vector finalizeVector(Vector orig) {
return orig.multiply(4); return orig.multiply(ConfigUtil.biomeSearchRes);
} }
} }

View File

@ -28,6 +28,7 @@ public final class ConfigUtil {
public static boolean debug; public static boolean debug;
public static long dataSave; // Period of population data saving, in ticks. public static long dataSave; // Period of population data saving, in ticks.
public static boolean masterDisableCaves; public static boolean masterDisableCaves;
public static int biomeSearchRes;
public static void loadConfig(JavaPlugin main) { public static void loadConfig(JavaPlugin main) {
main.saveDefaultConfig(); main.saveDefaultConfig();
@ -38,6 +39,7 @@ public final class ConfigUtil {
debug = config.getBoolean("debug", false); debug = config.getBoolean("debug", false);
dataSave = Duration.parse(Objects.requireNonNull(config.getString("data-save", "PT6M"))).toMillis() / 20L; dataSave = Duration.parse(Objects.requireNonNull(config.getString("data-save", "PT6M"))).toMillis() / 20L;
masterDisableCaves = config.getBoolean("master-disable.caves", false); masterDisableCaves = config.getBoolean("master-disable.caves", false);
biomeSearchRes = config.getInt("biome-search-resolution", 4);
if(config.getBoolean("dump-default", true)) { if(config.getBoolean("dump-default", true)) {
try(JarFile jar = new JarFile(new File(Terra.class.getProtectionDomain().getCodeSource().getLocation().toURI()))) { try(JarFile jar = new JarFile(new File(Terra.class.getProtectionDomain().getCodeSource().getLocation().toURI()))) {

View File

@ -3,5 +3,6 @@ data-save: PT6M
language: "en_us" language: "en_us"
fail-type: SHUTDOWN fail-type: SHUTDOWN
dump-default: true dump-default: true
biome-search-resolution: 4
master-disable: master-disable:
caves: false caves: false