Files

390 lines
7.4 KiB
Java

package noppes.npcs.api.event;
import cpw.mods.fml.common.eventhandler.Cancelable;
import noppes.npcs.api.IBlock;
import noppes.npcs.api.IContainer;
import noppes.npcs.api.IDamageSource;
import noppes.npcs.api.entity.IEntity;
import noppes.npcs.api.entity.IEntityLivingBase;
import noppes.npcs.api.entity.IPlayer;
import noppes.npcs.api.handler.data.IPlayerEffect;
import noppes.npcs.api.handler.data.IProfile;
import noppes.npcs.api.item.IItemStack;
public interface IPlayerEvent extends ICustomNPCsEvent {
IPlayer getPlayer();
@Cancelable
interface ChatEvent extends IPlayerEvent {
void setMessage(String message);
String getMessage();
}
interface KeyPressedEvent extends IPlayerEvent {
int getKey();
boolean isCtrlPressed();
boolean isAltPressed();
boolean isShiftPressed();
boolean isMetaPressed();
boolean keyDown();
int[] getKeysDown();
}
interface MouseClickedEvent extends IPlayerEvent {
int getButton();
int getMouseWheel();
boolean buttonDown();
boolean isCtrlPressed();
boolean isAltPressed();
boolean isShiftPressed();
boolean isMetaPressed();
int[] getKeysDown();
}
interface PickupXPEvent extends IPlayerEvent {
int getAmount();
}
interface LevelUpEvent extends IPlayerEvent {
int getChange();
}
interface LogoutEvent extends IPlayerEvent {
}
interface LoginEvent extends IPlayerEvent {
}
interface RespawnEvent extends IPlayerEvent {
}
/**
* @hookName changedDim
*/
interface ChangedDimension extends IPlayerEvent {
int getFromDim();
int getToDim();
}
interface TimerEvent extends IPlayerEvent {
int getId();
}
@Cancelable
interface AttackedEvent extends IPlayerEvent {
IDamageSource getDamageSource();
IEntity getSource();
float getDamage();
}
@Cancelable
interface DamagedEvent extends IPlayerEvent {
IDamageSource getDamageSource();
IEntity getSource();
float getDamage();
}
@Cancelable
interface LightningEvent extends IPlayerEvent {
}
/**
* @hookName playSound
*/
@Cancelable
interface SoundEvent extends IPlayerEvent {
String getName();
float getPitch();
float getVolume();
}
@Cancelable
interface FallEvent extends IPlayerEvent {
float getDistance();
}
interface JumpEvent extends IPlayerEvent {
}
/**
* @hookName kills
*/
interface KilledEntityEvent extends IPlayerEvent {
IEntityLivingBase getEntity();
}
/**
* @hookName killed
*/
interface DiedEvent extends IPlayerEvent {
IDamageSource getDamageSource();
String getType();
IEntity getSource();
}
@Cancelable
interface RangedLaunchedEvent extends IPlayerEvent {
IItemStack getBow();
int getCharge();
}
@Cancelable
interface AttackEvent extends IPlayerEvent {
IDamageSource getDamageSource();
IEntity getTarget();
float getDamage();
}
@Cancelable
interface DamagedEntityEvent extends IPlayerEvent {
IDamageSource getDamageSource();
IEntity getTarget();
float getDamage();
}
interface ContainerClosed extends IPlayerEvent {
IContainer getContainer();
}
interface ContainerOpen extends IPlayerEvent {
IContainer getContainer();
}
@Cancelable
interface PickUpEvent extends IPlayerEvent {
IItemStack getItem();
}
@Cancelable
interface DropEvent extends IPlayerEvent {
IItemStack[] getItems();
}
@Cancelable
interface TossEvent extends IPlayerEvent {
IItemStack getItem();
}
@Cancelable
interface InteractEvent extends IPlayerEvent {
int getType();
IEntity getTarget();
}
@Cancelable
interface RightClickEvent extends IPlayerEvent {
int getType();
Object getTarget();
IPlayer getPlayer();
}
/**
* @hookName tick
*/
interface UpdateEvent extends IPlayerEvent {
}
interface InitEvent extends IPlayerEvent {
}
/**
* @hookName startItem
*/
interface StartUsingItem extends IPlayerEvent {
IItemStack getItem();
int getDuration();
}
interface UsingItem extends IPlayerEvent {
IItemStack getItem();
int getDuration();
}
/**
* @hookName stopItem
*/
interface StopUsingItem extends IPlayerEvent {
IItemStack getItem();
int getDuration();
}
/**
* @hookName finishItem
*/
interface FinishUsingItem extends IPlayerEvent {
IItemStack getItem();
int getDuration();
}
/**
* @hookName breakBlock
*/
@Cancelable
interface BreakEvent extends IPlayerEvent {
IBlock getBlock();
int getExp();
}
interface UseHoeEvent extends IPlayerEvent {
IItemStack getHoe();
int getX();
int getY();
int getZ();
}
interface WakeUpEvent extends IPlayerEvent {
boolean setSpawn();
}
interface SleepEvent extends IPlayerEvent {
int getX();
int getY();
int getZ();
}
interface AchievementEvent extends IPlayerEvent {
String getDescription();
}
interface FillBucketEvent extends IPlayerEvent {
IItemStack getCurrent();
IItemStack getFilled();
}
interface BonemealEvent extends IPlayerEvent {
IBlock getBlock();
int getX();
int getY();
int getZ();
}
interface RangedChargeEvent extends IPlayerEvent {
}
interface EffectEvent extends IPlayerEvent {
IPlayerEffect getEffect();
/**
* @hookName onEffectAdd
*/
interface Added extends EffectEvent {
}
/**
* @hookName onEffectTick
*/
interface Ticked extends EffectEvent {
}
/**
* @hookName onEffectRemove
*/
interface Removed extends EffectEvent {
/**
* @return If the effect timer has ticked down to 0.
*/
boolean hasTimerRunOut();
/**
* @return If the effect was removed on death.
*/
boolean causedByDeath();
}
}
@Cancelable
interface ProfileEvent extends IPlayerEvent {
/**
* @return IProfile Object of the Operation
*/
IProfile getProfile();
/**
* @return Slot ID in question
*/
int getSlot();
/**
* @return returns true if it occurs after the operation (not cancellable)
*/
boolean isPost();
/**
* @hookName profileChange
*/
@Cancelable
interface Changed extends ProfileEvent {
/**
* @return The previous slot before the switch
*/
int getPrevSlot();
}
/**
* @hookName profileCreate
*/
@Cancelable
interface Create extends ProfileEvent {
}
/**
* @hookName profileRemove
*/
@Cancelable
interface Removed extends ProfileEvent {
}
}
}