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

Guys I have a mod that add something specials for my server, it's the RageMode, whenever the player do the right click after a combo of 80 hits, it will start the rage mode BUT:

 

I want that the rage mode ends after 7.2 seconds!

 

I tried making a TickHandler but I can't figure out how to do that, I never did something with ticks, if you can help me and the code works I'll finally know how to do ticks :3

 

My ExoRageModeEvent code:

 

public class ExoRageModeEvent extends ItemSword {

public static int comboStreak = 0;
public static int maxComboStreak = 240;
public static int minComboStreak = 3;
public static boolean rageMode = false;
public static boolean soundStarted = false;

public ExoRageModeEvent(int par1, EnumToolMaterial par2EnumToolMaterial) {
	super(par1, par2EnumToolMaterial);
	// TODO Auto-generated constructor stub
}

@SideOnly(Side.CLIENT)
public void onUpdate(ItemStack item, World world, Entity entity, int par4,
		boolean par5) {
	if (par5 && (entity instanceof EntityPlayer)) {
		if (rageMode == false) {
			EntityPlayer player = (EntityPlayer) entity;
		} else {
			EntityPlayer player = (EntityPlayer) entity;
			/*
			 * wait 7.2 seconds; rageMode = false;
			 */
		}

	} else {
		EntityPlayer player = (EntityPlayer) entity;
		player.capabilities.setPlayerWalkSpeed(0.1F);
		rageMode = false;
		comboStreak = 0;
	}
}

public boolean hitEntity(ItemStack par1ItemStack,
		EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) {

	par2EntityLiving.setPosition(par2EntityLiving.posX,
			par2EntityLiving.posY, par2EntityLiving.posZ);

	comboStreak += 1;

	if (par3EntityLiving instanceof EntityPlayer) {
		if (comboStreak == 80) {
			EntityPlayer player = (EntityPlayer) par3EntityLiving;
			player.sendChatToPlayer("Your powerup is ready! Right click to activate it!");
		}
	}

	if (comboStreak > maxComboStreak) {
		comboStreak = 240;
	}

	return true;
}

@SideOnly(Side.CLIENT)
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World,
		EntityPlayer par3EntityPlayer) {

	if (comboStreak >= 80) {
		rageMode = true;
		// Wait 0.05 seconds because if I put in the condition "soundStarted == false"
		// it will automatically read first the soundStarted = true under that "playSoundEffect"
		// because the song will load 0.01 second after!
		par2World.playSoundEffect(par3EntityPlayer.posX,
				par3EntityPlayer.posY, par3EntityPlayer.posZ,
				"ExoWorld.RageMode", 1.0F, 1.0F);
		soundStarted = true;
	}
	if (comboStreak >= 90) {
		comboStreak = 0;
	}
	return par1ItemStack;
}

}

 

Any help? Thanks!

First:

@SideOnly(Side.CLIENT)

Don't write it if you don't know what it means. Seriously. Don't.

 

 

Now, in onUpdate, you can use world time as a counter or just increment your own counter field.

If you want to use a TickHandler, you'll have to make a class with "implements ITickHandler". There are tutorials on it.

  • Author

First:

@SideOnly(Side.CLIENT)

I know what SideOnly means -.- I just put that in onItemRightClick for mistake, now it works on server PERFECTLY

 

Now, in onUpdate, you can use world time as a counter or just increment your own counter field.

 

How???

  • Author

Just do like you did with comboStreak.

Oh my god thanks! It worked

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.