Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.roleplaycore.customshops.client.gui;
- import com.mojang.realmsclient.gui.ChatFormatting;
- import fr.poskitch.HerlyLifeCore;
- import fr.poskitch.Utils;
- import fr.roleplaycore.customshops.common.packet.PacketBuyRequest;
- import fr.roleplaycore.customshops.common.packet.PacketVenteRequest;
- import fr.roleplaycore.customshops.others.TradeEntry;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.gui.*;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.client.resources.I18n;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.ResourceLocation;
- import org.lwjgl.input.Keyboard;
- import java.io.IOException;
- import java.util.ArrayList;
- public class GuiShop extends GuiScreen
- {
- public static TradeEntry selectedTrade;
- boolean isListInitialized = false;
- public ArrayList<TradeEntry> stackToSell = new ArrayList<>();
- public final String SHOP_NAME;
- public static GuiButton guibutton;
- public static GuiButton guibutton1;
- public static String errormsg=" " ;
- int guiWidth = 140;
- int guiHeight = 230;
- public GuiShop(String shopname, ArrayList<TradeEntry> tradeList)
- {
- this.SHOP_NAME = shopname;
- stackToSell=tradeList;
- }
- @Override
- public void initGui()
- {
- super.initGui();
- guibutton = new Button(10, width - 125, height - 30, 100, 20, I18n.format("shop.button.buy"));
- guibutton1 = new Button(11, width - 125, height - 50, 100, 20, I18n.format("shop.button.sell"));
- this.buttonList.add(guibutton);
- this.buttonList.add(guibutton1);
- errormsg = "";
- ((Button) guibutton).enabled = false;
- ((Button) guibutton1).enabled = false;
- this.initButtons();
- }
- public void initList()
- {
- isListInitialized = true;
- }
- @Override
- public void drawScreen(int mouseX, int mouseY, float partialTicks)
- {
- int guiX = (width - guiWidth) / 2;
- int guiY = (height - guiHeight) /2;
- mc.getTextureManager().bindTexture(new ResourceLocation(HerlyLifeCore.MODID, "textures/gui/blancclair.png"));
- drawTexturedModalRect(guiX + 108, guiY + 48, 0, 0, 22, 1);
- GlStateManager.enableColorMaterial();
- mc.fontRenderer.drawString(ChatFormatting.WHITE + "SHOP " + SHOP_NAME, width / 2, 10, 0X000000);
- if (this.selectedTrade != null)
- {
- mc.fontRenderer.drawString(ChatFormatting.WHITE + "OBJET: " + Utils.getItemStackFromString(selectedTrade.getObjectClient()).getUnlocalizedName() + " x " + Utils.getItemStackFromString(selectedTrade.getObjectClient()).getCount(), width -130 , this.height / 2 + 20, 0X000000);
- mc.fontRenderer.drawString(ChatFormatting.WHITE + "ACHAT: " + selectedTrade.getPriceBuyClient(), width -130, this.height / 2 + 60, 0X000000);
- mc.fontRenderer.drawString(ChatFormatting.WHITE + "REVENTE: " + selectedTrade.getPriceSellClient(), width -130, this.height / 2 + 40, 0X000000);
- }
- mc.fontRenderer.drawString(errormsg, width-width+10, height-10, 0X000000);
- super.drawScreen(mouseX, mouseY, partialTicks);
- }
- @Override
- protected void actionPerformed(GuiButton button)
- {
- if (button.id == 1)
- {
- Button b = (Button) button;
- this.selectedTrade = b.getTradeEntry();
- EntityPlayer player = Minecraft.getMinecraft().player;
- int totalprice = 0;
- if(selectedTrade.getPriceSellClient() != 0) {
- for(int i = 0; i < mc.player.inventory.getSizeInventory(); i++)
- {
- if(!mc.player.inventory.getStackInSlot(i).isEmpty())
- {
- if(mc.player.inventory.getStackInSlot(i).getItem() == Utils.getItemStackFromString(selectedTrade.getObjectClient()).getItem())
- {
- totalprice = totalprice+mc.player.inventory.getStackInSlot(i).getCount();
- }
- }
- }
- if(totalprice>=Utils.getItemStackFromString(selectedTrade.getObjectClient()).getCount()){
- ((Button) guibutton1).enabled = true;
- this.errormsg = ChatFormatting.GREEN+"Vous pouvez vendre cet objet !";
- }else{
- ((Button) guibutton1).enabled = false;
- this.errormsg = ChatFormatting.RED+"Vous ne pouvez pas vendre cet objet !";
- }
- }
- else {
- ((Button) guibutton1).enabled = false;
- }
- if(selectedTrade.getPriceBuyClient() != 0) {
- totalprice = selectedTrade.getPriceBuyClient();
- if(totalprice<=100){
- ((Button) guibutton).enabled = true;
- this.errormsg = ChatFormatting.GREEN+"Vous pouvez acheter cet objet !";
- }else{
- ((Button) guibutton).enabled = false;
- this.errormsg = ChatFormatting.RED+"Vous ne pouvez pas acheter cet objet !";
- }
- }
- else {
- ((Button) guibutton).enabled = false;
- }
- }
- if(button.id== 10)
- {
- Button b = (Button) button;
- HerlyLifeCore.network.sendToServer(new PacketBuyRequest(Utils.getItemStackFromString(selectedTrade.getObjectClient()), selectedTrade.getPriceBuyClient()));
- }
- if(button.id== 11)
- {
- Button b = (Button) button;
- HerlyLifeCore.network.sendToServer(new PacketVenteRequest(Utils.getItemStackFromString(selectedTrade.getObjectClient()), selectedTrade.getPriceSellClient()));
- }
- }
- @Override
- public boolean doesGuiPauseGame()
- {
- return false;
- }
- public void initButtons()
- {
- if (GuiShop.selectedTrade != null)
- { }
- int a = 25;
- for (TradeEntry entry : this.stackToSell)
- {
- this.buttonList.add(new Button(1, 25, a, 150, 20, Utils.getItemStackFromString(selectedTrade.getObjectClient()).getUnlocalizedName(), entry));
- a += 20;
- }
- }
- public static void reloadGui(){
- int totalprice = 0;
- }
- public String getShopName(){
- return this.SHOP_NAME;
- }
- public ArrayList getTradeList(){
- return this.stackToSell;
- }
- protected void keyTyped(char unChar, int deuxInt) throws IOException
- {
- super.keyTyped(unChar, deuxInt);
- }
- protected void mouseClicked(int un, int deux, int trois) throws IOException
- {
- super.mouseClicked(un, deux, trois);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement