diff --git a/src/main/java/carpet/mixins/BlockLightSectionStorage_scarpetChunkCreationMixin.java b/src/main/java/carpet/mixins/BlockLightSectionStorage_scarpetChunkCreationMixin.java index 238f5fde..5111b614 100644 --- a/src/main/java/carpet/mixins/BlockLightSectionStorage_scarpetChunkCreationMixin.java +++ b/src/main/java/carpet/mixins/BlockLightSectionStorage_scarpetChunkCreationMixin.java @@ -26,7 +26,7 @@ public abstract class BlockLightSectionStorage_scarpetChunkCreationMixin extends @Override public void processRelight(final LightEngine lightProvider, final long cPos) { - final DynamicGraphMinFixedPoint_resetChunkInterface levelPropagator = (DynamicGraphMinFixedPoint_resetChunkInterface) lightProvider; + //final DynamicGraphMinFixedPoint_resetChunkInterface levelPropagator = (DynamicGraphMinFixedPoint_resetChunkInterface) lightProvider.; for (int y = -1; y < 17; ++y) { @@ -53,11 +53,12 @@ public abstract class BlockLightSectionStorage_scarpetChunkCreationMixin extends for (int dy = 0; dy < 16; ++dy) { final long dst = BlockPos.offset(pos, ox + t * dx, dy, oz + t * dz); - final long src = BlockPos.offset(dst, dir); + lightProvider.checkBlock(BlockPos.of(dst)); + //final long src = BlockPos.offset(dst, dir); - final int srcLevel = ((ChunkLightProviderInterface) lightProvider).callGetCurrentLevelFromSection(neighborLightArray, src); + //final int srcLevel = ((ChunkLightProviderInterface) lightProvider).callGetCurrentLevelFromSection(neighborLightArray, src); - levelPropagator.cmInvokeUpdateLevel(src, dst, levelPropagator.cmCallGetPropagatedLevel(src, dst, srcLevel), true); + //levelPropagator.cmInvokeUpdateLevel(src, dst, levelPropagator.cmCallGetPropagatedLevel(src, dst, srcLevel), true); } } } diff --git a/src/main/java/carpet/mixins/SkyLightSectionStorage_scarpetChunkCreationMixin.java b/src/main/java/carpet/mixins/SkyLightSectionStorage_scarpetChunkCreationMixin.java index 83daf415..579a1cd4 100644 --- a/src/main/java/carpet/mixins/SkyLightSectionStorage_scarpetChunkCreationMixin.java +++ b/src/main/java/carpet/mixins/SkyLightSectionStorage_scarpetChunkCreationMixin.java @@ -62,7 +62,7 @@ public abstract class SkyLightSectionStorage_scarpetChunkCreationMixin extends L @Override public void processRelight(final LightEngine lightProvider, final long cPos) { - final DynamicGraphMinFixedPoint_resetChunkInterface levelPropagator = (DynamicGraphMinFixedPoint_resetChunkInterface) lightProvider; + //final DynamicGraphMinFixedPoint_resetChunkInterface levelPropagator = (DynamicGraphMinFixedPoint_resetChunkInterface) lightProvider; for (int y = -1; y < 17; ++y) { @@ -102,17 +102,18 @@ public abstract class SkyLightSectionStorage_scarpetChunkCreationMixin extends L for (int dy = 0; dy < 16; ++dy) { final long dst = BlockPos.offset(pos, ox + t * dx, dy, oz + t * dz); - long src = BlockPos.offset(dst, dir); + //long src = BlockPos.offset(dst, dir); - long adj_src = (neighborLightArray != null) - ? src - : BlockPos.asLong(BlockPos.getX(src), neighbourY, BlockPos.getZ(src)); + //long adj_src = (neighborLightArray != null) + // ? src + // : BlockPos.asLong(BlockPos.getX(src), neighbourY, BlockPos.getZ(src)); - final int srcLevel = neighborCeilingLightArray != null - ? ((ChunkLightProviderInterface) lightProvider).callGetCurrentLevelFromSection(neighborCeilingLightArray, adj_src) - : emptyLightLevel; + //final int srcLevel = neighborCeilingLightArray != null + // ? ((ChunkLightProviderInterface) lightProvider).callGetCurrentLevelFromSection(neighborCeilingLightArray, adj_src) + // : emptyLightLevel; - levelPropagator.cmInvokeUpdateLevel(src, dst, levelPropagator.cmCallGetPropagatedLevel(src, dst, srcLevel), true); + lightProvider.checkBlock(BlockPos.of(dst)); + //levelPropagator.cmInvokeUpdateLevel(src, dst, levelPropagator.cmCallGetPropagatedLevel(src, dst, srcLevel), true); } } } diff --git a/src/main/java/carpet/mixins/ThreadedLevelLightEngine_scarpetChunkCreationMixin.java b/src/main/java/carpet/mixins/ThreadedLevelLightEngine_scarpetChunkCreationMixin.java index 16fd2da8..71eeec3c 100644 --- a/src/main/java/carpet/mixins/ThreadedLevelLightEngine_scarpetChunkCreationMixin.java +++ b/src/main/java/carpet/mixins/ThreadedLevelLightEngine_scarpetChunkCreationMixin.java @@ -35,8 +35,6 @@ public abstract class ThreadedLevelLightEngine_scarpetChunkCreationMixin extends @Final private ChunkMap chunkMap; - //@Shadow public abstract void propagateLightSources(final ChunkPos chunkPos); - @Override @Invoker("updateChunkStatus") public abstract void invokeUpdateChunkStatus(ChunkPos pos); @@ -61,22 +59,13 @@ public abstract class ThreadedLevelLightEngine_scarpetChunkCreationMixin extends final ChunkPos pos = chunk.getPos(); propagateLightSources(pos); - /*this.addTask(pos.x, pos.z, () -> 0, ThreadedLevelLightEngine.TaskType.PRE_UPDATE, Util.name(() -> { - super.setLightEnabled(pos, true); + this.addTask(pos.x, pos.z, () -> 0, ThreadedLevelLightEngine.TaskType.PRE_UPDATE, Util.name(() -> { - chunk.findBlockLightSources((lightPos, state) -> { - final int lightEmission = state.getLightEmission(); - enqueueIncrease(lightPos.asLong(), LightEngine.QueueEntry.increaseLightFromEmission(lightEmission, isEmptyShape(state))); - }); - - chunk.getLights().forEach( - blockPos -> super.onBlockEmissionIncrease(blockPos, chunk.getLightEmission(blockPos)) - ); ((Lighting_scarpetChunkCreationInterface) this).relight(SectionPos.getZeroNode(SectionPos.asLong(pos.x, 0, pos.z))); }, () -> "Relight chunk " + pos - ));*/ + )); return CompletableFuture.runAsync( Util.name(() -> {