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

This is my third time doing this, and I hope I get a response this time xD

 

So, basically, I want it so I could change the swing speed, like if you were using a Haste potion effect. (I don't want to do that though, it doesn't give me enough speed options that way) I tried looking in the Potions class, and I found

 

    public static final Potion digSpeed = (new Potion(3, false, 14270531)).setPotionName("potion.digSpeed").setIconIndex(2, 0).setEffectiveness(1.5D);

 

There was nothing else in the code about it, so I took it that 142703531 had something to do with it. If you know anything about it, or have any ideas on it, it would be great if you could let me know! Thanks!

 

~GravityWolf

  • Author

Hope this doesn't count as spam, but I think I made some progress:

 

I found this:

 

if (this.isPotionActive(Potion.digSpeed))
        {
            f *= 1.0F + (float)(this.getActivePotionEffect(Potion.digSpeed).getAmplifier() + 1) * 0.2F;
        }

 

and this:

 

private int getArmSwingAnimationEnd()
    {
        return this.isPotionActive(Potion.digSpeed) ? 6 - (1 + this.getActivePotionEffect(Potion.digSpeed).getAmplifier()) * 1 : (this.isPotionActive(Potion.digSlowdown) ? 6 + (1 + this.getActivePotionEffect(Potion.digSlowdown).getAmplifier()) * 2 : 6);
    }

 

I think these are important, the second one probably more so. They seem to require potion effects, and like I said in the OP, I don't really want to use potion effects. If you have any ideas, let me know! Thanks!

 

~GravityWolf

Why not look into the Haste effect?

 

 

I think you'd be better off making a pseudo potion item instead of using the vanilla potion class.

Kain

Are you trying to increase speed for swinging a sword or breaking a block?

if its a block you wanna do this

 

 

	@ForgeSubscribe
// haste
public void onUpdate(PlayerEvent.BreakSpeed event) {
	EntityPlayer e = null;

	if (event.entityLiving instanceof EntityPlayer) {
		e = (EntityPlayer) event.entityLiving;
		if (e == null)
			return;

		final int vigor = EnchantmentHelper.getEnchantmentLevel(effectId, e.getHeldItem());

		if (vigor > 0) {
			event.newSpeed += (2.0F * vigor);

		}
	}
}
}

 

  • Author

Why not look into the Haste effect?

 

 

I think you'd be better off making a pseudo potion item instead of using the vanilla potion class.

 

I would do that, but it swings too fast too quickly. What I mean is Haste 1 gives you increased swing speed, but Haste 2 gives you almost double speed of Haste 1.

 

Are you trying to increase speed for swinging a sword or breaking a block?

if its a block you wanna do this

 

 

	@ForgeSubscribe
// haste
public void onUpdate(PlayerEvent.BreakSpeed event) {
	EntityPlayer e = null;

	if (event.entityLiving instanceof EntityPlayer) {
		e = (EntityPlayer) event.entityLiving;
		if (e == null)
			return;

		final int vigor = EnchantmentHelper.getEnchantmentLevel(effectId, e.getHeldItem());

		if (vigor > 0) {
			event.newSpeed += (2.0F * vigor);

		}
	}
}
}

 

 

I'm looking for sword swing speed.

I'm not sure how to add this, however Dinnerbone has stated that the attribute system will encompass swing speed (as well as bow draw time), so if I were you I might just flesh out the other areas of my mod and hope that the attributes for that come in 1.7 :D

  • Author

I'm not sure how to add this, however Dinnerbone has stated that the attribute system will encompass swing speed (as well as bow draw time), so if I were you I might just flesh out the other areas of my mod and hope that the attributes for that come in 1.7 :D

 

I will use that when that comes out, but for now I think I can utilize the haste effect code.

Yeah potion effects still seem to be obfuscated (the critical functions for many are things like 'func_902349' and such)

I'd just use a vanilla one with whatever power level you need for now, no real reason why not... also, maybe you could try to find a way to make the sword buff you with like 10 ticks of haste whenever you click with it, that way when they stop clicking the effect would just go away before they could see it

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

  • Author

Got it to work using this:

 

public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) {

	if(entity instanceof EntityPlayer) {

		EntityPlayer player = (EntityPlayer) entity;
            ItemStack equipped = player.getCurrentEquippedItem();
            
            if(equipped == stack) {
            	
            	if(player.isSwingInProgress) {
            	
            	if(swingSpeed == 0) {
            		
            	} else if (swingSpeed == 1) {
            		
                	player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 1, 0));
            		
            	} else if (swingSpeed == 2) {
            		
                	player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 1, 1));
            		
            	} else if (swingSpeed == 3) {
            		
            		player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 1, 2));
            		
            	} else if (swingSpeed == -1) {
            		
                	player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 0));
            		
            	} else if (swingSpeed == -2) {
            		
                	player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 1));
            		
            	} else if (swingSpeed == -3) {
            		
                	player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 2));
                	
            	} else if (swingSpeed == -4) {
            		
            		player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 3));
            		
            	}
            	
            	}
            }

	}

}

 

SwingSpeed is my own custom variable, just btw

Guest
This topic is now closed to further replies.

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.