Citizens2/main/src/main/java/net/citizensnpcs/trait/SneakTrait.java

43 lines
869 B
Java
Raw Normal View History

2021-09-20 14:59:54 +02:00
package net.citizensnpcs.trait;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.trait.Trait;
import net.citizensnpcs.api.trait.TraitName;
import net.citizensnpcs.util.NMS;
@TraitName("sneak")
public class SneakTrait extends Trait {
@Persist
private boolean sneaking;
2021-09-20 14:59:54 +02:00
public SneakTrait() {
super("sneak");
}
private void apply() {
if (npc.isSpawned()) {
NMS.setSneaking(npc.getEntity(), sneaking);
}
2021-09-20 14:59:54 +02:00
}
2023-06-08 14:57:44 +02:00
public boolean isSneaking() {
return sneaking;
}
@Override
public void onAttach() {
2024-03-03 19:33:31 +01:00
if (npc.isSpawned()) {
sneaking = NMS.isSneaking(npc.getEntity());
}
}
2021-09-20 14:59:54 +02:00
@Override
public void onSpawn() {
apply();
}
public void setSneaking(boolean sneak) {
sneaking = sneak;
apply();
2021-09-20 14:59:54 +02:00
}
}