MFF

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

    RenderOverlay

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.2
    2 Messages 2 Publieurs 1.2k 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.
    • MultiM Hors-ligne
      Multi
      dernière édition par

      Salut,

      Dans mon mod, il y a une touche de zoom, et j’ai fait en sorte que dés que le joueur sélectionne le sniper, le zoom sera différent et appliquera un overlay.
      Tout marche, sauf l’overlay, et je sais vraiment pas d’ou ça peut venir 😞
      Vu que iTickHandler n’existe plus, j’ai mis tout ça dans un onTickClient dans ClientProxy.

      Question : Comment faire marcher mon overlay ?

      ClientProxy.java

      public class ClientProxy extends CommonProxy
      {
      public static KeyBinding keyBindZoom, keyJetPack;
      
      @Override
      public void registerRender()
      {
      RenderingRegistry.registerEntityRenderingHandler(EntityDisk.class, new RenderDisk(new ModelDisk()));
      RenderingRegistry.registerEntityRenderingHandler(EntityNitron.class, new RenderNitron());
      
      FMLCommonHandler.instance().bus().register(this);
      
      keyBindZoom = new KeyBinding("tamod.keyzoom", Keyboard.KEY_A, "key.categories.gameplay");
      keyJetPack = new KeyBinding("tamod.jetpack", Keyboard.KEY_F, "key.categories.gameplay");
      
      ClientRegistry.registerKeyBinding(keyBindZoom);
      ClientRegistry.registerKeyBinding(keyJetPack);
      }
      
      @SubscribeEvent
      public void onTickClient(TickEvent.ClientTickEvent event) {
      EntityPlayer player = FMLClientHandler.instance().getClient().thePlayer;
      Minecraft mc = FMLClientHandler.instance().getClient();
      
      if(mc.currentScreen == null) {
      InventoryPlayer inventory = mc.thePlayer.inventory;
      ItemStack itemstack = inventory.getCurrentItem();
      
      if(Keyboard.isKeyDown(this.keyJetPack.getKeyCode())) {
      player.motionY = Math.min(player.motionY + 0.559999999999999998D + 0.559999999999999998D, 0.49999999999999999D);
      }
      
      if(Keyboard.isKeyDown(this.keyBindZoom.getKeyCode())) {
      if(itemstack != null) {
      if(itemstack.getItem() instanceof TABxt1Rifle && itemstack.getItem() != null) {
      zoom(11.0F);
      
      renderTextureOverlay(new ResourceLocation("tam", "textures/blur/sniper.png"), 1.0F);
      
      } else {zoom(6.0F);}
      }
      if(itemstack == null) {zoom(6.0F);}
      } else {
      zoom(1.0F);
      }
      }
      }
      
      public void renderTextureOverlay(ResourceLocation 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.getTextureManager().bindTexture(s);
      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);
      }
      
      public static void zoom(float value){
      ObfuscationReflectionHelper.setPrivateValue(EntityRenderer.class, FMLClientHandler.instance().getClient().entityRenderer, value, "cameraZoom");
      }
      }
      

      Merci d’avance.

      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

        Salut, essaye d’utiliser RenderGameOverlayEvent

        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