# Observer - v1.2.2
## Restriction Overhaul, Packet Menus & Bundle Fix
### PLUGIN FIXES
- **Bundle contents wiped on inventory click** — Bundles in survival/adventure inventories had their stored items cleared whenever the restriction sanitizer ran. Bundles are now skipped entirely so contents persist.
- **Lunge enchantment bypass** — On 1.21.11+, the spear's Lunge mechanic is now blocked while the spear is on cooldown. Wired reflectively to keep 1.21.4–1.21.10 servers compatible.
- **Pedestal hologram crash on MMOItems items** — Fixed `InventoryClickEvent` exception when a pedestal references an item whose display name carries legacy formatting codes.
- **Group resolution NullPointerException** — Hardened the category lookup against obfuscation rewrites that exposed null-string comparisons.
### PLUGIN UPDATES
- **Item Restriction Groups** — Toggle one or more group switches before confirming so a single restriction applies to many items at once:
- **Affect All Tiers** — same tool, every tier (e.g. diamond sword → all tier swords).
- **Affect Tool Family** — same tier, every tool of that tier (e.g. diamond sword → all diamond tools).
- **Affect Armor Set** — every armor piece of the same tier.
- **Affect All Forms** — drinkable, splash, and lingering forms of a potion variant.
- **Affect All Variants** — every level and duration of a potion's effect.
- **Affect Item Category** — every item that shares the same category.
- **Item Categories** — Categories that the **Affect Item Category** toggle recognises:
- Banner Patterns, Pottery Shards, Templates, Enchanted Books, Spawn Eggs
- Arrows, Nautilus Armor, Horse Armor, Heads, Golem Statues
- Chests, Signs, Boats, Lanterns, Torches, Bulbs, Anvils, Beds
- Corals, Coral Fans, Chains
- Potions, Splash Potions, Lingering Potions
- Discs, Goat Horns, Harnesses, Bundles
- **Specific items override groups** — When an `items.<id>` entry exists, it fully overrides every matching group and category. Server owners can use groups for broad coverage and add a specific item entry whenever they need a fine-tuned exception.
- **Group icons cycle through their members** — The restriction list and editor cycle the group icon through every item in the group once per second so server owners can see exactly what the group covers.
- **Pretty group names** — Restriction list and editor now display readable titles like "Copper Armor", "Strength Potion", or "Banner Patterns" instead of the raw `copper_armor` / `potion_STRENGTH` keys.
- **Add Item flow stays on one page** — Placing the item now reveals the toggles inline; confirm continues to the editor instead of redirecting on placement.
- **Group entries** appear in the item-restriction list alongside direct entries.
- **Packet-based menus** — Every Observer menu now renders client-side via packets, eliminating per-menu inventory allocation and reducing interference from external inventory listeners.
- **Optional Bookshelf chat manager** — Server owners who disable Bookshelf's chat manager can now still use Observer's chat-driven entry prompts; Observer falls back to the spigot async chat path automatically.
### INTERNAL UPDATES
- Bumped **Bookshelf-API** to `1.2.37`.
- Bumped **Bookshelf-Events** to `1.1.2`.
- Bumped **Bookshelf-CommandAPI** to `1.0.43`.
- Bumped **Observer-Paper** to `1.2.2`.