graddle update

This commit is contained in:
lukasabbe
2025-03-25 17:43:17 +01:00
parent eb2636bd5c
commit 670fe1328b
23 changed files with 793 additions and 0 deletions
@@ -0,0 +1,15 @@
package me.lukasabbe.bookshelfinspector.mixin;
import net.minecraft.block.BlockState;
import net.minecraft.block.ChiseledBookshelfBlock;
import net.minecraft.util.hit.BlockHitResult;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
import java.util.OptionalInt;
@Mixin(ChiseledBookshelfBlock.class)
public interface BookshelfInvoker {
@Invoker("getSlotForHitPos")
OptionalInt invokerGetSlotForHitPos(BlockHitResult hit, BlockState state);
}
@@ -0,0 +1,28 @@
package me.lukasabbe.bookshelfinspector.mixin;
import me.lukasabbe.bookshelfinspector.util.Inspector;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
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;
@Mixin(ClientPlayerEntity.class)
public class BookshelfMixin{
@Shadow @Final protected MinecraftClient client;
@Unique
private final Inspector inspector = new Inspector();
@Inject(method = "tick", at= @At(value = "INVOKE", target = "Ljava/util/List;iterator()Ljava/util/Iterator;"))
public void injectTick(CallbackInfo ci){
inspector.inspect(client);
}
}
@@ -0,0 +1,29 @@
package me.lukasabbe.bookshelfinspector.mixin;
import com.mojang.blaze3d.systems.RenderSystem;
import me.lukasabbe.bookshelfinspector.util.HudRenderer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.InGameHud;
import net.minecraft.client.render.RenderTickCounter;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Environment(EnvType.CLIENT)
@Mixin(InGameHud.class)
public class InGameHudMixin {
@Shadow @Final private MinecraftClient client;
@Inject(method = "render",at=@At("RETURN"))
public void render(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci){
RenderSystem.enableBlend();
HudRenderer.hudRender(context, client);
RenderSystem.disableBlend();
}
}