diff options
author | 2024-05-14 21:36:14 -0400 | |
---|---|---|
committer | 2024-05-14 21:36:14 -0400 | |
commit | 2b0c0f25b9e9ca690bb334479f798794fec6dd38 (patch) | |
tree | 7261e6d8358388c71af9c17f1cf7f3bbb0e652f5 /src/main/java/org/chrisoft/trashyaddon/mixin | |
parent | 3749f51f18ed2c309851ffcc0234f093943ec296 (diff) | |
download | meteor-trashy-addon-2b0c0f25b9e9ca690bb334479f798794fec6dd38.tar.xz |
Combinable Slots: New module.
Diffstat (limited to 'src/main/java/org/chrisoft/trashyaddon/mixin')
-rw-r--r-- | src/main/java/org/chrisoft/trashyaddon/mixin/HandledScreenMixin.java | 28 |
1 files changed, 28 insertions, 0 deletions
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<T extends ScreenHandler> extends Screen implements ScreenHandlerProvider<T> { + 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); + } +} |