mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 20:21:51 +01:00
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 flatteningb1ba8749
Move Bukkit.Aware loading/saving to correct locationf7cdb53c
SPIGOT-5311: Add API to get/set item associated with throwable projectiles689f429c
#634: Cross platform patch scriptsab85433d
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
|
|
|