From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: violetc <58360096+s-yh-china@users.noreply.github.com> Date: Wed, 30 Nov 2022 07:32:05 +0800 Subject: [PATCH] Random flatten triangular distribution This patch is Powered by Carpet-TIS-Addition(https://github.com/plusls/Carpet-TIS-Addition) diff --git a/net/minecraft/util/RandomSource.java b/net/minecraft/util/RandomSource.java index 98a54bc4de251014342cda6d0951b7fea79ce553..17a79cef7dac1b407e4e62883b4a943d172fa6b9 100644 --- a/net/minecraft/util/RandomSource.java +++ b/net/minecraft/util/RandomSource.java @@ -52,13 +52,25 @@ public interface RandomSource { double nextGaussian(); + // Leaves start - flattenTriangularDistribution default double triangle(double center, double maxDeviation) { - return center + maxDeviation * (this.nextDouble() - this.nextDouble()); + if (org.leavesmc.leaves.LeavesConfig.modify.flattenTriangularDistribution) { + this.nextDouble(); + return center + maxDeviation * (-1 + this.nextDouble() * 2); + } else { + return center + maxDeviation * (this.nextDouble() - this.nextDouble()); + } } default float triangle(float center, float maxDeviation) { - return center + maxDeviation * (this.nextFloat() - this.nextFloat()); + if (org.leavesmc.leaves.LeavesConfig.modify.flattenTriangularDistribution) { + this.nextFloat(); + return center + maxDeviation * (-1 + this.nextFloat() * 2); + } else { + return center + maxDeviation * (this.nextFloat() - this.nextFloat()); + } } + // Leaves end - flattenTriangularDistribution default void consumeCount(int count) { for (int i = 0; i < count; i++) {