Files
2006Scape/2006Scape Server/src/main/java/com/rs2/event/EventSubscriber.java
T
Josh Shippam 7d64e2298f Plugins System (#510)
* Started Ripping Plugin System From Astraeus

*Currently only ClickingButtons Support
*Also Started Using The Logout Button Plugin From Astraeus

* NpcFirstClickEvent setup for plugins

also made Man & Women chat work through this

* Server: Add Google Collect Lib

* Server: NpcSecondClickEvent setup for plugins

also handle pickpocketing npc clicking through plugin

* Server: NpcThirdClickEvent setup for plugins

* Server: Remove conflicting action for Secondclicking npc id 3

* Server: ItemFirstClickEvent setup for plugins

Also Handle Yo-Yo First Click Through This

* Server: ItemOnItemEvent setup for plugins

Also Handle Black Candle Lighting With Tinderbox Through this

* Server: ItemOnNpcEvent setup for plugins

* Server: ItemOnObjectEvent setup for plugins

Also Handle Fillable Items Through This

* Server: ItemSecondClickEvent & ItemThirdClickEvent setup for plugins

Also Handle Yo-Yo Actions Through This

* Server: ObjectFirstClickEvent setup for plugins

Also Handle FirstClick Mining Actions Through This

* Server: ObjectSecondClickEvent setup for plugins

Also Handle Stall Thieving Actions Through This

* Server: ObjectThirdClickEvent setup for plugins

* Server: ObjectFourthClickEvent setup for plugins

Also Handle Fourth Click Farming Object Actions Through This

* Server: MagicOnItemEvent setup for plugins

Also Handle SuperHeat Through This

* More mage training arena (#509)

* Fixup points display

* Only allow players to deposit up to 12k at one time

* Apple damage and play animation

* Update order or prices

* Update Telekinetic.java

(cherry picked from commit ab3b1e9731)

Co-authored-by: RedSparr0w <RedSparr0w@users.noreply.github.com>
Co-authored-by: Danial <admin@redsparr0w.com>
2021-10-09 00:20:57 +01:00

32 lines
769 B
Java

package com.rs2.event;
import com.rs2.game.players.Player;
import java.util.function.Predicate;
/**
* Represents a single subscriber for some {@link Event}.
*
* @author Ryley Kimmel <ryley.kimmel@live.com>
*
* @param <E> The type of event to the subscriber.
*/
@FunctionalInterface
public interface EventSubscriber<E extends Event> extends Predicate<E> {
/**
* A handler method which executes event specific logic if and only if
* {@link #test(Event)} returns {@code true}.
*
* @param context The context of the event.
* @param player The player to subscribe the event for.
* @param event The event to subscribe.
*/
void subscribe(EventContext context, Player player, E event);
@Override
default boolean test(E event) {
return true;
}
}