diff --git a/build.gradle.kts b/build.gradle.kts index aca113929..283bab8b1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -51,8 +51,6 @@ afterEvaluate { dependencies { "compileOnly"(project(":common:api")) - "implementation"("net.jafama", "jafama", Versions.Libraries.Internal.jafama) - "testImplementation"("net.jafama", "jafama", Versions.Libraries.Internal.jafama) "testImplementation"(project(":common:api")) } } diff --git a/common/addons/biome-provider-image/build.gradle.kts b/common/addons/biome-provider-image/build.gradle.kts index 9d0aac37f..15145b578 100644 --- a/common/addons/biome-provider-image/build.gradle.kts +++ b/common/addons/biome-provider-image/build.gradle.kts @@ -2,4 +2,10 @@ version = version("1.0.0") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) } + +tasks.named("shadowJar") { + relocate("net.jafama", "com.dfsek.terra.addons.biome.image.lib.jafama") +} \ No newline at end of file diff --git a/common/addons/biome-provider-pipeline/build.gradle.kts b/common/addons/biome-provider-pipeline/build.gradle.kts index ee75c50f8..9342c3cad 100644 --- a/common/addons/biome-provider-pipeline/build.gradle.kts +++ b/common/addons/biome-provider-pipeline/build.gradle.kts @@ -3,8 +3,12 @@ version = version("1.0.0") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) implementation("com.github.ben-manes.caffeine:caffeine:3.1.0") + + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) } tasks.named("shadowJar") { relocate("com.github.benmanes.caffeine", "com.dfsek.terra.addons.biome.pipeline.lib.caffeine") + relocate("net.jafama", "com.dfsek.terra.addons.biome.pipeline.lib.jafama") } \ No newline at end of file diff --git a/common/addons/chunk-generator-noise-3d/build.gradle.kts b/common/addons/chunk-generator-noise-3d/build.gradle.kts index 9d0aac37f..36e6012d7 100644 --- a/common/addons/chunk-generator-noise-3d/build.gradle.kts +++ b/common/addons/chunk-generator-noise-3d/build.gradle.kts @@ -2,4 +2,11 @@ version = version("1.0.0") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) + + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) +} + +tasks.named("shadowJar") { + relocate("net.jafama", "com.dfsek.terra.addons.chunkgenerator.lib.jafama") } diff --git a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/holder/PaletteHolderBuilder.java b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/holder/PaletteHolderBuilder.java index fe378c482..c2a082038 100644 --- a/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/holder/PaletteHolderBuilder.java +++ b/common/addons/config-biome/src/main/java/com/dfsek/terra/addons/biome/holder/PaletteHolderBuilder.java @@ -7,8 +7,6 @@ package com.dfsek.terra.addons.biome.holder; -import net.jafama.FastMath; - import java.util.Map; import java.util.TreeMap; @@ -25,11 +23,11 @@ public class PaletteHolderBuilder { public PaletteHolder build() { - int min = FastMath.min(paletteMap.keySet().stream().min(Integer::compareTo).orElse(0), 0); - int max = FastMath.max(paletteMap.keySet().stream().max(Integer::compareTo).orElse(255), 255); + int min = Math.min(paletteMap.keySet().stream().min(Integer::compareTo).orElse(0), 0); + int max = Math.max(paletteMap.keySet().stream().max(Integer::compareTo).orElse(255), 255); Palette[] palettes = new Palette[paletteMap.lastKey() + 1 - min]; - for(int y = min; y <= FastMath.max(paletteMap.lastKey(), max); y++) { + for(int y = min; y <= Math.max(paletteMap.lastKey(), max); y++) { Palette d = null; for(Map.Entry e : paletteMap.entrySet()) { if(e.getKey() >= y) { diff --git a/common/addons/config-distributors/build.gradle.kts b/common/addons/config-distributors/build.gradle.kts index 9d0aac37f..e38fb40ee 100644 --- a/common/addons/config-distributors/build.gradle.kts +++ b/common/addons/config-distributors/build.gradle.kts @@ -2,4 +2,11 @@ version = version("1.0.0") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) + + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) } + +tasks.named("shadowJar") { + relocate("net.jafama", "com.dfsek.terra.addons.feature.distributor.lib.jafama") +} \ No newline at end of file diff --git a/common/addons/config-flora/build.gradle.kts b/common/addons/config-flora/build.gradle.kts index 9d0aac37f..9e1e78d1f 100644 --- a/common/addons/config-flora/build.gradle.kts +++ b/common/addons/config-flora/build.gradle.kts @@ -2,4 +2,10 @@ version = version("1.0.0") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) +} + +tasks.named("shadowJar") { + relocate("net.jafama", "com.dfsek.terra.addons.flora.lib.jafama") } diff --git a/common/addons/config-locators/build.gradle.kts b/common/addons/config-locators/build.gradle.kts index 9d0aac37f..99485164c 100644 --- a/common/addons/config-locators/build.gradle.kts +++ b/common/addons/config-locators/build.gradle.kts @@ -2,4 +2,11 @@ version = version("1.0.0") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) + + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) +} + +tasks.named("shadowJar") { + relocate("net.jafama", "com.dfsek.terra.addons.feature.locator.lib.jafama") } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/SamplerLocator.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/SamplerLocator.java index 31f730d0e..3a2ff8330 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/SamplerLocator.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/SamplerLocator.java @@ -7,8 +7,6 @@ package com.dfsek.terra.addons.feature.locator.locators; -import net.jafama.FastMath; - import java.util.List; import com.dfsek.terra.api.noise.NoiseSampler; @@ -31,11 +29,24 @@ public class SamplerLocator implements Locator { long seed = column.getWorld().getSeed(); samplers.forEach(sampler -> { - int y = FastMath.floorToInt(sampler.noise(seed, column.getX(), column.getZ())); + int y = floorToInt(sampler.noise(seed, column.getX(), column.getZ())); if(y >= column.getMaxY() || y < column.getMinY()) return; results.set(y); }); return results.build(); } + + private static int floorToInt(double value) { + int valueInt = (int)value; + if (value < 0.0) { + if (value == (double)valueInt) { + return valueInt; + } else { + return valueInt == Integer.MIN_VALUE ? valueInt : valueInt - 1; + } + } else { + return valueInt; + } + } } diff --git a/common/addons/config-noise-function/build.gradle.kts b/common/addons/config-noise-function/build.gradle.kts index 387a1f884..f51d5e878 100644 --- a/common/addons/config-noise-function/build.gradle.kts +++ b/common/addons/config-noise-function/build.gradle.kts @@ -5,9 +5,12 @@ version = version("1.0.0") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) api("com.dfsek", "paralithic", Versions.Libraries.paralithic) + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) } tasks.named("shadowJar") { relocate("com.dfsek.paralithic", "com.dfsek.terra.addons.noise.lib.paralithic") + relocate("net.jafama", "com.dfsek.terra.addons.noise.lib.jafama") } \ No newline at end of file diff --git a/common/addons/config-ore/build.gradle.kts b/common/addons/config-ore/build.gradle.kts index 9d0aac37f..d575f43d3 100644 --- a/common/addons/config-ore/build.gradle.kts +++ b/common/addons/config-ore/build.gradle.kts @@ -2,4 +2,10 @@ version = version("1.0.0") dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) +} + +tasks.named("shadowJar") { + relocate("net.jafama", "com.dfsek.terra.addons.ore.lib.jafama") } diff --git a/common/addons/config-structure/build.gradle.kts b/common/addons/config-structure/build.gradle.kts index aab2399ea..dad8fff7d 100644 --- a/common/addons/config-structure/build.gradle.kts +++ b/common/addons/config-structure/build.gradle.kts @@ -3,4 +3,11 @@ version = version("1.0.0") dependencies { api("com.googlecode.json-simple:json-simple:1.1.1") compileOnlyApi(project(":common:addons:manifest-addon-loader")) + + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) +} + +tasks.named("shadowJar") { + relocate("net.jafama", "com.dfsek.terra.addons.structure.lib.jafama") } diff --git a/common/addons/structure-terrascript-loader/build.gradle.kts b/common/addons/structure-terrascript-loader/build.gradle.kts index d89243581..15b7f1107 100644 --- a/common/addons/structure-terrascript-loader/build.gradle.kts +++ b/common/addons/structure-terrascript-loader/build.gradle.kts @@ -5,8 +5,11 @@ version = version("1.0.0") dependencies { api("commons-io:commons-io:2.7") compileOnlyApi(project(":common:addons:manifest-addon-loader")) + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) } tasks.named("shadowJar") { relocate("org.apache.commons", "com.dfsek.terra.addons.terrascript.lib.commons") + relocate("net.jafama", "com.dfsek.terra.addons.terrascript.lib.jafama") } \ No newline at end of file diff --git a/common/addons/terrascript-function-check-noise-3d/build.gradle.kts b/common/addons/terrascript-function-check-noise-3d/build.gradle.kts index 9b35e7ea0..51bb33cf6 100644 --- a/common/addons/terrascript-function-check-noise-3d/build.gradle.kts +++ b/common/addons/terrascript-function-check-noise-3d/build.gradle.kts @@ -4,4 +4,11 @@ dependencies { compileOnlyApi(project(":common:addons:manifest-addon-loader")) compileOnlyApi(project(":common:addons:chunk-generator-noise-3d")) compileOnlyApi(project(":common:addons:structure-terrascript-loader")) + + implementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) + testImplementation("net.jafama", "jafama", Versions.Libraries.Internal.jafama) +} + +tasks.named("shadowJar") { + relocate("net.jafama", "com.dfsek.terra.addon.terrascript.check.lib.jafama") }