25 public const NETWORK_ID = ProtocolInfo::SET_SPAWN_POSITION_PACKET;
27 public const TYPE_PLAYER_SPAWN = 0;
28 public const TYPE_WORLD_SPAWN = 1;
30 public int $spawnType;
32 public int $dimension;
45 $result->spawnType = $spawnType;
46 $result->spawnPosition = $spawnPosition;
47 $result->dimension = $dimension;
53 return self::create(self::TYPE_PLAYER_SPAWN, $spawnPosition, $dimension, $causingBlockPosition);
56 public static function worldSpawn(
BlockPosition $spawnPosition,
int $dimension) : self{
57 return self::create(self::TYPE_WORLD_SPAWN, $spawnPosition, $dimension, new
BlockPosition(Limits::INT32_MIN, Limits::INT32_MIN, Limits::INT32_MIN));
61 $this->spawnType = VarInt::readSignedInt($in);
62 $this->spawnPosition = CommonTypes::getBlockPosition($in);
63 $this->dimension = VarInt::readSignedInt($in);
64 $this->causingBlockPosition = CommonTypes::getBlockPosition($in);
68 VarInt::writeSignedInt($out, $this->spawnType);
69 CommonTypes::putBlockPosition($out, $this->spawnPosition);
70 VarInt::writeSignedInt($out, $this->dimension);
71 CommonTypes::putBlockPosition($out, $this->causingBlockPosition);
75 return $handler->handleSetSpawnPosition($this);