Fix getBlockStateIfLoaded world bounds check

Closes #8922
This commit is contained in:
Nassim Jahnke 2023-02-28 12:27:38 +01:00
parent 08e6622b81
commit 4ae202eb82
No known key found for this signature in database
GPG key ID: 6BE3B555EBC5982B
20 changed files with 63 additions and 62 deletions

View file

@ -15940,7 +15940,7 @@ index fdb7314784a2232a96a9ccdb049bd240e1cc9b06..8ef64f5192500f87f514c42432c0d5c8
StringReader stringreader = new StringReader(packet.getCommand());
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 257b13703166bf953c73c83db8982b412ca96565..da36a7342c5ef34af9ea4330e6cee2880d8d4dc8 100644
index 5f8498ac372a34549519264f612e7554addb41d9..8a75650f1e1b8a223723ece379beab0eb8f17ce9 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -251,7 +251,7 @@ public abstract class PlayerList {
@ -16477,10 +16477,10 @@ index 127c4ebedb94631ceac92dbdcd465e904217d715..be6e3e21ad62da01e5e2dd78e300cbc8
<T extends Entity> List<T> getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 0640df782cff1aec27e1915f726c89275edeec69..bcbbb266302cbd1ac3b0b42fac58d09737357dd3 100644
index ddb876d9494fa72ba2cb49dbfb8d5e61410d1d2a..5ed57b1156b1f358fb7d1d876becfc06f47ffe3b 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -453,6 +453,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -454,6 +454,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
if ((i & 2) != 0 && (!this.isClientSide || (i & 4) == 0) && (this.isClientSide || chunk == null || (chunk.getFullStatus() != null && chunk.getFullStatus().isOrAfter(ChunkHolder.FullChunkStatus.TICKING)))) { // allow chunk to be null here as chunk.isReady() is false when we send our notification during block placement
this.sendBlockUpdated(blockposition, iblockdata1, iblockdata, i);
@ -16492,7 +16492,7 @@ index 0640df782cff1aec27e1915f726c89275edeec69..bcbbb266302cbd1ac3b0b42fac58d097
}
if ((i & 1) != 0) {
@@ -805,7 +810,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -806,7 +811,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return this.capturedTileEntities.get(blockposition);
}
// CraftBukkit end
@ -16501,7 +16501,7 @@ index 0640df782cff1aec27e1915f726c89275edeec69..bcbbb266302cbd1ac3b0b42fac58d097
}
public void setBlockEntity(BlockEntity blockEntity) {
@@ -896,26 +901,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -897,26 +902,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
this.getProfiler().incrementCounter("getEntities");
List<Entity> list = Lists.newArrayList();
@ -16529,7 +16529,7 @@ index 0640df782cff1aec27e1915f726c89275edeec69..bcbbb266302cbd1ac3b0b42fac58d097
return list;
}
@@ -933,34 +919,23 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -934,34 +920,23 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate, List<? super T> result, int limit) {
this.getProfiler().incrementCounter("getEntities");
@ -16580,7 +16580,7 @@ index 0640df782cff1aec27e1915f726c89275edeec69..bcbbb266302cbd1ac3b0b42fac58d097
}
@Nullable
@@ -1293,4 +1268,45 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1294,4 +1269,45 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
private ExplosionInteraction() {}
}