@@ -0,0 +1,1269 @@
+package fr.aumgn.bukkitutils.geom;%0A%0Aimport java.lang.ref.WeakReference;%0Aimport java.util.UUID;%0A%0Aimport org.bukkit.Bukkit;%0Aimport org.bukkit.Location;%0Aimport org.bukkit.World;%0A%0Apublic class Position %7B%0A%0A    private UUID worldId;%0A    private Vector coord;%0A    private Direction direction;%0A%0A    private WeakReference%3CWorld%3E worldRef;%0A%0A    public Position(Location location) %7B%0A        setWorld(location.getWorld());%0A        setCoord(new Vector(location));%0A        setDirection(Directions.fromLocation(location));%0A    %7D%0A%0A    public World getWorld() %7B%0A        World world = worldRef.get();%0A        if (world == null) %7B%0A            world = Bukkit.getWorld(worldId);%0A            worldRef = new WeakReference%3CWorld%3E(world);%0A        %7D%0A%0A        return world;%0A    %7D%0A%0A    public void setWorld(World world) %7B%0A        worldId = world.getUID();%0A        worldRef = new WeakReference%3CWorld%3E(world);%0A    %7D%0A%0A    public Vector getCoord() %7B%0A        return coord;%0A    %7D%0A%0A    private void setCoord(Vector vector) %7B%0A        coord = vector;%0A    %7D%0A%0A    public Direction getDirection() %7B%0A        return direction;%0A    %7D%0A%0A    public void setDirection(Direction dir) %7B%0A        direction = dir;%0A    %7D%0A%0A    public Location toLocation() %7B%0A        return coord.toLocation(getWorld(), direction);%0A    %7D%0A%7D%0A

Add Position class