hopefully make old file conversion a bit faster.
This commit is contained in:
+6
-10
@@ -174,25 +174,21 @@ public class FullDataSourceV2 implements IDataSource<IDhLevel>
|
||||
{
|
||||
long dataPoint = legacyDataColumn[i];
|
||||
|
||||
int id = FullDataPointUtil.getId(dataPoint);
|
||||
int height = FullDataPointUtil.getHeight(dataPoint);
|
||||
int bottomY = FullDataPointUtil.getBottomY(dataPoint);
|
||||
boolean isAir = legacyData.mapping.getBlockStateWrapper(FullDataPointUtil.getId(dataPoint)).isAir;
|
||||
byte blockLight = (byte) FullDataPointUtil.getBlockLight(dataPoint);
|
||||
byte skyLight = (byte) FullDataPointUtil.getSkyLight(dataPoint);
|
||||
|
||||
IBlockStateWrapper blockState = legacyData.mapping.getBlockStateWrapper(id);
|
||||
if (blockState.isAir())
|
||||
|
||||
if (isAir)
|
||||
{
|
||||
// air shouldn't have any light, otherwise down sampling will look weird
|
||||
blockLight = 0;
|
||||
}
|
||||
|
||||
long newDataPoint = FullDataPointUtil.encode(id, height, bottomY, blockLight, skyLight);
|
||||
newDataColumn.set(i, newDataPoint);
|
||||
long dataPoint = FullDataPointUtil.setBlockLight(dataPoint, blockLight);
|
||||
newDataColumn.set(i, dataPoint);
|
||||
|
||||
|
||||
// check if this datapoint is air
|
||||
if (!columnHasNonAirBlock && !blockState.isAir())
|
||||
if (!columnHasNonAirBlock && !isAir)
|
||||
{
|
||||
columnHasNonAirBlock = true;
|
||||
}
|
||||
|
||||
@@ -127,6 +127,10 @@ public class FullDataPointUtil
|
||||
*/
|
||||
public static int getBottomY(long data) { return (int) ((data >> MIN_Y_OFFSET) & MIN_Y_MASK); }
|
||||
public static int getBlockLight(long data) { return (int) ((data >> BLOCK_LIGHT_OFFSET) & BLOCK_LIGHT_MASK); }
|
||||
public static long setBlockLight(long data, byte blockLight)
|
||||
{
|
||||
return (data & ~((long) BLOCK_LIGHT_MASK << BLOCK_LIGHT_OFFSET) | (long) blockLight << BLOCK_LIGHT_OFFSET);
|
||||
}
|
||||
public static int getSkyLight(long data) { return (int) ((data >> SKY_LIGHT_OFFSET) & SKY_LIGHT_MASK); }
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user