fixed a small bug

This commit is contained in:
Leonardo
2021-09-19 23:58:24 +02:00
parent c7bf60b4e0
commit ee1657a798
4 changed files with 23 additions and 9 deletions
@@ -360,7 +360,7 @@ public class LodBufferBuilder
for (int verticalIndex = 0; verticalIndex < lodDim.getMaxVerticalData(detailLevel, posX, posZ); verticalIndex++)
{
data = lodDim.getData(detailLevel, posX, posZ, verticalIndex);
if (DataPointUtil.isItVoid(data) || DataPointUtil.doesItExist(data))
if (DataPointUtil.isItVoid(data) || !DataPointUtil.doesItExist(data))
break;
LodConfig.CLIENT.graphics.lodTemplate.get().template.addLodToBuffer(currentBuffer, playerBlockPosRounded, data, adjData,
detailLevel, posX, posZ, boxCache[xR][zR], renderer.previousDebugMode, renderer.lightMap);
@@ -241,13 +241,13 @@ public class LodBuilder
case MULTI_LOD:
long[] dataToMergeVertical;
dataToMergeVertical = createVerticalDataToMerge(detail, chunk, config, startX, startZ, endX, endZ);
data = DataPointUtil.mergeMultiData(dataToMergeVertical, detailLevel);
data = DataPointUtil.mergeMultiData(dataToMergeVertical, DataPointUtil.WORLD_HEIGHT, DetailDistanceUtil.getMaxVerticalData(detailLevel));
if (data.length == 0 || data == null)
data = new long[]{DataPointUtil.EMPTY_DATA};
//lodDim.clear(detailLevel, posX, posZ);
for (int verticalIndex = 0; (verticalIndex < data.length) && (verticalIndex < lodDim.getMaxVerticalData(detailLevel, posX, posZ)); verticalIndex++)
{
lodDim.addData(detailLevel,
boolean test = lodDim.addData(detailLevel,
posX,
posZ,
verticalIndex,
@@ -258,7 +258,6 @@ public class LodBuilder
posX,
posZ,
verticalIndex);
System.out.println(DataPointUtil.toString(dataTest));
}
break;
@@ -267,6 +266,10 @@ public class LodBuilder
}
lodDim.updateData(LodUtil.CHUNK_DETAIL_LEVEL, chunk.getPos().x, chunk.getPos().z);
long dataTest = lodDim.getData(LodUtil.CHUNK_DETAIL_LEVEL, chunk.getPos().x, chunk.getPos().z, 0);
long dataTest2 = lodDim.getData(LodUtil.REGION_DETAIL_LEVEL, chunk.getPos().getRegionX(), chunk.getPos().getRegionZ(), 0);
/*System.out.println(LodUtil.CHUNK_DETAIL_LEVEL + " " + chunk.getPos().x + " " + chunk.getPos().z + " " + 0 + " " +DataPointUtil.toString(dataTest));
System.out.println(LodUtil.REGION_DETAIL_LEVEL + " " + chunk.getPos().getRegionX() + " " + chunk.getPos().getRegionZ() + " " + 0 + " " +DataPointUtil.toString(dataTest2));*/
} catch (Exception e)
{
e.printStackTrace();
@@ -32,10 +32,8 @@ public class VerticalLevelContainer implements LevelContainer
posX = LevelPosUtil.getRegionModule(detailLevel, posX);
posZ = LevelPosUtil.getRegionModule(detailLevel, posZ);
int index = 0;
for(int i = 0; i < maxVerticalData; i++){
index = posX*size*maxVerticalData + posZ*maxVerticalData + i;
dataContainer[index] = DataPointUtil.EMPTY_DATA;
for(int verticalIndex = 0; verticalIndex < maxVerticalData; verticalIndex++){
dataContainer[posX*size*maxVerticalData + posZ*maxVerticalData + verticalIndex] = DataPointUtil.EMPTY_DATA;
}
}
@@ -133,7 +131,7 @@ public class VerticalLevelContainer implements LevelContainer
dataToMerge[(z*2+x)*maxVerticalData + verticalIndex] = lowerLevelContainer.getData(childPosX, childPosZ, verticalIndex);
}
}
data = DataPointUtil.mergeMultiData(dataToMerge, lowerLevelContainer.getDetailLevel());
data = DataPointUtil.mergeMultiData(dataToMerge, lowerLevelContainer.getMaxVerticalData(), getMaxVerticalData());
for(int verticalIndex = 0; (verticalIndex < data.length) && (verticalIndex < maxVerticalData); verticalIndex++)
{
@@ -32,6 +32,19 @@ public class DetailDistanceUtil
1,
1,};
/*private static int[] maxVerticalData = {
8,
8,
8,
8,
8,
8,
8,
8,
8,
8,
8};*/
private static LodDetail[] lodGenDetails = {
LodDetail.FULL,
LodDetail.HALF,