-
Notifications
You must be signed in to change notification settings - Fork 71
/
MCLivingEntity.java
118 lines (103 loc) · 3.44 KB
/
MCLivingEntity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package com.laytonsmith.abstraction;
import com.laytonsmith.abstraction.blocks.MCBlock;
import com.laytonsmith.core.constructs.Target;
import java.util.HashSet;
import java.util.List;
/**
*
*
*/
public interface MCLivingEntity extends MCEntity, MCProjectileSource {
void addEffect(int potionID, int strength, int ticks, boolean ambient, boolean particles, Target t);
public boolean removeEffect(int potionID);
/**
* Returns the maximum effect id, inclusive.
* @return
*/
public int getMaxEffect();
public List<MCEffect> getEffects();
public void damage(double amount);
public void damage(double amount, MCEntity source);
public boolean getCanPickupItems();
public boolean getRemoveWhenFarAway();
/**
* With the addition of ArmorStands, this can be null. At the time of this writing,
* ArmorStands are the only LivingEntity with such a limitation, and a workaround has been added.
*/
public MCEntityEquipment getEquipment();
public double getEyeHeight();
public double getEyeHeight(boolean ignoreSneaking);
public MCLocation getEyeLocation();
public double getHealth();
public MCPlayer getKiller();
public double getLastDamage();
public MCEntity getLeashHolder();
public MCLivingEntity getTarget(Target t);
public MCBlock getTargetBlock(HashSet<Short> transparent, int maxDistance);
public MCBlock getTargetSpace(int maxDistance);
public List<MCBlock> getLineOfSight(HashSet<Short> transparent, int maxDistance);
public boolean hasLineOfSight(MCEntity other);
public double getMaxHealth();
public int getMaximumAir();
public int getMaximumNoDamageTicks();
public int getNoDamageTicks();
public int getRemainingAir();
public boolean isGliding();
public boolean isLeashed();
public boolean hasAI();
public void resetMaxHealth();
public void setCanPickupItems(boolean pickup);
public void setRemoveWhenFarAway(boolean remove);
public void setHealth(double health);
public void setLastDamage(double damage);
public void setLeashHolder(MCEntity holder);
public void setMaxHealth(double health);
public void setMaximumAir(int ticks);
public void setMaximumNoDamageTicks(int ticks);
public void setNoDamageTicks(int ticks);
public void setRemainingAir(int ticks);
public void setTarget(MCLivingEntity target, Target t);
public void setGliding(Boolean glide);
public void setAI(Boolean ai);
/**
* Kills the entity. In some cases, this will be equivalent to setHealth(0), but
* may not be, so this method should be used instead.
*/
public void kill();
public static class MCEffect{
private int potionID;
private int strength;
private int ticksRemaining;
private boolean ambient;
private boolean particles;
public MCEffect(int potionID, int strength, int ticks, boolean ambient){
this.potionID = potionID;
this.strength = strength;
this.ticksRemaining = ticks;
this.ambient = ambient;
this.particles = true;
}
public MCEffect(int potionID, int strength, int ticks, boolean ambient, boolean particles){
this.potionID = potionID;
this.strength = strength;
this.ticksRemaining = ticks;
this.ambient = ambient;
this.particles = particles;
}
public int getPotionID() {
return potionID;
}
public int getStrength() {
return strength;
}
public int getTicksRemaining() {
return ticksRemaining;
}
public boolean isAmbient() {
return ambient;
}
public boolean hasParticles() {
return particles;
}
}
}