Переделал логику ломания блоков но не знаю как изменить логику их обнаружения.
Как мне сделать так что бы блоки находились начиная не от самых дальних а от самых ближних к игроку
Сейчас происходит так:
А нужно что бы сканирование происходило так:
Где зелёный - ломается первым, а красный - последним
То есть нужно примерно ломание как в нурсултане(noad)
Извините за моё объяснение, надеюсь поможете
onWorld method:
@Subscribe
private void onWorld(WorldEvent worldEvent) {
int range = Math.round(rangeScanning.get());
long scanInterval = Math.round(intervalScanning.get());
Vector3d playerPos = mc.player.getPositionVec();
if (System.currentTimeMillis() - lastScanTime >= scanInterval) {
blocksToBreak.clear();
for (int dx = -range; dx <= range; ++dx) {
for (int dy = 0; dy <= range; ++dy) {
for (int dz = -range; dz <= range; ++dz) {
BlockPos targetPos = new BlockPos(playerPos.x + (double)dx, playerPos.y + (double)dy, playerPos.z + (double)dz);
if (mc.world.getBlockState(targetPos).getBlockHardness(mc.world, targetPos) > 0) {
blocksToBreak.add(targetPos);
}
}
}
}
lastScanTime = System.currentTimeMillis();
}
processAndBreakBlocks();
}
Как мне сделать так что бы блоки находились начиная не от самых дальних а от самых ближних к игроку
Сейчас происходит так:
А нужно что бы сканирование происходило так:
Где зелёный - ломается первым, а красный - последним
То есть нужно примерно ломание как в нурсултане(noad)
Извините за моё объяснение, надеюсь поможете