mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
* feat: remove some features(#724) * feat: remove some features(#724) * merge master * fix
48 lines
2.0 KiB
Diff
48 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
Date: Thu, 20 Jul 2023 20:22:47 +0800
|
|
Subject: [PATCH] Optimized CubePointRange
|
|
|
|
This patch is Powered by Gale(https://github.com/GaleMC/Gale)
|
|
|
|
diff --git a/net/minecraft/world/phys/shapes/CubePointRange.java b/net/minecraft/world/phys/shapes/CubePointRange.java
|
|
index 62aea61c5f240aa59b8489dd0bbb3d1b69b54b1c..b8e06a2d7f3a42a1cec1c87b950242acda54b214 100644
|
|
--- a/net/minecraft/world/phys/shapes/CubePointRange.java
|
|
+++ b/net/minecraft/world/phys/shapes/CubePointRange.java
|
|
@@ -3,23 +3,33 @@ package net.minecraft.world.phys.shapes;
|
|
import it.unimi.dsi.fastutil.doubles.AbstractDoubleList;
|
|
|
|
public class CubePointRange extends AbstractDoubleList {
|
|
+ private final int size; // Leaves - replace parts by size in CubePointRange
|
|
private final int parts;
|
|
+ private final double scale; // Leaves - replace division by multiplication in CubePointRange
|
|
|
|
public CubePointRange(int parts) {
|
|
if (parts <= 0) {
|
|
throw new IllegalArgumentException("Need at least 1 part");
|
|
} else {
|
|
this.parts = parts;
|
|
+ this.size = parts + 1;
|
|
}
|
|
+ this.scale = 1.0D / parts; // Leaves - replace division by multiplication in CubePointRange
|
|
}
|
|
|
|
@Override
|
|
public double getDouble(int value) {
|
|
- return (double)value / this.parts;
|
|
+ // Leaves start - replace division by multiplication in CubePointRange
|
|
+ if (!org.leavesmc.leaves.LeavesConfig.performance.optimizedCubePointRange) {
|
|
+ return (double)value / (double)this.parts;
|
|
+ } else {
|
|
+ return value * this.scale;
|
|
+ }
|
|
+ // Leaves start - replace division by multiplication in CubePointRange
|
|
}
|
|
|
|
@Override
|
|
public int size() {
|
|
- return this.parts + 1;
|
|
+ return !org.leavesmc.leaves.LeavesConfig.performance.optimizedCubePointRange ? this.parts + 1 : size; // Leaves - replace parts by size in CubePointRange
|
|
}
|
|
}
|