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
|
2023-12-01 15:42:43 +01:00
|
|
|
private boolean sneaking = true;
|
2021-09-20 14:59:54 +02:00
|
|
|
|
|
|
|
public SneakTrait() {
|
|
|
|
super("sneak");
|
|
|
|
}
|
|
|
|
|
|
|
|
private void apply() {
|
2022-03-04 13:23:59 +01:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2021-09-20 14:59:54 +02:00
|
|
|
@Override
|
|
|
|
public void onSpawn() {
|
|
|
|
apply();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setSneaking(boolean sneak) {
|
2023-11-05 13:58:37 +01:00
|
|
|
sneaking = sneak;
|
2022-03-04 13:23:59 +01:00
|
|
|
apply();
|
2021-09-20 14:59:54 +02:00
|
|
|
}
|
|
|
|
}
|