Skip to content

Commit

Permalink
Revert GUI mixin and de-prioritize
Browse files Browse the repository at this point in the history
  • Loading branch information
NotRyken committed Aug 24, 2024
1 parent 28bc3b3 commit 7dc4512
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 25 deletions.
2 changes: 1 addition & 1 deletion changelog.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
- Add Ukrainian translation (Tarteroycc)
- Improve GUI mixin
- Improve compatibility with Simple Voice Chat
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import com.llamalad7.mixinextras.sugar.Local;
import dev.terminalmc.effecttimerplus.config.Config;
import net.minecraft.client.DeltaTracker;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.GuiGraphics;
Expand All @@ -13,13 +14,14 @@
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.*;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.List;
import java.util.function.Consumer;

import static dev.terminalmc.effecttimerplus.util.IndicatorUtil.*;

@Mixin(value = Gui.class, priority = 500)
@Mixin(value = Gui.class, priority = 2000)
public class MixinGui {

@Final
Expand All @@ -30,16 +32,22 @@ public class MixinGui {
@Nullable
private Runnable effectTimerPlus$runnable;

@Unique
private void effectTimerPlus$scale(GuiGraphics graphics) {
@Inject(
method = "renderEffects",
at = @At("HEAD")
)
private void scale(GuiGraphics graphics, DeltaTracker delta, CallbackInfo ci) {
float scale = (float) Config.get().scale;
graphics.pose().pushPose();
graphics.pose().translate(graphics.guiWidth() * (1 - scale), 0.0F, 0.0F);
graphics.pose().scale(scale, scale, 0.0F);
}

@Unique
private void effectTimerPlus$descale(GuiGraphics graphics) {
@Inject(
method = "renderEffects",
at = @At("RETURN")
)
private void descale(GuiGraphics graphics, DeltaTracker delta, CallbackInfo ci) {
graphics.pose().popPose();
}

Expand All @@ -53,9 +61,7 @@ public class MixinGui {
private void CreateOverlayRunnable(GuiGraphics graphics, ResourceLocation sprite, int x, int y,
int width, int height, Operation<Void> original,
@Local MobEffectInstance effectInstance) {
effectTimerPlus$scale(graphics);
original.call(graphics, sprite, x, y, width, height);
effectTimerPlus$descale(graphics);

Config options = Config.get();
effectTimerPlus$runnable = () -> {
Expand Down Expand Up @@ -119,20 +125,4 @@ private boolean AddOverlayRunnable(boolean original, @Local List<Runnable> runna
}
return original;
}

@WrapOperation(
method = "renderEffects",
at = @At(
value = "INVOKE",
target = "Ljava/util/List;forEach(Ljava/util/function/Consumer;)V"
)
)
private void scale(List instance, Consumer consumer, Operation<Void> original,
@Local(argsOnly = true) GuiGraphics graphics) {
effectTimerPlus$scale(graphics);

original.call(instance, consumer);

effectTimerPlus$descale(graphics);
}
}

0 comments on commit 7dc4512

Please sign in to comment.