Fix ride vehicle will ride an unrideable minecart

This commit is contained in:
tanyaofei 2024-10-06 22:49:51 +08:00
parent bee5ba2bcd
commit 1e1cf79513

View File

@ -4,7 +4,11 @@ import com.google.inject.Singleton;
import dev.jorel.commandapi.exceptions.WrapperCommandSyntaxException; import dev.jorel.commandapi.exceptions.WrapperCommandSyntaxException;
import dev.jorel.commandapi.executors.CommandArguments; import dev.jorel.commandapi.executors.CommandArguments;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.*; import org.bukkit.entity.AbstractHorse;
import org.bukkit.entity.Boat;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.entity.minecart.RideableMinecart;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import static net.kyori.adventure.text.Component.text; import static net.kyori.adventure.text.Component.text;
@ -72,10 +76,10 @@ public class RideCommand extends AbstractCommand {
public void rideVehicle(@NotNull CommandSender sender, @NotNull CommandArguments args) throws WrapperCommandSyntaxException { public void rideVehicle(@NotNull CommandSender sender, @NotNull CommandArguments args) throws WrapperCommandSyntaxException {
var fake = getFakeplayer(sender, args); var fake = getFakeplayer(sender, args);
var entity = fake.getNearbyEntities(4.5, 4.5, 4.5) var entity = fake.getNearbyEntities(4.5, 4.5, 4.5)
.stream() .stream()
.filter(e -> e instanceof Minecart || e instanceof Boat || e instanceof AbstractHorse) .filter(e -> e instanceof RideableMinecart || e instanceof Boat || e instanceof AbstractHorse)
.findFirst() .findFirst()
.orElse(null); .orElse(null);
if (entity == null) { if (entity == null) {
return; return;