Skip to content

Releases: FiguraMC/Figura

0.1.5-rc.3

21 Sep 15:27
Compare
Choose a tag to compare
0.1.5-rc.3 Pre-release
Pre-release

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

08 Sep 13:58
fab39b9
Compare
Choose a tag to compare
0.1.5-rc.2 Pre-release
Pre-release

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

Full Changelog: 0.1.5-rc.1...0.1.5-rc.2

0.1.5-rc1

07 Jul 10:33
Compare
Choose a tag to compare
0.1.5-rc1 Pre-release
Pre-release

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

Full Changelog: 0.1.3...0.1.5-rc1

0.1.4

02 Mar 17:48
Compare
Choose a tag to compare
Fix Inconsistent Syntax on SpriteTask and bumped to full 0.1.3

0.1.3

01 Mar 10:34
Compare
Choose a tag to compare

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 and set_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 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

Full Changelog: 0.1.2...0.1.3

0.1.3-rc.5

26 Feb 07:44
Compare
Choose a tag to compare
0.1.3-rc.5 Pre-release
Pre-release

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

Full Changelog: 0.1.3-rc.4...0.1.3-rc.5

0.1.3-rc.4

21 Jan 08:32
Compare
Choose a tag to compare
0.1.3-rc.4 Pre-release
Pre-release

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

11 Aug 09:51
Compare
Choose a tag to compare
+ forge support
+ optifine/optifabric compatibility
+ animated emojis
+ emojis can appear in more places in-game
+ changed color scheme
+ api fixes
- removed herobrine