Jump to content

[Snippet ]Simple Spell on Item Event class


Recommended Posts

Posted (edited)

Example:

Event event = new SpellOnItemEvent(NormalSpells.LVL_2_ENCHANT, "Emerald ring");
execute(event);
if(event.getStatus() == EventStatus.FINISHED) {
     casts++;
} 

Code:

public class SpellOnItemEvent extends Event {

	private MagicSpell spell;
	private String item;
	
	public SpellOnItemEvent(MagicSpell spell, String item) {
		this.spell = spell;
		this.item = item;
	}
	
	@Override
	public int execute() throws InterruptedException {
		if(getMagic().isSpellSelected()) {
			int slot = getInventory().getSlot(item);
			long count = getInventory().getAmount(item);
			if(getMouse().click(new InventorySlotDestination(getBot(), slot))) {
				if(new ConditionalSleep(2400, 200) {
					@Override
					public boolean condition() throws InterruptedException {
						return getInventory().getAmount(item) != count;
					}
				}.sleep()) {
					setFinished();
				}
				else {
					setFailed();
				}
			}
		}
		else if(getMagic().castSpell(spell)) {
			if(!new ConditionalSleep(2400, 200) {
				@Override
				public boolean condition() throws InterruptedException {
					return getTabs().getOpen() == Tab.INVENTORY;
				}
			}.sleep()) {
				setFailed();
			}
		}
		return MethodProvider.random(50, 150);
	}

}
Edited by Botre
  • Like 6

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...