mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 22:45:31 +01:00
8fd4e70db7
This is done by returning the center location of the chunk at the height of the input location when the target chunk isn't loaded already which is exact enough for most use cases and will get more precise once the player is close enough for the chunk being loaded anyways. As this might lead to less precise locations a config option to enable the sync loading of the chunks is provided.
40 lines
2.2 KiB
Diff
40 lines
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: lukas81298 <lukas81298@gommehd.net>
|
|
Date: Mon, 25 Jan 2021 14:37:57 +0100
|
|
Subject: [PATCH] added option to disable pathfinding updates on block changes
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index cfe617e1a08b9c6e6c12bfe89bc9effd819eaff1..f1d384d2e235c52a00f4b6d5643ef3c1d163e94b 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -801,4 +801,9 @@ public class PaperWorldConfig {
|
|
private void enderDragonsDeathAlwaysPlacesDragonEgg() {
|
|
enderDragonsDeathAlwaysPlacesDragonEgg = getBoolean("ender-dragons-death-always-places-dragon-egg", enderDragonsDeathAlwaysPlacesDragonEgg);
|
|
}
|
|
+
|
|
+ public boolean updatePathfindingOnBlockUpdate = true;
|
|
+ private void setUpdatePathfindingOnBlockUpdate() {
|
|
+ updatePathfindingOnBlockUpdate = getBoolean("update-pathfinding-on-block-update", this.updatePathfindingOnBlockUpdate);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
|
index 9720f60d6a58df5f5a9b2c92e2209537aab7f010..fd204ab68d8245503c0a8c4e7ce1a0a6bac7d138 100644
|
|
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
|
@@ -1684,6 +1684,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
@Override
|
|
public void notify(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1, int i) {
|
|
this.getChunkProvider().flagDirty(blockposition);
|
|
+ if(this.paperConfig.updatePathfindingOnBlockUpdate) { // Paper - option to disable pathfinding updates
|
|
VoxelShape voxelshape = iblockdata.getCollisionShape(this, blockposition);
|
|
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
|
|
|
|
@@ -1712,6 +1713,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
|
|
this.tickingEntities = wasTicking; // Paper
|
|
}
|
|
+ } // Paper
|
|
}
|
|
|
|
@Override
|