26 virtual void playerDimensionChangedEvent(
::Player&, ::DimensionType, ::DimensionType) = 0;
28 virtual ::Actor* getAgent(
::Player&) = 0;
30 virtual void resetAgent(
::Player&) = 0;
32 virtual void stopUsingItem(
::Player&) = 0;
34 virtual bool hasRespawnPosition(
::Player const&)
const = 0;
36 virtual ::BlockPos
const& getSpawnPosition(
::Player const&)
const = 0;
38 virtual bool isRespawningFromTheEnd(
::Player const&)
const = 0;
40 virtual void fireWillChangeDimension(
::Player&) = 0;
44 virtual void setPreviousPosition(
::Player&) = 0;
46 virtual void resetInterpolation(
::Player&) = 0;
50 virtual ::MovePlayerPacket
51 createMovePlayerPacket(
::Player const&, ::PlayerPositionModeComponent::PositionMode)
const = 0;
55 virtual ::Vec3 calculateAgentSpawnPosition(
::Player const&)
const = 0;
57 virtual bool isRespawnReady(
::Player const&)
const = 0;
59 virtual ::std::pair<bool, ::std::optional<::SubChunkPos>>