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))))); } }