package tv.mineinthebox.essentials.events.customevents;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
public class CallChunkMoveEvent implements Listener {
@EventHandler
public void move(PlayerMoveEvent e) {
if(e.getFrom().getBlockX() == e.getTo().getBlockX() && e.getFrom().getBlockZ() == e.getTo().getBlockZ()) {
return;
} else if(e.getFrom().getChunk().getX() != e.getTo().getChunk().getX() && e.getFrom().getX() > e.getTo().getX()) {
Location getToCenteredChunk = new Location(e.getPlayer().getWorld(), (e.getTo().getX()-8), e.getTo().getY(), e.getTo().getZ());
Location getFromCenteredChunk = new Location(e.getPlayer().getWorld(), (e.getFrom().getX()+8), e.getFrom().getY(), e.getFrom().getZ());
Bukkit.getPluginManager().callEvent(new PlayerChunkMoveEvent(e.getPlayer(), getToCenteredChunk, getFromCenteredChunk,e));
} else if(e.getFrom().getChunk().getZ() != e.getTo().getChunk().getZ() && e.getFrom().getZ() > e.getTo().getZ()) {
Location getToCenteredChunk = new Location(e.getPlayer().getWorld(), e.getTo().getX(), e.getTo().getY(), (e.getTo().getZ()-8));
Location getFromCenteredChunk = new Location(e.getPlayer().getWorld(), e.getFrom().getX(), e.getFrom().getY(), (e.getFrom().getZ()+8));
Bukkit.getPluginManager().callEvent(new PlayerChunkMoveEvent(e.getPlayer(), getToCenteredChunk, getFromCenteredChunk,e));
} else if(e.getFrom().getChunk().getX() != e.getTo().getChunk().getX() && e.getFrom().getX() < e.getTo().getX()) {
Location getToCenteredChunk = new Location(e.getPlayer().getWorld(), (e.getTo().getX()+8), e.getTo().getY(), e.getTo().getZ());
Location getFromCenteredChunk = new Location(e.getPlayer().getWorld(), (e.getFrom().getX()-8), e.getFrom().getY(), e.getFrom().getZ());
Bukkit.getPluginManager().callEvent(new PlayerChunkMoveEvent(e.getPlayer(), getToCenteredChunk, getFromCenteredChunk,e));
} else if(e.getFrom().getChunk().getZ() != e.getTo().getChunk().getZ() && e.getFrom().getZ() < e.getTo().getZ()) {
Location getToCenteredChunk = new Location(e.getPlayer().getWorld(), e.getTo().getX(), e.getTo().getY(), (e.getTo().getZ()+8));
Location getFromCenteredChunk = new Location(e.getPlayer().getWorld(), e.getFrom().getX(), e.getFrom().getY(), (e.getFrom().getZ()-8));
Bukkit.getPluginManager().callEvent(new PlayerChunkMoveEvent(e.getPlayer(), getToCenteredChunk, getFromCenteredChunk,e));
}
}
}