9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-19 14:59:32 +00:00
Files
LeavesMC/leaves-server/minecraft-patches/features/0066-Optimized-CubePointRange.patch
2025-06-05 17:53:18 +08:00

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
}
}