Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.95 KB | None | 0 0
  1. package com.rebelkeithy.craftable;
  2.  
  3. import java.lang.reflect.InvocationTargetException;
  4. import java.lang.reflect.Method;
  5.  
  6. import org.lwjgl.opengl.GL11;
  7.  
  8. import net.minecraft.client.Minecraft;
  9. import net.minecraft.client.gui.GuiScreen;
  10. import net.minecraft.client.gui.inventory.GuiContainer;
  11. import net.minecraft.client.gui.inventory.GuiInventory;
  12. import net.minecraft.client.renderer.GlStateManager;
  13. import net.minecraft.client.renderer.RenderHelper;
  14. import net.minecraft.entity.player.EntityPlayer;
  15. import net.minecraft.init.Items;
  16. import net.minecraft.inventory.IInventory;
  17. import net.minecraft.inventory.Slot;
  18. import net.minecraft.item.ItemStack;
  19. import net.minecraft.util.ResourceLocation;
  20. import net.minecraft.util.text.ITextComponent;
  21. import net.minecraftforge.client.event.GuiScreenEvent.DrawScreenEvent;
  22. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  23. import net.minecraftforge.fml.relauncher.ReflectionHelper;
  24.  
  25. public class GuiCraftingExtension extends GuiScreen implements IInventory
  26. {
  27. public static final ResourceLocation INVENTORY_BACKGROUND = new ResourceLocation("craftable:textures/slot.png");
  28. ItemStack result;
  29.  
  30. @SubscribeEvent
  31. public void drawslot(DrawScreenEvent.Pre event)
  32. {
  33. if(event.getGui() instanceof GuiInventory)
  34. {
  35. GuiInventory gui = (GuiInventory)event.getGui();
  36.  
  37. this.zLevel = 200;
  38. GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
  39. Minecraft.getMinecraft().getTextureManager().bindTexture(INVENTORY_BACKGROUND);
  40. int i = gui.getGuiLeft();
  41. int j = gui.getGuiTop();
  42. //this.drawTexturedModalRect(i+160, j-20, 0, 0, 35*8, 29*8);
  43. this.drawModalRectWithCustomSizedTexture(i+170, j+120, 0, 0, 35, 29, 35, 29);
  44.  
  45. drawItemStack((GuiInventory)event.getGui(), new ItemStack(Items.APPLE), 0, 0, "This is real");
  46.  
  47. //System.out.println("test");
  48. }
  49. }
  50.  
  51.  
  52. private void drawItemStack(GuiInventory gui, ItemStack stack, int x, int y, String altText)
  53. {
  54. result = new ItemStack(Items.ENDER_PEARL);
  55.  
  56. if(itemRender == null)
  57. {
  58. itemRender = Minecraft.getMinecraft().getRenderItem();
  59. fontRendererObj = Minecraft.getMinecraft().fontRendererObj;
  60. }
  61.  
  62. Method method = ReflectionHelper.findMethod(GuiContainer.class, gui, new String[] { "drawSlot" }, Slot.class);
  63. if(method != null)
  64. {
  65. try
  66. {
  67. method.invoke(gui, new Slot(this, 0, gui.getGuiLeft() + 152 + 25, gui.getGuiTop() + 102));
  68. } catch (IllegalAccessException e)
  69. {
  70. // TODO Auto-generated catch block
  71. e.printStackTrace();
  72. } catch (IllegalArgumentException e)
  73. {
  74. // TODO Auto-generated catch block
  75. e.printStackTrace();
  76. } catch (InvocationTargetException e)
  77. {
  78. // TODO Auto-generated catch block
  79. e.printStackTrace();
  80. }
  81. }
  82.  
  83. /*
  84. GL11.glPushMatrix();
  85. GlStateManager.translate(0.0F, 0.0F, 32.0F);
  86. //gui.zLevel = 200.0F;
  87. this.itemRender.zLevel = 200.0F;
  88. net.minecraft.client.gui.FontRenderer font = stack.getItem().getFontRenderer(stack);
  89. if (font == null) font = fontRendererObj;
  90. this.itemRender.renderItemAndEffectIntoGUI(stack, x, y);
  91. //this.itemRender.renderItemOverlayIntoGUI(font, stack, x, y - (true ? 0 : 8), altText);
  92. this.zLevel = 0.0F;
  93. this.itemRender.zLevel = 0.0F;
  94. GL11.glPopMatrix();
  95. */
  96. }
  97.  
  98.  
  99. @Override
  100. public String getName()
  101. {
  102. return "CraftableResult";
  103. }
  104.  
  105.  
  106. @Override
  107. public boolean hasCustomName()
  108. {
  109. return false;
  110. }
  111.  
  112.  
  113. @Override
  114. public ITextComponent getDisplayName()
  115. {
  116. return null;
  117. }
  118.  
  119.  
  120. @Override
  121. public int getSizeInventory()
  122. {
  123. return 1;
  124. }
  125.  
  126.  
  127. @Override
  128. public boolean isEmpty()
  129. {
  130. return false;
  131. }
  132.  
  133.  
  134. @Override
  135. public ItemStack getStackInSlot(int index)
  136. {
  137. return result;
  138. }
  139.  
  140.  
  141. @Override
  142. public ItemStack decrStackSize(int index, int count)
  143. {
  144. return result;
  145. }
  146.  
  147.  
  148. @Override
  149. public ItemStack removeStackFromSlot(int index)
  150. {
  151. return result;
  152. }
  153.  
  154.  
  155. @Override
  156. public void setInventorySlotContents(int index, ItemStack stack)
  157. {
  158. // TODO Auto-generated method stub
  159.  
  160. }
  161.  
  162.  
  163. @Override
  164. public int getInventoryStackLimit()
  165. {
  166. // TODO Auto-generated method stub
  167. return 1;
  168. }
  169.  
  170.  
  171. @Override
  172. public void markDirty()
  173. {
  174. // TODO Auto-generated method stub
  175.  
  176. }
  177.  
  178.  
  179. @Override
  180. public boolean isUsableByPlayer(EntityPlayer player)
  181. {
  182. // TODO Auto-generated method stub
  183. return true;
  184. }
  185.  
  186.  
  187. @Override
  188. public void openInventory(EntityPlayer player)
  189. {
  190. // TODO Auto-generated method stub
  191.  
  192. }
  193.  
  194.  
  195. @Override
  196. public void closeInventory(EntityPlayer player)
  197. {
  198. // TODO Auto-generated method stub
  199.  
  200. }
  201.  
  202.  
  203. @Override
  204. public boolean isItemValidForSlot(int index, ItemStack stack)
  205. {
  206. // TODO Auto-generated method stub
  207. return false;
  208. }
  209.  
  210.  
  211. @Override
  212. public int getField(int id)
  213. {
  214. // TODO Auto-generated method stub
  215. return 0;
  216. }
  217.  
  218.  
  219. @Override
  220. public void setField(int id, int value)
  221. {
  222. // TODO Auto-generated method stub
  223.  
  224. }
  225.  
  226.  
  227. @Override
  228. public int getFieldCount()
  229. {
  230. // TODO Auto-generated method stub
  231. return 0;
  232. }
  233.  
  234.  
  235. @Override
  236. public void clear()
  237. {
  238. // TODO Auto-generated method stub
  239.  
  240. }
  241. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement