Jump to content

Recommended Posts

Posted

Hello community,

I'm updating an item's NBT every tick to have something like a "timer".

Is there a way to do this without the item "shaking"?

Shaking = When you update the item's NBT, the player shakes it for a little moment (I think, you know, what I mean).

 

I hope, you can help :)
Thanks in advance,

Nico M.

Bringing the best mod back alive! Our mod REFORGED!

Balkon's Weapons for 1.8: https://github.com/TheOnlySilverClaw/Reforged/releases

Posted (edited)
3 hours ago, ThexXTURBOXx said:

I tried it, but it still shakes :(

Post the code that you tried.

 

Edit: You should probably wrap your onUpdate code in a !world#isRemote check, so that it only runs on the logical server side - it may be syncing issues that causes the shaking.

Edited by Jay Avery
Posted
47 minutes ago, Jay Avery said:

Post the code that you tried.

 

Edit: You should probably wrap your onUpdate code in a !world#isRemote check, so that it only runs on the logical server side - it may be syncing issues that causes the shaking.

Doesn't work either. Pushed the code now

Bringing the best mod back alive! Our mod REFORGED!

Balkon's Weapons for 1.8: https://github.com/TheOnlySilverClaw/Reforged/releases

Posted

nop is not working

but in 1.8 for  a brief versions  it does

then they come whith 1.9 and its fuck again until now

 

i having this issue for a long time

this time i thougth than whith the new capabilityes system i could store held the data in other place without update the nbt in the item until im ready but seems like not 

Posted
9 hours ago, perromercenary00 said:

nop is not working

but in 1.8 for  a brief versions  it does

then they come whith 1.9 and its fuck again until now

 

i having this issue for a long time

this time i thougth than whith the new capabilityes system i could store held the data in other place without update the nbt in the item until im ready but seems like not 

Uhm... Well, that's not good. I create an issue on GitHub for this, because I think, that would be good tho :D

Bringing the best mod back alive! Our mod REFORGED!

Balkon's Weapons for 1.8: https://github.com/TheOnlySilverClaw/Reforged/releases

  • 2 weeks later...
Posted (edited)
On 2017-5-22 at 3:48 PM, ThexXTURBOXx said:

I get something

i get some kind of work around but it has its issues

 

 


i also see your post in git hub 
https://github.com/MinecraftForge/MinecraftForge/issues/3915
the forge people has been working on this for what i understand the bug is solved and the issue is cause by something else in mi code, i dissable all mi entities renders mi sounds and mi events keybinds but i still having the issues and could not pinpoint what in mi code is messing mi first person view render 

anyway 
the trick i found is to leave shouldCauseReequipAnimation always returning true no matther what, but this causes the item to allways remain under the hotbar, mi solution: i change all the item models for this gun (like 73)  to draw the item 9 points up this set it where is in the video and from there i can change the nbt values in the itemstack  whatever i want,

      
  "firstperson_righthand": {
            "rotation": [  0.0, -90.0, 0.0 ],
            "translation": [ 3.5, 2.0, 0.0],
            "scale": [ 1.0, 1.0, 1.0 ]
        },
        "firstperson_lefthand": {
            "rotation": [  0.0, 90.0, 0.0 ],
            "translation": [ 3.5, 2.0, 0.0],
            "scale": [ 1.0, 1.0, 1.0 ]
    },

     
to

      
  "firstperson_righthand": {
            "rotation": [  0.0, -90.0, 0.0 ],
            "translation": [ 3.5, 9.0, 0.0],
            "scale": [ 1.0, 1.0, 1.0 ]
        },
        "firstperson_lefthand": {
            "rotation": [  0.0, 90.0, 0.0 ],
            "translation": [ 3.5, 9.0, 0.0],
            "scale": [ 1.0, 1.0, 1.0 ]
    },

     

also whithout the burden of theReequipAnimation i write the code to make some kind of  ActionResult<ItemStack> onItemLeftClick
but in the onupdate() method 
now i have a betther control the offhand gun behaveour

    // ####################################################################################################
    @Override
    public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) {
        return true;
        
        // cdalm xtold = getAlmacenamiento(oldStack);
        // cdalm xtnew = getAlmacenamiento(newStack);
        // if (xtnew != null && !xtnew.isEjecutar() )
        //{
            // System.out.println("shouldCauseReequipAnimation(true)");
            // return false;
        //}
        
        // always true the item is down under the hotbar but seems animations
        // works
        // when always false the item is normal posicioned but animations dont
        // works and it swings on left click
        /*
         * oldStack = oldStack.copy(); oldStack.setTagCompound(null); newStack =
         * newStack.copy(); newStack.setTagCompound(null); return
         * ItemStack.areItemStacksEqual(oldStack, newStack);
         */
        // EntityRenderer ER = mc.entityRenderer;
        // ER.itemRenderer.resetEquippedProgress(EnumHand.MAIN_HAND);
        // field_187469_f,equippedProgressMainHand,0,
        // field_187470_g,prevEquippedProgressMainHand,0,
        // field_187471_h,equippedProgressOffHand,0,
        // field_187472_i,prevEquippedProgressOffHand,0,
        // playerIRenderItem RI = mc.getRenderItem();
        // IR.resetEquippedProgress(EnumHand.MAIN_HAND);
        // IR.updateEquippedItem();
        // return false;
        /*
         * 
         * Minecraft mc = Minecraft.getMinecraft(); EntityPlayer playerIn =
         * mc.player;
         * 
         * ItemRenderer IR = mc.getItemRenderer();
         * 
         * if(IR!=null)try{ {
         * 
         * Field field00 =
         * ItemRenderer.class.getDeclaredField("equippedProgressMainHand");
         * field00.setAccessible(true); field00.setFloat(IR,1);
         * 
         * Field field01 =
         * ItemRenderer.class.getDeclaredField("prevEquippedProgressMainHand");
         * field01.setAccessible(true); field01.setFloat(IR,1);
         * 
         * } { Field field00 =
         * ItemRenderer.class.getDeclaredField("equippedProgressOffHand");
         * field00.setAccessible(true); field00.setFloat(IR,1);
         * 
         * Field field01 =
         * ItemRenderer.class.getDeclaredField("prevEquippedProgressOffHand");
         * field01.setAccessible(true); field01.setFloat(IR,1); }
         * }catch(Exception e){ e.printStackTrace(); }
         * 
         * 
         * //IR.resetEquippedProgress(EnumHand.MAIN_HAND);
         * //IR.resetEquippedProgress(EnumHand.OFF_HAND); //return false; }
         * 
         * 
         * 
         * oldStack = oldStack.copy(); oldStack.setTagCompound(null); newStack =
         * newStack.copy(); newStack.setTagCompound(null); return
         * !ItemStack.areItemStacksEqual(oldStack, newStack);
         */
        /*
         * 
         * return false;
         * 
         * // cdalm xtold = getAlmacenamiento(oldStack); cdalm xtnew =
         * getAlmacenamiento(newStack);
         * 
         * if (xtnew != null && !xtnew.isEjecutar() ) { return false; } return
         * true;
         */
    }
    // #########################################################################3
	


the next i thing a need is a easy way to hide one of the hands from the first view render 
thats all for now 
 

Edited by perromercenary00
Posted
7 hours ago, perromercenary00 said:

i get some kind of work around but it has its issues

 

 


i also see your post in git hub 
https://github.com/MinecraftForge/MinecraftForge/issues/3915
the forge people has been working on this for what i understand the bug is solved and the issue is cause by something else in mi code, i dissable all mi entities renders mi sounds and mi events keybinds but i still having the issues and could not pinpoint what in mi code is messing mi first person view render 

anyway 
the trick i found is to leave shouldCauseReequipAnimation always returning true no matther what, but this causes the item to allways remain under the hotbar, mi solution: i change all the item models for this gun (like 73)  to draw the item 9 points up this set it where is in the video and from there i can change the nbt values in the itemstack  whatever i want,


      
  "firstperson_righthand": {
            "rotation": [  0.0, -90.0, 0.0 ],
            "translation": [ 3.5, 2.0, 0.0],
            "scale": [ 1.0, 1.0, 1.0 ]
        },
        "firstperson_lefthand": {
            "rotation": [  0.0, 90.0, 0.0 ],
            "translation": [ 3.5, 2.0, 0.0],
            "scale": [ 1.0, 1.0, 1.0 ]
    },

     
to


      
  "firstperson_righthand": {
            "rotation": [  0.0, -90.0, 0.0 ],
            "translation": [ 3.5, 9.0, 0.0],
            "scale": [ 1.0, 1.0, 1.0 ]
        },
        "firstperson_lefthand": {
            "rotation": [  0.0, 90.0, 0.0 ],
            "translation": [ 3.5, 9.0, 0.0],
            "scale": [ 1.0, 1.0, 1.0 ]
    },

     

also whithout the burden of theReequipAnimation i write the code to make some kind of  ActionResult<ItemStack> onItemLeftClick
but in the onupdate() method 
now i have a betther control the offhand gun behaveour

 


    // ####################################################################################################
    @Override
    public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) {
        return true;
        
        // cdalm xtold = getAlmacenamiento(oldStack);
        // cdalm xtnew = getAlmacenamiento(newStack);
        // if (xtnew != null && !xtnew.isEjecutar() )
        //{
            // System.out.println("shouldCauseReequipAnimation(true)");
            // return false;
        //}
        
        // always true the item is down under the hotbar but seems animations
        // works
        // when always false the item is normal posicioned but animations dont
        // works and it swings on left click
        /*
         * oldStack = oldStack.copy(); oldStack.setTagCompound(null); newStack =
         * newStack.copy(); newStack.setTagCompound(null); return
         * ItemStack.areItemStacksEqual(oldStack, newStack);
         */
        // EntityRenderer ER = mc.entityRenderer;
        // ER.itemRenderer.resetEquippedProgress(EnumHand.MAIN_HAND);
        // field_187469_f,equippedProgressMainHand,0,
        // field_187470_g,prevEquippedProgressMainHand,0,
        // field_187471_h,equippedProgressOffHand,0,
        // field_187472_i,prevEquippedProgressOffHand,0,
        // playerIRenderItem RI = mc.getRenderItem();
        // IR.resetEquippedProgress(EnumHand.MAIN_HAND);
        // IR.updateEquippedItem();
        // return false;
        /*
         * 
         * Minecraft mc = Minecraft.getMinecraft(); EntityPlayer playerIn =
         * mc.player;
         * 
         * ItemRenderer IR = mc.getItemRenderer();
         * 
         * if(IR!=null)try{ {
         * 
         * Field field00 =
         * ItemRenderer.class.getDeclaredField("equippedProgressMainHand");
         * field00.setAccessible(true); field00.setFloat(IR,1);
         * 
         * Field field01 =
         * ItemRenderer.class.getDeclaredField("prevEquippedProgressMainHand");
         * field01.setAccessible(true); field01.setFloat(IR,1);
         * 
         * } { Field field00 =
         * ItemRenderer.class.getDeclaredField("equippedProgressOffHand");
         * field00.setAccessible(true); field00.setFloat(IR,1);
         * 
         * Field field01 =
         * ItemRenderer.class.getDeclaredField("prevEquippedProgressOffHand");
         * field01.setAccessible(true); field01.setFloat(IR,1); }
         * }catch(Exception e){ e.printStackTrace(); }
         * 
         * 
         * //IR.resetEquippedProgress(EnumHand.MAIN_HAND);
         * //IR.resetEquippedProgress(EnumHand.OFF_HAND); //return false; }
         * 
         * 
         * 
         * oldStack = oldStack.copy(); oldStack.setTagCompound(null); newStack =
         * newStack.copy(); newStack.setTagCompound(null); return
         * !ItemStack.areItemStacksEqual(oldStack, newStack);
         */
        /*
         * 
         * return false;
         * 
         * // cdalm xtold = getAlmacenamiento(oldStack); cdalm xtnew =
         * getAlmacenamiento(newStack);
         * 
         * if (xtnew != null && !xtnew.isEjecutar() ) { return false; } return
         * true;
         */
    }
    // #########################################################################3
	


the next i thing a need is a easy way to hide one of the hands from the first view render 
thats all for now 
 

 

Ok... I found out, that you have to return "true", if you want the animation *not* to be played, which doesn't make sense in context of the function being called "shouldCauseReequipAnimation"...

Seems like a bug :D

Bringing the best mod back alive! Our mod REFORGED!

Balkon's Weapons for 1.8: https://github.com/TheOnlySilverClaw/Reforged/releases

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.