Use Minecraft horse controls

This commit is contained in:
fullwall 2020-02-14 22:42:03 +08:00
parent 3bf5881c4b
commit ade25b246a
2 changed files with 4 additions and 3 deletions

View File

@ -8,6 +8,7 @@ import org.bukkit.Location;
import org.bukkit.entity.EnderDragon; import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Horse;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
@ -309,7 +310,9 @@ public class Controllable extends Trait implements Toggleable, CommandConfigurab
boolean onGround = NMS.isOnGround(npc.getEntity()); boolean onGround = NMS.isOnGround(npc.getEntity());
float speedMod = npc.getNavigator().getDefaultParameters() float speedMod = npc.getNavigator().getDefaultParameters()
.modifiedSpeed((onGround ? GROUND_SPEED : AIR_SPEED)); .modifiedSpeed((onGround ? GROUND_SPEED : AIR_SPEED));
speed = updateHorizontalSpeed(npc.getEntity(), rider, speed, speedMod); if (!(npc.getEntity() instanceof Horse)) { // just use minecraft horse physics
speed = updateHorizontalSpeed(npc.getEntity(), rider, speed, speedMod);
}
boolean shouldJump = NMS.shouldJump(rider); boolean shouldJump = NMS.shouldJump(rider);
if (shouldJump) { if (shouldJump) {

View File

@ -16,7 +16,6 @@ import net.citizensnpcs.npc.CitizensNPC;
import net.citizensnpcs.npc.ai.NPCHolder; import net.citizensnpcs.npc.ai.NPCHolder;
import net.citizensnpcs.trait.Controllable; import net.citizensnpcs.trait.Controllable;
import net.citizensnpcs.trait.HorseModifiers; import net.citizensnpcs.trait.HorseModifiers;
import net.citizensnpcs.util.NMS;
import net.citizensnpcs.util.Util; import net.citizensnpcs.util.Util;
import net.minecraft.server.v1_15_R1.BlockPosition; import net.minecraft.server.v1_15_R1.BlockPosition;
import net.minecraft.server.v1_15_R1.DamageSource; import net.minecraft.server.v1_15_R1.DamageSource;
@ -231,7 +230,6 @@ public class HorseController extends MobEntityController {
if (riding) { if (riding) {
d(4, true); // datawatcher method d(4, true); // datawatcher method
} }
NMS.setStepHeight(getBukkitEntity(), 2);
npc.update(); npc.update();
} }
} }