Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.rebelkeithy.craftable;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import org.lwjgl.opengl.GL11;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.gui.GuiScreen;
- import net.minecraft.client.gui.inventory.GuiContainer;
- import net.minecraft.client.gui.inventory.GuiInventory;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.client.renderer.RenderHelper;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.init.Items;
- import net.minecraft.inventory.IInventory;
- import net.minecraft.inventory.Slot;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.util.text.ITextComponent;
- import net.minecraftforge.client.event.GuiScreenEvent.DrawScreenEvent;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import net.minecraftforge.fml.relauncher.ReflectionHelper;
- public class GuiCraftingExtension extends GuiScreen implements IInventory
- {
- public static final ResourceLocation INVENTORY_BACKGROUND = new ResourceLocation("craftable:textures/slot.png");
- ItemStack result;
- @SubscribeEvent
- public void drawslot(DrawScreenEvent.Pre event)
- {
- if(event.getGui() instanceof GuiInventory)
- {
- GuiInventory gui = (GuiInventory)event.getGui();
- this.zLevel = 200;
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- Minecraft.getMinecraft().getTextureManager().bindTexture(INVENTORY_BACKGROUND);
- int i = gui.getGuiLeft();
- int j = gui.getGuiTop();
- //this.drawTexturedModalRect(i+160, j-20, 0, 0, 35*8, 29*8);
- this.drawModalRectWithCustomSizedTexture(i+170, j+120, 0, 0, 35, 29, 35, 29);
- drawItemStack((GuiInventory)event.getGui(), new ItemStack(Items.APPLE), 0, 0, "This is real");
- //System.out.println("test");
- }
- }
- private void drawItemStack(GuiInventory gui, ItemStack stack, int x, int y, String altText)
- {
- result = new ItemStack(Items.ENDER_PEARL);
- if(itemRender == null)
- {
- itemRender = Minecraft.getMinecraft().getRenderItem();
- fontRendererObj = Minecraft.getMinecraft().fontRendererObj;
- }
- Method method = ReflectionHelper.findMethod(GuiContainer.class, gui, new String[] { "drawSlot" }, Slot.class);
- if(method != null)
- {
- try
- {
- method.invoke(gui, new Slot(this, 0, gui.getGuiLeft() + 152 + 25, gui.getGuiTop() + 102));
- } catch (IllegalAccessException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IllegalArgumentException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (InvocationTargetException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- /*
- GL11.glPushMatrix();
- GlStateManager.translate(0.0F, 0.0F, 32.0F);
- //gui.zLevel = 200.0F;
- this.itemRender.zLevel = 200.0F;
- net.minecraft.client.gui.FontRenderer font = stack.getItem().getFontRenderer(stack);
- if (font == null) font = fontRendererObj;
- this.itemRender.renderItemAndEffectIntoGUI(stack, x, y);
- //this.itemRender.renderItemOverlayIntoGUI(font, stack, x, y - (true ? 0 : 8), altText);
- this.zLevel = 0.0F;
- this.itemRender.zLevel = 0.0F;
- GL11.glPopMatrix();
- */
- }
- @Override
- public String getName()
- {
- return "CraftableResult";
- }
- @Override
- public boolean hasCustomName()
- {
- return false;
- }
- @Override
- public ITextComponent getDisplayName()
- {
- return null;
- }
- @Override
- public int getSizeInventory()
- {
- return 1;
- }
- @Override
- public boolean isEmpty()
- {
- return false;
- }
- @Override
- public ItemStack getStackInSlot(int index)
- {
- return result;
- }
- @Override
- public ItemStack decrStackSize(int index, int count)
- {
- return result;
- }
- @Override
- public ItemStack removeStackFromSlot(int index)
- {
- return result;
- }
- @Override
- public void setInventorySlotContents(int index, ItemStack stack)
- {
- // TODO Auto-generated method stub
- }
- @Override
- public int getInventoryStackLimit()
- {
- // TODO Auto-generated method stub
- return 1;
- }
- @Override
- public void markDirty()
- {
- // TODO Auto-generated method stub
- }
- @Override
- public boolean isUsableByPlayer(EntityPlayer player)
- {
- // TODO Auto-generated method stub
- return true;
- }
- @Override
- public void openInventory(EntityPlayer player)
- {
- // TODO Auto-generated method stub
- }
- @Override
- public void closeInventory(EntityPlayer player)
- {
- // TODO Auto-generated method stub
- }
- @Override
- public boolean isItemValidForSlot(int index, ItemStack stack)
- {
- // TODO Auto-generated method stub
- return false;
- }
- @Override
- public int getField(int id)
- {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public void setField(int id, int value)
- {
- // TODO Auto-generated method stub
- }
- @Override
- public int getFieldCount()
- {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public void clear()
- {
- // TODO Auto-generated method stub
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement