Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Hi,

So basically, i want to stop the swing animation when the player right click on a block with the item.

I found that the resetEquippedProggress() does that, and also that Forge has an Event, that when its cancelled it shouldn't happen.

Now i cancelled the PlayerInteractEvent when the item is held and the action is RIGHT_CLICK_BLOCK.

With System prints i tested it it gets called, yet i can still see the animation :(

 

What are the other possible ways to cancel the right click on block animation?

 

Thanks!

  • Author

Yeah i tought the same, BUT....

 

public class RightClickEventHandler{

@SubscribeEvent
public void onRightClick(PlayerInteractEvent event){
	EntityPlayer player = event.entityPlayer;
	if(player.getHeldItem() != null && player.getHeldItem().getItem() == Csgo.Usp){
		if(event.action == Action.RIGHT_CLICK_BLOCK){
			event.setCanceled(true);
		}
	}
}
}

 

Registered in main mod file, init():

MinecraftForge.EVENT_BUS.register(new RightClickEventHandler());

 

Does not work sadly. :(

  • Author

Huh........

I think when i set the private field to 1F, the animation is half way throught, so i can see the shorter version of it.

Even if i put it inside the onUpdate(), its still to slow to set the private value.

Guess you cannot cancel that animation.

 

Oh well....

Thanks anyway buddy.

  • Author

Ohhhh, you opened my eyes. Thank you sir!

I have used getPrivateValue() in the reflection wich obviously dont get me anywhere.

 

Updated code:

@SubscribeEvent
public void onRightClick(PlayerInteractEvent event){
	EntityPlayer player = event.entityPlayer;
	if(event.world.isRemote){
		if(player.getHeldItem() != null && player.getHeldItem().getItem() == Csgo.Usp){
			if(event.action == Action.RIGHT_CLICK_BLOCK || event.action == Action.RIGHT_CLICK_AIR){
				ObfuscationReflectionHelper.setPrivateValue(ItemRenderer.class, Minecraft.getMinecraft().getItemRenderer(), 1F, "equippedProgress", "field_78454_c");
			}
		}
	}
}

 

This actually makes the animation not happend, YET allows me to use the onItemRightClick and onItemUse methods. Just how i wanted.

I think the shouldCauseReequipAnimation() should also affect this animaton as well, because i think this will get asked a lot more.

 

 

Why you upload a video about this? Never saw you do that....  angry? :D

 

Thanks lad!

 

 

 

 

 

 

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.