Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 33 lines 1.3 kB view raw
1package org.bukkit.event.player; 2 3import net.minecraft.server.EntityPlayer; 4import org.bukkit.Location; 5import org.bukkit.craftbukkit.entity.CraftPlayer; 6import org.bukkit.entity.Player; 7import org.bukkit.event.Event; 8 9/** 10 * Holds information for player teleport events 11 */ 12public class PlayerTeleportEvent extends PlayerMoveEvent { 13 public PlayerTeleportEvent(Player player, Location from, Location to) { 14 super(Type.PLAYER_TELEPORT, player, from, to); 15 blockCrossDimensionDupe(); //Poseidon 16 } 17 18 public PlayerTeleportEvent(final Event.Type type, Player player, Location from, Location to) { 19 super(type, player, from, to); 20 blockCrossDimensionDupe(); //Poseidon 21 } 22 23 //Poseidon - Start 24 private void blockCrossDimensionDupe() { 25 if (this instanceof PlayerPortalEvent || this.getFrom().getWorld() != this.getTo().getWorld()) { 26 EntityPlayer entity = ((CraftPlayer) this.getPlayer()).getHandle(); 27 if (entity.activeContainer == entity.defaultContainer) return; 28 System.out.println("[Poseidon] Force closing " + player.getName() + "'s inventory as they have teleported to a different world. This is to prevent a dupe bug."); 29 entity.y(); 30 } 31 } 32 //Poseidon - End 33}