Tenir un item comme un arc en train de charger


  • Administrateurs

    Bonjour ! 🙂

    Et bien voilà, après avoir su comment faire tenir un item comme un arc en train de charger en 1.7.10 et versions inférieur,
    je ne parviens plus à activer le boolean aimedBow se trouvant dans la classe ModelBiped.

    Voici le RenderPlayerEvent de ma classe TickClientHandlerEvent:

    
    @SubscribeEvent
    public void renderPlayerLikeBowAnimation(RenderPlayerEvent.Pre event)
    {
    System.out.println("TEST");
    RenderPlayer renderplayer = event.renderer;
    ModelBiped modelbiped = event.renderer.getPlayerModel();
    EntityPlayer player = event.entityPlayer;
    ItemStack is = player.getCurrentEquippedItem();
    if((is!= null) && (is.getItem() instanceof ItemGun))
    {
    System.out.println("TEST-2-BEFORE");
      modelbiped.aimedBow = true;
      System.out.println("TEST-2-AFTER");
    }
    }
    
    

    Comme vous pouvez le voir, j'ai fait des tests voir si l'event fonctionne et d'après la console, oui.

    J'ai également essayé sans créer de nouvelles instances, ça ne fonctionne pas non plus. (Et j'ai également testé divers moyen avec le Model)

    Et j'ai aussi testé les périodes d'event (.Pre / .Post), rien n'y fait.
    Malgré l'aide de robin, je n'ai pas réussi à faire ce que je voudrais. 😞
    C'est pourquoi je me tourne vers vous ! 🙂
    Cordialement, 😄

    PS: le tutoriel de gugu ne fonctionne plus en 1.8 !



  • Mon tuto marche, c'est toi qui marche plus ! (jk)


  • Administrateurs

    @'Gugu42':

    Mon tuto marche, c'est toi qui marche plus ! (jk)

    Gnagnagnagna ! x)



  • Peut être qu'il faut avoir un item mesher extend du model de l'arc ?


  • Administrateurs

    Aucune idée. Je ne me suis jamais servi des ItemModelMesher à l'exception d'enregistrer les JSons.


  • Administrateurs

    J'ai essayé, et ça ne fonctionne pas du tout.
    J'ai trifouillé un peu dans l'API de iChun (le développeur de Gravity Gun et Portal Gun Mod), je me sert de son API mais malheureusement je me tape un joli crash report à cause de l'ASM (semblerait-il) :

    java.lang.NoSuchMethodError: net.minecraft.client.entity.AbstractClientPlayer.getCommandSenderName()Ljava/lang/String;
    at us.ichun.mods.ichunutil.client.patron.EffectTicker.playerTick(EffectTicker.java:82)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_24_EffectTicker_playerTick_PlayerTickEvent.invoke(.dynamic)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:55)
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:138)
    at net.minecraftforge.fml.common.FMLCommonHandler.onPlayerPostTick(FMLCommonHandler.java:391)
    at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:413)
    at net.minecraft.client.entity.EntityPlayerSP.onUpdate(EntityPlayerSP.java:165)
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2031)
    at net.minecraft.world.World.updateEntity(World.java:1997)
    at net.minecraft.world.World.updateEntities(World.java:1823)
    at net.minecraft.client.Minecraft.runTick(Minecraft.java:2184)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087)
    at net.minecraft.client.Minecraft.run(Minecraft.java:376)
    at net.minecraft.client.main.Main.main(Main.java:117)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)
    

  • Administrateurs

    Il utilise surement des mappings plus récente que toi.


  • Administrateurs

    Yep, c'est ce que je me suis dit. Mais du coup, j'ai du mal à trouver la version avec laquelle il a utilisé ces mappings.


  • Administrateurs


  • Administrateurs

    Bon, après être lassé de chercher pendant plusieurs heures, j'ai fini par y arriver !

    J'ai tout simplement (je dois dire que ça m’embête mais tant pis) repris le code de l'API pour l'intégrer au mod, et visiblement ça a fonctionné.

    Je passe donc le sujet en résolu. Si des personnes souhaiteraient avoir les bouts de code que j'ai utilisé, il suffit de demander ! 🙂