From 2b0c0f25b9e9ca690bb334479f798794fec6dd38 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Tue, 14 May 2024 21:36:14 -0400 Subject: Combinable Slots: New module. --- .../trashyaddon/mixin/HandledScreenMixin.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/org/chrisoft/trashyaddon/mixin/HandledScreenMixin.java (limited to 'src/main/java/org/chrisoft/trashyaddon/mixin') diff --git a/src/main/java/org/chrisoft/trashyaddon/mixin/HandledScreenMixin.java b/src/main/java/org/chrisoft/trashyaddon/mixin/HandledScreenMixin.java new file mode 100644 index 0000000..9a351da --- /dev/null +++ b/src/main/java/org/chrisoft/trashyaddon/mixin/HandledScreenMixin.java @@ -0,0 +1,28 @@ +package org.chrisoft.trashyaddon.mixin; + +import meteordevelopment.meteorclient.systems.modules.Modules; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ingame.HandledScreen; +import net.minecraft.client.gui.screen.ingame.ScreenHandlerProvider; +import net.minecraft.screen.ScreenHandler; +import net.minecraft.screen.slot.Slot; +import net.minecraft.text.Text; +import org.chrisoft.trashyaddon.modules.MatchedItemHighlight; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(HandledScreen.class) +public abstract class HandledScreenMixin extends Screen implements ScreenHandlerProvider { + public HandledScreenMixin(Text title) { + super(title); + } + + @Inject(method = "drawSlot", at = @At("HEAD")) + private void onDrawSlot(DrawContext context, Slot slot, CallbackInfo ci) { + int color = Modules.get().get(MatchedItemHighlight.class).getSlotColor(slot.id).getPacked(); + if (color != 0) context.fill(slot.x, slot.y, slot.x + 16, slot.y + 16, color); + } +} -- cgit v1.2.3