Tags
Creators
Details
0.1.4+1.20.1
Compatibility
Changes
-
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.getBlocksreusing 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_textureandset_secondary_texturenot 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 returnsVOID_AIRinstead ofAIRby @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 in0` 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.jsonby @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
getShaderPackNameby @UnlikePaladin in #64 -
feat: Support ImmediatelyFast's new API by @UnlikePaladin in #75
-
feat: Add
getPrimaryTextureandgetSecondaryTextureto 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.
- French
fr_frtranslation by @HastagGuigui - Romanian
ro_rotranslation by @Circlemaniac - Ukrainian
uk_uatranslation by @playgamesgo
- Top 5 in progress | Please contribute!:
- Italian
it_it63% - Brazillian Portugese
pt_br52% - French Canadian
fr_ca52% - Latvian
lv_lv45% - Spanish
es_es43%
- Italian
- French
-
feat: Create RaycastAPI ✨ by @Kitcat962 in #131
-
feat: Adds new function to ClientAPI
generateUUIDwhich 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
- File API - designed for file operations restricted to the figura/data folder on the host system.
- Data API - adds features which enhance data manipulation with advanced stream handling, readers, providers, and byte buffers.
- Json API - adds functions for JSON serialization and deserialization.
- Resources API - allows storing raw file data rom your avatar folder in avatar itself.
- 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/configfolder instead offigura/data.figura/datais now used by FileAPI
-
feat: Adds a new
TRIDENTParentType andTRIDENT_RENDERevent, meant to be equivalent toARROWandARROW_RENDERby @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() andworld.getHeight() read more in pr #160 by @4P5 -
feat: Allow cancelling any playing sound from a user when returning
truein theON_PLAY_SOUNDevent 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
ElytraPivotand separated it intoLeftElytraPivotandRightElytraPivotwith aliasesRightWingPivotandLeftWingPivotby @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.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
- 1.16.5 🔥support on Forge and Fabric
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:s9gIPDom:DhHrk371"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:s9gIPDom:DhHrk371"
}

