NexoMC Changelog

v1.28

Stable

! [Fixes]

  • Fixed Custom-Tridents playing the return sound playing when picked up off the ground
  • Fixed backpack item filters being bypassed by click-dragging items in
  • Fixed Crucible items showing raw item-stat placeholders
  • Fixed Glyph shadow-color and hover-text disappearing when a message was made up of only that glyph
  • Fixed Nexo translations dropping the arguments of translatable messages
  • Fixed team packets from other plugins with placeholder parameters failing to send
  • Fixed dialogs with an item in their body failing to register on startup
  • Fixed armor items not getting an equippable component assigned automatically
  • Fixed Nexo items being usable inside crafters even with allow_in_vanilla_recipes turned off

Furniture

  • Fixed furniture beds not skipping the night on newer servers and not acting like vanilla beds while sleeping
  • Fixed players being dismounted inside or below a furniture bed instead of beside it
  • Fixed connectable furniture cornering wrongly on parallel rows, ignoring rotated corners and leaving stale shapes on its neighbours
  • Fixed renamed furniture not stacking, and dyed or renamed furniture dropping the plain item
  • Fixed cloned worlds sharing furniture hitboxes with the world they were copied from

Resourcepack

  • Fixed newly shipped default glyphs never arriving on servers that already had a glyphs folder
  • Fixed the pack hashes reaching the proxy after the pack they belong to
  • Fixed errors on servers that have pack generation or pack hosting turned off
  • Fixed BBModel elements always falling back to legacy rotations
  • Fixed obfuscation keys going missing when a cached pack was reused instead of regenerated
  • Fixed a wrong vanilla-pack version being picked on locally compiled server jars

* [Changes]

  • Replaced the Glyphs.default_shadow_color setting with Glyphs.default_shadow, and old configs are still read and converted for you
  • Removed the TRIMS CustomArmor
    • Entire CustomArmor setting is now gone as we only have COMPONENT type now
  • Reworked how the resourcepack atlases are split so the new 1.21.11 item and block atlases work

± [API]

  • Added NexoCustomBlockPreDropLootEvent for changing or cancelling custom-block loot before it drops
  • Added methods on Drop for reading the min and max amounts

+ [Features]

  • Added a whitelist option to Backpack Mechanic
  • Automatically determine supported PackFormat based on ViaVersion/ViaBackwards if present
  • Added the multipack template hashes to the pack data sent to NexoProxy
  • Added settings for the anvil repair-cost cap and for what a furniture bed requires before you can sleep
  • Added four new recipe types: Smithing, Transmute, Anvil and Crafter
    • In-game builders for Smithing, Anvil, Crafter & Campfire RecipeBuilders
  • Support for ingredients of a specific amount, that take durability damage & be replaced upon crafting

v1.27

Stable

[Fixes]

Glyphs & text

  • Scoreboard glyphs, GIF-glyphs and the glyphinfo command not working on 26.2
  • GIF-glyph frames offset wrong when frame size did not match the aspect ratio
  • Animated glyphs rendering blank when resolved before pack-generation finished
  • Reference-glyphs missing from emoji-list and never registering placeholders
  • Glyph tag scanning, escaping and parsing reworked to keep component roots
  • Glyphs not rendering in playerlist objectives using number-formats
  • Glyph and shift tags not parsing in options-menu lang keys
  • Recipe-Screen using legacy formatting, thus not allowing glyphs
  • Gradient-tag not nested correctly in the resource-pack prompt
  • PAPI-tags bypassing permissions and returning nothing outside chat

Items

  • JukeboxPlayable and ItemsAdder id-remaps not converting properly from IA
  • Crossbow breaking when defining charged_model/firework_model
  • use_remainder referencing a nexo_item being dropped depending on item parse-order
  • blocks_attacks failing to build on Paper 26.2 due to changed bypassed_by signature
  • Components.enchantable 0 clamped to 1 instead of removing the component
  • PersistentData not building nested TAG_CONTAINERs, missing array-types and erroring on unknown types
  • Config-defined PersistentData pinned to the stored copy on item-update
  • Missing item-model textures breaking the item-definition, now using a placeholder
  • custom_model_data dropped from the material item-model when preferring item_model
  • damaged_models and pack base-models lost in the legacy override conversion
  • Model face-UVs outside 0..16 making 26.1+ clients drop the item-definition
  • 1.21.11+ model rotations only reaching clients below 26.1, now clamped in legacy overlays

Pack

  • Incorrect "missing texture" for Paletted Permutation atlas entries
  • Undefined custom-armor layers parsing as empty keys, blocking sibling layers
  • Armor asset-ids only being dropped for helmets that use a 3D Pack.model
  • Obfuscation replacing overlay models with their base variant, and skipping equipment layers, vanilla-keyed models and fonts
  • Stale overlay-entries from imported packs and older generations breaking textures
  • Multipack template-packs not resolving per pack-server, so LobFile and S3 can serve them
  • Pack-generation hanging when ModelEngine zipped early or never registered
  • POLYMATH migrating to HERMES even on configs that already used HERMES

Furniture & blocks

  • ModelEngine issue on Folia due to teleport not teleportAsync
  • Furniture culling and door packet-updates running off the Folia region-thread
  • Furniture using the wrong placement-variant for settings like restricted_rotation
  • Furniture step and fall sounds never playing due to hitbox block lookup
  • Furniture duping drops when spam-clicking ModelEngine furniture
  • FurnitureBed potential invisibility issue due to third-party plugins
  • Noteblock dupe when broken within a tick of its note playing
  • Unloading a world corrupting the block-sound task map
  • Min culling-distance comparing against max bound, disabling culling when set

* [Changes]

  • Reworked atlas split to properly handle the 1.21.11+ split, removing the legacy_atlas setting
  • Allow defining texture in ItemModel-Builder to skip Pack & manual Model files
  • Split item formatting into individual itemname, lore and customname toggles
  • Allow specifying tooltip_display.hide_tooltip
  • Added force_visibility setting for FurnitureBed
  • Improved validation of vanilla assets in glyphs and items, grouped per issue
  • Optimized Furniture occlusion-culling, pack-generation, barrier collisions, light-block handling,
  • step/fall sounds, the furniture evolution-task and mob-movement and liquid-flow around hitboxes

v1.26

Stable

Fixed

  • complete recipe matching for replacement, grid-size and overlapping predicates f77cb31
  • signed-chat placeholders, plain-text MiniMessage skip and player setter recursion in NMS handlers 0e8b1f7
  • Shift.of truncating shift values above 1023 6743bf8
  • run furniture-culling raytraces on the tick thread and cache verdicts to avoid async world-read crashes 72f175c

Improved

  • single-pass glyph replacement configs with fixed escaping and gradient-split placeholder support 612897a

v1.25

Stable

Fixed

  • issue with damage recipes not working 9128ad3

v1.23

Stable

Added

  • Replacement Recipe Predicate b404edd

v1.21

Stable

Added

  • add crucible & mmoitem recipe via predicates 0972b47
  • allow recipes where an ingredient takes durability damage 2a80405
  • allow amount for ingredients eca11ba

Improved

  • move towards Predicate-based RecipeChoices 0b7c891
  • rework recipes into proper CustomRecipe classes 459c743