{"description":"Welcome to the best place to find Luanti mods, games, and texture packs","expired":false,"feed_url":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases_feed.json","home_page_url":"https://content.luanti.ru/","icon":"https://content.luanti.ru/favicon-128.png","items":[{"author":{"avatar":"https://secure.gravatar.com/avatar/246d66577d5c0caffb65cb2a502078a2?s=64&d=retro&r=g","name":"SpacingBat3","url":"https://content.luanti.ru/users/SpacingBat3/"},"content_html":"<ul>\n<li>project: Rename to Luanti.</li>\n<li>project: Move from <code>minetest</code> to <code>core</code>.</li>\n<li>compat: Fix reading flags from the settings.</li>\n</ul>\n","date_published":"2024-12-01T02:12:10Z","id":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/28674/","image":"https://content.luanti.ru/thumbnails/4/d422370aac.png","language":"en","summary":"v1.0.0-pre6","tags":["release"],"title":"\"CoreAnim\" updated: v1.0.0-pre6","url":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/28674/"},{"author":{"avatar":"https://secure.gravatar.com/avatar/246d66577d5c0caffb65cb2a502078a2?s=64&d=retro&r=g","name":"SpacingBat3","url":"https://content.luanti.ru/users/SpacingBat3/"},"content_html":"<ul>\n<li>core: External helpers script, has_api helper.</li>\n<li>core: Initial settings definitions.</li>\n<li>compat: Initial settings implementation.</li>\n<li>compat: Fix typo in code\u2026 again.</li>\n<li>compat: Refactor <code>unregister</code> implementation.</li>\n<li>core: Add check for self-reference.</li>\n<li>compat: Improvements and fixes.</li>\n</ul>\n","date_published":"2024-09-21T02:12:07Z","id":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/27551/","image":"https://content.luanti.ru/thumbnails/4/d422370aac.png","language":"en","summary":"v1.0.0-pre5","tags":["release"],"title":"\"CoreAnim\" updated: v1.0.0-pre5","url":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/27551/"},{"author":{"avatar":"https://secure.gravatar.com/avatar/246d66577d5c0caffb65cb2a502078a2?s=64&d=retro&r=g","name":"SpacingBat3","url":"https://content.luanti.ru/users/SpacingBat3/"},"content_html":"<h2 id=\"-fixes--improvements\">\ud83d\udee0\ufe0f Fixes &amp; Improvements <a class=\"header-anchor\" href=\"#-fixes--improvements\" rel=\"nofollow\">\ud83d\udd17</a></h2>\n<h3 id=\"coreanim_core\"><code>coreanim_core</code>: <a class=\"header-anchor\" href=\"#coreanim_core\" rel=\"nofollow\">\ud83d\udd17</a></h3>\n<ul>\n<li>\n<p>Fix typo in <code>set_bone_override</code> function.</p>\n</li>\n<li>\n<p>Allow for scale override, it wasn't intentional to make that no-op argument, at least for now.</p>\n</li>\n<li>\n<p>Improve how we fetch numeric value from <code>dedicated_server_step</code>, fixing compatibility with MCL games at library level.</p>\n</li>\n</ul>\n<blockquote>\n<p>\u2139\ufe0f <strong>Note</strong></p>\n<p>This is still more or less a workaround, <code>dedicated_server_step</code> should itself be a number. But it seems Minetest engine doesn't care much about it, being capable of interpreting it correctly anyway, and MCL devs probably unintentionally add inline comment that is actually interpreted as a value to their <code>game.conf</code>. At least code is now prone to that error, and we support it.</p>\n</blockquote>\n<h3 id=\"coreanim_head\"><code>coreanim_head</code>: <a class=\"header-anchor\" href=\"#coreanim_head\" rel=\"nofollow\">\ud83d\udd17</a></h3>\n<ul>\n<li>Use <code>minetest.log()</code> for warnings instead of <code>warn()</code> since I didn't know back then LuaJIT didn't support it (yet? ever?).</li>\n</ul>\n<h2 id=\"-refactorings\">\ud83e\uddfc\ufe0f Refactorings <a class=\"header-anchor\" href=\"#-refactorings\" rel=\"nofollow\">\ud83d\udd17</a></h2>\n<h3 id=\"coreanim_core-1\"><code>coreanim_core</code>: <a class=\"header-anchor\" href=\"#coreanim_core-1\" rel=\"nofollow\">\ud83d\udd17</a></h3>\n<ul>\n<li>\n<p>Use helper function to generate objects (tables) in <code>set_bone_position</code>, this is done to (hopefully) make the code easier to read by splitting some generic constructions outside of the main logic.</p>\n</li>\n<li>\n<p>Refactor how <code>step_default</code>'s fallback value is set, instead of large <code>if</code> construction just use <code>or</code>.</p>\n</li>\n<li>\n<p>Remove some no longer necessary <code>if</code> block, <code>detach_call</code> already sets detached <code>set_bone_override</code> if it wasn't set before.</p>\n</li>\n</ul>\n<h3 id=\"coreanim_compat\"><code>coreanim_compat</code>: <a class=\"header-anchor\" href=\"#coreanim_compat\" rel=\"nofollow\">\ud83d\udd17</a></h3>\n<ul>\n<li>Implement <em>unregister</em>  of the <code>on_joinplayer</code> callback by replacing it with no-op (empty) function, to avoid unnecessary condition checks each time it runs (possible performance benefits?). It can't be <em>trully</em> unregistered, at least without any risk of conflicting with the internal engine logic that loops over the <code>registered_on_joinplayers</code> table.</li>\n</ul>\n","date_published":"2024-09-03T16:46:42Z","id":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/27058/","image":"https://content.luanti.ru/thumbnails/4/d422370aac.png","language":"en","summary":"## \ud83d\udee0\ufe0f Fixes & Improvements","tags":["release"],"title":"\"CoreAnim\" updated: v1.0.0-pre4","url":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/27058/"},{"author":{"avatar":"https://secure.gravatar.com/avatar/246d66577d5c0caffb65cb2a502078a2?s=64&d=retro&r=g","name":"SpacingBat3","url":"https://content.luanti.ru/users/SpacingBat3/"},"content_html":"<p>Fix MCL (VoxeLibre, Mineclonia, MineClone5 etc.) games support with compat, since those games set their dedicated_server_step to a value that might not be parsed correctly right now (it's not really a number, as it should be).\nThis was found out previously in early development versions but wasn't taken into account when writting <code>compat</code>.</p>\n","date_published":"2024-08-30T22:52:50Z","id":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/26999/","image":"https://content.luanti.ru/thumbnails/4/d422370aac.png","language":"en","summary":"Fix MCL (VoxeLibre, Mineclonia, MineClone5 etc.) games support with compat, since those games set their dedicated_server_step to a value that might not be parsed correctly right now (it's not really a number, as it should be).","tags":["release"],"title":"\"CoreAnim\" updated: v1.0.0-pre3","url":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/26999/"},{"author":{"avatar":"https://secure.gravatar.com/avatar/246d66577d5c0caffb65cb2a502078a2?s=64&d=retro&r=g","name":"SpacingBat3","url":"https://content.luanti.ru/users/SpacingBat3/"},"content_html":"<p>No important modpack changes or API modifications were done as a part of this release, only modpack metadata and documentation was updated.</p>\n","date_published":"2024-08-25T00:22:12Z","id":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/26878/","image":"https://content.luanti.ru/thumbnails/4/d422370aac.png","language":"en","summary":"No important modpack changes or API modifications were done as a part of this release, only modpack metadata and documentation was updated.","tags":["release"],"title":"\"CoreAnim\" updated: v1.0.0-pre2","url":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/26878/"},{"author":{"avatar":"https://secure.gravatar.com/avatar/246d66577d5c0caffb65cb2a502078a2?s=64&d=retro&r=g","name":"SpacingBat3","url":"https://content.luanti.ru/users/SpacingBat3/"},"content_html":"<h3 id=\"initial-modpack-release\">Initial modpack release <a class=\"header-anchor\" href=\"#initial-modpack-release\" rel=\"nofollow\">\ud83d\udd17</a></h3>\n<p>Introduce 3 mods (modules): <code>core</code>, <code>head</code> and <code>compat</code>.</p>\n<ul>\n<li>\n<p><code>core</code>: library, implements global modpack APIs that can be used in scope of the modpack and outside of it,</p>\n</li>\n<li>\n<p><code>head</code>: example animations implementation and mod you might use if there are no other animations available,</p>\n</li>\n<li>\n<p><code>compat</code>: replaces engine APIs to provide interpolation for <code>set_bone_position</code> API.</p>\n</li>\n</ul>\n<p>As a side note, the interpolation by default relies on server step to get difference in time between each globalstep.</p>\n","date_published":"2024-08-19T23:35:31Z","id":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/26741/","image":"https://content.luanti.ru/thumbnails/4/d422370aac.png","language":"en","summary":"### Initial modpack release","tags":["release"],"title":"\"CoreAnim\" updated: v1.0.0-pre1","url":"https://content.luanti.ru/packages/SpacingBat3/coreanim/releases/26741/"}],"title":"ContentDB package updates","version":"https://jsonfeed.org/version/1"}
