🔌Nexo

Plugins đź”ŚNexo

Version: 1.25

[Fixes]​




  • Changes done in NexoPrePackGenerateEvent being ignored


  • Issue with trying to cull furniture when player swaps world


  • Lore handling in single-line and empty ItemTemplates


  • ResourcePack sending double during Reconfiguring a player (MineHut common issue)


  • Resend PackHashes to proxy on reconnect so restarts dont force client re-download


  • ItemModel-Builder improperly handling oversized_in_gui & other "root-tags"


  • Folia issue with CustomBlock Step/Fall sounds


  • Players slurping up dropped items when laying in FurnitureBeds


  • NexoConverter not migrating old Components.jukebox_playable entries to inlined format


  • StringBlock not being deterministic in its BlockData assigning causing "different" NexoPack hash each time


  • CustomModelData not being updated properly on NexoItems


[Changes]​




  • Start assigning CHORUSBLOCK CustomBlockTypes for id 49..63 (the safe values not included in vanilla world-gen)


  • Use new Mannequin entity for 1.21.10+ on Nexo FurnitureBeds


    • Fixes issue with invisibility due to overlapping with model


    • Less packets needed, more stable, etcetc

  • Remove ItemFlag and make backwards compatible Components.tooltip_display


    • NexoConverter will automatically migrate ItemFlag config-entries to new format


    • For 1.21.5+ tooltip_display should always be used


    • For 1.21.4 it did not exist, now it mimics ItemFlag logic but directly handling it instead

  • Add option for NexoDialogItems to override the itemModel and/or lore of the specified NexoItem, or just specify one without


  • Remove deprecated API-methods and fields


  • Deprecate Trim-CustomArmor, will be removed in the future


  • Clean up internal logic away from ItemMeta -> DataComponents


  • Remove deprecated item-config options; fire_resistant (damage_type) & hide_tooltip


  • ⚠️ Drop support for 1.21.1, 1.21.2, 1.21.3, 1.21.7 & 1.21.9


    • 1.21.4, 1.21.5, 1.21.8, 1.21.10, 1.21.11, 26.1.x & 26.2 are now supported versions


[Features]​




  • NexoTag feature for simplifying repeated-recipes


    • Each NexoItem can have one or several NexoTags


  • Components.can_break/can_place can now specify nexo_blocks directly


  • Add Plugin.formatting.action_bar to disable packet-handling for it


    • Disable to fix issue with Typewriter discarding modified packets & CustomNameplate issues

  • Increase maximum amount of Custom-Blocks for NOTEBLOCK-type from 1149 -> 1349 (26.1+ only)


  • 26.2 Server & Client support


    • Until Paper has it as experimental it is adviced to stick to 26.1.2 tops
1.24

[Fixes]​



  • Make block_delay component into a Duration


  • Weird texture issues when a Model only specifies particle


  • Folia-related issues due to FurnitureCulling


  • Crops dropping incorrectly if broken during initial stage


  • Misc#prevent_breaking causing issues


  • Improve Vulcan AntiCheat & NexoFurniture compatibility


  • Improve reliability of ModelEngine Auto-Pack import


  • Issues with WorldGuard flags being set preventing furniture from being placed on other furniture


  • Issue with WorldGuard flag not accounting for players who bypass region-permissions


  • Furniture sending hitboxes to other worlds, overlapping potential blocks


  • BBModelGenerator not preserving valid Texture-paths defined inside the BBModel


    • If a path is invalid, defaults to following fallback structure

  • pulling_textures not working due to missing Model's not being generated


  • Paintings not working when asset_id contains .png suffix


  • FIXED-transform when placed on non-full blocks being wrong


  • PackObfuscator not always obfuscating files proper


  • Excluded files not being removed from final pack always


  • Equippable-Component for 3D modelled helmets not being set when undefined


  • Backpacks with Equippable#swappable causing inconsistent behaviour with open/equip


  • TextureMerger inconsistencies on select Models when using SIMPLE & FULL


  • TextureMerger issues with animated-textures


  • Atlas-issue when using legacy_atlas and CustomModelData


  • Issue with command-mechanic and consuming


  • Various other minor ResourcePack read/write issues


  • Pistons being able to push/pull blocks into NexoFurniture


  • Asset-id set for itemmodel-provided Equipment items


  • NexoOverlays applying to 1 version higher than it should


  • Sort overlays based on supported-formats


  • Furniture TexEntities not being shown when tracking furniture initially

[Changes]​



  • Default equip_on_interact for Equippable-component to false


  • Improve performance of various Furniture hitbox/light lookups

[Features]​



  • Allow defining composite_textures and make basic Models that will stack


  • Add Misc#prevent_renaming mechanic option


  • Add Pack.generation.skip_unsupported_overlays


    • Removes "extra" PackOverlays from final pack when its below or above your supported main PackFormat defined in pack.mcmeta

  • Dynamic Furniture-Culling


    • This feature aims to improve performance of furniture for clients by culling furniture the players cannot see


    • Mainly culls furniture behind walls & other obstacles within a configurable radius & interval
- Issue with Glyphs & MiniMessage not parsing from 1.23.2
  • BlockSounds for custom/vanilla-replaced blocks sometimes getting stuck in WorldGuard zones etc
  • Bad WorldEdit block-cast causing issues with CustomBlocks
  • Pack incorrectly assuming to always use PackFormat based on ServerVersion
    • Ignored MCMeta causing issues for 1.21.11+ server supporting older clients
  • Account for MultiBitmap Glyphs when validating font texture-usage
  • ItemModel-Builder in templates not properly parsing TemplatePlaceholders deeply nested
  • StoredEnchantments not kept when updating NexoItem (Enchanted Books)
  • Locale used for translations not updated internally when player changes Language setting
  • WorldGuard blocking storage breaking Furniture seats
  • Furnace recipe-builder not accepting experience values
  • PackObfuscator not working since 1.20
  • Glyph tags not parsed in Death-Screen
  • <lore> template placeholder rendering literally when item has no lore
  • Nexo items substituting vanilla materials in custom recipes
  • Text after glyph not rendering in scoreboard
  • 1.21.6 non-22.5-increment single angles not accounted for

Changes​

  • Allow Durations to be defined with multiple DurationUnits (100s -> 1m40s)
  • Split S3 PackServer logic between endpoint- & public urls for upload/download

Features​

  • PackValidator: Now detects invalid PNG files (such as JPEGs renamed to .png) and attempts to fix them automatically.
  • New Placeholders: Added &lt;model&gt; and &lt;texture&gt; placeholders for ItemTemplates. These reference itemid.Pack.model/texture if specified; otherwise, they default to ItemId.
  • Async Furniture-Packet Handling: Significantly improves performance for larger servers or those utilizing a high volume of furniture.
  • Sprite-Animated Glyphs (1.21.10+): * More performant than shader-based animations.
    • Best used for GIF-style emotes in chat (size is locked like a normal sprite object).
    • Added an optional type (SPRITE/SHADER) to the Glyph config.
    • New settings.yml default: SPRITE for 1.21.10+, SHADER for versions below 1.21.10.
  • NexoCreativeInventory Hook: Integration with the NexoCreativeInventory addon mod to display NexoItems in Creative Inventory menus.
  • FurnitureTextEntity Mechanic: Allows you to attach one or more TextDisplay entities to furniture to display text, glyphs, or other information.

[Fixes]​

- Recipe issue caused by newer Paper changes for 1.21.11, breaking recipes on <1.21.10

- Vanilla furnace-recipes potentially blocked if equal to nexo recipe

[Fixes]​

  • Issues with Shapeless Recipes
  • Ghast-Type FurnitureHitbox not working
  • Translation-offset for FurnitureHitboxes against non-full blocks
  • broken_modelbroken_texture not generated properly into ItemModels
  • cast_modeltexture not generated properly into ItemModels
  • Potential FurnitureBed nullpointer when dismounting/disconnecting whilst in bed
  • StringBlock#require_supporting not handled when supporting block is broken by other block or decays
  • NexoConverter not properly saving changes to config
  • Shulker & Ghast FurnitureHitboxes not registered for findTargetFurnitureHitbox (PickBlock, etc.)
  • Do not warn about Mipmap issue for 1.21.11+ servers if texture is in Items Atlas
  • Potentially fix issues with WorldGuard flags and priority
  • Add missing furniture.lookup_block_on_light_remove to mechanics.yml
  • Remove old debug commands
  • Allow single element entries for FurnitureSeat & FurnitureBed configs
  • Minimum Attack Charge being set to 1 if unspecified on 1.21.11
  • PackGeneration potentially timing out if ModelEngine failed to load or takes too long
  • Support for Pack.composite_textures for automatically stacking textures on an item
  • Explicitly specified empty Drop.loots being ignored and item dropping itself
  • Paintings not registered in atlas depending on directory used
  • Issues with Trims for 1.21.11 clients on a 1.21.10 or older server
  • Issues with Models on <1.21.10 clients on a 1.21.11+ server
  • Issue when shutting down server whilst a FurnitureBed is being used


[Changes]​

  • Call NexoFurnitureInteractEvent even if player is blocked (called in cancelled state)
  • Improve spawning & performance of FurnitureBeds


[Features]​

  • Add Misc#prevent_breaking
    • Prevents an item from breaking when it has 1 use left
    • Can be used together with Pack.broken_modelbroken_texture to display another model/texture when reaching this state
  • New Directional-Block type BARREL
    • Used to make a block with 6 identical rotated facings like a vanilla barrel
    • Same as DROPPER, takes north, west, south, east, up & down facings

[Fixes]​

  • Recipe-Permissions not working
  • Furnace-Recipe permisssion check not working
  • Invalid Recipe handling for filling ingredients in Recipe Showcase
  • Placing blocks against furniture not working
  • Custom-Mechanic event not defaulting unspecified event-type params to all
  • AttributeModifiers not applying to NexoItems
  • Charged- & Firework model not working with Nexo-generated ItemModels
  • PotionContents#customColor being reset by ItemUpdater
  • Bad NexoItem dropped from Connectable Furniture using ITEM_MODEL type
  • Incorrect behaviour from templates using <lore> placeholder
  • Furniture-crops not breaking when farmland_required and farmland is trampled
  • Modifying Drop in NExoFurnitureBreakEvent not reflected in final drop

[API]​

  • Expose title in StorageMechanic
  • Add StorageMechanic#storageContent
  • Deprecated & ScheduleForRemoval FurnitureHelper methods, moved into NexoFurniture
  • Add NexoItems#registerUpdateCallback, lets plugins hook into Nexo to alter pre/post ItemUpdater behaviour of Nexo

[Changes]​

  • Evolution-Mechanic delay -> duration
  • Removed exclude_modelengine_shaders setting
  • Inlined Pack.import.modelengine setting
  • Move some Item-properties to TriState over Boolean?
  • Make Plugin.formatting.chat_standard_tags not format system-chats if disabled
  • Add Plugin.formatting.translatable to disable handling of TranslatableComponents
    • Fixes issue of %s not being formatted
  • Rename directional_type to type in Directional-Mechanic
  • Add setting to disable Dialog formatting
  • Simplified setup for Directional Blocks
    • No need for dummy NexoItems anymore
    • Automatically set the custom-variations and all based on defined DirectionalType
    • Old format is still supported
    • You can also reuse custom_variation of the parent & 1 child-block (Logs need 3 variations not 4, etc)

[Features]​

  • NexoITems used in LootTables missing properties
  • Add /nexo dumpitem command
    • If no argument, prints out mainhand/offhand of sending player
    • Can specify a NexoItem ID or player(s) to print out helf item-info for
  • Add Directory-based files in NexoInventory
    • Adds new NexoInventory.type to inventory.yml, defaults to FILE
    • Changing to DIRECTORY makes the NexoInventory organize everything into the corresponding folder structure as found in plugins/Nexo/items
    • Folder-icon can be customized with NexoInventory.directory_icon
  • Add Search-button to NexoInventory(1.21.6+)
    • Can be customized with NexoInventory.search_icon in inventory.yml
  • Make icon-settings in inventory.yml support ItemModels directly
    • No need for referencing a NexoItem if you provide an ItemModel in the Nexo ResourcePack
    • Referenced like all other ResourcePack files, namespace:key

[Fixes]​

- Placing blocks against Decorated Pots & Cauldrons not working
- Improve stream checks for performance (<\@taiyouh >)
- Missing custom Chorus-Block info from blockinfo command
- Parsing of some Conditional ItemModel properties
- Items with ItemTemplates having injectId false and not working
- Invalid dismounting for FurnitureSeats on <1.21.4 servers
- Missing TintSource when merging existing ItemModels
* Caused items using Leather to not be dyeable with for example ModelEngine
- WorldGuard-Flag issue, interact taking priority over nexo-furniture-interact etc
- Optimize SaplingTask
- Zip External Packs not always merging & obfuscating Overlays properly
- Items with MaxDamage component not losing durability when undamaged
- Glyphs not correctly applying the global shadow property from setitngs.yml if unspecified in tag
- Concurrency issues for Folia servers



[Changes]​

- Dropped support for 1.20.4, 1.20.5, 1.20.6, 1.21 (not 1.21.1)
- Optimizations to ItemStack packet-handling to reduce lag & desync
- Moved NexoInventory out of `settings.yml` and into `inventory.yml`
- Move away from CommandAPI for commands
* Easier to maintian & faster updater with new releases
- Simplify Soulbound Mechanic <\@yeahakis>
- FurnitureSeats now only exist whilst players sit on the furniture
* Spawn when player interacts with furniture, remove it when they dismount
* Less entities in world with a lot of seat-furniture



[Features]​

- 1.21.9 & 1.21.10 support
- Add support for reloading Dialogs without a server-restart
* New Dialogs will require a full restart to be registered
- Add global FurnitureProperties via `default_properties` to mechanics.yml for furniture
- Add setting to change output-path of Nexo's ResourcePack, defaults to `plugins/Nexo/pack/pack.zip`
* Can be a single entry or a list of multiple entries to copy to
- Add Pack.composite_models` to automatically merge in ItemModels into your NexoItem

[Fixes]​

- Players being timed out due to bad packet-handling & recursive issue

[Fixes]​

- Recipe save-command not working if files are missing
- Furnace-recipes not supporting permissions
- Vanilla dye-recipes not working for furniture
- Minor 1.20.4/1.20.6 Nullpointer Exceptions
- Issues with some tools in Axiom & Nexo CustomBlocks
- Namespaced enchantments not being supported
- Custom Mob-Armor not properly auto-setting allowed_entity_types
- `oversized_in_gui` not transferred when merging resourcepacks
- ItemTemplates not properly merging all properties onto items using them
- tintSource sometimes not set for ItemModels
- HideTablist & scoreboard background settings not working on some client-versions
- Issues with Nexo sometimes transforming components when it shouldnt
- Jukebox mechanic not working for furniture & blocks
- Merchant Menu issue due to improper styling set on some items causing disconnect
- Placing furniture against wall LimitedPlacing furniture not working
- NoteBlocks mining slow even when noteblock mechanic is disabled in Nexo

[Changes]​

- Merge overrides into ItemModels found in PackOverlays aswell
- `Components.equippable.model` renamed to `asset_id`
- FurnitureSeats swapped to Custom Entities
- Dismounting FurnitureSeats now puts you ontop of the furniture
- Change logic for handling of NexoPostPackGeneratedEvent to fix large packs not being merged in

[Features]​

- Add `default_shadow` to glyphs for per-glyph shadow control aswell
- Add Template Placeholders
- Add support for Weapon, BlocksAttacks, BreakSound, CanPlaceOn/CanBreak Components
- Add `delay_hitbox_toggle` & `automatic_close_delay` option for FurnitureDoor Mechanic
* Close-Delay is a duration; 2s (seconds), 3m (minutes), 4t(ticks) etc