implement player ticks in headless mode & prevent on_player_tick call if player chunk does not exists

This commit is contained in:
MihailRis
2024-12-18 23:31:26 +03:00
parent 8e7dfe3e0b
commit 1cd85b6f77
9 changed files with 70 additions and 41 deletions
+1 -9
View File
@@ -202,8 +202,7 @@ PlayerController::PlayerController(
level(level),
player(player),
camControl(player, settings.camera),
blocksController(blocksController),
playerTickClock(20, 3) {
blocksController(blocksController) {
}
void PlayerController::onFootstep(const Hitbox& hitbox) {
@@ -256,13 +255,6 @@ void PlayerController::update(float delta, bool input) {
resetKeyboard();
}
updatePlayer(delta);
if (playerTickClock.update(delta)) {
if (player->getId() % playerTickClock.getParts() ==
playerTickClock.getPart()) {
scripting::on_player_tick(player, playerTickClock.getTickRate());
}
}
}
void PlayerController::postUpdate(float delta, bool input, bool pause) {