Advertisement
LolGamerBob

Untitled

May 19th, 2014
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.26 KB | None | 0 0
  1. package lolgamerbob.forgery.handler;
  2.  
  3. import lolgamerbob.forgery.client.gui.GuiHeatPress;
  4. import lolgamerbob.forgery.tileentity.TileEntityHeatPress;
  5. import lolgamerbob.forgery.util.GuiIds;
  6. import net.minecraft.entity.player.EntityPlayer;
  7. import net.minecraft.tileentity.TileEntity;
  8. import net.minecraft.world.World;
  9. import cpw.mods.fml.common.network.IGuiHandler;
  10.  
  11. public class GuiHandler implements IGuiHandler{
  12.  
  13. @Override
  14. public Object getServerGuiElement(int ID, EntityPlayer player, World world,
  15. int x, int y, int z) {
  16. if (ID == GuiIds.HEATPRESS)
  17. {
  18. TileEntityHeatPress tileentityheatpress = (TileEntityHeatPress) world.getTileEntity(x, y, z);
  19. return new GuiHeatPress(player.inventory, tileentityheatpress);
  20. }
  21. return null;
  22. }
  23.  
  24. @Override
  25. public Object getClientGuiElement(int ID, EntityPlayer player, World world,
  26. int x, int y, int z) {
  27. if (ID == GuiIds.HEATPRESS)
  28. {
  29. TileEntityHeatPress tileentityheatpress = (TileEntityHeatPress) world.getTileEntity(x, y, z);
  30. return new GuiHeatPress(player.inventory, tileentityheatpress);
  31. }
  32. return null;
  33. }
  34.  
  35. }
  36.  
  37. ===========================================================================
  38.  
  39. package lolgamerbob.forgery.tileentity;
  40.  
  41. import net.minecraft.entity.player.EntityPlayer;
  42. import net.minecraft.inventory.IInventory;
  43. import net.minecraft.item.ItemStack;
  44. import net.minecraft.tileentity.TileEntity;
  45. import net.minecraft.tileentity.TileEntityHopper;
  46. import net.minecraft.world.IBlockAccess;
  47.  
  48. public class TileEntityHeatPress extends TileEntity implements IInventory{
  49.  
  50. public static final int DISPLAY_SLOT_INVENTORY_INDEX = 0;
  51. public static final int INVENTORY_SIZE = 0;
  52. private ItemStack[] field_145900_a = new ItemStack[5];
  53. private String field_145902_i;
  54.  
  55. @Override
  56. public int getSizeInventory() {
  57.  
  58. return this.field_145900_a.length;
  59. }
  60.  
  61. @Override
  62. public ItemStack getStackInSlot(int var1) {
  63.  
  64. return this.field_145900_a[var1];
  65. }
  66.  
  67. @Override
  68. public ItemStack decrStackSize(int var1, int var2) {
  69. if (this.field_145900_a[var1] != null)
  70. {
  71. ItemStack itemstack;
  72.  
  73. if (this.field_145900_a[var1].stackSize <= var2)
  74. {
  75. itemstack = this.field_145900_a[var1];
  76. this.field_145900_a[var1] = null;
  77. return itemstack;
  78. } else
  79. {
  80. itemstack = this.field_145900_a[var1].splitStack(var2);
  81.  
  82. if (this.field_145900_a[var1].stackSize == 0)
  83. {
  84. this.field_145900_a[var1] = null;
  85. }
  86.  
  87. return itemstack;
  88. }
  89. }
  90. else
  91. {
  92. return null;
  93. }
  94. }
  95.  
  96.  
  97.  
  98. @Override
  99. public ItemStack getStackInSlotOnClosing(int var1) {
  100.  
  101. if (this.field_145900_a[var1] != null)
  102. {
  103. ItemStack itemstack = this.field_145900_a[var1];
  104. this.field_145900_a[var1] = null;
  105. return itemstack;
  106. }
  107. else
  108. {
  109. return null;
  110. }
  111. }
  112.  
  113. @Override
  114. public void setInventorySlotContents(int var1, ItemStack var2) {
  115. this.field_145900_a[var1] = var2;
  116.  
  117. if (var2 != null && var2.stackSize > this.getInventoryStackLimit())
  118. {
  119. var2.stackSize = this.getInventoryStackLimit();
  120. }
  121. }
  122.  
  123.  
  124.  
  125. @Override
  126. public String getInventoryName() {
  127.  
  128. return this.hasCustomInventoryName() ? this.field_145902_i : "container.heatpress";
  129. }
  130.  
  131. public boolean hasCustomInventoryName()
  132. {
  133. return this.field_145902_i != null && this.field_145902_i.length() > 0;
  134. }
  135.  
  136. public void func_145886_a(String p_145886_1_)
  137. {
  138. this.field_145902_i = p_145886_1_;
  139. }
  140.  
  141. @Override
  142. public int getInventoryStackLimit() {
  143.  
  144. return 64;
  145. }
  146.  
  147. public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer)
  148. {
  149. return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D;
  150. }
  151.  
  152. public void openInventory() {}
  153.  
  154. public void closeInventory() {}
  155.  
  156. /**
  157. * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
  158. */
  159. public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack)
  160. {
  161. return true;
  162. }
  163. public static void func_149920_e(IBlockAccess p_149920_0_, int p_149920_1_, int p_149920_2_, int p_149920_3_)
  164. {
  165. }
  166. }
  167.  
  168. ======================================================================================================================
  169. package lolgamerbob.forgery.inventory.gui;
  170.  
  171. import lolgamerbob.forgery.tileentity.TileEntityHeatPress;
  172. import lolgamerbob.forgery.util.HeatPressRecipeHandler;
  173. import net.minecraft.entity.player.EntityPlayer;
  174. import net.minecraft.entity.player.InventoryPlayer;
  175. import net.minecraft.inventory.Container;
  176. import net.minecraft.inventory.Slot;
  177. import net.minecraft.item.ItemStack;
  178. import net.minecraft.item.crafting.FurnaceRecipes;
  179. import net.minecraft.tileentity.TileEntityFurnace;
  180.  
  181. public class ContainerHeatPress extends Container{
  182.  
  183.  
  184.  
  185. private TileEntityHeatPress heatpress;
  186.  
  187. public ContainerHeatPress(InventoryPlayer inventoryPlayer, TileEntityHeatPress tileheatpress)
  188. {
  189. this.heatpress = tileheatpress;
  190.  
  191. this.addSlotToContainer(new Slot(tileheatpress, 0, 23, 36));
  192. this.addSlotToContainer(new Slot(tileheatpress, 1, 23, 54));
  193. this.addSlotToContainer(new Slot(tileheatpress, 2, 23, 78));
  194. this.addSlotToContainer(new Slot(tileheatpress, 3, 103, 44));
  195.  
  196. for (int i = 0; i < 3; i++){
  197. for(int j = 0; j < 9; j++){
  198. this.addSlotToContainer(new Slot(inventoryPlayer, j + i*9 + 9, 36 + j*18, 137 + i*18));
  199. }
  200. } for (int i = 0; i < 9; i++){
  201. this.addSlotToContainer(new Slot(inventoryPlayer, i, 36 + i*18, 195 ));
  202. }
  203. }
  204.  
  205.  
  206.  
  207. public boolean canInteractWith(EntityPlayer par1EntityPlayer)
  208. {
  209. return this.heatpress.isUseableByPlayer(par1EntityPlayer);
  210.  
  211. } public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)
  212. {
  213. ItemStack itemstack = null;
  214. Slot slot = (Slot)this.inventorySlots.get(par2);
  215.  
  216. if (slot != null && slot.getHasStack())
  217. {
  218. ItemStack itemstack1 = slot.getStack();
  219. itemstack = itemstack1.copy();
  220.  
  221. if (par2 == 2)
  222. {
  223. if (!this.mergeItemStack(itemstack1, 3, 39, true))
  224. {
  225. return null;
  226. }
  227.  
  228. slot.onSlotChange(itemstack1, itemstack);
  229. }
  230. else if (par2 != 1 && par2 != 0)
  231. {
  232. if (HeatPressRecipeHandler.Press().getPressResult(itemstack1) != null)
  233. {
  234. if (!this.mergeItemStack(itemstack1, 0, 1, false))
  235. {
  236. return null;
  237. }
  238. }
  239.  
  240. else if (par2 >= 3 && par2 < 30)
  241. {
  242. if (!this.mergeItemStack(itemstack1, 30, 39, false))
  243. {
  244. return null;
  245. }
  246. }
  247. else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false))
  248. {
  249. return null;
  250. }
  251. }
  252. else if (!this.mergeItemStack(itemstack1, 3, 39, false))
  253. {
  254. return null;
  255. }
  256.  
  257. if (itemstack1.stackSize == 0)
  258. {
  259. slot.putStack((ItemStack)null);
  260. }
  261. else
  262. {
  263. slot.onSlotChanged();
  264. }
  265.  
  266. if (itemstack1.stackSize == itemstack.stackSize)
  267. {
  268. return null;
  269. }
  270.  
  271. slot.onPickupFromSlot(par1EntityPlayer, itemstack1);
  272. }
  273.  
  274. return itemstack;
  275. }
  276. }
  277.  
  278. =====================================================================
  279.  
  280. package lolgamerbob.forgery;
  281.  
  282.  
  283. import lolgamerbob.forgery.handler.CraftingHandler;
  284. import lolgamerbob.forgery.handler.GuiHandler;
  285. import lolgamerbob.forgery.handler.SmeltingHandler;
  286. import lolgamerbob.forgery.init.ModBlocks;
  287. import lolgamerbob.forgery.init.ModItems;
  288. import lolgamerbob.forgery.init.ModTools;
  289. import lolgamerbob.forgery.proxy.CommonProxy;
  290. import lolgamerbob.forgery.reference.Reference;
  291. import net.minecraft.init.Blocks;
  292. import net.minecraft.init.Items;
  293. import net.minecraft.item.ItemStack;
  294. import cpw.mods.fml.common.Mod;
  295. import cpw.mods.fml.common.Mod.EventHandler;
  296. import cpw.mods.fml.common.Mod.Instance;
  297. import cpw.mods.fml.common.SidedProxy;
  298. import cpw.mods.fml.common.event.FMLInitializationEvent;
  299. import cpw.mods.fml.common.event.FMLPreInitializationEvent;
  300. import cpw.mods.fml.common.network.NetworkRegistry;
  301. import cpw.mods.fml.common.registry.GameRegistry;
  302.  
  303. @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION)
  304.  
  305. public class Forgery {
  306.  
  307. @Instance ( "forgery" )
  308. public static Forgery instance;
  309.  
  310. @SidedProxy(clientSide = Reference.CLIENT_PROXY, serverSide = Reference.COMMON_PROXY)
  311. public static CommonProxy proxy;
  312.  
  313.  
  314. @EventHandler
  315. public void preInit(FMLPreInitializationEvent event) {
  316. NetworkRegistry.INSTANCE.registerGuiHandler(Forgery.instance, new GuiHandler());
  317.  
  318. proxy.registerTileEntities();
  319.  
  320. ModBlocks.init();
  321.  
  322. ModItems.init();
  323.  
  324. CraftingHandler.init();
  325.  
  326. SmeltingHandler.init();
  327.  
  328. ModTools.init();
  329. System.out.println("This Is Forgery");
  330. }
  331. public void init(FMLInitializationEvent event){
  332.  
  333. }
  334. }
  335.  
  336. ============================================================================
  337. package lolgamerbob.forgery.proxy;
  338.  
  339.  
  340. import lolgamerbob.forgery.tileentity.TileEntityHeatPress;
  341. import lolgamerbob.forgery.util.GuiIds;
  342. import cpw.mods.fml.common.registry.GameRegistry;
  343.  
  344. public class CommonProxy {
  345.  
  346. public void registerTileEntities() {
  347. GameRegistry.registerTileEntity(TileEntityHeatPress.class, "0");
  348.  
  349. }
  350.  
  351.  
  352.  
  353.  
  354.  
  355. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement