mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-02 17:32:03 +01:00
6b3f3d8d8c
If a sync load was triggered, it would process pending join events, causing them to be added to the world in the middle of the entity ticking process. This caused their add to be queued instead of immediate, causing "Illegal Tracking" errors. This schedules it to fire at the players next Connection Tick, which is exactly where this entire process use to run anyways. Also added missing tab complete and syntax for syncloadinfo debug command
43 lines
No EOL
2.2 KiB
Diff
43 lines
No EOL
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: chickeneer <emcchickeneer@gmail.com>
|
|
Date: Tue, 17 Mar 2020 14:18:50 -0500
|
|
Subject: [PATCH] Do not allow bees to load chunks for beehives
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java
|
|
index c7d79efdf6..dd1d246aeb 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityBee.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityBee.java
|
|
@@ -0,0 +0,0 @@ public class EntityBee extends EntityAnimal implements EntityBird {
|
|
if (this.hivePos == null) {
|
|
return false;
|
|
} else {
|
|
+ if (!this.world.isLoadedAndInBounds(hivePos)) return false; // Paper
|
|
TileEntity tileentity = this.world.getTileEntity(this.hivePos);
|
|
|
|
return tileentity instanceof TileEntityBeehive && ((TileEntityBeehive) tileentity).d();
|
|
@@ -0,0 +0,0 @@ public class EntityBee extends EntityAnimal implements EntityBird {
|
|
}
|
|
|
|
private boolean i(BlockPosition blockposition) {
|
|
+ if (!this.world.isLoadedAndInBounds(blockposition)) return false; // Paper
|
|
TileEntity tileentity = this.world.getTileEntity(blockposition);
|
|
|
|
return tileentity instanceof TileEntityBeehive ? !((TileEntityBeehive) tileentity).isFull() : false;
|
|
@@ -0,0 +0,0 @@ public class EntityBee extends EntityAnimal implements EntityBird {
|
|
@Override
|
|
public boolean g() {
|
|
if (EntityBee.this.hasHivePos() && EntityBee.this.eI() && EntityBee.this.hivePos.a((IPosition) EntityBee.this.getPositionVector(), 2.0D)) {
|
|
+ if (!EntityBee.this.world.isLoadedAndInBounds(EntityBee.this.hivePos)) return false; // Paper
|
|
TileEntity tileentity = EntityBee.this.world.getTileEntity(EntityBee.this.hivePos);
|
|
|
|
if (tileentity instanceof TileEntityBeehive) {
|
|
@@ -0,0 +0,0 @@ public class EntityBee extends EntityAnimal implements EntityBird {
|
|
|
|
@Override
|
|
public void c() {
|
|
+ if (!EntityBee.this.world.isLoadedAndInBounds(EntityBee.this.hivePos)) return; // Paper
|
|
TileEntity tileentity = EntityBee.this.world.getTileEntity(EntityBee.this.hivePos);
|
|
|
|
if (tileentity instanceof TileEntityBeehive) {
|
|
--
|