MFF

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

    Bug dans mes jumelles

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.5.2
    7 Messages 3 Publieurs 3.5k 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.
    • Nolan-XXN Hors-ligne
      Nolan-XX
      dernière édition par

      Bonjour a tous ! J’ai crée des jumelles suite au tutoriel , et je les ai un peu améliorer pour qu’il y ait 3 niveaux de zoom.

      #Le code :(Le code 🙂

      Le TickHandlerSVD ( a l’origine c’était pour un sniper )

      
      package mods.nono.MGSmod.common;
      
      import java.util.EnumSet;
      
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.entity.EntityPlayerSP;
      import net.minecraft.client.gui.ScaledResolution;
      import net.minecraft.client.renderer.EntityRenderer;
      import net.minecraft.client.renderer.Tessellator;
      
      import org.lwjgl.opengl.GL11;
      
      import cpw.mods.fml.client.FMLClientHandler;
      import cpw.mods.fml.common.ITickHandler;
      import cpw.mods.fml.common.ObfuscationReflectionHelper;
      import cpw.mods.fml.common.TickType;
      
      public class TickHandlerSVD implements ITickHandler {
      
      public static int NivoZoom;
      
      // public static final ResourceLocation zoomOverlay = new ResourceLocation("votreModID", "textures/blur/votreZoomOverlay.png");
      
      @Override
      public void tickStart(EnumSet <ticktype>type, Object… tickData)
      {
      }
      
      @Override
      public void tickEnd(EnumSet <ticktype>type, Object... tickData)
      {
      if (NivoZoom >= 4)
      {
      NivoZoom = 0;
      }
      
      final Minecraft minecraft = FMLClientHandler.instance().getClient();
      final EntityPlayerSP player = minecraft.thePlayer;
      if (type.equals(EnumSet.of(TickType.CLIENT)))
      {
      
      if (NivoZoom == 1)
      {
      if(Main.zoom)
      {
      if(minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
      {
      zoom(2F);
      }
      // else
      // {
      // zoom(1.0F);
      // }
      }
      }
      
      if (NivoZoom == 2)
      {
      if(Main.zoom)
      {
      if(minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
      {
      zoom(4F);
      }
      // else
      // {
      // zoom(1.0F);
      // }
      }
      
      }
      if (NivoZoom == 3)
      {
      if(Main.zoom)
      {
      if(minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
      {
      zoom(6F);
      }
      // else
      // {
      // zoom(1.0F);
      // }
      }
      
      }
      if (NivoZoom == 0)
      {
      zoom(1.0F);
      }
      
      }
      
      if (type.equals(EnumSet.of(TickType.RENDER)))
      {
      if(Main.zoom && minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
      {
      renderTextureOverlay("/mods/nono/MGSmod/textures/items/Lunettes.png", 1.0F);
      }
      }
      }
      
      public static void renderTextureOverlay(String s, float f)
      {
      Minecraft minecraft = FMLClientHandler.instance().getClient();
      ScaledResolution scaledresolution = new ScaledResolution(minecraft.gameSettings, minecraft.displayWidth, minecraft.displayHeight);
      int i = scaledresolution.getScaledWidth();
      int j = scaledresolution.getScaledHeight();
      GL11.glEnable(GL11.GL_BLEND);
      GL11.glDisable(GL11.GL_DEPTH_TEST);
      GL11.glDepthMask(false);
      GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, f);
      GL11.glDisable(GL11.GL_ALPHA_TEST);
      // minecraft..bindTexture("laTextureEtSonChemin.png");
      Minecraft.getMinecraft().renderEngine.bindTexture("/mods/nono/MGSmod/textures/items/Lunettes.png");
      Tessellator tessellator = Tessellator.instance;
      tessellator.startDrawingQuads();
      tessellator.addVertexWithUV(0.0D, j, -90D, 0.0D, 1.0D);
      tessellator.addVertexWithUV(i, j, -90D, 1.0D, 1.0D);
      tessellator.addVertexWithUV(i, 0.0D, -90D, 1.0D, 0.0D);
      tessellator.addVertexWithUV(0.0D, 0.0D, -90D, 0.0D, 0.0D);
      tessellator.draw();
      GL11.glDepthMask(true);
      GL11.glEnable(GL11.GL_DEPTH_TEST);
      GL11.glEnable(GL11.GL_ALPHA_TEST);
      GL11.glColor4f(1.0F, 1.0F, 1.0F, f);
      }
      
      @Override
      public EnumSet <ticktype>ticks()
      {
      return EnumSet.of(TickType.RENDER, TickType.CLIENT);
      }
      
      @Override
      public String getLabel()
      {
      return "TickHandlerSVD";
      }
      
      public static void zoom(float value)
      {
      ObfuscationReflectionHelper.setPrivateValue(EntityRenderer.class, FMLClientHandler.instance().getClient().entityRenderer, value, "cameraZoom");
      }
      
      }
      
      

      Le code de mon objet :

      
      package mods.nono.MGSmod.items;
      
      import mods.nono.MGSmod.common.Main;
      import mods.nono.MGSmod.common.TickHandlerSVD;
      import net.minecraft.client.renderer.texture.IconRegister;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemStack;
      import net.minecraft.world.World;
      
      public class I_Binocular extends Item
      {
      
      public I_Binocular(int par1)
      {
      super(par1);
      this.maxStackSize = 1;
      this.setCreativeTab(Main.MGSTAB);
      }
      
      @Override
      public void registerIcons(IconRegister iconRegister)
      {
      itemIcon = iconRegister.registerIcon("nono/MGSmod:jumelles");
      }
      
      public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
      {
      if(!world.isRemote)
      {
      Main.zoom = !Main.zoom;
      TickHandlerSVD.NivoZoom += 1;
      }
      return stack;
      
      }
      
      }
      

      #Les bugs(Les bugs)

      Il devrait y avoir , en tout 4 état de zoom : De base , 2.0F , 4.0F , 6.0F. Mais il n’y en a que 3 ,ou est passé le dernier ?
      Normalement , je devrais ajouter un niveau de zoom a chaque clique droit , mais le GUI s’enlève a chaque clique droit , puid je dois recliquer pour ravoir le GUI …

      Merci d’avance de vos réponses</ticktype></ticktype></ticktype>

      1 réponse Dernière réponse Répondre Citer 0
      • Nolan-XXN Hors-ligne
        Nolan-XX
        dernière édition par

        Personne ne peut m’aider ?

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

          Dsl mais je ne suis pas du tout calé dessus, je peu pas t’aidai :(.

          Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

          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

            Main.zoom = !Main.zoom;
            

            C’est ça le problème.
            Quand tu clic droit ça passe le zoom en true, puis en false, puis en true, puis à nouveau false.
            Donc :
            De base => false pas de zoom , 2.0F => true ça zoom , 4.0F => false pas de zoom , 6.0F => true ça zoom

            Comme tu passe par un système de niveau de zoom, le mieux est de viré cette boolean (y compris dans le tick handler)

            Même chose pour ici :

            if(Main.zoom && minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
            {
            renderTextureOverlay("/mods/nono/MGSmod/textures/items/Lunettes.png", 1.0F);
            }
            

            Remplace par :

            if(this.NivoZoom > 0 && minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
            {
            renderTextureOverlay("/mods/nono/MGSmod/textures/items/Lunettes.png", 1.0F);
            }
            
            1 réponse Dernière réponse Répondre Citer 0
            • Nolan-XXN Hors-ligne
              Nolan-XX
              dernière édition par

              Merci , j’ai n’ai plus de problème au niveau de l’affichage , par contre , le deuxième niveau de zoom ne fonctionne toujours pas …

              Le code actuel :

              
              package mods.nono.MGSmod.common;
              
              import java.util.EnumSet;
              
              import net.minecraft.client.Minecraft;
              import net.minecraft.client.entity.EntityPlayerSP;
              import net.minecraft.client.gui.ScaledResolution;
              import net.minecraft.client.renderer.EntityRenderer;
              import net.minecraft.client.renderer.Tessellator;
              
              import org.lwjgl.opengl.GL11;
              
              import cpw.mods.fml.client.FMLClientHandler;
              import cpw.mods.fml.common.ITickHandler;
              import cpw.mods.fml.common.ObfuscationReflectionHelper;
              import cpw.mods.fml.common.TickType;
              
              public class TickHandlerSVD implements ITickHandler {
              
              public static int NivoZoom;
              
              // public static final ResourceLocation zoomOverlay = new ResourceLocation("votreModID", "textures/blur/votreZoomOverlay.png");
              
              @Override
              public void tickStart(EnumSet <ticktype>type, Object... tickData)
              {
              }
              
              @Override
              public void tickEnd(EnumSet <ticktype>type, Object... tickData)
              {
              if (NivoZoom >= 4)
              {
              NivoZoom = 0;
              }
              
              final Minecraft minecraft = FMLClientHandler.instance().getClient();
              final EntityPlayerSP player = minecraft.thePlayer;
              if (type.equals(EnumSet.of(TickType.CLIENT)))
              {
              
              if (NivoZoom == 1)
              {
              if(Main.zoom)
              {
              if(this.NivoZoom > 0 && minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
              {
              zoom(3F);
              }
              // else
              // {
              // zoom(1.0F);
              // }
              }
              }
              
              if (NivoZoom == 2)
              {
              if(Main.zoom)
              {
              if(this.NivoZoom > 0 && minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
              //if(minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
              {
              zoom(6F);
              }
              // else
              // {
              // zoom(1.0F);
              // }
              }
              
              }
              if (NivoZoom == 3)
              {
              if(Main.zoom)
              {
              if(this.NivoZoom > 0 && minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
              {
              zoom(8F);
              }
              // else
              // {
              // zoom(1.0F);
              // }
              }
              
              }
              if (NivoZoom == 0)
              {
              zoom(1.0F);
              }
              
              }
              
              if (type.equals(EnumSet.of(TickType.RENDER)))
              {
              if(this.NivoZoom > 0 && minecraft.gameSettings.thirdPersonView == 0 && minecraft.currentScreen == null)
              {
              renderTextureOverlay("/mods/nono/MGSmod/textures/items/Lunettes.png", 1.0F);
              }
              }
              }
              
              public static void renderTextureOverlay(String s, float f)
              {
              Minecraft minecraft = FMLClientHandler.instance().getClient();
              ScaledResolution scaledresolution = new ScaledResolution(minecraft.gameSettings, minecraft.displayWidth, minecraft.displayHeight);
              int i = scaledresolution.getScaledWidth();
              int j = scaledresolution.getScaledHeight();
              GL11.glEnable(GL11.GL_BLEND);
              GL11.glDisable(GL11.GL_DEPTH_TEST);
              GL11.glDepthMask(false);
              GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
              GL11.glColor4f(1.0F, 1.0F, 1.0F, f);
              GL11.glDisable(GL11.GL_ALPHA_TEST);
              // minecraft..bindTexture("laTextureEtSonChemin.png");
              Minecraft.getMinecraft().renderEngine.bindTexture("/mods/nono/MGSmod/textures/items/Lunettes.png");
              Tessellator tessellator = Tessellator.instance;
              tessellator.startDrawingQuads();
              tessellator.addVertexWithUV(0.0D, j, -90D, 0.0D, 1.0D);
              tessellator.addVertexWithUV(i, j, -90D, 1.0D, 1.0D);
              tessellator.addVertexWithUV(i, 0.0D, -90D, 1.0D, 0.0D);
              tessellator.addVertexWithUV(0.0D, 0.0D, -90D, 0.0D, 0.0D);
              tessellator.draw();
              GL11.glDepthMask(true);
              GL11.glEnable(GL11.GL_DEPTH_TEST);
              GL11.glEnable(GL11.GL_ALPHA_TEST);
              GL11.glColor4f(1.0F, 1.0F, 1.0F, f);
              }
              
              @Override
              public EnumSet <ticktype>ticks()
              {
              return EnumSet.of(TickType.RENDER, TickType.CLIENT);
              }
              
              @Override
              public String getLabel()
              {
              return "TickHandlerSVD";
              }
              
              public static void zoom(float value)
              {
              ObfuscationReflectionHelper.setPrivateValue(EntityRenderer.class, FMLClientHandler.instance().getClient().entityRenderer, value, "cameraZoom");
              }
              
              }
              
              ```</ticktype></ticktype></ticktype>
              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

                Supprime Main.zoom et tout les if qui fond avec, c’est ce que je sous entendais ici :

                @‘robin4002’:

                Main.zoom = !Main.zoom;
                

                C’est ça le problème.

                1 réponse Dernière réponse Répondre Citer 0
                • Nolan-XXN Hors-ligne
                  Nolan-XX
                  dernière édition par

                  @‘robin4002’:

                  Supprime Main.zoom et tout les if qui fond avec, c’est ce que je sous entendais ici :

                  @‘robin4002’:

                  Main.zoom = !Main.zoom;
                  

                  C’est ça le problème.

                  Merci , ça marche maintenant 🙂

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

                  MINECRAFT FORGE FRANCE © 2024

                  Powered by NodeBB