ab347c4c96
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 42d5a714 SPIGOT-5899: Hoglins API similar to Piglins 2c1ee10e SPIGOT-5887: ClickType doesn't include off hand swaps 5ff7c7ce SPIGOT-5886: Missing BlockData CraftBukkit Changes: 7560f5f5 SPIGOT-5905: Fix hex colours not being allowed in MOTD d47c47ee SPIGOT-5889: Villager using composter should call EntityChangeBlockEvent 2fe6b4a3 SPIGOT-5899: Hoglins API similar to Piglins e09dbeca SPIGOT-5887: ClickType doesn't include off hand swaps 23aac2a5 SPIGOT-5903: EntityDismountEvent cannot be triggered asynchronously 92cbf656 SPIGOT-5884: Tab completions lost on reloadData / minecraft:reload fb4e54ad SPIGOT-5902: PlayerRespawnEvent places player at spawn before event is called aa8f3d5a SPIGOT-5901: Structures are generated in all worlds based on the setting for the main world a0c35937 SPIGOT-5895: PlayerChangedWorldEvent#getFrom is incorrect 89c0a5c3 SPIGOT-5886: Missing BlockData Spigot Changes: 0287a20d SPIGOT-5903: EntityDismountEvent cannot be triggered asynchronously
28 lines
1.7 KiB
Diff
28 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: AJMFactsheets <AJMFactsheets@gmail.com>
|
|
Date: Wed, 22 Jan 2020 19:52:28 -0600
|
|
Subject: [PATCH] Fix items vanishing through end portal
|
|
|
|
If the Paper configuration option "keep-spawn-loaded" is set to false,
|
|
items entering the overworld from the end will spawn at Y = 0.
|
|
|
|
This is due to logic in the getHighestBlockYAt method in World.java
|
|
only searching the heightmap if the chunk is loaded.
|
|
|
|
Quickly loading the exact world spawn chunk before searching the
|
|
heightmap resolves the issue without having to load all spawn chunks.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
|
index 067765981afda04959313fc5371e6da9d7564f1a..39a7b8743a0612f818cda3796b5f6ae1137a7eee 100644
|
|
--- a/src/main/java/net/minecraft/server/Entity.java
|
|
+++ b/src/main/java/net/minecraft/server/Entity.java
|
|
@@ -2537,6 +2537,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
|
|
|
if (blockposition == null) { // CraftBukkit
|
|
if (this.world.getTypeKey() == DimensionManager.THE_END && worldserver.getTypeKey() == DimensionManager.OVERWORLD) { // CraftBukkit
|
|
+ // Paper start - Ensure spawn chunk is always loaded before calculating Y coordinate
|
|
+ this.world.getChunkAtWorldCoords(this.world.getSpawn());
|
|
+ // Paper end
|
|
// CraftBukkit start
|
|
EntityPortalEvent event = CraftEventFactory.callEntityPortalEvent(this, worldserver, worldserver.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING_NO_LEAVES, worldserver.getSpawn()), 0);
|
|
if (event == null) {
|