diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixins/PingMeasurerMixin.java (renamed from src/main/java/de/hysky/skyblocker/mixins/PingMeasuererMixin.java) | 4 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DisciplineTestHelper.java | 22 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java | 9 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ForceTestHelper.java | 3 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/MasteryTestHelper.java | 6 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/StaminaTestHelper.java | 9 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/TenacityTestHelper.java | 4 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java | 14 | ||||
-rw-r--r-- | src/main/resources/skyblocker.mixins.json | 2 |
9 files changed, 34 insertions, 39 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/PingMeasuererMixin.java b/src/main/java/de/hysky/skyblocker/mixins/PingMeasurerMixin.java index 803a65ab..a9fae752 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/PingMeasuererMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/PingMeasurerMixin.java @@ -10,9 +10,9 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @Mixin(PingMeasurer.class) -public class PingMeasuererMixin { +public class PingMeasurerMixin { - @WrapOperation(method = "onPingResult", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/profiler/MultiValueDebugSampleLogImpl;push(J)V")) + @WrapOperation(method = "onPingResult", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/profiler/MultiValueDebugSampleLogImpl;push(J)V")) private void skyblocker$onPingResult(MultiValueDebugSampleLogImpl log, long ping, Operation<Void> operation) { if (Utils.isInCrimson()) { DojoManager.onPingResult(ping); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DisciplineTestHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DisciplineTestHelper.java index 5cee126f..c01bfd73 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DisciplineTestHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DisciplineTestHelper.java @@ -1,13 +1,10 @@ package de.hysky.skyblocker.skyblock.crimson.dojo; -import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip; import it.unimi.dsi.fastutil.objects.Object2IntMap; import it.unimi.dsi.fastutil.objects.Object2IntMaps; import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; import net.minecraft.client.MinecraftClient; -import net.minecraft.util.Util; -import java.util.HashMap; import java.util.Map; public class DisciplineTestHelper { @@ -16,12 +13,12 @@ public class DisciplineTestHelper { /** * Stores what sword is needed for the name of a zombie */ - private static final HashMap<String, String> SWORD_TO_NAME_LOOKUP = Util.make(new HashMap<>(), map -> { - map.put("WOOD_SWORD", "Wood"); - map.put("IRON_SWORD", "Iron"); - map.put("GOLD_SWORD", "Gold"); - map.put("DIAMOND_SWORD", "Diamond"); - }); + private static final Map<String, String> SWORD_TO_NAME_LOOKUP = Map.of( + "WOOD_SWORD", "Wood", + "IRON_SWORD", "Iron", + "GOLD_SWORD", "Gold", + "DIAMOND_SWORD", "Diamond" + ); /** * Stores a color related to the color of the sword: wood = brown, iron = silver, gold = gold, diamond = cyan @@ -61,11 +58,6 @@ public class DisciplineTestHelper { return 0; } String heldId = CLIENT.player.getMainHandStack().getSkyblockId(); - if (SWORD_TO_COLOR_LOOKUP.containsKey(heldId)) { - return SWORD_TO_COLOR_LOOKUP.getInt(heldId); - } - return 0; + return SWORD_TO_COLOR_LOOKUP.getOrDefault(heldId, 0); } - - } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java index f431275d..323c985c 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/DojoManager.java @@ -131,6 +131,7 @@ public class DojoManager { networkHandler.sendPacket(new QueryPingC2SPacket(Util.getMeasuringTimeMs())); } } + public static void onPingResult(long ping) { DojoManager.ping = ping; } @@ -139,10 +140,10 @@ public class DojoManager { if (!Utils.isInCrimson() || !inArena) { return; } - switch (currentChallenge) { + switch (currentChallenge) { case STAMINA -> StaminaTestHelper.update(); case CONTROL -> ControlTestHelper.update(); - }; + } } /** @@ -198,8 +199,8 @@ public class DojoManager { if (!Utils.isInCrimson() || !inArena || CLIENT == null || CLIENT.player == null) { return; } - //check close by - if (entity.distanceTo(CLIENT.player) > 50 || Math.abs(entity.getBlockY() - CLIENT.player.getBlockY()) > 5) { + // Check if within 50 blocks and 5 blocks vertically + if (entity.squaredDistanceTo(CLIENT.player) > 2500 || Math.abs(entity.getBlockY() - CLIENT.player.getBlockY()) > 5) { return; } switch (currentChallenge) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ForceTestHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ForceTestHelper.java index 664e25d5..70d6a401 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ForceTestHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ForceTestHelper.java @@ -1,8 +1,6 @@ package de.hysky.skyblocker.skyblock.crimson.dojo; import de.hysky.skyblocker.utils.render.RenderHelper; -import it.unimi.dsi.fastutil.objects.Object2LongMap; -import it.unimi.dsi.fastutil.objects.Object2LongMaps; import it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.minecraft.entity.Entity; @@ -34,7 +32,6 @@ public class ForceTestHelper { * @return if the zombie should glow */ protected static boolean shouldGlow(String name) { - if (name == null) return false; return name.contains("-"); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/MasteryTestHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/MasteryTestHelper.java index d40c89c3..625b91eb 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/MasteryTestHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/MasteryTestHelper.java @@ -1,8 +1,6 @@ package de.hysky.skyblocker.skyblock.crimson.dojo; import de.hysky.skyblocker.utils.render.RenderHelper; -import it.unimi.dsi.fastutil.objects.Object2LongMap; -import it.unimi.dsi.fastutil.objects.Object2LongMaps; import it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.minecraft.block.BlockState; @@ -14,7 +12,7 @@ import net.minecraft.util.math.Vec3d; import java.awt.*; import java.text.DecimalFormat; -import java.util.*; +import java.util.ArrayList; import java.util.List; public class MasteryTestHelper { @@ -41,7 +39,7 @@ public class MasteryTestHelper { blockOrder.add(pos); //add lifetime of a block to the time to get time when block expires // work out how long it will take between the player firing and arrow hitting the block and to subtract from time - long travelTime = (long) (CLIENT.player.getPos().distanceTo(pos.toCenterPos()) * (1000 / 60)); //an arrow speed is about 60 blocks a second from a full draw + long travelTime = (long) (CLIENT.player.getPos().distanceTo(pos.toCenterPos()) * 1000 / 60); //an arrow speed is about 60 blocks a second from a full draw endTimes.put(pos, System.currentTimeMillis() + BLOCK_LIFE_TIME - DojoManager.ping - travelTime); } if (state.isAir()) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/StaminaTestHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/StaminaTestHelper.java index d8b17cd4..3f7dfe56 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/StaminaTestHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/StaminaTestHelper.java @@ -1,14 +1,15 @@ package de.hysky.skyblocker.skyblock.crimson.dojo; import de.hysky.skyblocker.utils.render.RenderHelper; -import it.unimi.dsi.fastutil.ints.Int2ObjectMap; -import it.unimi.dsi.fastutil.ints.Int2ObjectMaps; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; -import net.minecraft.util.math.*; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Box; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.Vec3i; import java.util.ArrayList; import java.util.HashMap; @@ -33,7 +34,7 @@ public class StaminaTestHelper { NEGATIVE_X, NEGATIVE_Z, NEW, - UNCHANGED; + UNCHANGED } protected static void reset() { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/TenacityTestHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/TenacityTestHelper.java index 71c49d76..51e99fbd 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/TenacityTestHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/TenacityTestHelper.java @@ -13,8 +13,6 @@ import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.Vec3d; import net.minecraft.world.RaycastContext; -import java.util.*; - public class TenacityTestHelper { private static final MinecraftClient CLIENT = MinecraftClient.getInstance(); @@ -72,7 +70,7 @@ public class TenacityTestHelper { } /** - * Uses the particles spawned with the fireballs to offset from the armour stand position to get a mor accurate guess of where its going + * Uses the particles spawned with the fireballs to offset from the armour stand position to get a more accurate guess of where it's going * * @param packet particle packet */ diff --git a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java index 152c09a3..81e328ca 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java @@ -62,7 +62,7 @@ public class MobGlow { case EndermanEntity enderman when Utils.isInTheEnd() && !entity.isInvisible() -> TheEnd.isSpecialZealot(enderman); //dojo - case ZombieEntity zombie when Utils.isInCrimson() && DojoManager.inArena -> DojoManager.shouldGlow(getArmourStandName(zombie)); + case ZombieEntity zombie when Utils.isInCrimson() && DojoManager.inArena -> DojoManager.shouldGlow(getArmorStandName(zombie)); default -> false; }; @@ -73,6 +73,7 @@ public class MobGlow { /** * Checks if an entity is starred by checking if its armor stand contains a star in its name. + * * @param entity the entity to check. * @return true if the entity is starred, false otherwise */ @@ -80,10 +81,17 @@ public class MobGlow { List<ArmorStandEntity> armorStands = getArmorStands(entity); return !armorStands.isEmpty() && armorStands.getFirst().getName().getString().contains("✯"); } - public static String getArmourStandName(Entity entity) { + + /** + * Returns name of entity by finding closed armor stand and getting name of that + * + * @param entity the entity to check + * @return the name string of the entities label + */ + public static String getArmorStandName(Entity entity) { List<ArmorStandEntity> armorStands = getArmorStands(entity); if (armorStands.isEmpty()) { - return null; + return ""; } return armorStands.getFirst().getName().getString(); } diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json index 81dcfc03..fa23abb7 100644 --- a/src/main/resources/skyblocker.mixins.json +++ b/src/main/resources/skyblocker.mixins.json @@ -27,7 +27,7 @@ "LivingEntityRendererMixin", "MinecraftClientMixin", "MouseMixin", - "PingMeasuererMixin", + "PingMeasurerMixin", "PlayerInventoryMixin", "PlayerListHudMixin", "PlayerSkinProviderMixin", |