Voxel Shop beta is live. Expect occasional bugs. Learn more
Custom Blocks, Items, Furniture, ResourcePack & more
- Various Folia-related issues
- Not able to enable mob-furniture-collision checks
- Lore not accepting blank "" strings
- Nullpointer when using CustomModelData component and not in Pack
- Improve BlockLocker-Compatibility
- Shulker FurnitureHitboxes not removed with furniture
- CHORUSBLOCK issues with resourcepack
- Chorus CustomBlocks not showing correct model ingame placed
- hide_scoreboard_numbers setting not working
- WorldEdit tabcompletion & accepting input
- Shulker FurnitureHitboxes not working
- Stringblock removing block beneath when broken
- PlayerHead & certain other ItemModels not merging properly
- SelfHost PackServer not working
- Merging/repairing damaged custom armor not outputting custom armor item
- `CustomBlock is_falling` spawning a drop when placed
- Settings not reloading properly
- Pack not sending to players if they joined before pack was uploaded
 * only if send_on_reload was disabled
- No NexoBlockEvent's called for generic customblocks (Carpentry mainly)
- Sync backpacks for each inventory action to prevent packet manip
- Sapling Mechanic for STRINGBLOCK not working
- Main-hand not swinging when bone-mealing sapling stringblocks
- Add particle effect to stringblock-mechanic sapling-growth
- More furniture optimization
- Rework WorldEdit compatibility logic
- Add `visible` arg to ShulkerHitbox for debugging
 - offset length direction visible
- Rewrite MythicMobs drop-compatibility
- Trigger Cooldowns, if item has component, for certain actions
  * Placing Furniture/Custom Block, opening Backpacks, Certain spell & other misc mechanics
- Allow furniture hitbox type to be specified with a generif suffix instead of own section:
  * This is in addition to the normal current format
myitem:
Mechanics:
furniture:
hitbox:
- 0,0,0 BARRIER #or B
- 0,1,0 1,1 INTERACTION #or I
- 0,2,0 1.1 1.1 SHULKER #or S- Connectable-Furniture
- Various Folia-related issues
- Not able to enable mob-furniture-collision checks
- Lore not accepting blank "" strings
- Nullpointer when using CustomModelData component and not in Pack
- Improve BlockLocker-Compatibility
- Shulker FurnitureHitboxes not removed with furniture
- CHORUSBLOCK issues with resourcepack
- Chorus CustomBlocks not showing correct model ingame placed
- hide_scoreboard_numbers setting not working
- WorldEdit tabcompletion & accepting input
- Shulker FurnitureHitboxes not working
- Stringblock removing block beneath when broken
- PlayerHead & certain other ItemModels not merging properly
- SelfHost PackServer not working
- Merging/repairing damaged custom armor not outputting custom armor item
- `CustomBlock is_falling` spawning a drop when placed
- Settings not reloading properly
- Pack not sending to players if they joined before pack was uploaded
 * only if send_on_reload was disabled
- No NexoBlockEvent's called for generic customblocks (Carpentry mainly)
- Sync backpacks for each inventory action to prevent packet manip
- Sapling Mechanic for STRINGBLOCK not working
- Main-hand not swinging when bone-mealing sapling stringblocks
- Add particle effect to stringblock-mechanic sapling-growth
- More furniture optimization
- Rework WorldEdit compatibility logic
- Add `visible` arg to ShulkerHitbox for debugging
 - offset length direction visible
- Rewrite MythicMobs drop-compatibility
- Trigger Cooldowns, if item has component, for certain actions
  * Placing Furniture/Custom Block, opening Backpacks, Certain spell & other misc mechanics
- Allow furniture hitbox type to be specified with a generif suffix instead of own section:
  * This is in addition to the normal current format
myitem:
Mechanics:
furniture:
hitbox:
- 0,0,0 BARRIER #or B
- 0,1,0 1,1 INTERACTION #or I
- 0,2,0 1.1 1.1 SHULKER #or S- Connectable-Furniture
Note: Same as the earlier jar with a few crucial fixes
- Various Folia-related issues
- Not able to enable mob-furniture-collision checks
- Lore not accepting blank "" strings
- Nullpointer when using CustomModelData component and not in Pack
- Improve BlockLocker-Compatibility
- Shulker FurnitureHitboxes not removed with furniture
- CHORUSBLOCK issues with resourcepack
- Chorus CustomBlocks not showing correct model ingame placed
- hide_scoreboard_numbers setting not working
- WorldEdit tabcompletion & accepting input
- Shulker FurnitureHitboxes not working
- Stringblock removing block beneath when broken
- PlayerHead & certain other ItemModels not merging properly
- SelfHost PackServer not working
- Merging/repairing damaged custom armor not outputting custom armor item
- `CustomBlock is_falling` spawning a drop when placed
- Settings not reloading properly
- Pack not sending to players if they joined before pack was uploaded
 * only if send_on_reload was disabled
- No NexoBlockEvent's called for generic customblocks (Carpentry mainly)
- Sync backpacks for each inventory action to prevent packet manip
- Sapling Mechanic for STRINGBLOCK not working
- Main-hand not swinging when bone-mealing sapling stringblocks
- Add particle effect to stringblock-mechanic sapling-growth
- More furniture optimization
- Rework WorldEdit compatibility logic
- Add `visible` arg to ShulkerHitbox for debugging
 - offset length direction visible
- Rewrite MythicMobs drop-compatibility
- Trigger Cooldowns, if item has component, for certain actions
  * Placing Furniture/Custom Block, opening Backpacks, Certain spell & other misc mechanics
- Allow furniture hitbox type to be specified with a generif suffix instead of own section:
  * This is in addition to the normal current format
myitem:
Mechanics:
furniture:
hitbox:
- 0,0,0 BARRIER #or B
- 0,1,0 1,1 INTERACTION #or I
- 0,2,0 1.1 1.1 SHULKER #or S- Connectable-Furniture
- Breaking string on block, removes below block
- Pickblock on 1.21.4 duping items in non-creative
- NexoMechanicsRegisteredEvent being called next-tick on reload
 * Caused custom mechanics to not register on reloads
- Message Click-Action using legacy formatting
- `armor_effects` mechanic `requires_full_set` not working
- Undefined drop/loots section not causing base-item to drop
- PreJoin Pack-sending not working
- StringBlock `placeable_on_water` not working
- CustomBlock Block-breaking speed bad calculations
 * Inconsistent speeds based on hardness & tool used
- FurnitureHitbox being sent to all worlds
- Unloading/Loading world not properly refreshing Furniture-Hitboxes
- Improve Furniture BarrierHitbox & FurnitureLight sending by using custom packets
 * Fixes conflicts with other plugins and nexo reading the one it sends twice
- Optimize NexoItem updating of Tile-Entities
- Optimize various Furniture checks
- 1.21.5 Support
- Bed-Mechanic for Furniture
 * Add Double-Bed and Double-Bed Dyeable default item-configs
- Anti-Cheat support for walking on Furniture-Hitboxes
- CustomBlock PickBlock not working for 1.21.4
- Nexo overriding manually provided CustomArmor files
- Various 1.20.4 server-issues
- Not allowing Furniture-lights inside Furniture-Interaction Hitboxes
- Directional CustomBlocks not properly stripping into another Directional CustomBlock
- Scoreboard connection issue due to bad scoreboards from third-party plugins
- Certain Tooltip properties not hidden when using ItemFlags
- Legacy Inventory-Titles breaking due to shifts forcing custom font
- PickBlock not working for barrier hitbox furniture on 1.21.3 and below
- Disconnect issues from plugins providing "null" values in Scoreboards
- Nexo not scanning every Glyph-file before auto-assigning chars, leading to duplicates
- PlayerHead models not working on 1.21.4 if changed, rescaled etc (flat head textures)
- Improve ItemConverters for IA and Oraxen
- Chests, Entities and other blocks that hold NexoItems get updated
- Bundle-Content being reset in NexoItems on updating
- Shift-Glyphs always being negative values / move left
- FurnitureHitboxes dissapearing during some chunk-refreshes (mainly worldedit)
- WorldEdit tabcompletion for CustomBlocks not working
- Entire pack not loading in some cases when provided a bad file and pack-reading is set to lenient
Â
- Improve CustomArmor file generation for COMPONENT armor
- No longer require Pack.CustomArmor to specify layer1 & layer2 property for all armor items
 * HELMET & CHESTPLATE need layer1, LEGGINGS & BOOTS need layer2
- Handle Stone/Wood replacement sound on packet level
 * Fixes issue where playing block.stone.X in other plugins/commands would be silent
- Update ResourcePack Creative-library to support 1.21.4 files
 * Decreases ResourcePack load-times
 * No more hacky fix for converting 1.21.3 files to 1.21.4 format
- Remove Adventure from SpigotLibraryLoader to lower startup-time (bundled in Paper)
- Rework & optimize Furniture-Packet logic
 * send less packets, use less memory, faster allocation
- Rework CustomBlock-API for upcoming Addon
- Allow placing ItemFrames, Paintings, ArmorStands & other "unstable" blocks/entities ontop of Furniture
- Add `default_rotatable_on_sneak` to furniture-section in mechanics.yml
- Add `category`-property to recipes for RecipeBook
- Add ReferenceGlyphs
 * Lets you make a "Sub Glyph" of another to reference certain unicodes
- Expand Furniture-interaction logic with more WorldGuard-Flags & API
 * Can now deny all interactions, but specifically allow sitting, toggling lights, running clickactions etc in a region
- Support for new Custom Elytra, Â Wolf-Armor, Horse-Armor & Llama-"armor" (1.21.2+ only)
 * Follows same logic as normal custom armor
 * Adds a `elytra`, `horse_armor`, `wolf_armor` & `llama_armor` field to `Pack.CustomArmor`
 * By default it will look for `armorname_elytra`, `armorname_horse_armor`, `armorname_wolf_armor` & `armorname_llama_armor` for the PNGs if not specified in `Pack.CustomArmor`-fields
- Add Forest Elytra Default NexoItem
- Add Nexo Horse-, Wolf- & Llama Armor Item-Configs & textures
 * Update Docs with info on [Custom Elytras](https://docs.nexomc.com/configuration/custom-armors/custom-elytras-1.21.2+) & [Mob-Armor](https://docs.nexomc.com/configuration/custom-armors/components)
- Furniture placeable inside non-full interaction hitbox furniture
- Blocks placeable in interaction-hitbox furniture
- Various minor IA-Converter issues
- Composite-models in ItemModels not being obfuscated
- Items loading twice on startup
- CustomArmor-textures not working when helmet is 3d Model
- Overriding vanilla consumable-component if not specified in config
- ItemUpdater not setting lore if old-item had no lore
- Minor Folia issues
- Overrides not merged if non-default base-model provided
- NexoItems using JIGSAW & other blocks not showing correctly on 1.21.4
- Long loading times due to Trims CustomArmor
- Rotation & light-toggle issues for interaction-hitbox furniture
- NoteBlockDatapack not adding 1.21.4 wood-types, causing slow mining on Pale-Oak blocks
- Custom step-sound for furniture async issue
- Issue with LimitedPlacing radius checks
- S3 & LobFile PackServer issues
- Issues with repairable-component
- Glyph tabcompletion not working
- Incorrect drop-amounts in some cases
- GlyphTags not working in Scoreboard
- Chorus customblock sounds not working
- Stone step/fall sounds not working
- PickBlock not working on 1.21.4 for furniture & custom blocks
- Improve MythicMobs drop-hook
- Incorrect interaction-point for interaction-hitbox furniture interactions
- Allow decimal custom-block hardness values
- Dont reload recipes on reload due to paper-issue
 * Server is resending all recipes for each recipe, causing large amounts of lag. Unfixable on our end
 * Server-restart required for recipe-changes to take effect
- Change syntax for give & take commands, `/nexo give <itemid> [amount] [player(s)]`
- Restructure CustomBlock sections in `mechanics.yml`
 * `noteblock`, `stringblock`, `chorusblock`-sections moved under a shared `custom_blocks` section
 * `tool_types` property moved out of sub-mechanics and into `custom_blocks`- section. Can be defined in subblock aswell
 * Move `custom_block_sounds` under shared one in `custom_blocks`
- Improved Glyph-backend
- Rewrite Packet-Handler to significantly improve read/write performance
- Transform glyph & shift-tags in Toast Popup
- Allow making multi-bitmap glyphs directly in one Glyph
 * Removes need for bitmaps.yml
 * A glyph can take a list of unicodes
 * Can be assigned automatically by setting a `columns: X` and `rows: Y` in Glyph-config
 * [More info here](https://docs.nexomc.com/configuration/glyphs#multi-bitmap-glyphs)
- Add bitmapIndex to glyph-tag, `<glyph:glyphid:X> / <glyph:glyphid:X..Y>
 * Displays the char with said index, can be a range aswell
- Improve memory-usage & generation-times for larger resourcepacks
- Folia Support
- PackSquash integration
 * Download from their GitHub
 * More info can be found on docs
- WorldGuard `nexo-furniture-interact` flag to override other flags, defaults to "undefined"
- Optimize ResourcePack generation times, caching & filesizes
- Add LobFile PackServer
 * Requires API-Key from your LobFile account
- Add S3 PackServer type
- Drop Spigot Server Support
- ItemModel not working with Pack-Obfuscation
- Bunch of minor ItemsAdder- & NexoConverter issues
- IA Converter breaking NexoItems on 1.20.4 servers
- CustomArmor issues when not using automatic layer-texture system
- Issues with datapacks enabling & custom armor using TRIMS
- ModelEngine-furniture not breaking when hitting ModelEngine hitbox
- Resourcepack sending when both on_join & pre_join are disabled
- PackValidation not excluding ItemModel files for <1.21.3-servers
- Various PackObfuscation issues
- TrimPattern being reset when updating NexoItem
- Add brewing recipe-builder command
- Disable formatting of displaynames in anvils
- Furniture step-sound in non-solid hitbox
- Placing blocks inside furniture-barriers sometimes
- Warn if texture would lower the mipmap-level on the client
- Custom-Block mining-speed not calculating Attributes from other sources
- Issues saving recipes
- Renamed items losing customname when enchanted in anvil
- Parent-Model Display-properties not inherited when overriding texture
- Entities with WIND_CHARGED exploding custom blocks on death
- ItemsAdder v4 -> Nexo Converter
 * Ensure you follow the guide here: https://docs.nexomc.com/migrate/itemsadder-nexo
 * There might still be some issues & bugs, please report these if you find them
- Improve performance & handling of item-lookups & API
- Add Furniture Shulker-type hitbox
 * Collision-hitbox, like barrier, but with options for length & scale like interaction
 * https://docs.nexomc.com/mechanics/furniture-mechanic#hitboxes
- BrewingStand recipes
- Make ItemFlags hide Tooltips for 1.20.5+ servers
- `group` property for recipes
 * Groups all shared group-id recipes in RecipeBook
- Add `Glyphs.shift_font` setting to specify the font used for shifts
- Custom Blocks not placeable against iron trapdoor whilst sneaking
- CustomBlock dropping at wrong location
- Async entity checks
- Breeze WindCharges breaking custom blocks
- Using TRIMS CustomArmor breaking recipes
- Improve Furniture Barrier-Hitbox performance, flickering and passthrough
- Stone place-sound played twice
- Minor fix to LimitedPlacing-replacability
- Issue with desynced furniture-hitbox
- Entities spawned on furniture taking falldamage
- Placing furniture against trapdoors
- Pasting with WorldEdit removing furniture barrier-hitboxes in given chunks
- Pack Mcmeta not merging properly between packs
- Various issues with ModelEngine Compatibility
- Furniture-offset not correct on slabs when furniture-config has translation defined
- Various issues with Drops
- CustomBlock-sounds not playing correctly when using block.stone/wood.X
- ModelEngine-pack not working for 1.21.4+ servers when Pakc.obfuscation is SIMPLE or FULL
- Generation of player-head models on 1.21.4
- NexoChorusBlockPlaceEvent not being called
- Cancelling regular noteblock events with `reimplement_noteblock_features` enabled
- Placing blocks on prohibited locations while using offhand & sneak
- FurnitureMechanic#isInteractable not handling sneaking + rotation correctly
 * Made furniture not placeable against eachother in certain scenarios
- VersionPatcher not finding certain models on 1.21.4 servers
- ItemUpdater not updating TrimPattern for CustomArmor
[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]
[Fixes]

[Features]
[Fixes]
[Fixes]
[Fixes]
[API]
[Fixes]
[New]
ConfigTools.remove_invalid_furniture to remove invalid furniture on entity-load[Fixes]
[API]