Figura (Figura)
Figura 是一个客户端模组,允许玩家对玩家模型进行广泛定制。
---
Figura 是一个 Minecraft Java 客户端模组,允许你广泛地定制你的玩家模型,并且无需任何服务器模组,其他玩家也可以看到你的头像!
。
>
> 这个文件可以完全为空,只需存在即可让 Figura 将其识别为头像。
• 如何隐藏原版模型?
> 在你的脚本顶部放置以下代码:
>
> • 要隐藏所有东西(玩家、盔甲、滑翔翼、手持物品):
> lua
> vanilla_model.ALL:setVisible(false)
>
>
> • 只隐藏玩家:
> lua
> vanilla_model.PLAYER:setVisible(false)
>
>
> • 只隐藏盔甲:
> lua
> vanilla_model.ARMOR:setVisible(false)
>
>
> • 要隐藏其他或特定部位,你可以查看游戏内文档。
(以下省略其他常见问题解答)
截图:
Figura 0.1.5b+1.21.4
- Frequent and random crashes when a skull was being rendered on 1.21.4
- The Neoforge version of the mod crashed upon launch with Neoforge 21.4.84-beta onwards
- The item render event did not work on the spyglass when being used on 1.21.4
- Fix minecraft forge crashing when rendering an elytra
Figura 0.1.5b+1.21.4-forge
- Frequent and random crashes when a skull was being rendered on 1.21.4
- The Neoforge version of the mod crashed upon launch with Neoforge 21.4.84-beta onwards
- The item render event did not work on the spyglass when being used on 1.21.4
- Fix minecraft forge crashing when rendering an elytra
Figura 0.1.5b+1.21.4-fabric
- Frequent and random crashes when a skull was being rendered on 1.21.4
- The Neoforge version of the mod crashed upon launch with Neoforge 21.4.84-beta onwards
- The item render event did not work on the spyglass when being used on 1.21.4
- Fix minecraft forge crashing when rendering an elytra
Figura 0.1.5+1.21.4-neoforge
Figura 0.1.5+1.21.3-neoforge
Figura 0.1.5+1.21.1-neoforge
Figura 0.1.5+1.20.6-neoforge
Figura 0.1.5+1.20.4-neoforge
Figura 0.1.5+1.20.2-neoforge
Figura 0.1.5+1.21.4-forge
Figura 0.1.5+1.21.3-forge
Figura 0.1.5+1.21.1-forge
Figura 0.1.5+1.20.6-forge
Figura 0.1.5+1.20.4-forge
Figura 0.1.5+1.20.2-forge
Figura 0.1.5+1.20.1-forge
Figura 0.1.5+1.19.4-forge
Figura 0.1.5+1.19.3-forge
Figura 0.1.5+1.19.2-forge
Figura 0.1.5+1.18.2-forge
Figura 0.1.5+1.16.5-forge
Figura 0.1.5+1.21.4
Figura 0.1.5+1.21.3
Figura 0.1.5+1.21.1
Figura 0.1.5+1.20.6
Figura 0.1.5+1.20.4
Figura 0.1.5+1.20.2
Figura 0.1.5+1.20.1
Figura 0.1.5+1.19.4
Figura 0.1.5+1.19.3
Figura 0.1.5+1.19.2
Figura 0.1.5+1.18.2
Figura 0.1.5+1.16.5
Figura 0.1.4+1.19.4 Fabric
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.20.2 NeoForge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.20.4 NeoForge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.16.5 Forge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.18.2 Forge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.19.2 Forge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.19.3 Forge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.19.4 Forge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.20.1 Forge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.20.2 Forge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.20.4 Forge
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.16.5 Fabric
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.18.2 Fabric
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.19.2 Fabric
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.19.3 Fabric
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.20.1 Fabric
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.20.2 Fabric
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.4+1.20.4 Fabric
- fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](https://github.com/FiguraMC/Figura/commit/4c71cb61fdfc5ed1268e14d626d0cf36723eb10a
- fix(crash): Fixes a race condition crash by @alekso56 in #65
- fix: ImmediatelyFast breaking animated emoji rendering by @UnlikePaladin in [657acc1](https://github.com/FiguraMC/Figura/commit/657acc1f56ac5efb58f30904e314b14148f358b6)
- fix: `world.getBlocks` reusing block positions by @omoflop in #72
- fix(crash): Crashes with spark and collective in by @UnlikePaladin in #81
- fix: Various issues by @UnlikePaladin in #82
- fix: Incorrect null handling with json apis by @omoflop in [7564d15](https://github.com/FiguraMC/Figura/commit/7564d1536126fee7f6b5c99ca128a9fde2d3885f)
- fix: `set_primary_texture` and `set_secondary_texture` not being able to receive nil as a first argument. by @UnlikePaladin in [78aa76](https://github.com/FiguraMC/Figura/commit/78aa76280257172beae73f6228938dd0c74b4ee2
- fix: NAMEPLATE_EDIT permissions not triggering the no permissions badge by @UnlikePaladin in [6f27e2d](https://github.com/FiguraMC/Figura/commit/6f27e2d50e417770e9a0deb2d08a98dbb5676ea8)
- fix: `world:getBlockState()` properly returns `VOID_AIR` instead of `AIR` by @PoolloverNathan in #92
- fix(crash): PlatformUtils a crash whenever a version of a mod from a newer version of MC is present by @superpowers04 in #101
- fix: `toJson("-") results in `0` by @KitCat962 in #126
- fix: Invalid ModelPart cache @KitCat962 in #128
- fix: Text height @KitCat962 in #127
- fix: Blockbench 4.9 causing incorrect uv calculations by @KitCat962 in #129
- fix(crash): Armour textures on Forge crashing the game when rendered using armour pivots by @TJT01 in #119, fixes #115
- fix: Figura resetting other mods' keybinds by @UnlikePaladin in [ad5af9f](https://github.com/FiguraMC/Figura/commit/ad5af9f6408b84b787b582ad7e050e1ea3dc49d1)
- fix: HUD hiding not working on Forge by @UnlikePaladin in [c3b6b5e](https://github.com/FiguraMC/Figura/commit/c3b6b5ec6ed0671bfb3a0c4184d4377cc42cf6c3)
- fix: Incorrect background colors on text tasks by @UnlikePaladin in [b42a15f](https://github.com/FiguraMC/Figura/commit/b42a15f291bae15a9dd30287c5a8b591caf3bafd)
- fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in [67ddf10](https://github.com/FiguraMC/Figura/commit/67ddf106d44b0643c02335d8f759c445f2d30886)
- fix: Make `offset...()` actually work by by @UnlikePaladin in [718a4eb](https://github.com/FiguraMC/Figura/commit/718a4eb11c29aeeb794c382ec0943eb2fa1cc2d2)
- fix: Elytra being rendered if origins is installed by @UnlikePaladin in [cc37c9d](https://github.com/FiguraMC/Figura/commit/cc37c9d0ccf6bac8475f850ce2f7813072e5b092)
- fix: Command issues on Forge by @UnlikePaladin in [62dc2e3](https://github.com/FiguraMC/Figura/commit/62dc2e3d1052819cf045ca934e7a6005f77eacca)
- fix: Assorted version detection related bugs by @KitCat962 in(not limited to) #152
- fix: VM error when getting a slot and the player is dead or if the slot access is null/invalid by @UnlikePaladin in [0a9da0a](https://github.com/FiguraMC/Figura/commit/0a9da0a3ffa535c28d3450b92e79c67fec004a35)
- fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- fix: 🛑 BREAKING: the long existing bug of many functions being 1 tick delayed by @auriafoxgirl in #192
- fix: Force English locale on toUpperCase and toLowerCase calls to fix issues on systems with a different locale by @UnlikePaladin in [52da5ff](https://github.com/FiguraMC/Figura/commit/52da5ff0686f620eba2b7ec03f8a8b5a9532705a)
- fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in [b9b9fd9](https://github.com/FiguraMC/Figura/commit/b9b9fd958d44b7b3918003c37f189348eb0ec444)
- fix: Version check did not work correctly on Forge by @UnlikePaladin in [8af3544](https://github.com/FiguraMC/Figura/commit/8af3544d044c83fd05ee8abe0141bf6ae84be157)
- fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in [c352a58](https://github.com/FiguraMC/Figura/commit/c352a58a0c016709c7a3e4ab6af62b48dca0e8d5)
- chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in [2e17b46](https://github.com/FiguraMC/Figura/commit/2e17b469d2de5457754781d328cc8d0ceb5bca28)
- chore(docs): Create CONTRIBUTING.md for all future and current contributors to follow. by @Covkie in #42
- chore(mc-docs): Multiple Grammatical changes and fixes to `lang/en_us.json` by @Covkie, @superpowers04, @GrandpaScout, @repository, etc in #104, #108, #117
- chore: Various repository optimizations by @Kichura
- chore: Removed jar merging, Forge and Fabric builds are now standalone by @UnlikePaladin in [1d912f2](https://github.com/FiguraMC/Figura/commit/1d912f25c5b2fce5cb35687fc1717bb69f8f9365)
- chore: Publish pre-releases to Github
- chore: Use JDK 17 instead of 21 in terms of codespaces by @Kichura in #167
- chore: Bump LuaJ to 3.0.8
- chore: Switch from Java-WebSocket to nv-websocket-client
- feat: Emoji autocompletion support for categories by @omoflop in [f0afe52](https://github.com/FiguraMC/Figura/commit/f0afe52e28eae047392755c5a76674192fdb3e32)
- feat: Changed various shader related methods to be platform agnostic and added `getShaderPackName` by @UnlikePaladin in #64
- feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
- feat: Add `getPrimaryTexture` and `getSecondaryTexture` to the modelpart api by @omoflop in [090054f](https://github.com/FiguraMC/Figura/commit/090054f31c2a76af679857b3d5df130e4dbab165)
- feat: Text in the MOTD is now clickable by @omoflop in #90
- feat: Add world.isChunkLoaded() to check if chunks are loaded by @PoolloverNathan in #92
- feat: Users with special badges can now individually recolour them in [7d468bf](https://github.com/FiguraMC/Figura/commit/7d468bf83392ae4392443ea2f1a7440e428dce4f)
- feat: Add Elytra Pivot by @UnlikePaladin in [4b27c92](https://github.com/FiguraMC/Figura/commit/4b27c921f8fe27d6f7a774c0b9e933d74b000a1b)
- feat: Figura now has translations at https://translate.figuramc.org.
1. French `fr_fr` translation by @HastagGuigui
2. Romanian `ro_ro` translation by @Circlemaniac
3. Ukrainian `uk_ua` translation by @playgamesgo
- Top 5 in progress | Please contribute!:
1. Italian `it_it` 63%
2. Brazillian Portugese `pt_br` 52%
3. French Canadian `fr_ca` 52%
4. Latvian `lv_lv` 45%
5. Spanish `es_es` 43%
- feat: Create RaycastAPI ✨ by @Kitcat962 in #131
- feat: Adds new function to ClientAPI `generateUUID` which generates a random UUID by @Kitcat962 in #99
- feat: Optimize avatar nbt and functions now support relative file access `./` `../` by Kitcat962 in #135
- 🛑 BREAKING: If you access avatar nbt please read the description in #135
- feat: Data related features by @lexize in #52
1. File API - designed for file operations restricted to the figura/data folder on the host system.
2. Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
3. Json API - adds functions for JSON serialization and deserialization.
4. Resources API - allows storing raw file data rom your avatar folder in avatar itself.
5. Networking API 🚀 - everything networking implemented with http, limited to an **opt in** permission setting.
- changed pairs and ipairs functions to make them able to be work with userdata, and not only tables
- 🛑 BREAKING: ConfigAPI now uses `figura/config` folder instead of `figura/data`. `figura/data` is now used by FileAPI
- feat: Adds a new `TRIDENT` ParentType and `TRIDENT_RENDER` event, meant to be equivalent to `ARROW` and `ARROW_RENDER` by @Manuel-3 in #109
- feat: Adds `renderer:setRootRotationsAllowed(bool)` to control if the model will have root rotations applied to it by @KitCat962 in #144
- feat: `client.getEnum` - takes a string and returns a list of values for the Figura enum with that name by @4P5 in #159
- feat: `client.getRegistry() and `world.getHeight() read more in pr #160 by @4P5
- feat: Allow cancelling any playing sound from a user when returning `true` in the `ON_PLAY_SOUND` event by @KitCat962 in #170
- feat: Geckolib4 compatibility 🎉 by @UnlikePaladin in #171
- feat: Return the break texture for block entity models on BlockStateAPI by @UnlikePaladin in [a6168d0](https://github.com/FiguraMC/Figura/commit/a6168d0b05290107fbe14e6faa2b4d821edbe674)
- feat: Allow avatar to load if none is found for player - enables Avatar CEM by @jasperalani in #168
- feat: Add FiguraModelPart.remove to remove a given part from it's parent by @UnlikePaladin in [11720d1](https://github.com/FiguraMC/Figura/commit/11720d152d4d95a05a7c079f5cccc6da0d0ea722)
- feat: 🛑 BREAKING: Remove `ElytraPivot` and separated it into `LeftElytraPivot` and `RightElytraPivot` with aliases `RightWingPivot` and `LeftWingPivot` by @UnlikePaladin in [a125d4b](https://github.com/FiguraMC/Figura/commit/a125d4b404f47cbc072e8869265be9d9d71006f3)
- feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in [188f8c1](https://github.com/FiguraMC/Figura/commit/188f8c19824169be73f124586905b77f10105238)
- feat: Prevent item tasks from calling item render event to be in parity of skull render event by @applejuiceyy in #172
- feat: Added EntityTasks by @applejuiceyy in #180
- feat: Newly supported versions 🤯
1. 1.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
2. 1.16.5 🔥support on Forge and Fabric
Figura 0.1.2+1.18.2
+ optifine/optifabric compatibility
+ animated emojis
+ emojis can appear in more places in-game
+ changed color scheme
+ api fixes
- removed herobrine
Figura 0.1.2+1.19.2
+ optifine/optifabric compatibility
+ animated emojis
+ emojis can appear in more places in-game
+ changed color scheme
+ api fixes
- removed herobrine
Figura 0.1.2+1.19.3
+ optifine/optifabric compatibility
+ animated emojis
+ emojis can appear in more places in-game
+ changed color scheme
+ api fixes
- removed herobrine
Figura 0.1.2+1.19.4
+ optifine/optifabric compatibility
+ animated emojis
+ emojis can appear in more places in-game
+ changed color scheme
+ api fixes
- removed herobrine
Figura 0.1.2+1.20.1
+ optifine/optifabric compatibility
+ animated emojis
+ emojis can appear in more places in-game
+ changed color scheme
+ api fixes
- removed herobrine
0.1.1 - Fabric (temp)
收录