55 lines
2.0 KiB
Java
55 lines
2.0 KiB
Java
package xyz.pixelatedw.finalbeta.mixin;
|
|
|
|
import org.lwjgl.opengl.GL11;
|
|
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.At.Shift;
|
|
import org.spongepowered.asm.mixin.injection.Inject;
|
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
|
|
import net.minecraft.client.gui.screen.container.ContainerScreen;
|
|
import net.minecraft.client.render.RenderHelper;
|
|
import net.minecraft.client.render.entity.ItemRenderer;
|
|
import net.minecraft.entity.player.PlayerInventory;
|
|
|
|
@Mixin(ContainerScreen.class)
|
|
public class ContainerScreenMixin extends ScreenMixin {
|
|
|
|
@Shadow
|
|
protected int containerWidth;
|
|
|
|
@Shadow
|
|
protected int containerHeight;
|
|
|
|
private static ItemRenderer itemRenderer = new ItemRenderer();
|
|
|
|
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/container/ContainerScreen;renderForeground()V", shift = Shift.AFTER))
|
|
public void onRender(int i, int j, float f, CallbackInfo ci) {
|
|
ContainerScreen screen = ((ContainerScreen) (Object) this);
|
|
PlayerInventory selectedItem = this.minecraft.player.inventory;
|
|
int posX = (screen.width - this.containerWidth) / 2;
|
|
int posY = (screen.height - this.containerHeight) / 2;
|
|
|
|
GL11.glPushMatrix();
|
|
GL11.glRotatef(120.0F, 1.0F, 0.0F, 0.0F);
|
|
RenderHelper.enableLighting();
|
|
GL11.glPopMatrix();
|
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
|
GL11.glEnable(32826);
|
|
GL11.glEnable(2896);
|
|
GL11.glEnable(2929);
|
|
|
|
if (selectedItem.getCursorItem() != null) {
|
|
GL11.glTranslatef(0.0F, 0.0F, 32.0F);
|
|
itemRenderer.renderItemInstance(this.minecraft.textRenderer, this.minecraft.textureManager, selectedItem.getCursorItem(), i - posX - 8, j - posY - 8);
|
|
itemRenderer.method_1488(this.minecraft.textRenderer, this.minecraft.textureManager, selectedItem.getCursorItem(), i - posX - 8, j - posY - 8);
|
|
}
|
|
|
|
GL11.glDisable(32826);
|
|
RenderHelper.disableLighting();
|
|
GL11.glDisable(2896);
|
|
GL11.glDisable(2929);
|
|
}
|
|
}
|