temporary fix to the missing region bug
This commit is contained in:
@@ -105,8 +105,8 @@ public class LodBufferBuilder
|
||||
*/
|
||||
private ReentrantLock bufferLock = new ReentrantLock();
|
||||
|
||||
private Object[][] setsToRender;
|
||||
private RegionPos center;
|
||||
private volatile Object[][] setsToRender;
|
||||
private volatile RegionPos center;
|
||||
|
||||
public LodBufferBuilder()
|
||||
{
|
||||
@@ -346,7 +346,7 @@ public class LodBufferBuilder
|
||||
* <p>
|
||||
* Synchronized to prevent multiple moves happening on top of each other.
|
||||
*/
|
||||
public synchronized void move(RegionPos regionOffset, int width)
|
||||
public void move(RegionPos regionOffset, int width)
|
||||
{
|
||||
int xOffset = regionOffset.x;
|
||||
int zOffset = regionOffset.z;
|
||||
|
||||
@@ -522,6 +522,10 @@ public class LodDimension
|
||||
{
|
||||
LodRegion region = getRegion(regionPos);
|
||||
region.getDataToRender(dataToRender, playerPosX, playerPosZ);
|
||||
} catch (NullPointerException e)
|
||||
{
|
||||
System.out.println(regionPos);
|
||||
e.printStackTrace();
|
||||
} catch (Exception e)
|
||||
{
|
||||
//e.printStackTrace();
|
||||
|
||||
@@ -313,7 +313,14 @@ public class LodRegion implements Serializable
|
||||
if (dataToRender.containsKey(levelPos))
|
||||
{
|
||||
levelPos.changeParameters(detailLevel, posX + regionPosX * size, posZ + regionPosZ * size);
|
||||
dataToRender.get(levelPos).setTrue();
|
||||
try
|
||||
{
|
||||
dataToRender.get(levelPos).setTrue();
|
||||
}catch (Exception e){
|
||||
/*TODO Fix this exception*/
|
||||
System.out.println("error happened " + levelPos.getRegionPos());
|
||||
dataToRender.put(new LevelPos(detailLevel, posX + regionPosX * size, posZ + regionPosZ * size), new MutableBoolean(true));
|
||||
}
|
||||
} else
|
||||
{
|
||||
dataToRender.put(new LevelPos(detailLevel, posX + regionPosX * size, posZ + regionPosZ * size), new MutableBoolean(true));
|
||||
@@ -348,9 +355,14 @@ public class LodRegion implements Serializable
|
||||
|
||||
levelPos.changeParameters(detailLevel, posX + regionPosX * size, posZ + regionPosZ * size);
|
||||
if (dataToRender.containsKey(levelPos))
|
||||
{
|
||||
if (dataToRender.get(levelPos) == null)
|
||||
dataToRender.replace(levelPos, new MutableBoolean());
|
||||
dataToRender.get(levelPos).setTrue();
|
||||
else
|
||||
} else
|
||||
{
|
||||
dataToRender.put(new LevelPos(detailLevel, posX + regionPosX * size, posZ + regionPosZ * size), new MutableBoolean(true));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user