mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 11:42:55 +01:00
1281f4f552
This has been done to ensure that the shifts are not used until the world object is being constructed, which is before the global configuration is initialised. There also isn't any reason for these shifts to be global anyways.
22 lines
1 KiB
Diff
22 lines
1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shane Freeder <theboyetronic@gmail.com>
|
|
Date: Wed, 5 Apr 2023 20:15:47 +0100
|
|
Subject: [PATCH] Prevent GameEvents being fired from unloaded chunks
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
index 412ce6611f88c10fb374fdbae9748cceae689308..c17d8e00cd43f2f969c81be2ee65fab2b8578eae 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
|
@@ -1725,6 +1725,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
|
|
|
@Override
|
|
public void gameEvent(GameEvent event, Vec3 emitterPos, GameEvent.Context emitter) {
|
|
+ // Paper start
|
|
+ if (this.getChunkIfLoadedImmediately((Mth.floor(emitterPos.x) >> 4), (Mth.floor(emitterPos.z) >> 4)) == null) {
|
|
+ return;
|
|
+ }
|
|
+ // Paper end
|
|
this.gameEventDispatcher.post(event, emitterPos, emitter);
|
|
}
|
|
|