Releases: FiguraMC/Figura
0.1.5-rc.4
Fixes and Changes:
- Fix crashes with recursive and self part parenting
- Fix replacement of nameplates when no custom nameplate was equipped
- Fix duplicate Prefixes and Postfixes on nameplates
- Fix armor pivots not being disabled if the user lacked permission
- Added missing description for trident render event
- Fix entity and sprite tasks rendering red
- Fix crashes when hiding parts
- Fix crashes when light was null
- Fix the avatar wizard not generating Elytra Pivots correctly
- Minor Modder API additions, FiguraVanillaPart (model type)
- Fix custom permissions not working correctly
- Fix Neoforge not loading on newer 1.21.1 versions
- Fix crashes with Botania's Gaia Guardian Head on 1.16.5
- Fix the shriek, dust and block related particles not converting correctly on 1.20.6+
- Ported to 1.21.3 π
- Fix a ton of 1.21.3 related issues...
Full Changelog: 0.1.5-rc.3...0.1.5-rc.4
0.1.5-rc.3
Fixes and Changes:
- Fix reading of textures inside of zip files
- Fix a crash caused by _newindex and adding player
- Fix a Bug with the AST Formatter that didn't read strings correctly
- Fix Nametag being offset when the player had a scoreboard and not rendering correctly when the avatar was unequipped
- getBlocks now throws an explicit error if max is greater than min
- Shadow Radius no longer returns nil and instead setting to nil returns 0.5
- Fix UV issues on the Avatar Wizard's Elytra
- Fix nausea not working when the avatar was unequipped (1.20.6+)
- Fix log spam when a nonexistent post effect was used (1.20.6+)
- Improve Component & NBT conversion, fixing toStackString and a few other issues
- Convert Particles internally from their old pre 1.20.5 syntax to the new one
- Fix the camera offsets not working correctly on NeoForge (1.21.1)
Full Changelog: 0.1.5-rc.2...0.1.5-rc.3
0.1.5-rc.2
Fixes and Changes
- Fix Camera parts not working correctly on 1.20.6+
- Fix Nametag Shadow text rendering incorrectly on 1.21+
- Rewrote the entire nametag renderer, no API changes
- Fix Figura CEM not being read
- Added an explicit error when a nonexistent post effect is used on setPostShader, but still allow nil to disable them
- Added a new option to disable or enable the model being clipped in the inventory
- Fix paperdoll and guis not rendering camera parts correctly on 1.20.6+
- Fix a crash that would happen when a figura function threw an error
- Fix a lua error when getting script events with figura functions
- Added an ignore y parameter to is moving
- Fixed issues with part removal and sorting
- Fix a crash when symbolic links are being used
- Lex/MinecraftForge is now supported again on 1.20.6+
- Port to 1.21.1
New Contributors
- @Leialoha made their first contribution in #245
- @Riftlight made their first contribution in #247
- @penguinencounter made their first contribution in #256
Full Changelog: 0.1.5-rc.1...0.1.5-rc.2
0.1.5-rc1
What's Changed
- Sound related functions no longer break after stopping naturally
- Fix Chat Customizations disabling badges
- Optimized Avatar loading, metadata is now only parsed once
- Optimized FileAPI file reading to be much faster
- Files in Hidden Folders are now ignored so the game no longer reloads avatars unnecessarily
- Removed a confusing easter egg
- Internal avatar file extension is now .nbt and not .moon
- BBmodels from BlockBench 4.10 are now supported
- Fixed Legacy4J Compatibility!
- FileAPI now always uses the updated path & no longer requires a restart
- Fixed getShaderPackName to work with Iris 1.7+
- Fixed a VM error that would happen if toJson had an empty table
- Avatars no longer tick if the player doesn't exist
- Fixed compatibility with ChatPatches, duplicate detection now works with Emojis on
- Tweaked the CatmullRom and Bezier internal functions
- Removed Random green pixels
- Fixed crashes when opening chat across versions
- Fixed rendering issues on Forge 1.16.5
- Fixed VM errors when getting active hand on 1.16
- Fixed onPlay & subtitles not firing for all sounds above 1.20.4
- Ported to 1.20.6 and 1.21
- Added getMapData and getEntities to WorldAPI
- Added getNearestEntity to EntityAPI
- Added isMoving and isFalling to EntityAPI
- Added isIntegratedServer to ClientAPI
- Added writeToLog and warnToLog to HostAPI
- Added additional HOLDING state to animations and isHolding to check
- Added a damageEvent that runs when the entity takes damage
- Added a totemEvent that runs when a totem of undying is used
New Contributors
- @JimmyHelp made their first contribution in #218
- @Avatcher made their first contribution in #206
- @ItsToastCraft made their first contribution in #223
- @soup587 made their first contribution in #233
- @GrandpaScout made their first contribution in #235
Full Changelog: 0.1.3...0.1.5-rc1
0.1.4
0.1.3
What's Changed
-
fix: Emoji related bugs by @omoflop
-
fix(crash): Divide by zero crash in MOTD box by @omoflop in [4c71cb6](4c71cb6
-
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](78aa762 -
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: 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
Full Changelog: 0.1.2...0.1.3
0.1.3-rc.5
What's Changed
- Fixed a few Geckolib related crashes
- Most Geckolib Armors now work with pivots
- Fixed a crash when playing LuaSounds
- Fixed a clipping issue that happened with modded and vanilla armor as it wouldn't follow arm rotation correctly
- Version check now works properly on Forge, again
- Fixed a VM Error when getting an invalid slot or when the player was dead
- Bumped to LuaJ 3.0.8
- Moved to Neovisionaries WebSocket
- Fix issues on systems with different locales
- Fix Optifine not working on 1.18.2
- Fix PoseStack not empty crashes with Mana and Artifice, and other mods
Additions: - Added a new render type CUTOUT_EMISSIVE_SOLID
- Added Entity Render Tasks
- Blockstate getTextures now returns the break texture for blocks that use block entities instead of nothing
- Added a remove method to FiguraModelPart to remove a part from it's parent to match render tasks
- ElytraPivot has been separated up into LeftElytraPivot and RightElytraPivot
- Addded a new field to Texture:applyMatrix, 'clip' which clamps the resulting colours' channels between 0 and 1
- Addded getDayTime and getDay to WorldAPI
- Added a way for developers to add custom events to the Events API
- Figura now supports 1.16.5
New Contributors
- @TheBunnyMan123 made their first contribution in #153
- @applejuiceyy made their first contribution in #172
Full Changelog: 0.1.3-rc.4...0.1.3-rc.5
0.1.3-rc.4
Fixes and Changes
- Changes to the RaycastAPI, now the start and end go before other args to the block and entity methods
- Fixed models using the trident parent type being displayed upside down
- Reverted the nbt avatar changes from the last version and listFiles returns . as a separator again
- 0.1.2 avatar nbt is now compatible
- Fix the version check being incorrect
- Fixed not being able to hide some modded armor or armor in general when using armor pivots
- Fixed the hat layer on the helmet not being displayed when armor pivots were active
- Fix particles not being removed
- Fixed crashes on Neoforge 1.20.2
- Fixed crashes on all 1.20.4 jars
- Fixed issues with versioning on forge rcs
- Allow the internal Avatar's get function to continue even if the player has no active avatar so it may be fetched based on nbt
New Stuff - You can now disable root rotations on the player model from the RendererAPI with rootRotationAllowed
- Added a method (getHeight) to get the current height on the heightmap to the WorldAPI
- Added the Enum of the HeightMap types to the docs
- Added a new arbitrary raycast to the RaycastAPI that uses an AABB (Axis aligned bounding box) defined by the user
- Added getRegistry to the ClientAPI that allows you to get a table of the game's registry entries, like blocks, items, point of interest types, biome surfaces, etc
- Added getEnum to the ClientAPI that allows you to get the enums from the in game docs
- Added getScoreboard to the ClientAPI to get the scoreboard from the game
- Added getTitle, getSubtitle and getActionbar to the ClientAPI
Full Changelog: 0.1.2...0.1.3-rc.4
Figura 0.1.2
+ forge support
+ optifine/optifabric compatibility
+ animated emojis
+ emojis can appear in more places in-game
+ changed color scheme
+ api fixes
- removed herobrine