Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion common/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ dependencies {

compileOnly group: 'org.spongepowered', name: 'mixin', version: '0.8.5'

modCompileOnly "curse.maven:irisshaders-455508:${iris_version}"
//modCompileOnly "curse.maven:irisshaders-455508:${iris_version}"
}

test {
Expand Down
33 changes: 28 additions & 5 deletions common/src/main/java/pro/mikey/xray/core/ChunkScanTask.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package pro.mikey.xray.core;

import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
Expand All @@ -15,13 +16,20 @@ public class ChunkScanTask implements Runnable {

private final int startX;
private final int startZ;
private final boolean iscore;

public ChunkScanTask(Level level, ChunkPos pos) {
public ChunkScanTask(Level level, ChunkPos pos, boolean core) {
// Move the chunk pos to block pos by multiplying by 16
this.startX = pos.x << 4;
this.startZ = pos.z << 4;

this.level = level;
this.iscore = core;
}

private boolean isNetherDimension() {
ResourceKey<Level> dimensionKey = level.dimension();
return dimensionKey == Level.NETHER;
}

@Override
Expand All @@ -39,8 +47,16 @@ public void run() {
state = level.getBlockState(pos);
fluidState = state.getFluidState();

if ((fluidState.getType() == Fluids.LAVA || fluidState.getType() == Fluids.FLOWING_LAVA) && ScanController.INSTANCE.isLavaActive()) {
renderQueue.add(new OutlineRenderTarget(pos.getX(), pos.getY(), pos.getZ(), 0xffff0000));
if (( fluidState.getType() == Fluids.LAVA || fluidState.getType() == Fluids.FLOWING_LAVA) && ScanController.INSTANCE.isLavaActive()) {
if (iscore){
if (isNetherDimension()) {
if (pos.getY() > 31){
renderQueue.add(new OutlineRenderTarget(pos.getX(), pos.getY(), pos.getZ(), 0xffff0000));
}
} else {
renderQueue.add(new OutlineRenderTarget(pos.getX(), pos.getY(), pos.getZ(), 0xffff0000));
}
}
continue;
}

Expand All @@ -51,12 +67,19 @@ public void run() {
for (var target : ScanController.INSTANCE.scanStore.activeScanTargets()) {
if (target.matches(level, pos, state, fluidState)) {
renderQueue.add(new OutlineRenderTarget(pos.getX(), pos.getY(), pos.getZ(), target.colorInt()));
break;
}
}
}
}
}

ScanController.INSTANCE.syncRenderList.put(new ChunkPos(startX >> 4, startZ >> 4), renderQueue);
if (renderQueue.isEmpty()) {
System.out.printf("a %d b %d%n",startX >> 4, startZ >> 4);
} else {
if (!iscore) {
ScanController.INSTANCE.addlastxxx(new ChunkPos(startX >> 4, startZ >> 4));
}
ScanController.INSTANCE.syncRenderList.put(new ChunkPos(startX >> 4, startZ >> 4), renderQueue);
}
}
}
Loading