Lilium Backpacks

Lilium Backpacks

By LiliumStudio Published 29 Jun 2026 · Updated 20 Jul 2026
1.3k
4.5

Select version for changelog:

Changelog

Changelog - Lilium Backpacks

[1.1.0]

Added

  • Placeable Backpack Block System: Added full support for placing backpacks in the world as physical 3D blocks by crouching (sneak + right-click). Includes custom block components lb:before_place for placement validation and lb:on_break for item recovery.
  • Dynamic 2D Block Permutation Matrix: Implemented lb:v_hi (0–1) and lb:v_lo (0–10) block state permutations in lb:backpack_block to encode all 22 backpack visual variants (16 dye colors + 6 material tiers) into a single block definition.
  • Block Geometries & Orientation: Added backpack_block.geo.json 3D model and integrated minecraft:cardinal_direction state mapping for 4-way cardinal block alignment.
  • Orphaned Container Safety Net: Added automatic block presence validation in BackpackEntity.js that detects forced block destruction (e.g. via /fill commands) and safely drops a recoverable item stack to prevent container loss.

Changed

  • Modular Script Architecture: Refactored script architecture into a clean, decoupled module structure under BP/scripts/api/ (EntityRuntime.js, Logger.js, GMath.js) and BP/scripts/modules/ (BackpackEntity.js, PlayerController.js, PlacementSystem.js, PlacedBackpackSystem.js, UpgradeSystem.js, DyeSystem.js, events.js, constants.js).
  • Direct World Interaction: Upgrading (via upgrade kits) and dyeing backpacks (via Minecraft dyes) can now be performed directly on placed world containers, removing the legacy requirement of equipping the backpack in the offhand slot.
  • Refactored Array Proxy Mutation Interceptor: Optimized EntityRuntime.js Proxy implementation to intercept only mutating array methods (push, pop, splice, shift, unshift, sort, reverse), eliminating heavy JSON.stringify serialization on read-only array iterations (forEach, map, find, .length).
  • Garbage Collection Throttling: Throttled gc() cache cleanup execution in EntityRuntime.js to run periodically every 100 ticks (~5 seconds) instead of every tick, significantly reducing TPS overhead on high-population servers.
  • UI Folder Organization: Consolidated custom container UI definition files into RP/ui/lilium_backpacks/ with dedicated templates for all 6 inventory tiers (from 9 to 54 slots).
  • Version Update: Updated manifest.json versions from 1.0.0 to 1.1.0.

Fixed

  • Structure Manager Duping & Item Loss Safeguards: Wrapped structure saving (saveBackpackStructure) in a robust try-catch-finally block, ensuring nearby entities marked with lb:structure_saved are always cleaned up in finally, preventing accidental item deletion or ghost duplication upon structure save failures.
  • Pending Placement Memory Leak: Added automated single-tick cleanup (system.runTimeout) in PlacementSystem.js for pendingPlacements entries when block placement is cancelled by claims/protection plugins or engine events.
  • Safer Item Upgrade & Dye Consumption: Enhanced UpgradeSystem.js and DyeSystem.js to track selectedSlotIndex and re-verify held item identity before item consumption (consumeSelectedItem), preventing accidental item loss if players switch active hotbar slots during interaction.

Downloads

  • Lilium Backpacks - V1.1.0.mcaddon (358.4 KB)

Supported Minecraft versions

Installation Guides

1
remove that bug backpack in creative mode
1
support action and stuff?
1
Yes, it is compatible with Actions & Stuff