9946cef8c5
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: f52c70ab Fix incorrect nullability in MultipleFacing 6af4c0b2 SPIGOT-5311: Add API to get/set item associated with throwable projectiles 97aeae56 Add set/isAware to disable Vanilla AI components of a Mob CraftBukkit Changes: fba9f487 Improve legacy conversion of some materials that changed post flattening b1ba8749 Move Bukkit.Aware loading/saving to correct location f7cdb53c SPIGOT-5311: Add API to get/set item associated with throwable projectiles 689f429c #634: Cross platform patch scripts ab85433d Add set/isAware to disable Vanilla AI components of a Mob Spigot Changes: 8faa8b45 Rebuild patches
33 lines
1.7 KiB
Diff
33 lines
1.7 KiB
Diff
From 2b30fb352322421afc2a38a0db9985631a17d6f4 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 659591e028..6e41a55065 100644
|
|
--- a/src/main/java/net/minecraft/server/Entity.java
|
|
+++ b/src/main/java/net/minecraft/server/Entity.java
|
|
@@ -2599,6 +2599,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
|
|
|
if (blockposition == null) { // CraftBukkit
|
|
if (dimensionmanager1.getType() == DimensionManager.THE_END && dimensionmanager == DimensionManager.OVERWORLD) { // CraftBukkit
|
|
+ // Paper start - Ensure spawn chunk is always loaded before calculating Y coordinate
|
|
+ if (!worldserver1.isLoaded(worldserver1.getSpawn())) {
|
|
+ worldserver1.getChunkAtWorldCoords(worldserver1.getSpawn());
|
|
+ }
|
|
+ // Paper end
|
|
// CraftBukkit start
|
|
EntityPortalEvent event = CraftEventFactory.callEntityPortalEvent(this, worldserver1, worldserver1.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING_NO_LEAVES, worldserver1.getSpawn()), 0);
|
|
if (event == null) {
|
|
--
|
|
2.25.0
|
|
|