Fix items vanishing through end portal (Resolves #2681) (#2894)

hehe
This commit is contained in:
Andrew Mollenkamp 2020-01-23 09:33:28 -06:00 committed by Shane Freeder
parent 74b0ef392b
commit c471490985
No known key found for this signature in database
GPG key ID: A3F61EA5A085289C
3 changed files with 37 additions and 4 deletions

View file

@ -1,4 +1,4 @@
From 7a6bccc3348903a4e0eca83740ac69dcc9e2f8a1 Mon Sep 17 00:00:00 2001
From bae03b911cd1d7c302d1da64f3bea920cc3d17d8 Mon Sep 17 00:00:00 2001
From: kickash32 <kickash32@gmail.com>
Date: Sat, 21 Dec 2019 15:22:09 -0500
Subject: [PATCH] Tracking Range Improvements
@ -8,7 +8,7 @@ Sets tracking range of watermobs to animals instead of misc and simplifies code
Also ignores Enderdragon, defaulting it to Mojang's setting
diff --git a/src/main/java/org/spigotmc/TrackingRange.java b/src/main/java/org/spigotmc/TrackingRange.java
index 6f8e6c1d0..46c33e691 100644
index 6f8e6c1d07..46c33e6917 100644
--- a/src/main/java/org/spigotmc/TrackingRange.java
+++ b/src/main/java/org/spigotmc/TrackingRange.java
@@ -1,6 +1,7 @@
@ -60,5 +60,5 @@ index 6f8e6c1d0..46c33e691 100644
}
}
--
2.25.0.windows.1
2.25.0

View file

@ -1,4 +1,4 @@
From df1d49de0853ff664ca2be4c8fae3dac6bd7e707 Mon Sep 17 00:00:00 2001
From b099812316e7ef71aaa7f30bc94aaab0a74605b2 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Wed, 22 Jan 2020 21:00:21 +0000
Subject: [PATCH] Fix comparator behavior for EntityPhanton goal

View file

@ -0,0 +1,33 @@
From 5d99db6a8e5a48cb45e6853344a4ff7261173d08 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 c1ffd6dc1c..f8461960e0 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