diff --git a/src/frontend/screens/LevelScreen.cpp b/src/frontend/screens/LevelScreen.cpp index 24ee44378..36448f47f 100644 --- a/src/frontend/screens/LevelScreen.cpp +++ b/src/frontend/screens/LevelScreen.cpp @@ -271,11 +271,11 @@ void LevelScreen::draw(float delta) { if (!hud->isPause()) { scripting::on_entities_render(engine.getTime().getDelta()); - } - renderer->renderFrame(ctx, camera, hudVisible, *postProcessing); - if (!hud->isPause()) { + // before the frame: changes made by hud scripts (hand skeleton, + // blockwraps, animations) must be rendered with the current camera scripting::on_frontend_render(); } + renderer->renderFrame(ctx, camera, hudVisible, *postProcessing); if (hudVisible) { hud->draw(ctx);