Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-16 03:20:07 +01:00
89d51d5f29
Because this exploit has been widely known for years and has not been fixed by Mojang, we decided that it was worth allowing people to toggle it on/off due to how easy it is to make it configurable. It should be noted that this decision does not promise all future exploits will be configurable.
29 Zeilen
1.8 KiB
Diff
29 Zeilen
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
|
Date: Sat, 25 Apr 2020 17:10:55 -0700
|
|
Subject: [PATCH] Reduce blockpos allocation from pathfinding
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
|
|
index dbb6a7d950b1a6f58a845b4d399ead6eb6d4fe14..70c7c735fdd0c1b66243915622e47eab8a57e7cc 100644
|
|
--- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
|
|
+++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
|
|
@@ -479,7 +479,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
|
|
return BlockPathTypes.DANGER_FIRE;
|
|
}
|
|
|
|
- if (world.getFluidState(pos).is(FluidTags.WATER)) {
|
|
+ if (blockState.getFluidState().is(FluidTags.WATER)) { // Paper - Perf: Reduce blockpos allocation from pathfinding
|
|
return BlockPathTypes.WATER_BORDER;
|
|
}
|
|
|
|
@@ -510,7 +510,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
|
|
} else if (blockState.is(Blocks.COCOA)) {
|
|
return BlockPathTypes.COCOA;
|
|
} else if (!blockState.is(Blocks.WITHER_ROSE) && !blockState.is(Blocks.POINTED_DRIPSTONE)) {
|
|
- FluidState fluidState = world.getFluidState(pos);
|
|
+ FluidState fluidState = blockState.getFluidState(); // Paper - Perf: Reduce blockpos allocation from pathfinding
|
|
if (fluidState.is(FluidTags.LAVA)) {
|
|
return BlockPathTypes.LAVA;
|
|
} else if (isBurningBlock(blockState)) {
|