From 16b99d6dabe248353b65714da755fc31de9ef512 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 31 Dec 2016 21:46:34 -0500 Subject: [PATCH] PlayerTeleportEndGatewayEvent Allows you to access the Gateway being used in a teleport event --- .../0048-PlayerTeleportEndGatewayEvent.patch | 65 +++++++++++++++++++ .../0199-PlayerTeleportEndGatewayEvent.patch | 23 +++++++ 2 files changed, 88 insertions(+) create mode 100644 Spigot-API-Patches/0048-PlayerTeleportEndGatewayEvent.patch create mode 100644 Spigot-Server-Patches/0199-PlayerTeleportEndGatewayEvent.patch diff --git a/Spigot-API-Patches/0048-PlayerTeleportEndGatewayEvent.patch b/Spigot-API-Patches/0048-PlayerTeleportEndGatewayEvent.patch new file mode 100644 index 0000000000..8ef63ac07c --- /dev/null +++ b/Spigot-API-Patches/0048-PlayerTeleportEndGatewayEvent.patch @@ -0,0 +1,65 @@ +From d9236080686e571fbec54783baccfbbcafb22116 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Sat, 31 Dec 2016 20:29:33 -0500 +Subject: [PATCH] PlayerTeleportEndGatewayEvent + +Allows you to access the Gateway being used in a teleport event + +diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerTeleportEndGatewayEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerTeleportEndGatewayEvent.java +new file mode 100644 +index 00000000..8ce7ec5a +--- /dev/null ++++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerTeleportEndGatewayEvent.java +@@ -0,0 +1,49 @@ ++/* ++ * Copyright (c) 2016 Starlis LLC / Daniel Ennis (Aikar) - MIT License ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sublicense, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE ++ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ++ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++package com.destroystokyo.paper.event.player; ++ ++import org.bukkit.Location; ++import org.bukkit.block.EndGateway; ++import org.bukkit.entity.Player; ++import org.bukkit.event.player.PlayerTeleportEvent; ++ ++/** ++ * Fired when a teleport is triggered for an End Gateway ++ */ ++public class PlayerTeleportEndGatewayEvent extends PlayerTeleportEvent { ++ private final EndGateway gateway; ++ ++ public PlayerTeleportEndGatewayEvent(Player player, Location from, Location to, EndGateway gateway) { ++ super(player, from, to, PlayerTeleportEvent.TeleportCause.END_GATEWAY); ++ this.gateway = gateway; ++ } ++ ++ /** ++ * The gateway triggering the teleport ++ * @return ++ */ ++ public EndGateway getGateway() { ++ return gateway; ++ } ++} +-- +2.11.0 + diff --git a/Spigot-Server-Patches/0199-PlayerTeleportEndGatewayEvent.patch b/Spigot-Server-Patches/0199-PlayerTeleportEndGatewayEvent.patch new file mode 100644 index 0000000000..d7d7a02a62 --- /dev/null +++ b/Spigot-Server-Patches/0199-PlayerTeleportEndGatewayEvent.patch @@ -0,0 +1,23 @@ +From 8af53a4303bd5a01d365e62263a5d9a6d736fbc1 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Sat, 31 Dec 2016 21:44:50 -0500 +Subject: [PATCH] PlayerTeleportEndGatewayEvent + +Allows you to access the Gateway being used in a teleport event + +diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java +index 065d0bbfc..678d4dedb 100644 +--- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java ++++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java +@@ -124,7 +124,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick + location.setPitch(player.getLocation().getPitch()); + location.setYaw(player.getLocation().getYaw()); + +- PlayerTeleportEvent teleEvent = new PlayerTeleportEvent(player, player.getLocation(), location, PlayerTeleportEvent.TeleportCause.END_GATEWAY); ++ PlayerTeleportEvent teleEvent = new com.destroystokyo.paper.event.player.PlayerTeleportEndGatewayEvent(player, player.getLocation(), location, new org.bukkit.craftbukkit.block.CraftEndGateway(org.bukkit.Material.END_GATEWAY, this)); // Paper + Bukkit.getPluginManager().callEvent(teleEvent); + if (teleEvent.isCancelled()) { + return; +-- +2.11.0 +