more refactoring

This commit is contained in:
Leonardo
2021-09-20 15:15:10 +02:00
parent 772de1b869
commit ab014af15d
3 changed files with 14 additions and 58 deletions
@@ -366,7 +366,7 @@ public class LodDimension
if (regions[x][z] != null)
{
minDistance = LevelPosUtil.minDistance(LodUtil.REGION_DETAIL_LEVEL, regionX, regionZ, playerPosX, playerPosZ);
detail = DetailDistanceUtil.getDistanceTreeCutInverse(minDistance);
detail = DetailDistanceUtil.getTreeCutDetailFromDistance(minDistance);
levelToCut = DetailDistanceUtil.getCutLodDetail(detail);
if (regions[x][z].getMinDetailLevel() > levelToCut)
{
@@ -415,7 +415,7 @@ public class LodDimension
//We require that the region we are checking is loaded with at least this level
minDistance = LevelPosUtil.minDistance(LodUtil.REGION_DETAIL_LEVEL, regionX, regionZ, playerPosX, playerPosZ);
detail = DetailDistanceUtil.getDistanceTreeGenInverse(minDistance);
detail = DetailDistanceUtil.getTreeGenDetailFromDistance(minDistance);
levelToGen = DetailDistanceUtil.getLodGenDetail(detail).detailLevel;
if (region == null || region.getGenerationMode() != generationMode)
{
@@ -205,7 +205,7 @@ public class LodRegion
int childSize = 1 << (LodUtil.REGION_DETAIL_LEVEL - childDetailLevel);
//we have reached the target detail level
byte targetDetailLevel = DetailDistanceUtil.getLodGenDetail(DetailDistanceUtil.getDistanceGenerationInverse(maxDistance)).detailLevel;
byte targetDetailLevel = DetailDistanceUtil.getLodGenDetail(DetailDistanceUtil.getGenerationDetailFromDistance(maxDistance)).detailLevel;
if (targetDetailLevel > detailLevel)
{
return;
@@ -283,7 +283,7 @@ public class LodRegion
//This is important to avoid any kind of hole in the rendering
int maxDistance = LevelPosUtil.maxDistance(detailLevel, posX, posZ, playerPosX, playerPosZ, regionPosX, regionPosZ);
byte supposedLevel = DetailDistanceUtil.getLodDrawDetail(DetailDistanceUtil.getDistanceRenderingInverse(maxDistance));
byte supposedLevel = DetailDistanceUtil.getLodDrawDetail(DetailDistanceUtil.getDrawDetailFromDistance(maxDistance));
if (supposedLevel > detailLevel)
return;
else if (supposedLevel == detailLevel)
@@ -3,8 +3,6 @@ package com.seibel.lod.util;
import com.seibel.lod.config.LodConfig;
import com.seibel.lod.enums.DistanceGenerationMode;
import com.seibel.lod.enums.LodResolution;
import com.seibel.lod.objects.RegionPos;
import com.seibel.lod.wrappers.MinecraftWrapper;
public class DetailDistanceUtil
{
@@ -32,18 +30,6 @@ public class DetailDistanceUtil
1,
1,};
/*private static int[] maxVerticalData = {
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8};*/
private static LodResolution[] lodGenDetails = {
LodResolution.BLOCK,
@@ -66,7 +52,7 @@ public class DetailDistanceUtil
maxDistance = LodConfig.CLIENT.graphics.lodChunkRenderDistance.get() * 16 * 2;
}
public static int getDistanceRendering(int detail)
public static int baseDistanceFunction(int detail)
{
int initial;
int distance = 0;
@@ -88,7 +74,7 @@ public class DetailDistanceUtil
return distance;
}
public static byte baseInverse(int distance, int minDetail)
public static byte baseInverseFunction(int distance, int minDetail)
{
int initial;
byte detail = 0;
@@ -110,46 +96,25 @@ public class DetailDistanceUtil
return (byte) Math.min(detail, LodUtil.REGION_DETAIL_LEVEL);
}
public static byte getDistanceRenderingInverse(int distance)
public static byte getDrawDetailFromDistance(int distance)
{
return baseInverse(distance, minDrawDetail);
return baseInverseFunction(distance, minDrawDetail);
}
public static byte getDistanceGenerationInverse(int distance)
public static byte getGenerationDetailFromDistance(int distance)
{
return baseInverse((int) (distance * genMultiplier), minGenDetail);
return baseInverseFunction((int) (distance * genMultiplier), minGenDetail);
}
public static byte getDistanceTreeCutInverse(int distance)
public static byte getTreeCutDetailFromDistance(int distance)
{
return baseInverse((int) (distance * treeCutMultiplier), minGenDetail);
return baseInverseFunction((int) (distance * treeCutMultiplier), minGenDetail);
}
public static byte getDistanceTreeGenInverse(int distance)
public static byte getTreeGenDetailFromDistance(int distance)
{
return baseInverse((int) (distance * treeGenMultiplier), minGenDetail);
}
public static int getDistanceGeneration(int detail)
{
if (detail == maxDetail)
return maxDistance;
return (int) (getDistanceRendering(detail) * genMultiplier);
}
public static int getDistanceTreeCut(int detail)
{
if (detail == maxDetail)
return maxDistance;
return (int) (getDistanceRendering(detail) * treeCutMultiplier);
}
public static int getDistanceTreeGen(int detail)
{
if (detail == maxDetail)
return maxDistance;
return (int) (getDistanceRendering(detail) * treeGenMultiplier);
return baseInverseFunction((int) (distance * treeGenMultiplier), minGenDetail);
}
public static DistanceGenerationMode getDistanceGenerationMode(int detail)
@@ -199,13 +164,4 @@ public class DetailDistanceUtil
return maxVerticalData[LodUtil.clamp(minGenDetail, detail, LodUtil.REGION_DETAIL_LEVEL)];
}
public static boolean regionInView(int playerPosX, int playerPosY, int playerPosZ, int xRot, int yRot, int fov, RegionPos regionPos)
{
//System.out.println(Math.floorMod((int) mc.player.xRot,360) + " " + Math.floorMod((int) mc.player.yRot,360) + " " + mc.options.fov);
//System.out.println(mc.player.xRotO + " " + mc.player.yRotO);
//mc.options.fov;
return false;
}
}