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
|
@Override
|
||||||
public Status getStatus() {
|
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);
|
return CraftBoat.boatStatusFromNms(this.getHandle().status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user