From 6a70972ea8d0c3e6efb2700cd9a084ae2197e6b7 Mon Sep 17 00:00:00 2001 From: dfsek Date: Fri, 20 Nov 2020 23:12:18 -0700 Subject: [PATCH] Make Biome Search Resolution configurable. --- src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java | 5 +++-- src/main/java/com/dfsek/terra/config/base/ConfigUtil.java | 2 ++ src/main/resources/config.yml | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java b/src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java index 1be836c41..df05abaee 100644 --- a/src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java +++ b/src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java @@ -1,6 +1,7 @@ package com.dfsek.terra.async; import com.dfsek.terra.biome.grid.TerraBiomeGrid; +import com.dfsek.terra.config.base.ConfigUtil; import org.bukkit.Location; import org.bukkit.util.Vector; import org.jetbrains.annotations.NotNull; @@ -27,11 +28,11 @@ public class AsyncBiomeFinder extends AsyncFeatureFinder { */ @Override 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 public Vector finalizeVector(Vector orig) { - return orig.multiply(4); + return orig.multiply(ConfigUtil.biomeSearchRes); } } diff --git a/src/main/java/com/dfsek/terra/config/base/ConfigUtil.java b/src/main/java/com/dfsek/terra/config/base/ConfigUtil.java index d9409ee4a..5d8a0268b 100644 --- a/src/main/java/com/dfsek/terra/config/base/ConfigUtil.java +++ b/src/main/java/com/dfsek/terra/config/base/ConfigUtil.java @@ -28,6 +28,7 @@ public final class ConfigUtil { public static boolean debug; public static long dataSave; // Period of population data saving, in ticks. public static boolean masterDisableCaves; + public static int biomeSearchRes; public static void loadConfig(JavaPlugin main) { main.saveDefaultConfig(); @@ -38,6 +39,7 @@ public final class ConfigUtil { debug = config.getBoolean("debug", false); dataSave = Duration.parse(Objects.requireNonNull(config.getString("data-save", "PT6M"))).toMillis() / 20L; masterDisableCaves = config.getBoolean("master-disable.caves", false); + biomeSearchRes = config.getInt("biome-search-resolution", 4); if(config.getBoolean("dump-default", true)) { try(JarFile jar = new JarFile(new File(Terra.class.getProtectionDomain().getCodeSource().getLocation().toURI()))) { diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 3488f1a05..902ae6a91 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -3,5 +3,6 @@ data-save: PT6M language: "en_us" fail-type: SHUTDOWN dump-default: true +biome-search-resolution: 4 master-disable: caves: false \ No newline at end of file