Skip to content

Commit 8909120

Browse files
committed
CA calcs improved.
1 parent 714d857 commit 8909120

File tree

2 files changed

+38
-14
lines changed

2 files changed

+38
-14
lines changed

src/main/java/rina/onepop/club/client/module/combat/autocrystalrewrite/ModuleAutoCrystalRewrite.java

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ public void onPacketReceive(PacketEvent.Receive event) {
212212

213213
this.placeCount.remove(pos);
214214
this.placeDelayMS.reset();
215+
this.breakDelayMS.reset();
215216
}
216217
}
217218

@@ -230,6 +231,11 @@ public void onPacketReceive(PacketEvent.Receive event) {
230231
}
231232
}
232233
}
234+
235+
if (hitList) {
236+
this.placeCount.clear();
237+
this.hitCount.clear();
238+
}
233239
}
234240
}
235241
}
@@ -297,7 +303,7 @@ public void onClientTickEvent(ClientTickEvent event) {
297303
}
298304

299305
protected void update() {
300-
if (this.breakDelayMS.isPassedMS(settingBreakDelay.getValue().floatValue()) && !settingPredict.getValue()) {
306+
if (this.breakDelayMS.isPassedMS(settingBreakDelay.getValue().floatValue())) {
301307
this.entityID = this.findCrystalBreak();
302308

303309
if (this.entityID != -1) {
@@ -410,23 +416,36 @@ protected BlockPos findCrystalPlace() {
410416
return null;
411417
}
412418

413-
BlockPos position = null;
419+
final BlockPos selfPos = new BlockPos(mc.player.posX, mc.player.posY, mc.player.posZ);
420+
float range = settingPlaceRange.getValue().floatValue();
414421

415-
for (BlockPos places : CrystalUtil.getSphereCrystalPlace(settingPlaceRange.getValue().floatValue(), settingPlace113.getValue(), true)) {
416-
float entityDamage = CrystalUtil.calculateDamage(places, this.entity);
417-
float selfDamage = CrystalUtil.calculateDamage(places, mc.player);
422+
for (int x = (int) (selfPos.x - range); x <= selfPos.x + range; x++) {
423+
for (int z = (int) (selfPos.z - range); z <= selfPos.z + range; z++) {
424+
for (int y = (int) (selfPos.y - range); y <= selfPos.y + range; y++) {
425+
double dist = (selfPos.x - x) * (selfPos.x - x) + (selfPos.z - z) * (selfPos.z - z) + (selfPos.y - y) * (selfPos.y - y);
418426

419-
if (this.entity.getDistance(places.x, places.y, places.z) >= 6.0f) {
420-
continue;
421-
}
427+
if (dist < range * range) {
428+
BlockPos block = new BlockPos(x, y, z);
422429

423-
if (settingWallCheck.getValue() && mc.player.getDistance(places.x, places.y, places.z) > settingWallRange.getValue().floatValue() && mc.world.rayTraceBlocks(new Vec3d(mc.player.posX, mc.player.posY + (double) mc.player.getEyeHeight(), mc.player.posZ), new Vec3d(places.getX() + 0.5f, places.getY() - settingFacingY.getValue().floatValue(), places.getZ() + 0.5f), false, true, false) != null) {
424-
continue;
425-
}
430+
if (CrystalUtil.isCrystalPlaceable(block, settingPlace113.getValue(), true)) {
431+
float entityDamage = CrystalUtil.calculateDamage(block, this.entity);
432+
float selfDamage = CrystalUtil.calculateDamage(block, mc.player);
426433

427-
if (entityDamage > settingMinimumDamage.getValue().floatValue() && entityDamage > damage && selfDamage < settingSelfDamage.getValue().floatValue()) {
428-
damage = entityDamage;
429-
position = places;
434+
if (this.entity.getDistance(block.x, block.y, block.z) >= 6.0f) {
435+
continue;
436+
}
437+
438+
if (settingWallCheck.getValue() && mc.player.getDistance(block.x, block.y, block.z) > settingWallRange.getValue().floatValue() && mc.world.rayTraceBlocks(new Vec3d(mc.player.posX, mc.player.posY + (double) mc.player.getEyeHeight(), mc.player.posZ), new Vec3d(block.getX() + 0.5f, block.getY() - settingFacingY.getValue().floatValue(), block.getZ() + 0.5f), false, true, false) != null) {
439+
continue;
440+
}
441+
442+
if (entityDamage > settingMinimumDamage.getValue().floatValue() && entityDamage > damage && selfDamage < settingSelfDamage.getValue().floatValue()) {
443+
damage = entityDamage;
444+
position = block;
445+
}
446+
}
447+
}
448+
}
430449
}
431450
}
432451

src/main/java/rina/onepop/club/client/module/render/ModuleAutoCrystalRender.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ public ModuleAutoCrystalRender() {
6969
INSTANCE = this;
7070
}
7171

72+
@Override
73+
public void onEnable() {
74+
this.renderList.clear();
75+
}
76+
7277
@Listener
7378
public void onPacketReceive(PacketEvent.Receive event) {
7479
if (event.getPacket() instanceof SPacketSpawnObject) {

0 commit comments

Comments
 (0)