Small fix to LevelPos

This commit is contained in:
Leonardo
2021-08-26 20:17:00 +02:00
parent ab7ed9a4c5
commit afcdce4667
2 changed files with 8 additions and 6 deletions
@@ -265,9 +265,9 @@ public class LevelPos implements Cloneable, ImmutableLevelPos, MutableLevelPos
}
@Override
public int compare(Map.Entry<LevelPos, Integer> first, Map.Entry<LevelPos, Integer> second)
public int compare(LevelPos first, LevelPos second)
{
return Integer.compare(first.getValue(), second.getValue());
return Integer.compare(first.getRegionModuleLevelPos().minDistance(playerPosX,playerPosZ), second.getRegionModuleLevelPos().minDistance(playerPosX,playerPosZ));
}
}
@@ -281,12 +281,14 @@ public class LevelPos implements Cloneable, ImmutableLevelPos, MutableLevelPos
}
@Override
public int compare(Map.Entry<LevelPos, Integer> first, Map.Entry<LevelPos, Integer> second)
public int compare(LevelPos first, LevelPos second)
{
int compareResult = Integer.compare(first.getKey().detailLevel, second.getKey().detailLevel);
int compareResult = Integer.compare(first.detailLevel, second.detailLevel);
if (compareResult != 0)
{
compareResult = Integer.compare(first.getValue(), second.getValue());
compareResult = Integer.compare(
first.getRegionModuleLevelPos().minDistance(playerPosX,playerPosZ),
second.getRegionModuleLevelPos().minDistance(playerPosX,playerPosZ));
}
return compareResult;
}
@@ -203,7 +203,7 @@ public class LodRegion implements Serializable
LevelPos min;
for (int i = 0; i < dataNumber; i++)
{
min = Collections.min(levelPosList, LevelPos.getPosComparator());
min = Collections.min(levelPosList, LevelPos.getPosComparator(playerPosX,playerPosZ));
levelPosList.remove(min);
levelMinPosList.add(min);
}