• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Unsolved Déclencher un tir d'arme à feu/recharge sans animation joueur

    Support pour les moddeurs
    1.12.2
    2
    2
    73
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Helios_38
      Helios_38 last edited by

      Bonjour, je suis actuellement en train de m’entrainer au modding forge en 1.12.2 (même si la version commence a daté c’est vrai) et je développe un mod qui aura pour objectif de rajouter des armes diverses ainsi peut être à l’avenir des véhicules(mais ne précipitons pas les choses).

      Voila après avoir longuement étudié les classe de l’arc et des flèches j’ai moi même mis au point mon système d’ajout d’arme custom qui marche très bien même si on peut encore y ajouter deux trois optimisations et features. Seulement pour tirer avec mes armes j’ai opté pour une vérifications de tous les events où le clic gauche était appeler pour ainsi l’intercepté et envoyer mon paquet de tir au server. Mais ce système est plutôt précaire et peut optimisé je n’ai absolument pas la main mise dessus, par exemple j’aimerais que le joueur ne joue pas d’animation de clic gauche quand il tien mon arme pour ainsi pouvoir l’animer moi même. J’ai aussi le même problème avec la touche “R” de recharge qui lance elle aussi une animation inopiné.

      Voila j’ai (enfin) fini de parler je vous montre les events déclencheurs:

      //recharge
          @SideOnly(Side.CLIENT)
          public void performKeys() {
              if(INSTANCE.getKeyByIndex(1).isPressed())
                  R6Network.NETWORK.sendToServer(new ReloadGunPacket());
      
          }
      
          @SubscribeEvent
          public void playerShoot(PlayerInteractEvent.LeftClickBlock event) {
              if(event.getEntityPlayer().getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemWeapon){
                  event.setCanceled(true);
                  R6Network.NETWORK.sendToServer(new PlayerShootPacket());
              }
          }
      
          @SubscribeEvent
          public void leftClickEmpty(PlayerInteractEvent.LeftClickEmpty event) {
              if(event.getEntityPlayer().getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemWeapon){
                  R6Network.NETWORK.sendToServer(new PlayerShootPacket());
              }
          }
      
          @SubscribeEvent
          @SideOnly(Side.CLIENT)
          public void onMouseDown(InputEvent.MouseInputEvent event) {
                  if(Minecraft.getMinecraft().player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemWeapon){
                      if(Minecraft.getMinecraft().gameSettings.keyBindAttack.isPressed()) {
                          R6Network.NETWORK.sendToServer(new PlayerShootPacket());
                      }
                  }
          }
      
          @SubscribeEvent
          @SideOnly(Side.CLIENT)
          public void onKeyDown(InputEvent.KeyInputEvent event)
          {
              R6Keys.INSTANCE.performKeys();
          }
      

      Et voila alors si vous avez ne serait-ce qu’une tout petite piste j’en serais ravie.

      Merci

      PS: Si j’ai omis de préciser des informations importantes n’hésitez pas a me le faire savoir.

      1 Reply Last reply Reply Quote 0
      • F
        Fury last edited by

        tu va trouver ton bonheur avec ce mods en codes source :https://github.com/CAS-ual-TY/GunCus

        1 Reply Last reply Reply Quote 0
        • 1 / 1
        • First post
          Last post
        Design by Woryk
        Contact / Mentions Légales

        MINECRAFT FORGE FRANCE © 2018

        Powered by NodeBB