Package ch.njol.skript.entity
Class EntityData<E extends org.bukkit.entity.Entity>
java.lang.Object
ch.njol.skript.entity.EntityData<E>
- All Implemented Interfaces:
SyntaxElement,YggdrasilSerializable,YggdrasilSerializable.YggdrasilExtendedSerializable
- Direct Known Subclasses:
AxolotlData,BeeData,BoatData,CatData,CreeperData,DroppedItemData,EndermanData,FallingBlockData,FishData,FoxData,GoatData,GuardianData,HorseData,LlamaData,MinecartData,MooshroomData,OcelotData,PandaData,ParrotData,PigData,PlayerData,RabbitData,SheepData,SimpleEntityData,SkeletonData,ThrownPotionData,TropicalFishData,VillagerData,WolfData,XpOrbData,ZombieVillagerData
public abstract class EntityData<E extends org.bukkit.entity.Entity>
extends Object
implements SyntaxElement, YggdrasilSerializable.YggdrasilExtendedSerializable
-
Nested Class Summary
Nested classes/interfaces inherited from interface ch.njol.yggdrasil.YggdrasilSerializable
YggdrasilSerializable.YggdrasilExtendedSerializable, YggdrasilSerializable.YggdrasilRobustEnum, YggdrasilSerializable.YggdrasilRobustSerializable -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic Stringstatic Adjectivestatic Messagestatic Adjectiveprotected intstatic Serializer<EntityData> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddeserialize(Fields fields)Deserialises this object.protected booleandeserialize(String s)Deprecated.booleanprotected abstract booleanequals_i(EntityData<?> obj)static <E extends org.bukkit.entity.Entity>
EntityData<? super E>static <E extends org.bukkit.entity.Entity>
EntityData<? super E>fromEntity(E e)protected @Nullable Adjectivestatic <E extends org.bukkit.entity.Entity>
E[]getAll(EntityData<?>[] types, Class<E> type, @Nullable org.bukkit.World[] worlds)static <E extends org.bukkit.entity.Entity>
E[]getAll(EntityData<?>[] types, Class<E> type, org.bukkit.Chunk[] chunks)E[]getAll(org.bukkit.World... worlds)static ch.njol.skript.entity.EntityData.EntityDataInfo<?>getInfo(Class<? extends EntityData<?>> c)static @Nullable ch.njol.skript.entity.EntityData.EntityDataInfo<?>protected NoungetName()abstract EntityDataReturns the super type of this entity data, e.g.getType()inthashCode()protected abstract intprotected abstract booleanbooleaninit(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult)Called just after the constructor.protected abstract booleaninit(Literal<?>[] exprs, int matchedPattern, SkriptParser.ParseResult parseResult)isBaby()booleanisInstance(@Nullable org.bukkit.entity.Entity e)isPlural()abstract booleanisSupertypeOf(EntityData<?> e)protected abstract booleanstatic @Nullable EntityData<?>Prints errors.static @Nullable EntityData<?>Prints errors.static <E extends org.bukkit.entity.Entity, T extends EntityData<E>>
voidregister(Class<T> dataClass, String name, Class<E> entityClass, int defaultName, String... codeNames)static <E extends org.bukkit.entity.Entity, T extends EntityData<E>>
voidSerialises this object.abstract void@Nullable Espawn(org.bukkit.Location loc)@Nullable EtoString()toString(int flags)static Stringstatic Stringstatic StringtoString(org.bukkit.entity.Entity e)static StringtoString(org.bukkit.entity.Entity e, int flags)Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ch.njol.skript.lang.SyntaxElement
getParser
-
Field Details
-
LANGUAGE_NODE
- See Also:
- Constant Field Values
-
m_age_pattern
-
m_baby
-
m_adult
-
serializer
-
matchedPattern
protected int matchedPattern
-
-
Constructor Details
-
EntityData
public EntityData()
-
-
Method Details
-
register
public static <E extends org.bukkit.entity.Entity, T extends EntityData<E>> void register(Class<T> dataClass, String name, Class<E> entityClass, String codeName) throws IllegalArgumentException- Throws:
IllegalArgumentException
-
register
public static <E extends org.bukkit.entity.Entity, T extends EntityData<E>> void register(Class<T> dataClass, String name, Class<E> entityClass, int defaultName, String... codeNames) throws IllegalArgumentException- Throws:
IllegalArgumentException
-
init
public final boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult)Description copied from interface:SyntaxElementCalled just after the constructor.- Specified by:
initin interfaceSyntaxElement- Parameters:
exprs- all %expr%s included in the matching pattern in the order they appear in the pattern. If an optional value was left out it will still be included in this list holding the default value of the desired type which usually depends on the event.matchedPattern- The index of the pattern which matchedisDelayed- Whether this expression is used after a delay or not (i.e. if the event has already passed when this expression will be called)parseResult- Additional information about the match.- Returns:
- Whether this expression was initialised successfully. An error should be printed prior to returning false to specify the cause.
- See Also:
ParserInstance.isCurrentEvent(Class...)
-
init
protected abstract boolean init(Literal<?>[] exprs, int matchedPattern, SkriptParser.ParseResult parseResult) -
init
- Parameters:
c- An entity's class, e.g. Playere- An actual entity, or null to get an entity data for an entity class- Returns:
- Whether initialisation was successful
-
set
-
match
-
getType
-
getSuperType
Returns the super type of this entity data, e.g. 'wolf' for 'angry wolf'.- Returns:
- The supertype of this entity data. Must not be null.
-
toString
-
getName
-
getAgeAdjective
-
toString
-
isPlural
-
isBaby
-
hashCode_i
protected abstract int hashCode_i() -
hashCode
public final int hashCode() -
equals_i
-
equals
-
getInfo
public static ch.njol.skript.entity.EntityData.EntityDataInfo<?> getInfo(Class<? extends EntityData<?>> c) -
getInfo
public static @Nullable ch.njol.skript.entity.EntityData.EntityDataInfo<?> getInfo(String codeName) -
parse
Prints errors.- Parameters:
s- String with optional indefinite article at the beginning- Returns:
- The parsed entity data
-
parseWithoutIndefiniteArticle
Prints errors.- Parameters:
s-- Returns:
- The parsed entity data
-
spawn
-
spawn
-
getAll
-
getAll
public static <E extends org.bukkit.entity.Entity> E[] getAll(EntityData<?>[] types, Class<E> type, @Nullable org.bukkit.World[] worlds)- Parameters:
types-type-worlds- worlds or null for all- Returns:
- All entities of this type in the given worlds
-
getAll
public static <E extends org.bukkit.entity.Entity> E[] getAll(EntityData<?>[] types, Class<E> type, org.bukkit.Chunk[] chunks) -
fromClass
-
fromEntity
-
toString
-
toString
-
toString
-
toString
-
isInstance
public final boolean isInstance(@Nullable org.bukkit.entity.Entity e) -
isSupertypeOf
-
serialize
Description copied from interface:YggdrasilSerializable.YggdrasilExtendedSerializableSerialises this object. Only fields contained in the returned Fields object will be written to stream.You can use return new
Fields(this); to emulate the default behaviour.- Specified by:
serializein interfaceYggdrasilSerializable.YggdrasilExtendedSerializable- Returns:
- A Fields object containing all fields that should be written to stream
- Throws:
NotSerializableException- If this object or one of its fields is not serialisable
-
deserialize
Description copied from interface:YggdrasilSerializable.YggdrasilExtendedSerializableDeserialises this object. No fields have been set when this method is called, use fields.setFields(this, yggdrasil) to set all compatible non-transient and non-static fields (and call incompatible/missing field handlers if applicable – this implies that errors will be thrown if the fields object is invalid).You can use fields.
setFields(this); to emulate the default behaviour.- Specified by:
deserializein interfaceYggdrasilSerializable.YggdrasilExtendedSerializable- Parameters:
fields- A Fields object containing all fields read from stream- Throws:
StreamCorruptedException- If the Fields object is invalid, i.e. was not written byYggdrasilSerializable.YggdrasilExtendedSerializable.serialize()or Yggrdasil's default serialisation.NotSerializableException
-
deserialize
Deprecated.
-