mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-09-27 14:13:11 +02:00
IEntityAccessVehicle.addPassenger, reduce warnings.
Supposedly just making use of altered internal+external API. No substantial change.
This commit is contained in:
parent
386d484939
commit
6a7d56c5ac
@ -21,4 +21,9 @@ public class EntityAccessVehicleMultiPassenger implements IEntityAccessVehicle {
|
||||
return entity.getPassengers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addPassenger(final Entity entity, final Entity vehicle) {
|
||||
return vehicle.addPassenger(entity);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,4 +21,10 @@ public class EntityAccessVehicleLegacy implements IEntityAccessVehicle {
|
||||
return Arrays.asList(entity.getPassenger());
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public boolean addPassenger(final Entity entity, final Entity vehicle) {
|
||||
return vehicle.setPassenger(entity);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -20,4 +20,13 @@ public interface IEntityAccessVehicle {
|
||||
*/
|
||||
public List<Entity> getEntityPassengers(Entity entity);
|
||||
|
||||
/**
|
||||
* Add a new passenger (entity) to the given vehicle.
|
||||
*
|
||||
* @param entity
|
||||
* @param vehicle
|
||||
* @return
|
||||
*/
|
||||
public boolean addPassenger(Entity entity, Entity vehicle);
|
||||
|
||||
}
|
||||
|
@ -167,12 +167,14 @@ public class PassengerUtil {
|
||||
// TODO: Account for nested passengers and inconsistencies.
|
||||
final MovingData data = MovingData.getData(player);
|
||||
data.isVehicleSetBack = true;
|
||||
// TODO: Adjust to multiple passengers.
|
||||
final Entity passenger = vehicle.getPassenger();
|
||||
|
||||
final List<Entity> passengers = handleVehicle.getHandle().getEntityPassengers(vehicle);
|
||||
final boolean playerIsPassenger = passengers.contains(player);
|
||||
// TODO: Multi-passenger teleport, playerIsCaptain? Similar...
|
||||
|
||||
boolean vehicleTeleported = false;
|
||||
final boolean playerIsPassenger = player.equals(passenger);
|
||||
boolean playerTeleported = false;
|
||||
// TODO: TeleportCause needs some central configuration (plugin vs. unknown vs. future).
|
||||
|
||||
if (vehicle.isDead() || !vehicle.isValid()) {
|
||||
// TODO: Still consider teleporting the player.
|
||||
vehicleTeleported = false;
|
||||
@ -198,7 +200,7 @@ public class PassengerUtil {
|
||||
BridgeMisc.TELEPORT_CAUSE_CORRECTION_OF_POSITION);
|
||||
}
|
||||
}
|
||||
else if (passenger == null) {
|
||||
else if (passengers.isEmpty()) {
|
||||
vehicleTeleported = vehicle.teleport(location,
|
||||
BridgeMisc.TELEPORT_CAUSE_CORRECTION_OF_POSITION);
|
||||
}
|
||||
@ -213,8 +215,11 @@ public class PassengerUtil {
|
||||
if (playerIsPassenger && playerTeleported && vehicleTeleported
|
||||
&& player.getLocation().distance(vehicle.getLocation(useLoc)) < 1.5) {
|
||||
// Somewhat check against tp showing something wrong (< 1.0).
|
||||
vehicle.setPassenger(player); // NOTE: VehicleEnter fires, unknown TP fires.
|
||||
// TODO: What on failure of setPassenger?
|
||||
// NOTE: VehicleEnter fires, unknown TP fires.
|
||||
// TODO: Is teleporting the player superfluous?
|
||||
if (!handleVehicle.getHandle().addPassenger(player, vehicle)) {
|
||||
// TODO: What?
|
||||
}
|
||||
// Ensure a set back.
|
||||
// TODO: Set backs get invalidated somewhere, likely on an extra unknown TP. Use data.isVehicleSetBack in MovingListener/teleport.
|
||||
if (data.vehicleSetBacks.getFirstValidEntry(location) == null) {
|
||||
|
Loading…
Reference in New Issue
Block a user