MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Questions : CustomMenu + Bug touche

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    55 Messages 4 Publieurs 12.8k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Benjamin LoisonB Hors-ligne
      Benjamin Loison
      dernière édition par

      Oui 😢

      >! Développeur de Altis-Life (Arma III) sur Minecraft !
      >! Site web     : https://lemnoslife.com

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par

        Envoie le code concerné.

        1 réponse Dernière réponse Répondre Citer 0
        • Benjamin LoisonB Hors-ligne
          Benjamin Loison
          dernière édition par

          ​package fr.altiscraft.altiscraft.proxy;
          
          import net.minecraft.client.Minecraft;
          import net.minecraft.client.model.ModelBiped;
          import net.minecraft.client.settings.KeyBinding;
          import net.minecraft.util.ResourceLocation;
          import net.minecraft.util.StringUtils;
          import cpw.mods.fml.client.registry.ClientRegistry;
          import cpw.mods.fml.client.registry.RenderingRegistry;
          import cpw.mods.fml.common.FMLCommonHandler;
          import cpw.mods.fml.common.eventhandler.SubscribeEvent;
          import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent;
          import fr.altiscraft.altiscraft.common.EntityMobBenjaminLoison;
          import fr.altiscraft.altiscraft.common.RenderMobBenjaminLoison;
          import fr.altiscraft.altiscraft.common.TileEntityATM;
          import fr.altiscraft.altiscraft.common.TileEntityCoco;
          import fr.altiscraft.altiscraft.common.TileEntityLampadaire;
          import fr.altiscraft.altiscraft.common.TileEntityVLampadaire;
          
          public class ClientProxy extends CommonProxy {
          public static int tesrRenderId;
          
          @Override
          public void registerRender() {
          FMLCommonHandler.instance().bus().register(this);
          System.out.println("Méthode côté client");
          RenderingRegistry.registerEntityRenderingHandler(
          EntityMobBenjaminLoison.class, new RenderMobBenjaminLoison(
          new ModelBiped()));
          
          ClientRegistry.bindTileEntitySpecialRenderer(TileEntityATM.class,
          new TileEntityATMSpecialRenderer());
          ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoco.class,
          new TileEntityCocoSpecialRenderer());
          ClientRegistry.bindTileEntitySpecialRenderer(
          TileEntityLampadaire.class,
          new TileEntityLampadaireSpecialRenderer());
          ClientRegistry.bindTileEntitySpecialRenderer(
          TileEntityVLampadaire.class,
          new TileEntityVLampadaireSpecialRenderer());
          tesrRenderId = RenderingRegistry.getNextAvailableRenderId();
          RenderingRegistry.registerBlockHandler(new TESRInventoryRenderer());
          }
          
          private static KeyBinding keyBindTest;
          
          {
          keyBindTest = new KeyBinding("altiscraft.inventaire", 21,
          "key.categories.inventory");
          ClientRegistry.registerKeyBinding(keyBindTest);
          }
          
          @SubscribeEvent
          public void onEvent(KeyInputEvent event) {
          
          if (keyBindTest.isPressed()) {
          keyTestTyped();
          }
          }
          
          private void keyTestTyped() {
          Minecraft.getMinecraft().thePlayer
          .sendChatMessage((new StringBuilder()).append("/inventaire")
          .toString());
          Minecraft.getMinecraft();
          }
          
          public static ResourceLocation getLocationSkin(String Skin) {
          return new ResourceLocation("skins/"
          + StringUtils.stripControlCodes(Skin));
          }
          }
          

          >! Développeur de Altis-Life (Arma III) sur Minecraft !
          >! Site web     : https://lemnoslife.com

          1 réponse Dernière réponse Répondre Citer 0
          • SCAREXS Hors-ligne
            SCAREX
            dernière édition par

            C’est censé être quoi là ?

            private static KeyBinding keyBindTest;
            
            {
            keyBindTest = new KeyBinding("altiscraft.inventaire", 21,
            "key.categories.inventory");
            ClientRegistry.registerKeyBinding(keyBindTest);
            }
            

            Une méthode ? Une variable ?

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

            1 réponse Dernière réponse Répondre Citer 0
            • Benjamin LoisonB Hors-ligne
              Benjamin Loison
              dernière édition par

              Une méthode normalement.

              >! Développeur de Altis-Life (Arma III) sur Minecraft !
              >! Site web     : https://lemnoslife.com

              1 réponse Dernière réponse Répondre Citer 0
              • SCAREXS Hors-ligne
                SCAREX
                dernière édition par

                Ce n’est pas une méthode car tu as mis un “;” à la fin donc le code entre crochets est compté comme étant au tout début de ta classe, comme des variables.

                Pour le rendu : il est à l’envers par rapport à quoi ?

                Site web contenant mes scripts : http://SCAREXgaming.github.io

                Pas de demandes de support par MP ni par skype SVP.
                Je n'accepte sur skype que l…

                1 réponse Dernière réponse Répondre Citer 0
                • Benjamin LoisonB Hors-ligne
                  Benjamin Loison
                  dernière édition par

                  Comment faire alors pour régler et voilà les classes de mon VLampadaire qui s’affiche que dans l’inventaire à l’envers (vertical) :

                  ​package fr.altiscraft.altiscraft.common;
                  
                  import net.minecraft.block.Block;
                  import net.minecraft.block.material.Material;
                  import net.minecraft.entity.EntityLivingBase;
                  import net.minecraft.item.ItemStack;
                  import net.minecraft.tileentity.TileEntity;
                  import net.minecraft.util.MathHelper;
                  import net.minecraft.world.IBlockAccess;
                  import net.minecraft.world.World;
                  import net.minecraftforge.common.util.ForgeDirection;
                  import fr.altiscraft.altiscraft.proxy.ClientProxy;
                  
                  public class BlocVLampadaire extends Block
                  {
                  
                  protected BlocVLampadaire()
                  {
                  super(Material.ground);
                  }
                  
                  @Override
                  public boolean hasTileEntity(int metadata)
                  {
                  return true;
                  }
                  
                  @Override
                  public TileEntity createTileEntity(World world, int metadata)
                  {
                  return new TileEntityVLampadaire();
                  }
                  
                  public boolean isOpaqueCube()
                      {
                          return false;
                      }
                  
                      public boolean renderAsNormalBlock()
                      {
                          return false;
                      }
                  
                      public int getRenderType()
                      {
                          return ClientProxy.tesrRenderId;
                      }
                      public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
                      {
                          if(stack.getItemDamage() == 0)
                          {
                              TileEntity tile = world.getTileEntity(x, y, z);
                              if(tile instanceof TileEntityVLampadaire)
                              {
                                  int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
                                  ((TileEntityVLampadaire)tile).setDirection((byte)direction);
                              }
                          }
                      }
                  
                      @Override
                      public boolean rotateBlock(World world, int x, int y, int z, ForgeDirection axis)
                      {
                          if((axis == ForgeDirection.UP || axis == ForgeDirection.DOWN) && !world.isRemote && world.getBlockMetadata(x, y, z) == 0)
                          {
                              TileEntity tile = world.getTileEntity(x, y, z);
                              if(tile instanceof TileEntityVLampadaire)
                              {
                                  TileEntityVLampadaire tileVLampadaire = (TileEntityVLampadaire)tile;
                                  byte direction = tileVLampadaire.getDirection();
                                  direction++;
                                  if(direction > 3)
                                  {
                                      direction = 0;
                                  }
                                  tileVLampadaire.setDirection(direction);
                                  return true;
                              }
                          }
                          return false;
                      }
                  
                      public ForgeDirection[] getValidRotations(World world, int x, int y, int z)
                      {
                          return world.getBlockMetadata(x, y, z) == 0 ? new ForgeDirection[] {ForgeDirection.UP, ForgeDirection.DOWN} : ForgeDirection.VALID_DIRECTIONS;
                      }
                  public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y,
                  int z) {
                  this.setBlockBounds(0.40F, 0.0F, 0.40F, 0.60F, 2.5F, 0.60F);
                  }
                      }
                  
                  
                  ​package fr.altiscraft.altiscraft.common;
                  
                  import net.minecraft.nbt.NBTTagCompound;
                  import net.minecraft.network.NetworkManager;
                  import net.minecraft.network.Packet;
                  import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
                  import net.minecraft.tileentity.TileEntity;
                  
                  public class TileEntityVLampadaire extends TileEntity
                  {
                      private byte direction;
                  
                      @Override
                      public void readFromNBT(NBTTagCompound compound)
                      {
                          super.readFromNBT(compound);
                          this.direction = compound.getByte("Direction");
                      }
                  
                      @Override
                      public void writeToNBT(NBTTagCompound compound)
                      {
                          super.writeToNBT(compound);
                          compound.setByte("Direction", this.direction);
                      }
                  
                      public byte getDirection()
                      {
                          return direction;
                      }
                  
                      public void setDirection(byte direction)
                      {
                          this.direction = direction;
                          this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
                      }
                  
                      public Packet getDescriptionPacket()
                      {
                          NBTTagCompound nbttagcompound = new NBTTagCompound();
                          this.writeToNBT(nbttagcompound);
                          return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbttagcompound);
                      }
                  
                      public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
                      {
                          this.readFromNBT(pkt.func_148857_g());
                          this.worldObj.markBlockRangeForRenderUpdate(this.xCoord, this.yCoord, this.zCoord, this.xCoord, this.yCoord, this.zCoord);
                      }
                  }
                  
                  ​package fr.altiscraft.altiscraft.proxy;
                  
                  import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
                  import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                  import net.minecraft.tileentity.TileEntity;
                  import net.minecraft.util.ResourceLocation;
                  
                  import org.lwjgl.opengl.GL11;
                  
                  import fr.altiscraft.altiscraft.client.ModelBlockVLampadaire;
                  import fr.altiscraft.altiscraft.common.ModAltisCraft;
                  import fr.altiscraft.altiscraft.common.TileEntityVLampadaire;
                  
                  public class TileEntityVLampadaireSpecialRenderer extends TileEntitySpecialRenderer{
                  public static ModelBlockVLampadaire modelv = new ModelBlockVLampadaire();
                  public static ResourceLocation texturev = new ResourceLocation(ModAltisCraft.MODID, "textures/models/blocks/ModelBlockVLampadaire.png");
                  
                  public TileEntityVLampadaireSpecialRenderer()
                  {
                  this.func_147497_a(TileEntityRendererDispatcher.instance);
                  }
                  
                  @Override
                  public void renderTileEntityAt(TileEntity tile, double x,
                  double y, double z, float partialRenderTick) {
                      this.renderTileEntityVLampadaireAt((TileEntityVLampadaire) tile, x, y, z, partialRenderTick);
                  }
                  
                  private void renderTileEntityVLampadaireAt(TileEntityVLampadaire tile, double x, double y,
                  double z, float partialRenderTick) {
                  GL11.glPushMatrix();
                          GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
                          GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                          GL11.glRotatef((90F * tile.getDirection()) + 180F, 0.0F, 1.0F, 0.0F);
                          this.bindTexture(texturev);
                          modelv.renderAll();
                          GL11.glPopMatrix();
                  }
                  }
                  
                  
                  ​package fr.altiscraft.altiscraft.proxy;
                  
                  import net.minecraft.block.Block;
                  import net.minecraft.client.Minecraft;
                  import net.minecraft.client.renderer.RenderBlocks;
                  import net.minecraft.world.IBlockAccess;
                  
                  import org.lwjgl.opengl.GL11;
                  
                  import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
                  import fr.altiscraft.altiscraft.common.ModAltisCraft;
                  
                  public class TESRInventoryRenderer implements ISimpleBlockRenderingHandler {
                  
                  @Override
                  public void renderInventoryBlock(Block block, int metadata, int modelId,
                  RenderBlocks renderer) {
                  if (block == ModAltisCraft.BlocATM) {
                  GL11.glPushMatrix();
                  GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F);
                  GL11.glTranslatef(0.0F, -1.0F, 0.0F);
                  Minecraft.getMinecraft().getTextureManager()
                  .bindTexture(TileEntityATMSpecialRenderer.texture);
                  TileEntityATMSpecialRenderer.model.renderAll();
                  GL11.glPopMatrix();
                  }
                  
                  else if (block == ModAltisCraft.BlocVLampadaire) {
                  GL11.glPushMatrix();
                  GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F);
                  GL11.glTranslatef(0.0F, -1.0F, 0.0F);
                  Minecraft.getMinecraft().getTextureManager()
                  .bindTexture(TileEntityVLampadaireSpecialRenderer.texturev);
                  TileEntityVLampadaireSpecialRenderer.modelv.renderAll();
                  GL11.glPopMatrix();
                  }
                  
                  else if (block == ModAltisCraft.BlocCoco) {
                  GL11.glPushMatrix();
                  GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F);
                  GL11.glTranslatef(0.0F, -1.0F, 0.0F);
                  Minecraft.getMinecraft().getTextureManager()
                  .bindTexture(TileEntityCocoSpecialRenderer.textures);
                  TileEntityCocoSpecialRenderer.models.renderAll();
                  GL11.glPopMatrix();
                  }
                  
                  else if (block == ModAltisCraft.BlocLampadaire) {
                  GL11.glPushMatrix();
                  GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F);
                  GL11.glTranslatef(0.0F, -1.0F, 0.0F);
                  Minecraft.getMinecraft().getTextureManager()
                  .bindTexture(TileEntityCocoSpecialRenderer.texturesb);
                  TileEntityCocoSpecialRenderer.modelsb.renderAll();
                  GL11.glPopMatrix();
                  }
                  }
                  
                  @Override
                  public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z,
                  Block block, int modelId, RenderBlocks renderer) {
                  return false;
                  }
                  
                  @Override
                  public int getRenderId() {
                  return ClientProxy.tesrRenderId;
                  }
                  
                  @Override
                  public boolean shouldRender3DInInventory(int modelId) {
                  return true;
                  }
                  }
                  
                  

                  >! Développeur de Altis-Life (Arma III) sur Minecraft !
                  >! Site web     : https://lemnoslife.com

                  1 réponse Dernière réponse Répondre Citer 0
                  • SCAREXS Hors-ligne
                    SCAREX
                    dernière édition par

                    Retire cette ligne : GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); dans la classe TileEntityVLampadaireSpecialRenderer ligne 35.

                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                    Pas de demandes de support par MP ni par skype SVP.
                    Je n'accepte sur skype que l…

                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      Au contraire cette ligne met le modèle dans le bon sens. C’est dans le rendu dans l’inventaire qu’il doit ajouter celle ligne.

                      1 réponse Dernière réponse Répondre Citer 0
                      • SCAREXS Hors-ligne
                        SCAREX
                        dernière édition par

                        Ah oui, je croyais que c’était dans le monde le problème.

                        Site web contenant mes scripts : http://SCAREXgaming.github.io

                        Pas de demandes de support par MP ni par skype SVP.
                        Je n'accepte sur skype que l…

                        1 réponse Dernière réponse Répondre Citer 0
                        • Benjamin LoisonB Hors-ligne
                          Benjamin Loison
                          dernière édition par

                          C’est bon merci énormément et pour mon problème de touche alors ? 🙂 Et mon Menu ^^ et encore merci ❤

                          >! Développeur de Altis-Life (Arma III) sur Minecraft !
                          >! Site web     : https://lemnoslife.com

                          1 réponse Dernière réponse Répondre Citer 0
                          • SCAREXS Hors-ligne
                            SCAREX
                            dernière édition par

                            à la place de ceci :

                            private static KeyBinding keyBindTest;
                            
                            {
                            keyBindTest = new KeyBinding("altiscraft.inventaire", 21,
                            "key.categories.inventory");
                            ClientRegistry.registerKeyBinding(keyBindTest);
                            }
                            

                            Mets private static KeyBinding keyBindTest = new KeyBinding(“altiscraft.inventaire”, 21, “key.categories.inventory”);
                            et ClientRegistry.registerKeyBinding(keyBindingTest); dans la fonction registerRender.

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

                            1 réponse Dernière réponse Répondre Citer 0
                            • Benjamin LoisonB Hors-ligne
                              Benjamin Loison
                              dernière édition par

                              et c’est ClientRegistry.registerKeyBinding(keyBindTest); ^^ merci énormément pour tout et le menu alors ? 🙂 et je vois qu’il s’affiche maintenant que 2x :S

                              >! Développeur de Altis-Life (Arma III) sur Minecraft !
                              >! Site web     : https://lemnoslife.com

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002R Hors-ligne
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                dernière édition par

                                Menu :

                                   @SubscribeEvent
                                   public void onGuiInit(GuiScreenEvent.InitGuiEvent.Pre event)
                                   {
                                       if(event.gui.getClass().equals(GuiMainMenu.class))
                                       {
                                           this.mc.displayGuiScreen(new TonMenu());
                                       }
                                   }
                                
                                1 réponse Dernière réponse Répondre Citer 0
                                • TheAzkazeT Hors-ligne
                                  TheAzkaze
                                  dernière édition par

                                  Si tu mes

                                  private final ResourceLocation backGround = new ResourceLocation("modtutoriel", "textures/gui/menu.png");
                                  

                                  deja il faut suprimer

                                  private static final ResourceLocation minecraftTitleTextures = new ResourceLocation("textures/gui/title/minecraft.png");
                                  
                                  

                                  En dessous de

                                  try
                                  {
                                  Class oclass = Class.forName("java.awt.Desktop");
                                  Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                                  oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI(this.field_104024_v)});
                                  }
                                  catch(Throwable throwable)
                                  {
                                  logger.error("Couldn\'t open link", throwable);
                                  }
                                  }
                                  
                                  this.mc.displayGuiScreen(this);
                                  }
                                  }
                                  
                                  

                                  Ajoute

                                  private void renderBackGround()
                                  {
                                  GL11.glViewport(0, 0, 256, 256);
                                  this.mc.getTextureManager().bindTexture(backGround);
                                  GL11.glDisable(GL11.GL_TEXTURE_2D);
                                  GL11.glEnable(GL11.GL_TEXTURE_2D);
                                  GL11.glViewport(0, 0, this.mc.displayWidth, this.mc.displayHeight);
                                  Tessellator tessellator = Tessellator.instance;
                                  tessellator.startDrawingQuads();
                                  GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
                                  GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
                                  tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);
                                  int k = this.width;
                                  int l = this.height;
                                  tessellator.addVertexWithUV(0, 0, this.zLevel, 0, 0);
                                  tessellator.addVertexWithUV(0, l, this.zLevel, 0, 1);
                                  tessellator.addVertexWithUV(k, l, this.zLevel, 1, 1);
                                  tessellator.addVertexWithUV(k, 0, this.zLevel, 1, 0);
                                  tessellator.draw();
                                  }
                                  

                                  et suprime

                                  private void renderBackGround() {
                                  // TODO Auto-generated method stub
                                  
                                  }
                                  
                                  
                                  1 réponse Dernière réponse Répondre Citer 0
                                  • Benjamin LoisonB Hors-ligne
                                    Benjamin Loison
                                    dernière édition par

                                    C’est quoi déjà à la place de mc ? ligne 6 ?

                                    >! Développeur de Altis-Life (Arma III) sur Minecraft !
                                    >! Site web     : https://lemnoslife.com

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • TheAzkazeT Hors-ligne
                                      TheAzkaze
                                      dernière édition par

                                      Sa devrait resembler a sa

                                      package fr.altiscraft.altiscraft.common;
                                      
                                         import java.io.BufferedReader;
                                         import java.io.IOException;
                                         import java.io.InputStreamReader;
                                         import java.net.URI;
                                         import java.util.ArrayList;
                                         import java.util.Calendar;
                                         import java.util.Date;
                                         import java.util.List;
                                         import java.util.Random;
                                      
                                         import net.minecraft.client.Minecraft;
                                         import net.minecraft.client.gui.GuiButton;
                                         import net.minecraft.client.gui.GuiButtonLanguage;
                                         import net.minecraft.client.gui.GuiConfirmOpenLink;
                                         import net.minecraft.client.gui.GuiLanguage;
                                         import net.minecraft.client.gui.GuiOptions;
                                         import net.minecraft.client.gui.GuiScreen;
                                         import net.minecraft.client.gui.GuiSelectWorld;
                                         import net.minecraft.client.gui.GuiYesNo;
                                         import net.minecraft.client.gui.GuiYesNoCallback;
                                         import net.minecraft.client.renderer.OpenGlHelper;
                                         import net.minecraft.client.renderer.Tessellator;
                                         import net.minecraft.client.renderer.texture.DynamicTexture;
                                         import net.minecraft.client.resources.I18n;
                                         import net.minecraft.util.EnumChatFormatting;
                                         import net.minecraft.util.MathHelper;
                                         import net.minecraft.util.ResourceLocation;
                                         import net.minecraft.world.demo.DemoWorldServer;
                                         import net.minecraft.world.storage.ISaveFormat;
                                         import net.minecraft.world.storage.WorldInfo;
                                      
                                         import org.apache.commons.io.Charsets;
                                         import org.apache.logging.log4j.LogManager;
                                         import org.apache.logging.log4j.Logger;
                                         import org.lwjgl.opengl.GL11;
                                         import org.lwjgl.opengl.GLContext;
                                      
                                         import com.google.common.base.Strings;
                                         import com.google.common.collect.Lists;
                                      
                                         import cpw.mods.fml.client.FMLClientHandler;
                                         import cpw.mods.fml.common.FMLCommonHandler;
                                         import cpw.mods.fml.relauncher.Side;
                                         import cpw.mods.fml.relauncher.SideOnly;
                                      
                                         @SideOnly(Side.CLIENT)
                                         public class GuiCustomMainMenu extends GuiScreen implements GuiYesNoCallback
                                         {
                                             private static final Logger logger = LogManager.getLogger();
                                             /** The RNG used by the Main Menu Screen. */
                                             private static final Random rand = new Random();
                                             /** Counts the number of screen updates. */
                                             private float updateCounter;
                                             /** The splash message. */
                                             private String splashText;
                                             private GuiButton buttonResetDemo;
                                             /** Timer used to rotate the panorama, increases every tick. */
                                             private int panoramaTimer;
                                             /**
                                              * Texture allocated for the current viewport of the main menu's panorama background.
                                              */
                                             private DynamicTexture viewportTexture;
                                             private final Object field_104025_t = new Object();
                                             private String field_92025_p;
                                             private String field_146972_A;
                                             private String field_104024_v;
                                             private static final ResourceLocation splashTexts = new ResourceLocation("texts/splashes.txt");
                                             private static final ResourceLocation minecraftTitleTextures = new ResourceLocation("textures/gui/title/minecraft.png");
                                             /** An array of all the paths to the panorama pictures. */
                                             public static final String field_96138_a = "Please click " + EnumChatFormatting.UNDERLINE + "here" + EnumChatFormatting.RESET + " for more information.";
                                             private int field_92024_r;
                                             private int field_92023_s;
                                             private int field_92022_t;
                                             private int field_92021_u;
                                             private int field_92020_v;
                                             private int field_92019_w;
                                             private ResourceLocation field_110351_G;
                                             private static final String __OBFID = "CL_00001154";
                                             private final ResourceLocation backGround = new ResourceLocation("modtutoriel", "textures/gui/TON_IMAGE.png");
                                             public GuiCustomMainMenu()
                                             {
                                                 this.field_146972_A = field_96138_a;
                                                 this.splashText = "missingno";
                                                 BufferedReader bufferedreader = null;
                                      
                                                 try
                                                 {
                                                     ArrayList arraylist = new ArrayList();
                                                     bufferedreader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(splashTexts).getInputStream(), Charsets.UTF_8));
                                                     String s;
                                      
                                                     while((s = bufferedreader.readLine()) != null)
                                                     {
                                                         s = s.trim();
                                      
                                                         if(!s.isEmpty())
                                                         {
                                                             arraylist.add(s);
                                                         }
                                                     }
                                      
                                                     if(!arraylist.isEmpty())
                                                     {
                                                         do
                                                         {
                                                             this.splashText = (String)arraylist.get(rand.nextInt(arraylist.size()));
                                                         }
                                                         while(this.splashText.hashCode() == 125780783);
                                                     }
                                                 }
                                                 catch(IOException ioexception1)
                                                 {
                                                     ;
                                                 }
                                                 finally
                                                 {
                                                     if(bufferedreader != null)
                                                     {
                                                         try
                                                         {
                                                             bufferedreader.close();
                                                         }
                                                         catch(IOException ioexception)
                                                         {
                                                             ;
                                                         }
                                                     }
                                                 }
                                      
                                                 this.updateCounter = rand.nextFloat();
                                                 this.field_92025_p = "";
                                      
                                                 if(!GLContext.getCapabilities().OpenGL20 && !OpenGlHelper.func_153193_b())
                                                 {
                                                     this.field_92025_p = I18n.format("title.oldgl1", new Object[0]);
                                                     this.field_146972_A = I18n.format("title.oldgl2", new Object[0]);
                                                     this.field_104024_v = "https://help.mojang.com/customer/portal/articles/325948?ref=game";
                                                 }
                                             }
                                      
                                             /**
                                              * Called from the main game loop to update the screen.
                                              */
                                      
                                             public void updateScreen()
                                             {
                                                 ++this.panoramaTimer;
                                             }
                                      
                                             /**
                                              * Returns true if this GUI should pause the game when it is displayed in single-player
                                              */
                                             public boolean doesGuiPauseGame()
                                             {
                                                 return false;
                                             }
                                      
                                             /**
                                              * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
                                              */
                                             protected void keyTyped(char p_73869_1_, int p_73869_2_)
                                             {}
                                      
                                             /**
                                              * Adds the buttons (and other controls) to the screen in question.
                                              */
                                             public void initGui()
                                             {
                                                 this.viewportTexture = new DynamicTexture(256, 256);
                                                 this.field_110351_G = this.mc.getTextureManager().getDynamicTextureLocation("background", this.viewportTexture);
                                                 Calendar calendar = Calendar.getInstance();
                                                 calendar.setTime(new Date());
                                      
                                                 if(calendar.get(2) + 1 == 11 && calendar.get(5) == 9)
                                                 {
                                                     this.splashText = "Happy birthday, ez!";
                                                 }
                                                 else if(calendar.get(2) + 1 == 6 && calendar.get(5) == 1)
                                                 {
                                                     this.splashText = "Happy birthday, Notch!";
                                                 }
                                                 else if(calendar.get(2) + 1 == 12 && calendar.get(5) == 24)
                                                 {
                                                     this.splashText = "Merry X-mas!";
                                                 }
                                                 else if(calendar.get(2) + 1 == 1 && calendar.get(5) == 1)
                                                 {
                                                     this.splashText = "Happy new year!";
                                                 }
                                                 else if(calendar.get(2) + 1 == 10 && calendar.get(5) == 31)
                                                 {
                                                     this.splashText = "OOoooOOOoooo! Spooky!";
                                                 }
                                                 else if(calendar.get(2) + 1 == 7 && calendar.get(5) == 6)
                                                 {
                                                     this.splashText = "Joyeux anniversaire Zedokf_DrM !";
                                                 }
                                      
                                                 boolean flag = true;
                                                 int i = this.height / 4 + 48;
                                      
                                                 if(this.mc.isDemo())
                                                 {
                                                     this.addDemoButtons(i, 24);
                                                 }
                                                 else
                                                 {
                                                     this.addSingleplayerMultiplayerButtons(i, 24);
                                                 }
                                      
                                                 this.buttonList.add(new GuiButton(0, this.width / 2 - 100, i + 72 + 12, 98, 20, I18n.format("menu.options", new Object[0])));
                                                 this.buttonList.add(new GuiButton(4, this.width / 2 + 2, i + 72 + 12, 98, 20, I18n.format("menu.quit", new Object[0])));
                                                 this.buttonList.add(new GuiButtonLanguage(5, this.width / 2 - 124, i + 72 + 12));
                                                 Object object = this.field_104025_t;
                                      
                                                 synchronized(this.field_104025_t)
                                                 {
                                                     this.field_92023_s = this.fontRendererObj.getStringWidth(this.field_92025_p);
                                                     this.field_92024_r = this.fontRendererObj.getStringWidth(this.field_146972_A);
                                                     int j = Math.max(this.field_92023_s, this.field_92024_r);
                                                     this.field_92022_t = (this.width - j) / 2;
                                                     this.field_92021_u = ((GuiButton)this.buttonList.get(0)).yPosition - 24;
                                                     this.field_92020_v = this.field_92022_t + j;
                                                     this.field_92019_w = this.field_92021_u + 24;
                                                 }
                                             }
                                      
                                             /**
                                              * Adds Singleplayer and Multiplayer buttons on Main Menu for players who have bought the game.
                                              */
                                             private void addSingleplayerMultiplayerButtons(int x, int y)
                                             {
                                                 this.buttonList.add(new GuiButton(1, this.width / 2 - 100, x, 98, 20, I18n.format("Site")));
                                                 this.buttonList.add(new GuiButton(2, this.width / 2 + 2, x + 0, 98, 20, I18n.format("Forum")));
                                                 this.buttonList.add(new GuiButton(20, this.width / 2 - 100, x + y * 1, "§3§lS§flide§3§lF§fight"));
                                                 GuiButton webSiteButton = new GuiButton(21, this.width / 2 - 100, x + y * 2, "Vote");
                                                 GuiButton fmlModButton = new GuiButton(6, this.width / 2 - 100, x + y * 2, "TS3");
                                                 fmlModButton.xPosition = this.width / 2 + 2;
                                                 webSiteButton.width = 98;
                                                 fmlModButton.width = 98;
                                                 this.buttonList.add(webSiteButton);
                                                 this.buttonList.add(fmlModButton);
                                             }
                                      
                                             /**
                                              * Adds Demo buttons on Main Menu for players who are playing Demo.
                                              */
                                             private void addDemoButtons(int x, int y)
                                             {
                                                 this.buttonList.add(new GuiButton(11, this.width / 2 - 100, x, I18n.format("menu.playdemo", new Object[0])));
                                                 this.buttonList.add(this.buttonResetDemo = new GuiButton(12, this.width / 2 - 100, x + y * 1, I18n.format("menu.resetdemo", new Object[0])));
                                                 ISaveFormat isaveformat = this.mc.getSaveLoader();
                                                 WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
                                      
                                                 if(worldinfo == null)
                                                 {
                                                     this.buttonResetDemo.enabled = false;
                                                 }
                                             }
                                      
                                             protected void actionPerformed(GuiButton button)
                                             {
                                                 if(button.id == 0)
                                                 {
                                                     this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
                                                 }
                                      
                                                 if(button.id == 5)
                                                 {
                                                     this.mc.displayGuiScreen(new GuiLanguage(this, this.mc.gameSettings, this.mc.getLanguageManager()));
                                                 }
                                      
                                                 if(button.id == 1)
                                                 {
                                                     try
                                                     {
                                                         Class oclass = Class.forName("java.awt.Desktop");
                                                         Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                                                         oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI("http://www.slidefight.fr/")});
                                                     }
                                                     catch(Throwable throwable)
                                                     {
                                                         logger.error("Couldn\'t open link", throwable);
                                                     }
                                                 }
                                      
                                                 if(button.id == 2)
                                                 {
                                                     try
                                                     {
                                                         Class oclass = Class.forName("java.awt.Desktop");
                                                         Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                                                         oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI("http://www.slidefight.fr/forum.php")});
                                                     }
                                                     catch(Throwable throwable)
                                                     {
                                                         logger.error("Couldn\'t open link", throwable);
                                                     }
                                                 }
                                      
                                                 if(button.id == 4)
                                                 {
                                                     this.mc.shutdown();
                                                 }
                                      
                                                 if(button.id == 6)
                                                 {
                                                     try
                                                     {
                                                         Class oclass = Class.forName("java.awt.Desktop");
                                                         Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                                                         oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI("ts3server://91.121.253.196?port=")});
                                                     }
                                                     catch(Throwable throwable)
                                                     {
                                                         logger.error("Couldn\'t open link", throwable);
                                                     }
                                                 }
                                      
                                                 if(button.id == 11)
                                                 {
                                                     this.mc.launchIntegratedServer("Demo_World", "Demo_World", DemoWorldServer.demoWorldSettings);
                                                 }
                                      
                                                 if(button.id == 12)
                                                 {
                                                     ISaveFormat isaveformat = this.mc.getSaveLoader();
                                                     WorldInfo worldinfo = isaveformat.getWorldInfo("Demo_World");
                                      
                                                     if(worldinfo != null)
                                                     {
                                                         GuiYesNo guiyesno = GuiSelectWorld.func_152129_a(this, worldinfo.getWorldName(), 12);
                                                         this.mc.displayGuiScreen(guiyesno);
                                                     }
                                                 }
                                      
                                                 if(button.id == 20)
                                                 {
                                                     // TODO pour la connexion au serveur
                                                     FMLClientHandler.instance().connectToServerAtStartup("62.210.45.98", 10184); // ip, port
                                                 }
                                      
                                                 if(button.id == 21)
                                                 {
                                                     try
                                                     {
                                                         Class oclass = Class.forName("java.awt.Desktop");
                                                         Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                                                         oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI("http://www.slidefight.fr/vote.php")});
                                                     }
                                                     catch(Throwable throwable)
                                                     {
                                                         logger.error("Couldn\'t open link", throwable);
                                                     }
                                                 }
                                             }
                                      
                                             public void confirmClicked(boolean p_73878_1_, int id)
                                             {
                                                 if(p_73878_1_ && id == 12)
                                                 {
                                                     ISaveFormat isaveformat = this.mc.getSaveLoader();
                                                     isaveformat.flushCache();
                                                     isaveformat.deleteWorldDirectory("Demo_World");
                                                     this.mc.displayGuiScreen(this);
                                                 }
                                                 else if(id == 13)
                                                 {
                                                     if(p_73878_1_)
                                                     {
                                                         try
                                                         {
                                                             Class oclass = Class.forName("java.awt.Desktop");
                                                             Object object = oclass.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
                                                             oclass.getMethod("browse", new Class[] {URI.class}).invoke(object, new Object[] {new URI(this.field_104024_v)});
                                                         }
                                                         catch(Throwable throwable)
                                                         {
                                                             logger.error("Couldn\'t open link", throwable);
                                                         }
                                                     }
                                      
                                                     this.mc.displayGuiScreen(this);
                                                 }
                                             }
                                      
                                             private void renderBackGround()
                                             {
                                                 GL11.glViewport(0, 0, 256, 256);
                                                 this.mc.getTextureManager().bindTexture(backGround);
                                                 GL11.glDisable(GL11.GL_TEXTURE_2D);
                                                 GL11.glEnable(GL11.GL_TEXTURE_2D);
                                                 GL11.glViewport(0, 0, this.mc.displayWidth, this.mc.displayHeight);
                                                 Tessellator tessellator = Tessellator.instance;
                                                 tessellator.startDrawingQuads();
                                                 GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
                                                 GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
                                                 tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F);
                                                 int k = this.width;
                                                 int l = this.height;
                                                 tessellator.addVertexWithUV(0, 0, this.zLevel, 0, 0);
                                                 tessellator.addVertexWithUV(0, l, this.zLevel, 0, 1);
                                                 tessellator.addVertexWithUV(k, l, this.zLevel, 1, 1);
                                                 tessellator.addVertexWithUV(k, 0, this.zLevel, 1, 0);
                                                 tessellator.draw();
                                             }
                                             /**
                                              * Draws the screen and all the components in it.
                                              */
                                             public void drawScreen(int x, int y, float partialTick)
                                             {
                                                 GL11.glDisable(GL11.GL_ALPHA_TEST);
                                                 this.renderBackGround();
                                                 GL11.glEnable(GL11.GL_ALPHA_TEST);
                                                 Tessellator tessellator = Tessellator.instance;
                                                 short short1 = 274;
                                                 int k = this.width / 2 - short1 / 2;
                                                 byte b0 = 30;
                                                 this.drawGradientRect(0, 0, this.width, this.height, -2130706433, 16777215);
                                                 this.drawGradientRect(0, 0, this.width, this.height, 0, Integer.MIN_VALUE);
                                                 this.mc.getTextureManager().bindTexture(minecraftTitleTextures);
                                                 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                                      
                                                 if((double)this.updateCounter < 1.0E-4D)
                                                 {
                                                     this.drawTexturedModalRect(k + 0, b0 + 0, 0, 0, 99, 44);
                                                     this.drawTexturedModalRect(k + 99, b0 + 0, 129, 0, 27, 44);
                                                     this.drawTexturedModalRect(k + 99 + 26, b0 + 0, 126, 0, 3, 44);
                                                     this.drawTexturedModalRect(k + 99 + 26 + 3, b0 + 0, 99, 0, 26, 44);
                                                     this.drawTexturedModalRect(k + 155, b0 + 0, 0, 45, 155, 44);
                                                 }
                                                 else
                                                 {
                                                     this.drawTexturedModalRect(k + 0, b0 + 0, 0, 0, 155, 44);
                                                     this.drawTexturedModalRect(k + 155, b0 + 0, 0, 45, 155, 44);
                                                 }
                                      
                                                 tessellator.setColorOpaque_I(-1);
                                                 GL11.glPushMatrix();
                                                 GL11.glTranslatef((float)(this.width / 2 + 90), 70.0F, 0.0F);
                                                 GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
                                                 float f1 = 1.8F - MathHelper.abs(MathHelper.sin((float)(Minecraft.getSystemTime() % 1000L) / 1000.0F * (float)Math.PI * 2.0F) * 0.1F);
                                                 f1 = f1 * 100.0F / (float)(this.fontRendererObj.getStringWidth(this.splashText) + 32);
                                                 GL11.glScalef(f1, f1, f1);
                                                 this.drawCenteredString(this.fontRendererObj, this.splashText, 0, -8, -256);
                                                 GL11.glPopMatrix();
                                                 String s = "Menu by Zedokf_DrM";
                                      
                                                 if(this.mc.isDemo())
                                                 {
                                                     s = s + " Demo";
                                                 }
                                      
                                                 List <string>brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings(true));
                                                 for(int i = 0; i < brandings.size(); i++)
                                                 {
                                                     String brd = brandings.get(i);
                                                     if(!Strings.isNullOrEmpty(brd))
                                                     {
                                                         this.drawString(this.fontRendererObj, brd, 2, this.height - (10 + i * (this.fontRendererObj.FONT_HEIGHT + 1)), 16777215);
                                                     }
                                                 }
                                                 String s1 = "Copyright Mojang AB. Do not distribute!";
                                                 this.drawString(this.fontRendererObj, s1, this.width - this.fontRendererObj.getStringWidth(s1) - 2, this.height - 10, -1);
                                      
                                                 if(this.field_92025_p != null && this.field_92025_p.length() > 0)
                                                 {
                                                     drawRect(this.field_92022_t - 2, this.field_92021_u - 2, this.field_92020_v + 2, this.field_92019_w - 1, 1428160512);
                                                     this.drawString(this.fontRendererObj, this.field_92025_p, this.field_92022_t, this.field_92021_u, -1);
                                                     this.drawString(this.fontRendererObj, this.field_146972_A, (this.width - this.field_92024_r) / 2, ((GuiButton)this.buttonList.get(0)).yPosition - 12, -1);
                                                 }
                                      
                                                 super.drawScreen(x, y, partialTick);
                                             }
                                      
                                          /**
                                              * Called when the mouse is clicked.
                                              */
                                             protected void mouseClicked(int p_73864_1_, int p_73864_2_, int p_73864_3_)
                                             {
                                                 super.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_);
                                                 Object object = this.field_104025_t;
                                      
                                                 synchronized(this.field_104025_t)
                                                 {
                                                     if(this.field_92025_p.length() > 0 && p_73864_1_ >= this.field_92022_t && p_73864_1_ <= this.field_92020_v && p_73864_2_ >= this.field_92021_u && p_73864_2_ <= this.field_92019_w)
                                                     {
                                                         GuiConfirmOpenLink guiconfirmopenlink = new GuiConfirmOpenLink(this, this.field_104024_v, 13, true);
                                                         guiconfirmopenlink.func_146358_g();
                                                         this.mc.displayGuiScreen(guiconfirmopenlink);
                                                     }
                                                 }
                                             }
                                         }
                                      
                                      ```</string>
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • TheAzkazeT Hors-ligne
                                        TheAzkaze
                                        dernière édition par

                                        Sa ```java
                                        @SubscribeEvent
                                        @SideOnly(Side.CLIENT)
                                        public void onTick(TickEvent.ClientTickEvent event)
                                        {
                                        Minecraft mc = FMLClientHandler.instance().getClient();
                                        GuiScreen currentScreen = mc.currentScreen;
                                        if(mc.currentScreen != null && mc.currentScreen.getClass().equals(GuiMainMenu.class))
                                        {
                                        mc.displayGuiScreen(new GuiCustomMainMenu());
                                        }

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • robin4002R Hors-ligne
                                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                          dernière édition par

                                          @‘Benjamin Loison’:

                                          C’est quoi déjà à la place de mc ? ligne 6 ?

                                          Tu peux utiliser Minecraft.getMinecraft() si tu n’as pas déjà une instance de Minecraft. Enregistre bien l’event côté client seulement.
                                          http://www.minecraftforgefrance.fr/showthread.php?tid=716

                                          @TheAzkaze attention aux doubles posts.
                                          Et GuiScreenEvent.InitGuiEvent.Pre est mieux car plus léger.

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • TheAzkazeT Hors-ligne
                                            TheAzkaze
                                            dernière édition par

                                            Mes code est mes explication sont il correct robin4002

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB