|
25 | 25 |
|
26 | 26 | package org.visuals.legacy.animatium.mixins.v1.gui.hover_text_color; |
27 | 27 |
|
| 28 | +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; |
| 29 | +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; |
28 | 30 | import net.minecraft.client.gui.components.AbstractSliderButton; |
29 | 31 | import net.minecraft.client.gui.components.AbstractWidget; |
30 | 32 | import net.minecraft.network.chat.Component; |
31 | 33 | import org.spongepowered.asm.mixin.Mixin; |
| 34 | +import org.spongepowered.asm.mixin.injection.At; |
| 35 | +import org.visuals.legacy.animatium.Animatium; |
| 36 | +import org.visuals.legacy.animatium.config.AnimatiumConfig; |
32 | 37 |
|
33 | 38 | @Mixin(AbstractSliderButton.class) |
34 | 39 | public abstract class MixinAbstractSliderButton_LegacyTextHoverColor extends AbstractWidget { |
35 | 40 | public MixinAbstractSliderButton_LegacyTextHoverColor(int x, int y, int width, int height, Component message) { |
36 | 41 | super(x, y, width, height, message); |
37 | 42 | } |
38 | 43 |
|
39 | | - // TODO: 1.21.11 |
40 | | - /*@ModifyConstant(method = "renderWidget", constant = @Constant(intValue = 0xFFFFFFFF)) |
41 | | - private int animatium$renderWidget$old$textColor(int constant) { |
42 | | - if (Animatium.isEnabled() && AnimatiumConfig.instance().screen.legacyWidgetHoverTextColor) { |
43 | | - return !active ? 0xFFE0E0E0 : (isHoveredOrFocused() ? 0xFFFFFFA0 : 0xFFE0E0E0); |
44 | | - } else { |
45 | | - return constant; |
46 | | - } |
47 | | - }*/ |
| 44 | + // TODO: Maybe find the core place to do this better in 1.21.11+? |
| 45 | + @WrapOperation(method = "renderWidget", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/AbstractSliderButton;getMessage()Lnet/minecraft/network/chat/Component;")) |
| 46 | + private Component animatium$renderWidget$old$textColor(final AbstractSliderButton instance, final Operation<Component> original) { |
| 47 | + final Component component = original.call(instance); |
| 48 | + if (Animatium.isEnabled() && AnimatiumConfig.instance().screen.legacyWidgetHoverTextColor) { |
| 49 | + return component.copy().withColor(!active ? 0xFFE0E0E0 : (isHoveredOrFocused() ? 0xFFFFFFA0 : 0xFFE0E0E0)); |
| 50 | + } else { |
| 51 | + return component; |
| 52 | + } |
| 53 | + } |
48 | 54 | } |
0 commit comments