Try to detect sneaking state onAttach for SneakTrait
This commit is contained in:
parent
b6f5184192
commit
ed117eac96
|
@ -8,7 +8,7 @@ import net.citizensnpcs.util.NMS;
|
|||
@TraitName("sneak")
|
||||
public class SneakTrait extends Trait {
|
||||
@Persist
|
||||
private boolean sneaking = true;
|
||||
private boolean sneaking;
|
||||
|
||||
public SneakTrait() {
|
||||
super("sneak");
|
||||
|
@ -24,6 +24,11 @@ public class SneakTrait extends Trait {
|
|||
return sneaking;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach() {
|
||||
sneaking = NMS.isSneaking(npc.getEntity());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpawn() {
|
||||
apply();
|
||||
|
|
|
@ -1318,13 +1318,6 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityTameableAnimal) NMSImpl.getHandle((LivingEntity) tameable)).setSitting(sitting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSneaking(org.bukkit.entity.Entity entity, boolean sneaking) {
|
||||
if (entity instanceof Player) {
|
||||
((Player) entity).setSneaking(sneaking);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStepHeight(org.bukkit.entity.Entity entity, float height) {
|
||||
NMSImpl.getHandle(entity).P = height;
|
||||
|
|
|
@ -1371,13 +1371,6 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityTameableAnimal) NMSImpl.getHandle((LivingEntity) tameable)).setSitting(sitting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSneaking(org.bukkit.entity.Entity entity, boolean sneaking) {
|
||||
if (entity instanceof Player) {
|
||||
((Player) entity).setSneaking(sneaking);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStepHeight(org.bukkit.entity.Entity entity, float height) {
|
||||
NMSImpl.getHandle(entity).P = height;
|
||||
|
|
|
@ -1378,13 +1378,6 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityTameableAnimal) NMSImpl.getHandle((LivingEntity) tameable)).setSitting(sitting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSneaking(org.bukkit.entity.Entity entity, boolean sneaking) {
|
||||
if (entity instanceof Player) {
|
||||
((Player) entity).setSneaking(sneaking);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStepHeight(org.bukkit.entity.Entity entity, float height) {
|
||||
NMSImpl.getHandle(entity).P = height;
|
||||
|
|
|
@ -1415,13 +1415,6 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityTameableAnimal) NMSImpl.getHandle((LivingEntity) tameable)).setSitting(sitting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSneaking(org.bukkit.entity.Entity entity, boolean sneaking) {
|
||||
if (entity instanceof Player) {
|
||||
((Player) entity).setSneaking(sneaking);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStepHeight(org.bukkit.entity.Entity entity, float height) {
|
||||
NMSImpl.getHandle(entity).Q = height;
|
||||
|
|
|
@ -836,6 +836,14 @@ public class NMSImpl implements NMSBridge {
|
|||
return NMSImpl.getHandle(entity).onGround;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking(org.bukkit.entity.Entity entity) {
|
||||
if (entity instanceof Player) {
|
||||
return ((Player) entity).isSneaking();
|
||||
}
|
||||
return getHandle(entity).getPose() == EntityPose.SNEAKING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSolid(org.bukkit.block.Block in) {
|
||||
IBlockData data = ((CraftBlock) in).getNMS();
|
||||
|
|
|
@ -851,6 +851,14 @@ public class NMSImpl implements NMSBridge {
|
|||
return NMSImpl.getHandle(entity).onGround;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking(org.bukkit.entity.Entity entity) {
|
||||
if (entity instanceof Player) {
|
||||
return ((Player) entity).isSneaking();
|
||||
}
|
||||
return getHandle(entity).getPose() == EntityPose.CROUCHING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSolid(org.bukkit.block.Block in) {
|
||||
IBlockData data = ((CraftBlock) in).getNMS();
|
||||
|
|
|
@ -875,6 +875,14 @@ public class NMSImpl implements NMSBridge {
|
|||
return NMSImpl.getHandle(entity).isOnGround();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking(org.bukkit.entity.Entity entity) {
|
||||
if (entity instanceof Player) {
|
||||
return ((Player) entity).isSneaking();
|
||||
}
|
||||
return getHandle(entity).getPose() == EntityPose.CROUCHING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSolid(org.bukkit.block.Block in) {
|
||||
IBlockData data = ((CraftBlock) in).getNMS();
|
||||
|
|
|
@ -657,7 +657,7 @@ public class NMSImpl implements NMSBridge {
|
|||
entry.broadcastRemoved();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<org.bukkit.entity.Entity> getPassengers(org.bukkit.entity.Entity entity) {
|
||||
|
@ -877,6 +877,14 @@ public class NMSImpl implements NMSBridge {
|
|||
return NMSImpl.getHandle(entity).isOnGround();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking(org.bukkit.entity.Entity entity) {
|
||||
if (entity instanceof Player) {
|
||||
return ((Player) entity).isSneaking();
|
||||
}
|
||||
return getHandle(entity).getPose() == Pose.CROUCHING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSolid(org.bukkit.block.Block in) {
|
||||
BlockState data = ((CraftBlock) in).getNMS();
|
||||
|
|
|
@ -884,6 +884,14 @@ public class NMSImpl implements NMSBridge {
|
|||
return NMSImpl.getHandle(entity).isOnGround();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking(org.bukkit.entity.Entity entity) {
|
||||
if (entity instanceof Player) {
|
||||
return ((Player) entity).isSneaking();
|
||||
}
|
||||
return getHandle(entity).getPose() == Pose.CROUCHING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSolid(org.bukkit.block.Block in) {
|
||||
BlockState data = ((CraftBlock) in).getNMS();
|
||||
|
|
|
@ -925,6 +925,14 @@ public class NMSImpl implements NMSBridge {
|
|||
return getHandle(entity).isOnGround();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking(org.bukkit.entity.Entity entity) {
|
||||
if (entity instanceof Player) {
|
||||
return ((Player) entity).isSneaking();
|
||||
}
|
||||
return getHandle(entity).getPose() == Pose.CROUCHING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSolid(org.bukkit.block.Block in) {
|
||||
BlockState data = ((CraftBlock) in).getNMS();
|
||||
|
|
|
@ -895,6 +895,14 @@ public class NMSImpl implements NMSBridge {
|
|||
return getHandle(entity).onGround();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking(org.bukkit.entity.Entity entity) {
|
||||
if (entity instanceof Player) {
|
||||
return ((Player) entity).isSneaking();
|
||||
}
|
||||
return getHandle(entity).getPose() == Pose.CROUCHING;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSolid(org.bukkit.block.Block in) {
|
||||
BlockState data = ((CraftBlock) in).getNMS();
|
||||
|
|
|
@ -1228,13 +1228,6 @@ public class NMSImpl implements NMSBridge {
|
|||
((EntityTameableAnimal) NMSImpl.getHandle((LivingEntity) tameable)).setSitting(sitting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSneaking(org.bukkit.entity.Entity entity, boolean sneaking) {
|
||||
if (entity instanceof Player) {
|
||||
((Player) entity).setSneaking(sneaking);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStepHeight(org.bukkit.entity.Entity entity, float height) {
|
||||
NMSImpl.getHandle(entity).S = height;
|
||||
|
|
Loading…
Reference in New Issue