mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
--------- Co-authored-by: violetc <58360096+s-yh-china@users.noreply.github.com> Co-authored-by: Fortern <blueten.ki@gmail.com> Co-authored-by: MC_XiaoHei <xor7xiaohei@gmail.com> Co-authored-by: Helvetica Volubi <88063803+Suisuroru@users.noreply.github.com> Co-authored-by: MC_XiaoHei <xiaohei.xor7@outlook.com>
40 lines
1.6 KiB
Diff
40 lines
1.6 KiB
Diff
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 8516d47b0ba79d91638837199e7ae0fb6cb44a79..49a70e860eafdeca28ca3684a75bd3c8c4668b9c 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 min, double max) {
|
|
- return min + max * (this.nextDouble() - this.nextDouble());
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.flattenTriangularDistribution) {
|
|
+ this.nextDouble();
|
|
+ return min + max * (-1 + this.nextDouble() * 2);
|
|
+ } else {
|
|
+ return min + max * (this.nextDouble() - this.nextDouble());
|
|
+ }
|
|
}
|
|
|
|
default float triangle(float min, float max) {
|
|
- return min + max * (this.nextFloat() - this.nextFloat());
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.flattenTriangularDistribution) {
|
|
+ this.nextFloat();
|
|
+ return min + max * (-1 + this.nextFloat() * 2);
|
|
+ } else {
|
|
+ return min + max * (this.nextFloat() - this.nextFloat());
|
|
+ }
|
|
}
|
|
+ // Leaves end - flattenTriangularDistribution
|
|
|
|
default void consumeCount(int count) {
|
|
for (int i = 0; i < count; i++) {
|