File Details
inv_view_neoforge-3.0.1-1.21.1.jar
- R
- Jun 22, 2025
- 84.07 KB
- 793
- 1.21.1
- NeoForge
File Name
inv_view_neoforge-3.0.1-1.21.1.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
Port InvView to NeoForge 1.21.1 with complete refactoring and new features
- Fully ported InvView from Forge to NeoForge 1.21.1, ensuring compatibility with the latest API.
- Refactored codebase for modularity and extensibility:
- Introduced `InventoryProvider` API for dynamic inventory handling (PlayerInventoryProvider, EnderChestProvider).
- Replaced hardcoded commands with `InventoryProviderRegistry` for provider-based command registration.
- Created `AbstractInventoryScreenHandler` to centralize common inventory container logic.
- Added `InventoryLockManager` with `InventoryType` enum (PLAYER_INVENTORY, ENDER_CHEST, CURIOS, CURIOS_COSMETIC) to prevent concurrent modifications.
- Implemented Curios API integration:
- Added `CuriosInventoryProvider` and `CuriosCosmeticInventoryProvider` for functional and cosmetic Curios slots.
- Updated `PlayerCuriosInventoryScreenHandler` and `PlayerCuriosCosmeticInventoryScreenHandler` to handle inventory changes with proper synchronization.
- Registered Curios providers conditionally using `ModList.get().isLoaded("curios")`.
- Integrated LuckPerms support for fine-grained permissions:
- Created `PermissionHandler` for conditional permission checks (`inv_view.inv`, `inv_view.echest`, `inv_view.curios`, `inv_view.curios_cosmetic`).
- Fallback to Minecraft operator level 2) when LuckPerms is not installed.
- Enhanced offline player support:
- Improved `InvViewCommands` to load offline player data using `MinecraftServer.getPlayerList().getPlayerForLogin()`.
- Ensured data persistence with `InvViewNeoforge.savePlayerData()` for all inventory modifications.
- Added translation support for UI and error messages (e.g., `inv_view_neoforge.inventory_in_use.error`, `inv_view_neoforge.curios.inventory`).
- Optimized code for performance and maintainability, removing deprecated Forge methods.