Code written by [appgurueu](https://github.com/appgurueu) and licensed under the MIT license.
The screenshot (`screenshot.png`) uses [Hugues Ross'](https://content.minetest.net/users/Hugues%20Ross/) [RPG16](https://content.minetest.net/packages/Hugues%20Ross/rpg16/) texture pack, which is licensed under CC-BY-SA-4.0, and is therefore licensed under CC-BY-SA-4.0 as well.
All within the `visible_wielditem` global variable.
### `get_attachment(modelname, itemname)`
Returns a table with fields `bonename`, `position` (unit: metric/nodes), `rotation` (unit: degrees) and `scale` (number, unit: metric/nodes) based on model attachments and item tweaks.
### `model_attachments`
Table. Keys are model media (file) names, values are tables with field `bonename`, `position`, `rotation` and `scale`. The special field `default` is used for default attachment settings based on `character.b3d` if no model attachments are specified for a player model or if the specified attachment settings are incomplete.
### `item_tweaks`
Table of tweaks applied based on the item. Subtable entries have strings as keys and tweak tables with fields `position`, `rotation` and `scale` as values. `position`s are added up, `rotation`s are properly composed, `scale` is multiplied.
#### `types`
Applies tweaks based on item type. Possible keys are `unknown`, `node`, `tool` and `craftitem`.
#### `groups`
Tweaks for a key are applied if the item has an item group with that name.