Skip to content

Commit

Permalink
Fix portal position + keep velocity after TP
Browse files Browse the repository at this point in the history
  • Loading branch information
DocSystem committed Oct 21, 2022
1 parent b333bb3 commit af5d2fb
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions src/main/java/fr/efreicraft/eclobby/listeners/AdminPortal.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.util.Vector;

import static fr.efreicraft.eclobby.Main.INSTANCE;

public class AdminPortal implements Listener {
@EventHandler
Expand All @@ -12,8 +15,15 @@ public void onGoToPortal(PlayerMoveEvent event) {
double x = loc.getX();
double y = loc.getY();
double z = loc.getZ();
if (x >= -41.5 && y >= 52.0 && y <= 57.0 && z >= -0.7 && z <= 1.7) {
event.getPlayer().teleport(new Location(event.getPlayer().getWorld(), -12.5, 50, 0.5, -90, 0));
float yaw = loc.getYaw();
float pitch = loc.getPitch();
Vector velocity = event.getPlayer().getVelocity().clone();
if (x >= -42 && x <= -41 && y >= 52.0 && y <= 57.0 && z >= -0.7 && z <= 1.7) {
if (yaw >= 0 && yaw <= 180) {
yaw -= 180;
}
event.getPlayer().teleport(new Location(event.getPlayer().getWorld(), -12.5, y-1, 0.5, yaw, pitch));
INSTANCE.getServer().getScheduler().runTaskLater(INSTANCE, () -> event.getPlayer().setVelocity(velocity), 1L);
}
}
}

0 comments on commit af5d2fb

Please sign in to comment.