Advertisement
Guest User

Untitled

a guest
Jul 21st, 2019
1,009
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.75 KB | None | 0 0
  1. package fr.roleplaycore.customshops.client.gui;
  2.  
  3. import com.mojang.realmsclient.gui.ChatFormatting;
  4. import fr.poskitch.HerlyLifeCore;
  5. import fr.poskitch.Utils;
  6. import fr.roleplaycore.customshops.common.packet.PacketBuyRequest;
  7. import fr.roleplaycore.customshops.common.packet.PacketVenteRequest;
  8. import fr.roleplaycore.customshops.others.TradeEntry;
  9. import net.minecraft.client.Minecraft;
  10. import net.minecraft.client.gui.*;
  11. import net.minecraft.client.renderer.GlStateManager;
  12. import net.minecraft.client.resources.I18n;
  13. import net.minecraft.entity.player.EntityPlayer;
  14. import net.minecraft.item.Item;
  15. import net.minecraft.item.ItemStack;
  16. import net.minecraft.util.ResourceLocation;
  17. import org.lwjgl.input.Keyboard;
  18.  
  19. import java.io.IOException;
  20. import java.util.ArrayList;
  21.  
  22.  
  23. public class GuiShop extends GuiScreen
  24. {
  25. public static TradeEntry selectedTrade;
  26. boolean isListInitialized = false;
  27. public ArrayList<TradeEntry> stackToSell = new ArrayList<>();
  28. public final String SHOP_NAME;
  29. public static GuiButton guibutton;
  30. public static GuiButton guibutton1;
  31. public static String errormsg=" " ;
  32. int guiWidth = 140;
  33. int guiHeight = 230;
  34. public GuiShop(String shopname, ArrayList<TradeEntry> tradeList)
  35. {
  36. this.SHOP_NAME = shopname;
  37. stackToSell=tradeList;
  38. }
  39. @Override
  40. public void initGui()
  41. {
  42. super.initGui();
  43. guibutton = new Button(10, width - 125, height - 30, 100, 20, I18n.format("shop.button.buy"));
  44. guibutton1 = new Button(11, width - 125, height - 50, 100, 20, I18n.format("shop.button.sell"));
  45. this.buttonList.add(guibutton);
  46. this.buttonList.add(guibutton1);
  47. errormsg = "";
  48. ((Button) guibutton).enabled = false;
  49. ((Button) guibutton1).enabled = false;
  50. this.initButtons();
  51. }
  52. public void initList()
  53. {
  54. isListInitialized = true;
  55. }
  56. @Override
  57. public void drawScreen(int mouseX, int mouseY, float partialTicks)
  58. {
  59. int guiX = (width - guiWidth) / 2;
  60. int guiY = (height - guiHeight) /2;
  61.  
  62. mc.getTextureManager().bindTexture(new ResourceLocation(HerlyLifeCore.MODID, "textures/gui/blancclair.png"));
  63. drawTexturedModalRect(guiX + 108, guiY + 48, 0, 0, 22, 1);
  64. GlStateManager.enableColorMaterial();
  65. mc.fontRenderer.drawString(ChatFormatting.WHITE + "SHOP " + SHOP_NAME, width / 2, 10, 0X000000);
  66. if (this.selectedTrade != null)
  67. {
  68. mc.fontRenderer.drawString(ChatFormatting.WHITE + "OBJET: " + Utils.getItemStackFromString(selectedTrade.getObjectClient()).getUnlocalizedName() + " x " + Utils.getItemStackFromString(selectedTrade.getObjectClient()).getCount(), width -130 , this.height / 2 + 20, 0X000000);
  69. mc.fontRenderer.drawString(ChatFormatting.WHITE + "ACHAT: " + selectedTrade.getPriceBuyClient(), width -130, this.height / 2 + 60, 0X000000);
  70. mc.fontRenderer.drawString(ChatFormatting.WHITE + "REVENTE: " + selectedTrade.getPriceSellClient(), width -130, this.height / 2 + 40, 0X000000);
  71. }
  72. mc.fontRenderer.drawString(errormsg, width-width+10, height-10, 0X000000);
  73. super.drawScreen(mouseX, mouseY, partialTicks);
  74. }
  75.  
  76. @Override
  77. protected void actionPerformed(GuiButton button)
  78. {
  79. if (button.id == 1)
  80. {
  81. Button b = (Button) button;
  82. this.selectedTrade = b.getTradeEntry();
  83. EntityPlayer player = Minecraft.getMinecraft().player;
  84. int totalprice = 0;
  85. if(selectedTrade.getPriceSellClient() != 0) {
  86. for(int i = 0; i < mc.player.inventory.getSizeInventory(); i++)
  87. {
  88. if(!mc.player.inventory.getStackInSlot(i).isEmpty())
  89. {
  90. if(mc.player.inventory.getStackInSlot(i).getItem() == Utils.getItemStackFromString(selectedTrade.getObjectClient()).getItem())
  91. {
  92. totalprice = totalprice+mc.player.inventory.getStackInSlot(i).getCount();
  93. }
  94. }
  95. }
  96. if(totalprice>=Utils.getItemStackFromString(selectedTrade.getObjectClient()).getCount()){
  97.  
  98. ((Button) guibutton1).enabled = true;
  99. this.errormsg = ChatFormatting.GREEN+"Vous pouvez vendre cet objet !";
  100.  
  101. }else{
  102. ((Button) guibutton1).enabled = false;
  103. this.errormsg = ChatFormatting.RED+"Vous ne pouvez pas vendre cet objet !";
  104. }
  105. }
  106. else {
  107. ((Button) guibutton1).enabled = false;
  108. }
  109. if(selectedTrade.getPriceBuyClient() != 0) {
  110. totalprice = selectedTrade.getPriceBuyClient();
  111. if(totalprice<=100){
  112.  
  113. ((Button) guibutton).enabled = true;
  114. this.errormsg = ChatFormatting.GREEN+"Vous pouvez acheter cet objet !";
  115.  
  116. }else{
  117. ((Button) guibutton).enabled = false;
  118. this.errormsg = ChatFormatting.RED+"Vous ne pouvez pas acheter cet objet !";
  119. }
  120. }
  121. else {
  122. ((Button) guibutton).enabled = false;
  123. }
  124. }
  125. if(button.id== 10)
  126. {
  127. Button b = (Button) button;
  128. HerlyLifeCore.network.sendToServer(new PacketBuyRequest(Utils.getItemStackFromString(selectedTrade.getObjectClient()), selectedTrade.getPriceBuyClient()));
  129. }
  130. if(button.id== 11)
  131. {
  132. Button b = (Button) button;
  133. HerlyLifeCore.network.sendToServer(new PacketVenteRequest(Utils.getItemStackFromString(selectedTrade.getObjectClient()), selectedTrade.getPriceSellClient()));
  134. }
  135. }
  136. @Override
  137. public boolean doesGuiPauseGame()
  138. {
  139. return false;
  140. }
  141. public void initButtons()
  142. {
  143. if (GuiShop.selectedTrade != null)
  144. { }
  145. int a = 25;
  146. for (TradeEntry entry : this.stackToSell)
  147. {
  148. this.buttonList.add(new Button(1, 25, a, 150, 20, Utils.getItemStackFromString(selectedTrade.getObjectClient()).getUnlocalizedName(), entry));
  149. a += 20;
  150. }
  151. }
  152. public static void reloadGui(){
  153. int totalprice = 0;
  154.  
  155. }
  156. public String getShopName(){
  157. return this.SHOP_NAME;
  158. }
  159. public ArrayList getTradeList(){
  160. return this.stackToSell;
  161. }
  162.  
  163. protected void keyTyped(char unChar, int deuxInt) throws IOException
  164. {
  165. super.keyTyped(unChar, deuxInt);
  166. }
  167.  
  168. protected void mouseClicked(int un, int deux, int trois) throws IOException
  169. {
  170. super.mouseClicked(un, deux, trois);
  171. }
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement