From 19ed449e43815dcfb578e62c3bbea53fe45a7489 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Tue, 7 May 2024 22:03:03 +0300 Subject: Add compact damage --- .../mixins/ClientPlayNetworkHandlerMixin.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/mixins') diff --git a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java index 0a5ebc64..05fbdb23 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java @@ -3,6 +3,8 @@ package de.hysky.skyblocker.mixins; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.llamalad7.mixinextras.sugar.Local; +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.skyblock.CompactDamage; import de.hysky.skyblocker.skyblock.FishingHelper; import de.hysky.skyblocker.skyblock.dungeon.DungeonScore; import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager; @@ -17,11 +19,10 @@ import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityStatuses; +import net.minecraft.entity.EntityType; import net.minecraft.entity.ItemEntity; -import net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket; -import net.minecraft.network.packet.s2c.play.EntityStatusS2CPacket; -import net.minecraft.network.packet.s2c.play.ParticleS2CPacket; -import net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket; +import net.minecraft.entity.decoration.ArmorStandEntity; +import net.minecraft.network.packet.s2c.play.*; import net.minecraft.util.Identifier; import org.slf4j.Logger; import org.spongepowered.asm.mixin.Mixin; @@ -103,4 +104,14 @@ public abstract class ClientPlayNetworkHandlerMixin { } return entity; } + + @Inject(method = "onEntityTrackerUpdate", at = @At("TAIL")) + private void skyblocker$onEntityTrackerUpdate(EntityTrackerUpdateS2CPacket packet, CallbackInfo ci, @Local Entity entity) { + if (!SkyblockerConfigManager.get().general.compactDamage.enabled || entity == null || entity.getType() != EntityType.ARMOR_STAND) return; + try { //Prevent packet handling fails if something goes wrong so that entity trackers still update, just without compact damage numbers + CompactDamage.compactDamage((ArmorStandEntity) entity); + } catch (Exception e) { + e.printStackTrace(); + } + } } -- cgit From 5167aacdb51bb3c441d66a01964b52219ac54240 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Wed, 8 May 2024 09:24:57 +0300 Subject: Refactor entity type & null check --- .../de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/mixins') diff --git a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java index 05fbdb23..ce967c7c 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java @@ -107,9 +107,9 @@ public abstract class ClientPlayNetworkHandlerMixin { @Inject(method = "onEntityTrackerUpdate", at = @At("TAIL")) private void skyblocker$onEntityTrackerUpdate(EntityTrackerUpdateS2CPacket packet, CallbackInfo ci, @Local Entity entity) { - if (!SkyblockerConfigManager.get().general.compactDamage.enabled || entity == null || entity.getType() != EntityType.ARMOR_STAND) return; + if (!SkyblockerConfigManager.get().general.compactDamage.enabled || !(entity instanceof ArmorStandEntity armorStandEntity)) return; try { //Prevent packet handling fails if something goes wrong so that entity trackers still update, just without compact damage numbers - CompactDamage.compactDamage((ArmorStandEntity) entity); + CompactDamage.compactDamage(armorStandEntity); } catch (Exception e) { e.printStackTrace(); } -- cgit From 2af6c131cff70219bcc1147674c180615b0f6746 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Fri, 10 May 2024 13:31:05 +0300 Subject: Refactored config to work with the new config categorization Changed formatting method From DecimalFormat to String#formatted to make it easier to configure. Also, the precision setting now applies instantly. --- .../java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/de/hysky/skyblocker/mixins') diff --git a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java index ce967c7c..95a28e37 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java @@ -107,7 +107,7 @@ public abstract class ClientPlayNetworkHandlerMixin { @Inject(method = "onEntityTrackerUpdate", at = @At("TAIL")) private void skyblocker$onEntityTrackerUpdate(EntityTrackerUpdateS2CPacket packet, CallbackInfo ci, @Local Entity entity) { - if (!SkyblockerConfigManager.get().general.compactDamage.enabled || !(entity instanceof ArmorStandEntity armorStandEntity)) return; + if (!SkyblockerConfigManager.get().uiAndVisuals.compactDamage.enabled || !(entity instanceof ArmorStandEntity armorStandEntity)) return; try { //Prevent packet handling fails if something goes wrong so that entity trackers still update, just without compact damage numbers CompactDamage.compactDamage(armorStandEntity); } catch (Exception e) { -- cgit From 6d1292f2318b0d8be8cc12602078b7c6242ba85d Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Mon, 13 May 2024 04:56:15 +0300 Subject: Refactor ClientPlayNetworkHandlerMixin.skyblocker$onEntityTrackerUpdate to use logger --- .../de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/mixins') diff --git a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java index 95a28e37..2c2c1376 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayNetworkHandlerMixin.java @@ -19,12 +19,12 @@ import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityStatuses; -import net.minecraft.entity.EntityType; import net.minecraft.entity.ItemEntity; import net.minecraft.entity.decoration.ArmorStandEntity; import net.minecraft.network.packet.s2c.play.*; import net.minecraft.util.Identifier; import org.slf4j.Logger; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -37,6 +37,10 @@ public abstract class ClientPlayNetworkHandlerMixin { @Shadow private ClientWorld world; + @Shadow + @Final + private static Logger LOGGER; + @Inject(method = "onBlockUpdate", at = @At("RETURN")) private void skyblocker$onBlockUpdate(BlockUpdateS2CPacket packet, CallbackInfo ci) { if (Utils.isInTheEnd() && SlayerUtils.isInSlayer()) { @@ -111,7 +115,7 @@ public abstract class ClientPlayNetworkHandlerMixin { try { //Prevent packet handling fails if something goes wrong so that entity trackers still update, just without compact damage numbers CompactDamage.compactDamage(armorStandEntity); } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("[Skyblocker Compact Damage] Failed to compact damage number", e); } } } -- cgit