Fix NPE on Boat getStatus
Boat status is null until the entity is added to the world and the tick() method is called. == AT == public net.minecraft.world.entity.vehicle.AbstractBoat getStatus()Lnet/minecraft/world/entity/vehicle/AbstractBoat$Status;
This commit is contained in:
@@ -87,6 +87,17 @@ public abstract class CraftBoat extends CraftVehicle implements Boat {
|
||||
|
||||
@Override
|
||||
public Status getStatus() {
|
||||
// Paper start - Fix NPE on Boat getStatus
|
||||
final net.minecraft.world.entity.vehicle.AbstractBoat handle = this.getHandle();
|
||||
if (handle.status == null) {
|
||||
if (handle.valid) {
|
||||
// Don't actually set the status because it would skew the old status check in the next tick
|
||||
return CraftBoat.boatStatusFromNms(handle.getStatus());
|
||||
} else {
|
||||
return Status.NOT_IN_WORLD;
|
||||
}
|
||||
}
|
||||
// Paper end - Fix NPE on Boat getStatus
|
||||
return CraftBoat.boatStatusFromNms(this.getHandle().status);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user