
🔌Nexo 1.12.1
Custom Blocks, Items, Furniture, ResourcePack & more
[Features]
- Add CHORUSBLOCK-type CustomBlock for transparent blocks & leaves
- Restructure Light-Mechanic LINK
- Add Lights#toggled_item_model, reference new JSON-Model in assets/namespace/models/item/x.json (namespace:x)
- Add `Pack.import.from_url` to import a ResourcePack into Nexo from a URL
- New way to define Custom Armor Layer Textures LINK
 * The old automatic system will still work and is the default if no such section is defined
[Fixes]
- Bunch more issues for 1.21.4 compatibility
- Issue with CustomBlocks marked as "falling" for third-party plugins
- Issues with Furniture & WorldEdit Copy/Pasting & Selecting
- Bad obfuscation of vanilla-override resourcepack-models
- Formatting glyph-tags in Entity Nametags
- Shifts not using custom-font
- Improve waterlogging of furniture
- Best-tool AXE defaulting to PICKAXE
- Issue reading ModelEngine ResourcePack on latest devbuilds
- Metrics not registering (Cause of huge dip on BStats)
- Kicking players not working when on Furniture
[API]
- Add ChorusBlockMechanic
- Add Events for ChorusBlockMechanic
- Add ChorusBlock methods to NexoBlocks-Class
[Features]
- Add `Mechanics.furniture.waterloggable` - Place furniture underwater and have barrier hitboxes waterlogged
- Add `Mechanics.furniture.lights_model` - Different NexoItem displayed when lights are 'on'
- Add `Mechanics.custom_block.immovable` - Prevent CustomBlock moved by pistons
- Handle Glyphs in chat on a packet-level for improved chat-handling
[Fixes]
- Optimize Furniture-handling for improved performance on large servers
- Furniture not showing when a chunk is reloaded
- Furniture-PickBlock feature not working in Creative Mode
- Furniture being "equippable" when using ARMOR materials
- Offset FurnitureSeat when furniture is placed on slabs,carpet etc
- Stacking furniture on Slabs, carpet & snow not correcting offset
- Step/fall sound not working for furniture
- `/nexo take`-command not working
- Bad rotation when sitting on a FurnitureSeat inside a Furniture-barrierhitbox
- TRIMS-CustomArmor not enabling datapack always & bad namespacing
- Sort-order for `Pack.import.external_pack_order`
- NexoInventory not supporting non-default fonts
- DyeCommand not working without NexoLibs
- CustomBlock Hit-sounds not working
- Filter out ItemModels from RequiredPack on 1.21.4 servers
- TTF-fonts overriding Nexo-shifts
- FoodComponent-replacement not working for 1.21.1
- Bow-pulling animations & model-tinting for 1.21.4 servers
- Various other 1.21.4 ResourcePack issues
- Snowfall overriding furniture-hitbox
- Logstrip mechanic not working
- WindCharges exploding Custom Blocks
- Issues with drop-amount and fortune-tools
- Issues placing lilypad & frogspawn on furniture barrier.hitbox
- NexoItems with imported Crucible/MMOItem items not assigning CustomModelData correctly
[Misc]
- Make Nexo generate models from itemid with lowercase
- Make NexoLibs optional to avoid Libby-handling of dependencies
 * More stable, requires rare manual updates
- Add some misc-settings
 * `Pack.generation.minimize_json` - compacts model-files
 * `Pack.import.model_engine.exclude_shaders` - excludes core-shaders as they might break the pack
[API]
- Cancelling NexoBlockBreakEvents not cancelling associated BlockBreakEvent
- Add `NexoFurniture#findTargetFurniture`
- Fix NexoFurnitureInteractEvent triggering twice
- Minor Drop-API changes
[Features]
- Improved performance of furniture-handling & glyph-handling
- Setting to block third-party resourcepacks from overriding Nexo's
- `Misc.block_other_resourcepacks`, defaults to false
- Setting to disable Glyph-packet handling `Plugin.formatting.packets`
- Format glyphs & shifts in more spots via packets
- Tablist, footer/header & player-entries, BossBars
- EntityData, TextDisplays, nametags etc
- Resourcepack Prompt screen
- Disconnect/Kick-screen reason, Server List MOTD, ServerLinks
- Add setting to mechanics.yml to disable furniture custom soundsAllow placing furniture on slabs, carpet with correct spacing
- Barrier-hitboxes will not be corrected but interaction-hitbox will
- Allow Furniture barrier-hitboxes to be defined via integer-ranges
- in_explosion for loot-drops, drops item when a custom-block explodes, defaults to false
- Will drop even for blast-resistant blocks
[Fixes]
- Players kicked due to uncatched errors in packet-handling
- Attempt to format legacy-text in packets
- Pack-overlays containing ItemModel overriding nexo-generated ones
- Minor issues in formatting some text in some packets
- Overlays not overriding vanilla files properly
- Glyphs not being properly replaced in some cases
- Inproper furniture-hitbox spacing check
- AdventureMode players allowed to break furniture
- Use reference to shift-font for all fonts
- Make "null" components remove from base-item
- Prevent furniture from being consumable & equippable
- If base is leather horse/player armor or potions
- Middle-click (pickblock) not working for stringblock-blocks
- NexoStringBlockInteractEvent not being called
- Swap dyeable nexo-furniture defaults to use FILLED_MAP
- POTION/TIPPED_ARROW override ItemName
- CustomBlockMechanic#blast_resistant not working
- Dupe with Backpack mechanic item using BUNDLE
- Bad rotation for FIXED furniture when placed on bottom-wall
- Bad "reuse-custommodeldata" check
- Not checking placement perms for placing blocks against furniture
- Nexo-generated models missing Display-properties
- Existing furniture not retaining color when converted from Oraxen
- Teleporting furniture not updating hitboxes
- Drop axiom-compat in favor of teleport-handling
- Spigot & 1.20.4 oopsies
[Features]
- Allow not caching items
- Mainly useful for MMOItems imported that have randomized stats
- Add `/nexo dye` command
- Supports HEX (#123456), RGB(255,255,255) & NamedTextColors(red,blue,...)
[Fixes]
- Issue with sometimes loading certain libraries
- Default/Required packs not downloading due to broken token
- Fail-safe added, wont happen in the future
- Various visual bugs for items & armor when cross-play 1.21.3 & 1.21.4 using ViaVersion
- give-command throwing error when amount is above max-stack-size
- Tweaks to default item-configs
- Sapling-mechanic not being converted in OraxenConverter
- Kicking not working due to furniture-hitbox check
- Namespaced custom-armor not properly registering
- Notify when ModelEngine auto-import failed
- Improve performance
[Fixes]
- Default assets not downloading due to broken token
- Furniture FIXED placed on wall not correctly offset
- Update/convert Nexo items held by entities & armor-stands on load
- GlyphHandler not always parsing Nexo-tags
- Support language-tags in GlyphHandler
- Interacting with furniture removing adjacent blocks if holding non-block item
- Client kicked when afking on furniture
- Will still "spam" console, recommend enabling allow-flight in server.properties
- 99% of hacked clients bypass this, the setting breaks more than it fixes tbh
- Furniture-Seats not updating if offset changed on reload
- Textures above 512x512 being flagged if used partially in uv-mapping
- FurnitureMechanic#rotatable now can be specified to only work when sneaking
- Ignoring light_emission property for models
- Prefix not changing on reload
- Minor Spigot tomfooleries
[Fixes]
- Bunch of resourcepack issues for 1.21.4
- Placing furniture ontop of other furniture
- "interactable" furniture requires sneak+click
- Spamming interact with furniture allowing walking through hitbox
- Mobs ignoring furniture-hitbox
- Optimize furniture-hitbox performance
- Furniture not being able to be rotated with complex hitboxes
- Directional-subblocks not inheriting model-peoperty from parent if undefined
- Improve feedback when two items use the same CustomModelData
- Minor issues with crop/evolution mechanic
- OraxenConverter improperly setting material for non-armor helmets
- Obfuscation not handling textures & parent-models
- Significantly improve obfuscation & validation times for large packs
- Automated pull/damage override-predicates using incorrect values
- Â Tweak default language-files
[API]
- Fix setting NexoFurnitureInteractEvent#useFurniture to DENY not preventing interactions
- Add NexoFurnitureInteractEvent#blockFace
[Fixes]
- Fix false-positives in popular Anti-Cheats (Vulcan & Spartan)
- Shield, armor & dyeable items not correctly showing on 1.21.4
- Placing furniture against furniture not working
- Breaking furniture "using" item held in hand
- Incorrect behaviour when placing furniture against other furniture
- Incorrect behaviour when placing against "interactable furniture"
- OraxenConverter not importing all glyphs (Broken escape menus etc)
- Reusing ItemTemplate overriding Pack-info for a given item
- Reloading Nexo not fetching missing pack/.assetCache
- Optimize ResourcePack handling
[New]
- Support for 1.21.4
- Add setting to control initial CustomModelData value
- Add
ConfigTools.remove_invalid_furniture
to remove invalid furniture on entity-load
[Fixes]
- Optimize Furniture Packet-sending
- Toggling lights not updating for surrounding players
- Furniture-lights overriding blocks (client-side only / ghost blocks)
- Furniture-clickaction running twice (mainhand + offhand)
- Components not set properly for 1.20.4-1.21.1
- PackValidator not accounting for paletted_permutations
- Water flowing through furniture barrier-hitboxes
- Parse Optifine-MCMeta files properly
- Minor issues with vanilla noteblocks
- TRIMS-datapack not auto-enabling on paper servers
- Â
[API]
- NexoFurnitureBreakEvent not properly cancelling
- Expose packurl & hash in NexoPackUploadEvent