Changelog
-
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
andset_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 returnsVOID_AIR
instead ofAIR
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
andgetSecondaryTexture
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.
- French
fr_fr
translation by @HastagGuigui - Romanian
ro_ro
translation by @Circlemaniac - Ukrainian
uk_ua
translation by @playgamesgo
- Top 5 in progress | Please contribute!:
- Italian
it_it
63% - Brazillian Portugese
pt_br
52% - French Canadian
fr_ca
52% - Latvian
lv_lv
45% - Spanish
es_es
43%
- Italian
- French
-
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
- 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/config
folder instead offigura/data
.figura/data
is now used by FileAPI
-
feat: Adds a new
TRIDENT
ParentType andTRIDENT_RENDER
event, meant to be equivalent toARROW
andARROW_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 theON_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 intoLeftElytraPivot
andRightElytraPivot
with aliasesRightWingPivot
andLeftWingPivot
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.20.2 and 1.20.4 support on Fabric/Quilt, Forge and Neoforge
- 1.16.5 🔥support on Forge and Fabric