001package fr.aumgn.bukkitutils.geom; 002 003import org.bukkit.Location; 004import org.bukkit.entity.Entity; 005 006import fr.aumgn.bukkitutils.geom.direction.HorizontalDirection; 007import fr.aumgn.bukkitutils.geom.direction.LocationDirection; 008 009/** 010 * Set of convenient methods to construct Direction 011 * from other direction representations. 012 */ 013public final class Directions { 014 015 public static Direction fromLocation(Location location) { 016 return new LocationDirection(location); 017 } 018 019 public static Direction fromHorizontalLocation(Location location) { 020 return new HorizontalDirection(location.getYaw()); 021 } 022 023 public static Direction fromEntity(Entity entity) { 024 return fromLocation(entity.getLocation()); 025 } 026 027 public static Direction fromPlayer(Entity entity) { 028 return fromLocation(entity.getLocation()); 029 } 030 031 public static Direction fromYawAndPitch(float yaw, float pitch) { 032 return new LocationDirection(yaw, pitch); 033 } 034 035 public static Direction fromYaw(float yaw) { 036 return new HorizontalDirection(yaw); 037 } 038 039 private Directions() { 040 } 041}