Dieser Commit ist enthalten in:
Ursprung
ecf855a256
Commit
d48185a57f
@ -25,7 +25,6 @@ import de.steamwar.lobby.listener.Portals;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
import org.bukkit.util.Vector;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -61,13 +60,13 @@ public class TeleportPortal implements PortalHandler {
|
|||||||
public void handle(Player player, Location from, Location to) {
|
public void handle(Player player, Location from, Location to) {
|
||||||
Deque<Portal> stack = Portals.getStack(player);
|
Deque<Portal> stack = Portals.getStack(player);
|
||||||
if(!stack.isEmpty() && sources.contains(stack.peek().getHandler())) {
|
if(!stack.isEmpty() && sources.contains(stack.peek().getHandler())) {
|
||||||
teleport(player, to, stack.pop());
|
teleport(player, from, to, stack.pop());
|
||||||
} else {
|
} else {
|
||||||
teleport(player, to, Portal.getPortal(target));
|
teleport(player, from, to, Portal.getPortal(target));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void teleport(Player player, Location to, Portal target) {
|
private void teleport(Player player, Location from, Location to, Portal target) {
|
||||||
if(target == null) {
|
if(target == null) {
|
||||||
LobbySystem.getPlugin().getLogger().log(Level.WARNING, "Portal with unknown target: " + portal.getId());
|
LobbySystem.getPlugin().getLogger().log(Level.WARNING, "Portal with unknown target: " + portal.getId());
|
||||||
player.sendMessage("§cAus unbekannten Gründen führt dieses Portal zurzeit in den Limbus");
|
player.sendMessage("§cAus unbekannten Gründen führt dieses Portal zurzeit in den Limbus");
|
||||||
@ -76,8 +75,7 @@ public class TeleportPortal implements PortalHandler {
|
|||||||
if(ModifyCommand.modifying(player))
|
if(ModifyCommand.modifying(player))
|
||||||
player.sendMessage("teleport " + portal.getId() + " -> " + target.getId());
|
player.sendMessage("teleport " + portal.getId() + " -> " + target.getId());
|
||||||
|
|
||||||
Vector normalized = portal.normalize(to);
|
player.teleport(target.denormalize(portal.normalize(to).setX(1 - portal.normalize(from).getX())).toLocation(to.getWorld(), (float) (to.getYaw() - Math.toDegrees(target.getYrotation() - portal.getYrotation())), to.getPitch()), PlayerTeleportEvent.TeleportCause.PLUGIN);
|
||||||
player.teleport(target.denormalize(normalized.setX(1 - normalized.getX())).toLocation(to.getWorld(), (float) (to.getYaw() - Math.toDegrees(target.getYrotation() - portal.getYrotation())), to.getPitch()), PlayerTeleportEvent.TeleportCause.PLUGIN);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren