Commits

md_5 authored 7c03d257dda
SPIGOT-6011: End Gateways do not work on Non-Main End Worlds
No tags

nms-patches/TileEntityEndGateway.patch

Modified
6 6 import org.apache.logging.log4j.Logger;
7 7 +// CraftBukkit start
8 8 +import org.bukkit.Bukkit;
9 9 +import org.bukkit.Location;
10 10 +import org.bukkit.craftbukkit.entity.CraftPlayer;
11 11 +import org.bukkit.event.player.PlayerTeleportEvent;
12 12 +// CraftBukkit end
13 13
14 14 public class TileEntityEndGateway extends TileEntityEnderPortal implements ITickable {
15 15
16 +@@ -113,7 +119,7 @@
17 + public void a(Entity entity) {
18 + if (this.world instanceof WorldServer && !this.f()) {
19 + this.c = 100;
20 +- if (this.exitPortal == null && this.world.getDimensionKey() == World.THE_END) {
21 ++ if (this.exitPortal == null && this.world.getTypeKey() == DimensionManager.THE_END) { // CraftBukkit - work in alternate worlds
22 + this.a((WorldServer) this.world);
23 + }
24 +
16 25 @@ -138,6 +144,26 @@
17 26 entity1 = entity.getRootVehicle();
18 27 }
19 28
20 29 + // CraftBukkit start - Fire PlayerTeleportEvent
21 30 + if (entity1 instanceof EntityPlayer) {
22 31 + org.bukkit.craftbukkit.entity.CraftPlayer player = (CraftPlayer) entity1.getBukkitEntity();
23 32 + org.bukkit.Location location = new Location(world.getWorld(), (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D);
24 33 + location.setPitch(player.getLocation().getPitch());
25 34 + location.setYaw(player.getLocation().getYaw());

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut