Add some more utility functions

This commit is contained in:
zontreck 2024-04-07 19:50:32 -07:00
parent ed9d9bd249
commit a4da2bb52b
10 changed files with 164 additions and 47 deletions

View file

@ -2,8 +2,10 @@ package dev.zontreck.libzontreck.util;
import dev.zontreck.libzontreck.api.Vector3;
import dev.zontreck.libzontreck.vectors.Vector3d;
import dev.zontreck.libzontreck.vectors.Vector3i;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
@ -112,4 +114,43 @@ public class PositionUtil
}
public List<Vector3> sortAscending(List<Vector3> vecs)
{
List<Vector3> copy = new ArrayList<>(vecs);
List<Vector3> sorted = new ArrayList<>();
while(copy.size()>0)
{
Vector3 lowest = findFirstLowestPosition(copy);
copy.remove(lowest);
sorted.add(lowest);
}
return sorted;
}
public static Vector3 findFirstLowestPosition(List<Vector3> vecs)
{
Vector3i lowest = new Vector3i(0, 500, 0);
List<Vector3> copy = new ArrayList<>(vecs);
Iterator<Vector3> it = copy.iterator();
while(it.hasNext())
{
Vector3i entry = it.next().asVector3i();
if(entry.y < lowest.y)
{
lowest = entry;
it.remove();
}else it.remove();
}
return lowest;
}
}