Change Location to store pitch/yaw rather than a directional vector.

This commit is contained in:
sk89q
2014-07-10 15:49:34 -07:00
parent c564278dd6
commit ceec170be9
5 changed files with 110 additions and 101 deletions

View File

@ -22,7 +22,6 @@ package com.sk89q.worldedit.bukkit;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.entity.Entity;
import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.util.Vectors;
import com.sk89q.worldedit.world.World;
import org.bukkit.Bukkit;
@ -76,8 +75,11 @@ final class BukkitAdapter {
public static Location adapt(org.bukkit.Location location) {
checkNotNull(location);
Vector position = BukkitUtil.toVector(location);
Vector direction = Vectors.fromEulerDeg(location.getYaw(), location.getPitch());
return new com.sk89q.worldedit.util.Location(adapt(location.getWorld()), position, direction);
return new com.sk89q.worldedit.util.Location(
adapt(location.getWorld()),
position,
(float) Math.toRadians(location.getYaw()),
(float) Math.toRadians(location.getPitch()));
}
/**

View File

@ -19,23 +19,21 @@
package com.sk89q.worldedit.bukkit;
import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.blocks.BaseBlock;
import com.sk89q.worldedit.entity.BaseEntity;
import com.sk89q.worldedit.util.Vectors;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import com.sk89q.util.StringUtil;
import com.sk89q.worldedit.LocalPlayer;
import com.sk89q.worldedit.LocalWorld;
import com.sk89q.worldedit.ServerInterface;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.WorldVector;
import com.sk89q.worldedit.blocks.BaseBlock;
import com.sk89q.worldedit.entity.BaseEntity;
import com.sk89q.worldedit.extent.inventory.BlockBag;
import com.sk89q.worldedit.internal.cui.CUIEvent;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public class BukkitPlayer extends LocalPlayer {
private Player player;
@ -180,7 +178,10 @@ public class BukkitPlayer extends LocalPlayer {
public com.sk89q.worldedit.util.Location getLocation() {
Location nativeLocation = player.getLocation();
Vector position = BukkitUtil.toVector(nativeLocation);
Vector direction = Vectors.fromEulerDeg(nativeLocation.getYaw(), nativeLocation.getPitch());
return new com.sk89q.worldedit.util.Location(getWorld(), position, direction);
return new com.sk89q.worldedit.util.Location(
getWorld(),
position,
(float) Math.toRadians(nativeLocation.getYaw()),
(float) Math.toRadians(nativeLocation.getPitch()));
}
}