From 3d561d43e6cc1b3e90c56ba35e47ff5d3a4d91d0 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Mon, 8 Jan 2024 21:17:52 +0100 Subject: Replace ItemMixin.java with proper ItemTooltipCallback usage. --- .../java/lv/enes/mc/eris_alchemy/ErisAlchemy.java | 12 ++++++++ .../lv/enes/mc/eris_alchemy/mixin/ItemMixin.java | 32 ---------------------- 2 files changed, 12 insertions(+), 32 deletions(-) delete mode 100644 src/main/java/lv/enes/mc/eris_alchemy/mixin/ItemMixin.java (limited to 'src/main/java/lv') diff --git a/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java b/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java index a4368fc..fe7e40d 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemy.java @@ -12,9 +12,12 @@ import net.minecraft.world.item.Rarity; import org.quiltmc.loader.api.ModContainer; import org.quiltmc.qsl.base.api.entrypoint.ModInitializer; import org.quiltmc.qsl.item.setting.api.QuiltItemSettings; +import org.quiltmc.qsl.tooltip.api.client.ItemTooltipCallback; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.text.DecimalFormat; + public class ErisAlchemy implements ModInitializer { public static final String ID = "eris_alchemy"; public static final Logger LOGGER = LoggerFactory.getLogger(ID); @@ -47,5 +50,14 @@ public class ErisAlchemy implements ModInitializer { Registry.register(BuiltInRegistries.ITEM, new ResourceLocation(ID, "high_covalence_dust"), HIGH_COVALENCE_DUST); Registry.register(BuiltInRegistries.RECIPE_SERIALIZER, CovalenceRepair.Serializer.ID, CovalenceRepair.Serializer.INSTANCE); + + var doubleFormat = new DecimalFormat("0"); + doubleFormat.setMaximumFractionDigits(1); + + ItemTooltipCallback.EVENT.register((stack, player, context, tooltip) -> { + var world = player == null ? null : player.level(); + var emc = EMC.getInstance(world).get(stack.getItem()); + emc.ifPresent(value -> tooltip.add(Component.literal("EMC %s".formatted(doubleFormat.format(value))))); + }); } } diff --git a/src/main/java/lv/enes/mc/eris_alchemy/mixin/ItemMixin.java b/src/main/java/lv/enes/mc/eris_alchemy/mixin/ItemMixin.java deleted file mode 100644 index aa6270b..0000000 --- a/src/main/java/lv/enes/mc/eris_alchemy/mixin/ItemMixin.java +++ /dev/null @@ -1,32 +0,0 @@ -package lv.enes.mc.eris_alchemy.mixin; - -import lv.enes.mc.eris_alchemy.EMC; -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import java.text.DecimalFormat; -import java.util.List; - -@Mixin(Item.class) -public abstract class ItemMixin { - @Unique - private static final DecimalFormat doubleFormat = new DecimalFormat("0"); - - static { - doubleFormat.setMaximumFractionDigits(1); - } - - @Inject(method = "appendHoverText", at = @At("RETURN")) - public void onAppendHoverText(ItemStack stack, Level world, List tooltip, TooltipFlag context, CallbackInfo ci) { - var emc = EMC.getInstance(world).get(stack.getItem()); - emc.ifPresent(value -> tooltip.add(Component.literal("EMC %s".formatted(doubleFormat.format(value))))); - } -} -- cgit v1.2.3