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

393 lines
8.9 KiB
Java
Raw Normal View History

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package noppes.npcs.scripted;
import net.minecraft.entity.EntityCreature;
import net.minecraft.item.ItemStack;
import noppes.npcs.NoppesUtilServer;
import noppes.npcs.constants.EnumAnimation;
import noppes.npcs.constants.EnumJobType;
import noppes.npcs.constants.EnumRoleType;
import noppes.npcs.controllers.Line;
import noppes.npcs.scripted.IItemStack;
import noppes.npcs.scripted.constants.AnimationType;
import noppes.npcs.scripted.constants.EntityType;
import noppes.npcs.scripted.roles.*;
import noppes.npcs.util.ValueUtil;
public interface ICustomNpc<T extends EntityCreature> extends IEntityLiving<T> {
/**
* @return Returns the current npcs size 1-30
*/
public int getSize();
/**
* @param size The size of the npc (1-30) default is 5
*/
public void setSize(int size);
/**
* @return Returns the current npcs modelType of the NPC
*/
public int getModelType();
/**
* @param modelType The modelType of the NPC. 0: Steve, 1: Steve64, 2: Alex
*/
public void setModelType(int modelType);
/**
* @return The npcs name
*/
public String getName();
public void setRotation(float rotation);
/**
* @param name The name of the npc
*/
public void setName(String name);
/**
* @since 1.7.10
* @return The npcs title
*/
public String getTitle();
/**
* @since 1.7.10
* @param title The title of the npc
*/
public void setTitle(String title);
/**
* @return The npcs texture
*/
public String getTexture();
/**
* @param texture The texture of the npc
*/
public void setTexture(String texture);
/**
* @return Home position x
*/
public int getHomeX();
/**
* @param x The home x position
*/
public void setHomeX(int x);
/**
* @return Home position x
*/
public int getHomeY();
/**
* @param y The home y position
*/
public void setHomeY(int y);
/**
* @return Home position x
*/
public int getHomeZ();
/**
* @param z The home x position
*/
public void setHomeZ(int z);
/**
* @param x The home x position
* @param y The home y position
* @param z The home z position
*/
public void setHome(int x, int y, int z);
/**
* @param health New max health
*/
public void setMaxHealth(int health);
/**
* @param bo Whether or not the npc will try to return to his home position
*/
public void setReturnToHome(boolean bo);
/**
* @return Whether or not the npc returns home
*/
public boolean getReturnToHome();
/**
* @return The faction of the npc
*/
public ScriptFaction getFaction();
/**
* @param id The id of the new faction
*/
public void setFaction(int id);
public int getType();
public boolean typeOf(int type);
/**
* @param target The targeted npc
* @param item The item you want to shoot
* @param accuracy Accuracy of the shot (0-100)
*/
public void shootItem(ScriptLivingBase target, ScriptItemStack item, int accuracy);
/**
* @param message The message the npc will say
*/
public void say(String message);
/**
* @param message The message the npc will say
*/
public void say(ScriptPlayer player, String message);
/**
* Kill the npc, doesnt't despawn it
*/
public void kill();
/**
* Basically completely resets the npc. This will also call the Init script
*/
public void reset();
/**
* @return Returns the npcs current role
*/
public ScriptRoleInterface getRole();
/**
* @return Returns the npcs current job
*/
public ScriptJobInterface getJob();
/**
* @return The item held in the right hand
*/
public ScriptItemStack getRightItem();
/**
* @param item Item to be held in the right hand
*/
public void setRightItem(ScriptItemStack item);
/**
* @return The item held in the left hand
*/
public ScriptItemStack getLefttItem();
/**
* @param item Item to be held in the left hand
*/
public void setLeftItem(ScriptItemStack item);
/**
* @return Returns the projectile the npc uses
*/
public ScriptItemStack getProjectileItem();
/**
* @param item Item to be used as projectile
*/
public void setProjectileItem(ScriptItemStack item);
/**
* @param slot The armor slot to return. 0:head, 1:body, 2:legs, 3:boots
* @return Returns the worn armor in slot
*/
public ScriptItemStack getArmor(int slot);
/**
* @param slot The armor slot to set. 0:head, 1:body, 2:legs, 3:boots
* @param item Item to be set as armor
*/
public void setArmor(int slot, ScriptItemStack item);
/**
* @param type The AnimationType
*/
public void setAnimation(int type);
/**
* @param type The visibility type of the npc, 0:visible, 1:invisible, 2:semi-visible
*/
public void setVisibleType(int type);
/**
* @return The visibility type of the npc, 0:visible, 1:invisible, 2:semi-visible
*/
public int getVisibleType();
/**
* @param type The visibility type of the name, 0:visible, 1:invisible, 2:when-attacking
*/
public void setShowName(int type);
/**
* @return Returns the visibility type of the name, 0:visible, 1:invisible, 2:when-attacking
*/
public int getShowName();
/**
* @return Returns the visiblity of the boss bar, 0:invisible, 1:visible, 2:when-attacking
*/
public int getShowBossBar();
/**
* @param type The visibility type of the boss bar, 0:invisible, 1:visible, 2:when-attacking
*/
public void setShowBossBar(int type);
/**
* @return The melee strength
*/
public int getMeleeStrength();
/**
* @param strength The melee strength
*/
public void setMeleeStrength(int strength);
/**
* @return The melee speed
*/
public int getMeleeSpeed();
/**
* @param speed The melee speed
*/
public void setMeleeSpeed(int speed);
/**
* @return The ranged strength
*/
public int getRangedStrength();
/**
* @param strength The ranged strength
*/
public void setRangedStrength(int strength);
/**
* @return The ranged speed
*/
public int getRangedSpeed();
/**
* @param speed The ranged speed
*/
public void setRangedSpeed(int speed);
/**
* @return The ranged burst count
*/
public int getRangedBurst();
/**
* @param count The ranged burst count
*/
public void setRangedBurst(int count);
/**
* @param player The player to give the item to
* @param item The item given to the player
*/
public void giveItem(ScriptPlayer player, ScriptItemStack item);
/**
* On servers the enable-command-block option in the server.properties needs to be set to true
* @param command The command to be executed
*/
public void executeCommand(String command);
public void setHeadScale(float x, float y, float z);
public void setBodyScale(float x, float y, float z);
public void setArmsScale(float x, float y, float z);
public void setLegsScale(float x, float y, float z);
/**
* @since 1.7.10c
* @param resistance Explosion resistance (0-2) default is 1
*/
public void setExplosionResistance(float resistance);
/**
* @since 1.7.10c
* @return Returns Explosion Resistance
*/
public float getExplosionResistance();
/**
* @param resistance Melee resistance (0-2) default is 1
*/
public void setMeleeResistance(float resistance);
/**
* @return Returns Melee Resistance
*/
public float getMeleeResistance();
/**
* @param resistance Arrow resistance (0-2) default is 1
*/
public void setArrowResistance(float resistance);
/**
* @return Returns Arrow Resistance
*/
public float getArrowResistance();
/**
* @param resistance Knockback resistance (0-2) default is 1
*/
public void setKnockbackResistance(float resistance);
/**
* @return Returns Knockback Resistance
*/
public float getKnockbackResistance();
/**
* @param type Retaliation type. 0:normal, 1:panic, 2:retreat, 3:nothing
*/
public void setRetaliateType(int type);
/**
* @return Returns the combat health regen per second
*/
public int getCombatRegen();
/**
* @param regen The combat health regen per second
*/
public void setCombatRegen(int regen);
/**
* @return Returns the health regen per second when not in combat
*/
public int getHealthRegen();
/**
* @param regen The health regen per second when not in combat
*/
public void setHealthRegen(int regen);
public long getAge();
}