class_name PlayerSpawner extends Node3D const PLAYER_SCENE: PackedScene = preload("res://entities/player.tscn") func _spawn_player(player: Dictionary) -> CharacterBody3D: var player_instance: Player = PLAYER_SCENE.instantiate() var id: int = player.id player_instance.position = position player_instance.hunter = player.hunter player_instance.set_multiplayer_authority(id) return player_instance func _ready() -> void: if $MultiplayerSpawner is MultiplayerSpawner: ($MultiplayerSpawner as MultiplayerSpawner).spawn_function = _spawn_player func spawn_player(player: Dictionary) -> void: if $MultiplayerSpawner is MultiplayerSpawner: if ($MultiplayerSpawner as MultiplayerSpawner).spawn(player) == null: print("Failed to spawn player.")