Files
CustomNPC-Plus/src/main/java/noppes/npcs/scripted/event/NpcEvent.java
T

384 lines
10 KiB
Java
Raw Normal View History

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package noppes.npcs.scripted.event;
import cpw.mods.fml.common.eventhandler.Cancelable;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
2022-11-15 15:25:53 -05:00
import noppes.npcs.api.IDamageSource;
import noppes.npcs.controllers.data.Dialog;
2022-11-15 15:25:53 -05:00
import noppes.npcs.api.entity.ICustomNpc;
import noppes.npcs.api.entity.IEntity;
import noppes.npcs.api.entity.IEntityLivingBase;
import noppes.npcs.api.entity.IPlayer;
import noppes.npcs.api.item.IItemStack;
import noppes.npcs.scripted.NpcAPI;
import java.util.ArrayList;
public class NpcEvent extends CustomNPCsEvent {
public final ICustomNpc npc;
public NpcEvent(ICustomNpc npc) {
this.npc = npc;
}
public static class TimerEvent extends NpcEvent {
public final int id;
public TimerEvent(ICustomNpc npc, int id) {
super(npc);
this.id = id;
}
public int getId(){
return id;
}
}
public static class CollideEvent extends NpcEvent {
public final IEntity entity;
public CollideEvent(ICustomNpc npc, Entity entity) {
super(npc);
this.entity = NpcAPI.Instance().getIEntity(entity);
}
}
@Cancelable
public static class DamagedEvent extends NpcEvent {
public final IDamageSource damageSource;
public final IEntity source;
public float damage;
private boolean clearTarget = false;
public boolean clear = false;
public final DamageSource damagesource;
public DamagedEvent(ICustomNpc npc, Entity source, float damage, DamageSource damagesource) {
super(npc);
this.source = NpcAPI.Instance().getIEntity(source);
this.damage = damage;
this.damageSource = NpcAPI.Instance().getIDamageSource(damagesource);
//Old CNPC Script compatibility
this.damagesource = damagesource;
}
/**
* @return The source of the damage
*/
public IEntity getSource(){
return source;
}
/**
* @return Returns the damage value
*/
public float getDamage(){
return damage;
}
/**
* @param damage The new damage value
*/
public void setDamage(float damage){
this.damage = damage;
}
public void setClearTarget(boolean bo){
this.clearTarget = bo;
this.clear = bo;
}
public boolean getClearTarget(){
return clearTarget && clear;
}
2022-03-23 03:54:06 -05:00
public String getType(){
return damageSource.getMCDamageSource().damageType;
}
}
@Cancelable
public static class RangedLaunchedEvent extends NpcEvent {
public final IEntityLivingBase target;
public float damage;
//public List<IProjectile> projectiles = new ArrayList();
2022-03-23 03:54:06 -05:00
public RangedLaunchedEvent(ICustomNpc npc, float damage, EntityLivingBase target) {
super(npc);
this.target = (IEntityLivingBase)NpcAPI.Instance().getIEntity(target);
this.damage = damage;
}
/**
* @return The source of the damage
* @deprecated
*/
public IEntityLivingBase getTarget(){
return target;
}
/**
* @return Returns the damage value
*/
public float getDamage(){
return damage;
}
/**
* @param damage The new damage value
*/
public void setDamage(float damage){
this.damage = damage;
}
/**
* @return Returns the damage type
*/
public boolean isRange(){
return true;
}
}
@Cancelable
public static class MeleeAttackEvent extends NpcEvent {
public final IEntityLivingBase target;
public float damage;
2022-03-23 03:54:06 -05:00
public MeleeAttackEvent(ICustomNpc npc, float damage, EntityLivingBase target) {
super(npc);
this.target = (IEntityLivingBase)NpcAPI.Instance().getIEntity(target);
this.damage = damage;
}
/**
* @return The source of the damage
* @deprecated
*/
public IEntityLivingBase getTarget(){
return target;
}
/**
* @return Returns the damage value
*/
public float getDamage(){
return damage;
}
/**
* @param damage The new damage value
*/
public void setDamage(float damage){
this.damage = damage;
}
/**
* @return Returns the damage type
*/
public boolean isRange(){
return false;
}
}
public static class KilledEntityEvent extends NpcEvent {
public final IEntityLivingBase entity;
public KilledEntityEvent(ICustomNpc npc, EntityLivingBase entity) {
super(npc);
this.entity = (IEntityLivingBase)NpcAPI.Instance().getIEntity(entity);
}
}
@Cancelable
public static class DiedEvent extends NpcEvent {
public final IDamageSource damageSource;
public final String type;
public final IEntity source;
public IItemStack[] droppedItems;
public int expDropped;
public DiedEvent(ICustomNpc npc, DamageSource damagesource, Entity entity, ArrayList<ItemStack> droppedItems, int expDropped) {
super(npc);
this.damageSource = NpcAPI.Instance().getIDamageSource(damagesource);
this.type = damagesource.damageType;
this.source = NpcAPI.Instance().getIEntity(entity);
ArrayList<IItemStack> iItemStacks = new ArrayList<>();
for (ItemStack itemStack : droppedItems) {
IItemStack iItemStack = NpcAPI.Instance().getIItemStack(itemStack);
iItemStacks.add(iItemStack);
}
this.droppedItems = iItemStacks.toArray(new IItemStack[0]);
this.expDropped = expDropped;
}
2022-03-23 03:54:06 -05:00
/**
* @return The source of the damage
*/
public IEntity getSource(){
return source;
}
public IDamageSource getDamageSource() { return damageSource; }
/**
* @return Returns the damage type
*/
2022-03-23 03:54:06 -05:00
public String getType(){
return damageSource.getMCDamageSource().damageType;
}
}
@Cancelable
public static class InteractEvent extends NpcEvent {
public final IPlayer player;
public InteractEvent(ICustomNpc npc, EntityPlayer player) {
super(npc);
this.player = (IPlayer)NpcAPI.Instance().getIEntity(player);
}
}
2022-11-05 04:19:03 -05:00
@Cancelable
2022-03-23 03:54:06 -05:00
public static class DialogEvent extends NpcEvent {
public final IPlayer player;
public final int id;
public final int optionId;
public final Dialog dialogObj;
public final int dialog;
public final int option;
2022-03-23 03:54:06 -05:00
public DialogEvent(ICustomNpc npc, EntityPlayer player, int id, int optionId, Dialog dialog) {
2022-03-23 03:54:06 -05:00
super(npc);
this.player = (IPlayer)NpcAPI.Instance().getIEntity(player);
2022-03-23 03:54:06 -05:00
this.id = id;
this.optionId = optionId;
this.dialogObj = dialog;
this.dialog = id;
this.option = optionId;
}
public IPlayer getPlayer() {
return player;
}
public Dialog getDialog() {
return dialogObj;
}
public int getDialogId() {
return dialog;
}
public int getOptionId() {
return option;
}
/**
* @deprecated
*/
public boolean isClosing(){
return true;
2022-03-23 03:54:06 -05:00
}
}
public static class DialogClosedEvent extends NpcEvent {
public final IPlayer player;
public final int id;
public final int optionId;
public final Dialog dialogObj;
public final int dialog;
public final int option;
2022-03-23 03:54:06 -05:00
public DialogClosedEvent(ICustomNpc npc, EntityPlayer player, int id, int optionId, Dialog dialog) {
super(npc);
this.player = (IPlayer)NpcAPI.Instance().getIEntity(player);
2022-03-23 03:54:06 -05:00
this.id = id;
this.optionId = optionId;
this.dialogObj = dialog;
this.dialog = id;
this.option = optionId;
}
public IPlayer getPlayer() {
return player;
}
public Dialog getDialog() {
return dialogObj;
}
public int getDialogId() {
return option;
}
public int getOptionId() {
return option;
}
/**
* @deprecated
*/
public boolean isClosing(){
return true;
2022-03-23 03:54:06 -05:00
}
}
@Cancelable
public static class TargetLostEvent extends NpcEvent {
public final IEntityLivingBase entity;
public TargetLostEvent(ICustomNpc npc, EntityLivingBase entity) {
super(npc);
this.entity = (IEntityLivingBase) NpcAPI.Instance().getIEntity(entity);
}
}
@Cancelable
public static class TargetEvent extends NpcEvent {
public IEntityLivingBase entity;
public TargetEvent(ICustomNpc npc, EntityLivingBase entity) {
super(npc);
this.entity = (IEntityLivingBase) NpcAPI.Instance().getIEntity(entity);
}
/**
* @return The target source
*/
public IEntityLivingBase getTarget(){
return entity;
}
public void setTarget(IEntityLivingBase entity){
this.entity = entity;
}
}
public static class UpdateEvent extends NpcEvent {
public UpdateEvent(ICustomNpc npc) {
super(npc);
}
}
public static class InitEvent extends NpcEvent {
public InitEvent(ICustomNpc npc) {
super(npc);
}
}
}