Guest User

Untitled

a guest
Mar 28th, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.49 KB | None | 0 0
  1. package com.gugu42.rcmod.gui;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.DataOutputStream;
  5. import java.util.Random;
  6.  
  7. import org.lwjgl.opengl.GL11;
  8.  
  9. import com.gugu42.rcmod.ContainerVendor;
  10. import com.gugu42.rcmod.RcMod;
  11. import com.gugu42.rcmod.tileentity.TileEntityVendor;
  12. import com.gugu42.rcmod.handler.ExtendedPlayerBolt;
  13. import com.gugu42.rcmod.handler.RcSoundHandler;
  14. import com.gugu42.rcmod.items.EnumRcWeapons;
  15. import com.gugu42.rcmod.items.ItemRcWeap;
  16.  
  17. import cpw.mods.fml.common.network.PacketDispatcher;
  18. import cpw.mods.fml.relauncher.Side;
  19. import cpw.mods.fml.relauncher.SideOnly;
  20. import net.minecraft.client.Minecraft;
  21. import net.minecraft.client.gui.GuiButton;
  22. import net.minecraft.client.gui.GuiTextField;
  23. import net.minecraft.client.gui.inventory.GuiContainer;
  24. import net.minecraft.client.renderer.Tessellator;
  25. import net.minecraft.client.resources.I18n;
  26. import net.minecraft.entity.player.EntityPlayer;
  27. import net.minecraft.entity.player.InventoryPlayer;
  28. import net.minecraft.inventory.Slot;
  29. import net.minecraft.item.ItemStack;
  30. import net.minecraft.network.packet.Packet;
  31. import net.minecraft.network.packet.Packet250CustomPayload;
  32. import net.minecraft.util.ResourceLocation;
  33. import net.minecraft.util.StatCollector;
  34.  
  35. @SideOnly(Side.CLIENT)
  36. public class GuiVendor extends GuiContainer {
  37.  
  38.     private static final ResourceLocation texturepath = new ResourceLocation(
  39.             "rcmod", "textures/gui/vendor.png");
  40.  
  41.     private GuiButton ammoBtn;
  42.     private GuiButton buyBtn;
  43.     private GuiButton cancelBtn;
  44.     private GuiButton pageNextBtn;
  45.     private GuiButton pagePrevBtn;
  46.  
  47.     private EnumRcWeapons weaps;
  48.  
  49.     private TileEntityVendor tileEntity;
  50.     private EntityPlayer player;
  51.     private Minecraft mc;
  52.     private ContainerVendor container;
  53.  
  54.     private int weapPage;
  55.  
  56.     private boolean isOverSlot1 = false;
  57.     private boolean hasSlot1BeenClicked = false;
  58.  
  59.     private boolean isOverSlot2 = false;
  60.     private boolean hasSlot2BeenClicked = false;
  61.  
  62.     private boolean isOverSlot3 = false;
  63.     private boolean hasSlot3BeenClicked = false;
  64.  
  65.     private boolean isOverSlot4 = false;
  66.     private boolean hasSlot4BeenClicked = false;
  67.  
  68.     public GuiVendor(InventoryPlayer inventoryPlayer,
  69.             TileEntityVendor tileEntity, EntityPlayer player,
  70.             ContainerVendor container) {
  71.         super(new ContainerVendor(inventoryPlayer, tileEntity));
  72.         this.tileEntity = tileEntity;
  73.         this.player = player;
  74.         this.xSize = 176;
  75.         this.ySize = 222;
  76.         this.mc = Minecraft.getMinecraft();
  77.         this.container = container;
  78.         this.weapPage = 1;
  79.     }
  80.  
  81.     @SuppressWarnings("unchecked")
  82.     @Override
  83.     public void initGui() {
  84.         super.initGui();
  85.         this.buttonList.clear();
  86.         int posX = (this.width - xSize) / 2;
  87.         int posY = (this.height - ySize) / 2;
  88.         this.buttonList.add(this.ammoBtn = new GuiButton(0, posX + 7,
  89.                 posY + 40, 33, 20, "Refill"));
  90.         this.buttonList.add(this.buyBtn = new GuiButton(1, posX + 79,
  91.                 posY + 75, 33, 20, "Buy"));
  92.         this.buttonList.add(this.cancelBtn = new GuiButton(2, posX + 112,
  93.                 posY + 75, 43, 20, "Cancel"));
  94.         this.buttonList.add(this.pageNextBtn = new GuiButton(3, posX + 152,
  95.                 posY + 98, 16, 20, ">"));
  96.         this.buttonList.add(this.pagePrevBtn = new GuiButton(4, posX + 62,
  97.                 posY + 98, 16, 20, "<"));
  98.     }
  99.  
  100.     int soundCooldown;
  101.  
  102.     public void updateScreen() {
  103.  
  104.         if (weapPage > 0) {
  105.             if (EnumRcWeapons.getItemForPageAndSlot(weapPage, 1) != null) {
  106.                 container.putStackInSlot(1, new ItemStack(EnumRcWeapons
  107.                         .getItemForPageAndSlot(weapPage, 1).getWeapon()));
  108.             } else {
  109.                 container.putStackInSlot(1, null);
  110.             }
  111.             if (EnumRcWeapons.getItemForPageAndSlot(weapPage, 2) != null) {
  112.                 container.putStackInSlot(3, new ItemStack(EnumRcWeapons
  113.                         .getItemForPageAndSlot(weapPage, 2).getWeapon()));
  114.             } else {
  115.                 container.putStackInSlot(3, null);
  116.             }
  117.             if (EnumRcWeapons.getItemForPageAndSlot(weapPage, 3) != null) {
  118.                 container.putStackInSlot(4, new ItemStack(EnumRcWeapons
  119.                         .getItemForPageAndSlot(weapPage, 3).getWeapon()));
  120.             } else {
  121.                 container.putStackInSlot(4, null);
  122.             }
  123.             if (EnumRcWeapons.getItemForPageAndSlot(weapPage, 4) != null) {
  124.                 container.putStackInSlot(5, new ItemStack(EnumRcWeapons
  125.                         .getItemForPageAndSlot(weapPage, 4).getWeapon()));
  126.             } else {
  127.                 container.putStackInSlot(5, null);
  128.             }
  129.         }
  130.  
  131.         if (hasNextPage(weapPage)) {
  132.             this.pageNextBtn.enabled = true;
  133.         } else {
  134.             this.pageNextBtn.enabled = false;
  135.         }
  136.  
  137.         if (hasPrevPage(weapPage)) {
  138.             this.pagePrevBtn.enabled = true;
  139.         } else {
  140.             this.pagePrevBtn.enabled = false;
  141.         }
  142.  
  143.         if (this.tileEntity.getStackInSlot(1) != null) {
  144.             this.ammoBtn.enabled = this.tileEntity.getStackInSlot(1).getItem() instanceof ItemRcWeap;
  145.             if (this.tileEntity.getStackInSlot(1).getItem() instanceof ItemRcWeap) {
  146.                 ItemRcWeap itemInSlot1 = (ItemRcWeap) this.tileEntity
  147.                         .getStackInSlot(1).getItem();
  148.                 int price = this.tileEntity.getStackInSlot(1).getItemDamage()
  149.                         * itemInSlot1.getPrice();
  150.             }
  151.         } else {
  152.             this.ammoBtn.enabled = false;
  153.         }
  154.  
  155.         if (hasSlot1BeenClicked
  156.                 && EnumRcWeapons.getItemForPageAndSlot(weapPage, 1) != null) {
  157.             this.buyBtn.enabled = true;
  158.             this.cancelBtn.enabled = true;
  159.             this.container.putStackInSlot(2, new ItemStack(EnumRcWeapons
  160.                     .getItemForPageAndSlot(weapPage, 1).getWeapon()));
  161.             hasSlot2BeenClicked = false;
  162.             hasSlot3BeenClicked = false;
  163.             hasSlot4BeenClicked = false;
  164.         } else if (hasSlot2BeenClicked
  165.                 && EnumRcWeapons.getItemForPageAndSlot(weapPage, 2) != null) {
  166.             this.buyBtn.enabled = true;
  167.             this.cancelBtn.enabled = true;
  168.             this.container.putStackInSlot(2, new ItemStack(EnumRcWeapons
  169.                     .getItemForPageAndSlot(weapPage, 2).getWeapon()));
  170.             hasSlot1BeenClicked = false;
  171.             hasSlot3BeenClicked = false;
  172.             hasSlot4BeenClicked = false;
  173.         } else if (hasSlot3BeenClicked
  174.                 && EnumRcWeapons.getItemForPageAndSlot(weapPage, 3) != null) {
  175.             this.buyBtn.enabled = true;
  176.             this.cancelBtn.enabled = true;
  177.             this.container.putStackInSlot(2, new ItemStack(EnumRcWeapons
  178.                     .getItemForPageAndSlot(weapPage, 3).getWeapon()));
  179.             hasSlot1BeenClicked = false;
  180.             hasSlot2BeenClicked = false;
  181.             hasSlot4BeenClicked = false;
  182.         } else if (hasSlot4BeenClicked
  183.                 && EnumRcWeapons.getItemForPageAndSlot(weapPage, 4) != null) {
  184.             this.buyBtn.enabled = true;
  185.             this.cancelBtn.enabled = true;
  186.             this.container.putStackInSlot(2, new ItemStack(EnumRcWeapons
  187.                     .getItemForPageAndSlot(weapPage, 4).getWeapon()));
  188.             hasSlot1BeenClicked = false;
  189.             hasSlot2BeenClicked = false;
  190.             hasSlot3BeenClicked = false;
  191.         } else {
  192.             this.buyBtn.enabled = false;
  193.             this.cancelBtn.enabled = false;
  194.             this.container.putStackInSlot(2, null);
  195.         }
  196.  
  197.         if (soundCooldown <= 10 * 20) {
  198.             soundCooldown++;
  199.             //System.out.println(soundCooldown);
  200.         }
  201.  
  202.         if (soundCooldown >= 10 * 20) {
  203.             System.out.println("Sound cooldown is at 600 now !");
  204.             soundCooldown = 0;
  205.             Random random = new Random();
  206.             int randomInt = random.nextInt(2);
  207.            
  208.             if (randomInt == 1) {
  209. //              player.worldObj.playSoundAtEntity(player,
  210. //                      "rcmod:VendorSalesman.vendor_speech1", 1.0F, 1.0F);
  211. //              RcSoundHandler.playSoundAtPlayer(player,
  212. //                      "rcmod:VendorSalesman.vendor_speech1", 1.0F, 1.0F);
  213.                 mc.sndManager.playSoundFX("rcmod:VendorSalesman.vendor_speech1", 1.0f, 1.0f);
  214.                 System.out.println("Sound 1 played !");
  215.             } else {
  216. //              player.worldObj.playSoundAtEntity(player,
  217. //                      "rcmod:VendorSalesman.vendor_speech4", 1.0F, 1.0F);
  218. //              RcSoundHandler.playSoundAtPlayer(player,
  219. //                      "rcmod:VendorSalesman.vendor_speech4", 1.0F, 1.0F);
  220. //              mc.sndManager.playSound("rcmod:VendorSalesman.vendor_speech4", this.tileEntity.xCoord, this.tileEntity.yCoord, this.tileEntity.zCoord, 1.0f, 1.0f);
  221.                 mc.sndManager.playSoundFX("rcmod:VendorSalesman.vendor_speech4", 1.0f, 1.0f);
  222.                 System.out.println("Sound 4 played !");
  223.             }
  224.  
  225.         }
  226.  
  227.     }
  228.  
  229.     public boolean doesGuiPauseGame()
  230.     {
  231.         return false;
  232.     }
  233.    
  234.     public boolean hasNextPage(int currentPage) {
  235.         if (EnumRcWeapons.getItemForPageAndSlot(currentPage + 1, 1) != null) {
  236.             return true;
  237.         } else {
  238.             return false;
  239.         }
  240.     }
  241.  
  242.     public boolean hasPrevPage(int currentPage) {
  243.         if (currentPage > 1) {
  244.             return true;
  245.         } else {
  246.             return false;
  247.         }
  248.     }
  249.  
  250.     public void actionPerformed(GuiButton button) {
  251.         switch (button.id) {
  252.         case 0:
  253.             if (tileEntity.getStackInSlot(1) != null
  254.                     && tileEntity.getStackInSlot(1).getItem() instanceof ItemRcWeap) {
  255.                 int damage = tileEntity.getStackInSlot(1).getItemDamage();
  256.                 ExtendedPlayerBolt props = ExtendedPlayerBolt.get(player);
  257.                 if (props.getCurrentBolt() > damage) {
  258.                     ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
  259.                     DataOutputStream dataoutputstream = new DataOutputStream(
  260.                             bytearrayoutputstream);
  261.                     try {
  262.                         Packet.writeItemStack(tileEntity.getStackInSlot(1),
  263.                                 dataoutputstream);
  264.                         PacketDispatcher
  265.                                 .sendPacketToServer(new Packet250CustomPayload(
  266.                                         "RCMD|refi", bytearrayoutputstream
  267.                                                 .toByteArray()));
  268.                     } catch (Exception exception) {
  269.                         exception.printStackTrace();
  270.                     }
  271.                 }
  272.  
  273.             }
  274.             break;
  275.         case 1:
  276.             ExtendedPlayerBolt props = ExtendedPlayerBolt.get(player);
  277.             if (props.getCurrentBolt() > 1000) {
  278.                 ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
  279.                 DataOutputStream dataoutputstream = new DataOutputStream(
  280.                         bytearrayoutputstream);
  281.                 try {
  282.                     dataoutputstream.writeInt(weapPage);
  283.                     dataoutputstream.writeInt(getSlotClicked());
  284.                     PacketDispatcher
  285.                             .sendPacketToServer(new Packet250CustomPayload(
  286.                                     "RCMD|vend", bytearrayoutputstream
  287.                                             .toByteArray()));
  288.                 } catch (Exception exception) {
  289.                     exception.printStackTrace();
  290.                 }
  291.             }
  292.             break;
  293.         case 2:
  294.             this.hasSlot1BeenClicked = false;
  295.             this.hasSlot2BeenClicked = false;
  296.             this.hasSlot3BeenClicked = false;
  297.             this.hasSlot4BeenClicked = false;
  298.             break;
  299.         case 3:
  300.             this.weapPage += 1;
  301.             break;
  302.         case 4:
  303.             this.weapPage -= 1;
  304.             break;
  305.         default:
  306.         }
  307.     }
  308.  
  309.     @Override
  310.     protected void drawGuiContainerForegroundLayer(int par1, int par2) {
  311.         fontRenderer.drawString("Vendor", 8, 6, 4210752);
  312.  
  313.         if (isMouseOverSlot(container.getSlot(1), par1, par2)) {
  314.             isOverSlot1 = true;
  315.             isOverSlot2 = false;
  316.             isOverSlot3 = false;
  317.             isOverSlot4 = false;
  318.         } else if (isMouseOverSlot(container.getSlot(3), par1, par2)) {
  319.             isOverSlot1 = false;
  320.             isOverSlot2 = true;
  321.             isOverSlot3 = false;
  322.             isOverSlot4 = false;
  323.         } else if (isMouseOverSlot(container.getSlot(4), par1, par2)) {
  324.             isOverSlot1 = false;
  325.             isOverSlot2 = false;
  326.             isOverSlot3 = true;
  327.             isOverSlot4 = false;
  328.         } else if (isMouseOverSlot(container.getSlot(5), par1, par2)) {
  329.             isOverSlot1 = false;
  330.             isOverSlot2 = false;
  331.             isOverSlot3 = false;
  332.             isOverSlot4 = true;
  333.         } else {
  334.             isOverSlot1 = false;
  335.             isOverSlot2 = false;
  336.             isOverSlot3 = false;
  337.             isOverSlot4 = false;
  338.         }
  339.  
  340.         if (this.tileEntity.getStackInSlot(1) != null
  341.                 && this.tileEntity.getStackInSlot(1).getItem() instanceof ItemRcWeap) {
  342.  
  343.             ItemRcWeap itemInSlot1 = (ItemRcWeap) this.tileEntity
  344.                     .getStackInSlot(1).getItem();
  345.             int price = this.tileEntity.getStackInSlot(1).getItemDamage()
  346.                     * itemInSlot1.getPrice();
  347.             fontRenderer.drawString("Buy "
  348.                     + this.tileEntity.getStackInSlot(1).getItemDamage()
  349.                     + " ammo", 7, 64, 0);
  350.             fontRenderer.drawString("for " + price, 7, 74, 0);
  351.             fontRenderer.drawString("bolts", 7, 84, 0);
  352.         }
  353.  
  354.         if (hasSlot1BeenClicked
  355.                 && EnumRcWeapons.getItemForPageAndSlot(weapPage, 1) != null) {
  356.             fontRenderer
  357.                     .drawString(EnumRcWeapons
  358.                             .getItemForPageAndSlot(weapPage, 1).getDesc()[0],
  359.                             100, 10, 0);
  360.             fontRenderer
  361.                     .drawString(EnumRcWeapons
  362.                             .getItemForPageAndSlot(weapPage, 1).getDesc()[1],
  363.                             100, 20, 0);
  364.             fontRenderer
  365.                     .drawString(EnumRcWeapons
  366.                             .getItemForPageAndSlot(weapPage, 1).getDesc()[2],
  367.                             80, 30, 0);
  368.             fontRenderer
  369.                     .drawString(EnumRcWeapons
  370.                             .getItemForPageAndSlot(weapPage, 1).getDesc()[3],
  371.                             80, 40, 0);
  372.             fontRenderer
  373.                     .drawString(EnumRcWeapons
  374.                             .getItemForPageAndSlot(weapPage, 1).getDesc()[4],
  375.                             80, 50, 0);
  376.             fontRenderer
  377.                     .drawString(EnumRcWeapons
  378.                             .getItemForPageAndSlot(weapPage, 1).getDesc()[5],
  379.                             80, 60, 0);
  380.             fontRenderer.drawString("Price : "
  381.                     + EnumRcWeapons.getItemForPageAndSlot(weapPage, 1)
  382.                             .getPrice(), 160, 80, 0);
  383.         } else if (hasSlot2BeenClicked
  384.                 && EnumRcWeapons.getItemForPageAndSlot(weapPage, 2) != null) {
  385.             fontRenderer
  386.                     .drawString(EnumRcWeapons
  387.                             .getItemForPageAndSlot(weapPage, 2).getDesc()[0],
  388.                             100, 10, 0);
  389.             fontRenderer
  390.                     .drawString(EnumRcWeapons
  391.                             .getItemForPageAndSlot(weapPage, 2).getDesc()[1],
  392.                             100, 20, 0);
  393.             fontRenderer
  394.                     .drawString(EnumRcWeapons
  395.                             .getItemForPageAndSlot(weapPage, 2).getDesc()[2],
  396.                             80, 30, 0);
  397.             fontRenderer
  398.                     .drawString(EnumRcWeapons
  399.                             .getItemForPageAndSlot(weapPage, 2).getDesc()[3],
  400.                             80, 40, 0);
  401.             fontRenderer
  402.                     .drawString(EnumRcWeapons
  403.                             .getItemForPageAndSlot(weapPage, 2).getDesc()[4],
  404.                             80, 50, 0);
  405.             fontRenderer
  406.                     .drawString(EnumRcWeapons
  407.                             .getItemForPageAndSlot(weapPage, 2).getDesc()[5],
  408.                             80, 60, 0);
  409.             fontRenderer.drawString("Price : "
  410.                     + EnumRcWeapons.getItemForPageAndSlot(weapPage, 2)
  411.                             .getPrice(), 160, 80, 0);
  412.         } else if (hasSlot3BeenClicked
  413.                 && EnumRcWeapons.getItemForPageAndSlot(weapPage, 3) != null) {
  414.             fontRenderer
  415.                     .drawString(EnumRcWeapons
  416.                             .getItemForPageAndSlot(weapPage, 3).getDesc()[0],
  417.                             100, 10, 0);
  418.             fontRenderer
  419.                     .drawString(EnumRcWeapons
  420.                             .getItemForPageAndSlot(weapPage, 3).getDesc()[1],
  421.                             100, 20, 0);
  422.             fontRenderer
  423.                     .drawString(EnumRcWeapons
  424.                             .getItemForPageAndSlot(weapPage, 3).getDesc()[2],
  425.                             80, 30, 0);
  426.             fontRenderer
  427.                     .drawString(EnumRcWeapons
  428.                             .getItemForPageAndSlot(weapPage, 3).getDesc()[3],
  429.                             80, 40, 0);
  430.             fontRenderer
  431.                     .drawString(EnumRcWeapons
  432.                             .getItemForPageAndSlot(weapPage, 3).getDesc()[4],
  433.                             80, 50, 0);
  434.             fontRenderer
  435.                     .drawString(EnumRcWeapons
  436.                             .getItemForPageAndSlot(weapPage, 3).getDesc()[5],
  437.                             80, 60, 0);
  438.             fontRenderer.drawString("Price : "
  439.                     + EnumRcWeapons.getItemForPageAndSlot(weapPage, 3)
  440.                             .getPrice(), 160, 80, 0);
  441.         } else if (hasSlot4BeenClicked
  442.                 && EnumRcWeapons.getItemForPageAndSlot(weapPage, 4) != null) {
  443.             fontRenderer
  444.                     .drawString(EnumRcWeapons
  445.                             .getItemForPageAndSlot(weapPage, 4).getDesc()[0],
  446.                             100, 10, 0);
  447.             fontRenderer
  448.                     .drawString(EnumRcWeapons
  449.                             .getItemForPageAndSlot(weapPage, 4).getDesc()[1],
  450.                             100, 20, 0);
  451.             fontRenderer
  452.                     .drawString(EnumRcWeapons
  453.                             .getItemForPageAndSlot(weapPage, 4).getDesc()[2],
  454.                             80, 30, 0);
  455.             fontRenderer
  456.                     .drawString(EnumRcWeapons
  457.                             .getItemForPageAndSlot(weapPage, 4).getDesc()[3],
  458.                             80, 40, 0);
  459.             fontRenderer
  460.                     .drawString(EnumRcWeapons
  461.                             .getItemForPageAndSlot(weapPage, 4).getDesc()[4],
  462.                             80, 50, 0);
  463.             fontRenderer
  464.                     .drawString(EnumRcWeapons
  465.                             .getItemForPageAndSlot(weapPage, 4).getDesc()[5],
  466.                             80, 60, 0);
  467.             fontRenderer.drawString("Price : "
  468.                     + EnumRcWeapons.getItemForPageAndSlot(weapPage, 4)
  469.                             .getPrice(), 160, 80, 0);
  470.         }
  471.  
  472.         fontRenderer.drawString(
  473.                 StatCollector.translateToLocal("container.inventory"), 8,
  474.                 ySize - 96 + 2, 4210752);
  475.     }
  476.  
  477.     @Override
  478.     public void mouseClicked(int par1, int par2, int par3) {
  479.         if (isOverSlot1) {
  480.             hasSlot1BeenClicked = true;
  481.             hasSlot2BeenClicked = false;
  482.             hasSlot3BeenClicked = false;
  483.             hasSlot4BeenClicked = false;
  484.         } else if (isOverSlot2) {
  485.             hasSlot1BeenClicked = false;
  486.             hasSlot2BeenClicked = true;
  487.             hasSlot3BeenClicked = false;
  488.             hasSlot4BeenClicked = false;
  489.         } else if (isOverSlot3) {
  490.             hasSlot1BeenClicked = false;
  491.             hasSlot2BeenClicked = false;
  492.             hasSlot3BeenClicked = true;
  493.             hasSlot4BeenClicked = false;
  494.         } else if (isOverSlot4) {
  495.             hasSlot1BeenClicked = false;
  496.             hasSlot2BeenClicked = false;
  497.             hasSlot3BeenClicked = false;
  498.             hasSlot4BeenClicked = true;
  499.         } else {
  500.             super.mouseClicked(par1, par2, par3);
  501.         }
  502.     }
  503.  
  504.     private boolean isMouseOverSlot(Slot par1Slot, int par2, int par3) {
  505.         return this.isPointInRegion(par1Slot.xDisplayPosition,
  506.                 par1Slot.yDisplayPosition, 16, 16, par2, par3);
  507.     }
  508.  
  509.     @Override
  510.     protected void drawGuiContainerBackgroundLayer(float par1, int par2,
  511.             int par3) {
  512.         GL11.glEnable(GL11.GL_BLEND);
  513.         GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
  514.         this.mc.renderEngine.bindTexture(texturepath);
  515.         int x = (width - xSize) / 2;
  516.         int y = (height - ySize) / 2;
  517.         this.drawTexturedQuadFit(x, y, 256, 256, 0);
  518.         GL11.glDisable(GL11.GL_BLEND);
  519.     }
  520.  
  521.     public int getSlotClicked() {
  522.  
  523.         if (hasSlot1BeenClicked) {
  524.             return 1;
  525.         } else if (hasSlot2BeenClicked) {
  526.             return 2;
  527.         } else if (hasSlot3BeenClicked) {
  528.             return 3;
  529.         } else if (hasSlot4BeenClicked) {
  530.             return 4;
  531.         } else {
  532.             return 0;
  533.         }
  534.     }
  535.  
  536.     @SideOnly(Side.CLIENT)
  537.     public static void drawTexturedQuadFit(double x, double y, double width,
  538.             double height, double zLevel) {
  539.         Tessellator tessellator = Tessellator.instance;
  540.         tessellator.startDrawingQuads();
  541.         tessellator.addVertexWithUV(x + 0, y + height, zLevel, 0, 1);
  542.         tessellator.addVertexWithUV(x + width, y + height, zLevel, 1, 1);
  543.         tessellator.addVertexWithUV(x + width, y + 0, zLevel, 1, 0);
  544.         tessellator.addVertexWithUV(x + 0, y + 0, zLevel, 0, 0);
  545.         tessellator.draw();
  546.     }
  547.  
  548. }
Advertisement
Add Comment
Please, Sign In to add comment