add setProperty method to the api
This commit is contained in:
parent
16c48043b4
commit
4489e5dacc
3 changed files with 11 additions and 0 deletions
|
@ -3,4 +3,5 @@ package lol.pyr.znpcsplus.api.entity;
|
||||||
public interface PropertyHolder {
|
public interface PropertyHolder {
|
||||||
<T> T getProperty(EntityProperty<T> key);
|
<T> T getProperty(EntityProperty<T> key);
|
||||||
boolean hasProperty(EntityProperty<?> key);
|
boolean hasProperty(EntityProperty<?> key);
|
||||||
|
<T> void setProperty(EntityProperty<T> key, T value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,4 +52,9 @@ public class HologramLine implements PropertyHolder {
|
||||||
public boolean hasProperty(EntityProperty<?> key) {
|
public boolean hasProperty(EntityProperty<?> key) {
|
||||||
return key.getName().equalsIgnoreCase("name") || key.getName().equalsIgnoreCase("invisible");
|
return key.getName().equalsIgnoreCase("name") || key.getName().equalsIgnoreCase("invisible");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> void setProperty(EntityProperty<T> key, T value) {
|
||||||
|
throw new UnsupportedOperationException("Can't set properties on a hologram");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,6 +129,11 @@ public class NpcImpl extends Viewable implements Npc {
|
||||||
return propertyMap.containsKey((EntityPropertyImpl<?>) key);
|
return propertyMap.containsKey((EntityPropertyImpl<?>) key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> void setProperty(EntityProperty<T> key, T value) {
|
||||||
|
setProperty((EntityPropertyImpl<T>) key, value );
|
||||||
|
}
|
||||||
|
|
||||||
public <T> void setProperty(EntityPropertyImpl<T> key, T value) {
|
public <T> void setProperty(EntityPropertyImpl<T> key, T value) {
|
||||||
if (value == null || value.equals(key.getDefaultValue())) removeProperty(key);
|
if (value == null || value.equals(key.getDefaultValue())) removeProperty(key);
|
||||||
else propertyMap.put(key, value);
|
else propertyMap.put(key, value);
|
||||||
|
|
Loading…
Reference in a new issue