Figura

Figura

Mod

A client-side mod that allows for extensive customization of the player model.

Client DecorationSocialUtility

45.6k downloads
330 followers
Created8 months ago
Updateda month ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...
  • fix: Emoji related bugs by @omoflop

  • 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

  • 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

  • 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

  • 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

  • fix: HUD hiding not working on Forge by @UnlikePaladin in c3b6b5e

  • fix: Incorrect background colors on text tasks by @UnlikePaladin in b42a15f

  • fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in 67ddf10

  • fix: Make offset...() actually work by by @UnlikePaladin in 718a4eb

  • fix: Elytra being rendered if origins is installed by @UnlikePaladin in cc37c9d

  • fix: Command issues on Forge by @UnlikePaladin in 62dc2e3

  • 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

  • fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in a125d4b

  • 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

  • fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in b9b9fd9

  • fix: Version check did not work correctly on Forge by @UnlikePaladin in 8af3544

  • fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in c352a58

  • chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in 2e17b46

  • 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

  • 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

  • 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

  • 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

  • feat: Add Elytra Pivot by @UnlikePaladin in 4b27c92

  • 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

  • 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

  • feat: 🛑 BREAKING: Remove ElytraPivot and separated it into LeftElytraPivot and RightElytraPivot with aliases RightWingPivot and LeftWingPivot by @UnlikePaladin in a125d4b

  • feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in 188f8c1

  • 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
  • fix: Emoji related bugs by @omoflop

  • 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

  • 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

  • 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

  • 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

  • fix: HUD hiding not working on Forge by @UnlikePaladin in c3b6b5e

  • fix: Incorrect background colors on text tasks by @UnlikePaladin in b42a15f

  • fix: VM error if getPrimaryDefinedTextures is given no argument by @UnlikePaladin in 67ddf10

  • fix: Make offset...() actually work by by @UnlikePaladin in 718a4eb

  • fix: Elytra being rendered if origins is installed by @UnlikePaladin in cc37c9d

  • fix: Command issues on Forge by @UnlikePaladin in 62dc2e3

  • 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

  • fix: Hiding the vanilla model armor part wouldn't hide the corresponding armor part if it had a pivot by @UnlikePaladin in a125d4b

  • 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

  • fix: Inconsistent Syntax on SpriteTask:setTexture by @UnlikePaladin in b9b9fd9

  • fix: Version check did not work correctly on Forge by @UnlikePaladin in 8af3544

  • fix(crash): Fixed several crashes with mods that changed the PoseStack on Forge such as Mana and Artifice by @UnlikePaladin in c352a58

  • chore(deps): Update LuaJ to 3.0.7 by @UnlikePaladin in 2e17b46

  • 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

  • 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

  • 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

  • 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

  • feat: Add Elytra Pivot by @UnlikePaladin in 4b27c92

  • 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

  • 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

  • feat: 🛑 BREAKING: Remove ElytraPivot and separated it into LeftElytraPivot and RightElytraPivot with aliases RightWingPivot and LeftWingPivot by @UnlikePaladin in a125d4b

  • feat: `CUTOUT_EMISSIVE_SOLID now renders full bright as it uses the beacon beam and not the warden's shader by @UnlikePaladin in 188f8c1

  • 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

External resources



Project members

skyrina

Owner


Technical information

License
LGPL-2.1-only
Client side
required
Server side
unsupported
Project ID