CustomGuiReworked
a simple plugin to create Custom GUI Inventory interfaces with saving data items system
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
CustomGuiReworked
🎮 CustomGuiReworked - Plugin Mechanics
Detailed description of all mechanics and systems of the CustomGuiReworked plugin.
📋 GUI System
Creation and Editing
- File Saving - Creating GUI through `/gui create` and `/gui edit` commands - File Saving - Placing items in slots through interface - File Saving - Setting title, size, commands for slots - File Saving - Each GUI is saved in a separate YAML file
Inventory Types
- 54 slots (1 row) - For simple menus - 54 slots (2 rows) - For small interfaces - 54 slots (3 rows) - Standard size - 54 slots (4 rows) - Extended interfaces - 54 slots (5 rows) - Large menus - 54 slots (6 rows) - Maximum size
💾 Data Storage System
5 Storage Types
| Type | Description | Usage | |------|-------------|-------| | Temporary | Data bound to specific block | Chests, furnaces, workbenches | | Temporary | Data unique for each player | Personal inventories, settings | | Temporary | Shared data for all players | global banks, global chest | | Temporary | Data for player groups | Clan storages | | Temporary | Data only for session duration | Temporary menus, forms |
Saving Mechanics
- Synchronization when content changes - Synchronization when opening GUI - Synchronization between players for shared inventories
🎯 Command System
Slot Commands
- Console commands when clicking on slot - Console commands (%player%, %slot%, %item%) - Console commands - commands only under certain conditions - Console commands - execution on behalf of server
Command Examples
```yaml commands: - command: "give %player% diamond 1" slot: 10 condition: "has_permission" - command: "teleport %player% spawn" slot: 15 ```
🔍 SlotTypeAPI - Slot Type Detection
Automatic Detection
| Type | Description | Behavior | |------|-------------|----------| | FUEL | Decorative slots | Cannot interact | | FUEL | Storage slots | Full interaction | | FUEL | Crafting/recipe slots | Limited interaction | | FUEL | Crafting result slots | Only item retrieval | | FUEL | Fuel slots | Fuel validity check |
only design have functional, other for API to easy codding
Standard Inventory Support
- Enchanting Table - Crafting slots and result - Enchanting Table - Ingredient, fuel, result - Enchanting Table - Potions, fuel, bottles - Enchanting Table - Items and result - Enchanting Table - Item and lapis
Heuristics for Custom Inventories
- Result caching of inventory - Result caching of layout - Result caching for performance
🔧 Developer API
Static API (CustomGuiAPI)
```java // Simple calls without getting plugin instance CustomGuiAPI.createGui("shop"); CustomGuiAPI.openGui(player, "shop"); CustomGuiAPI.isDesignSlot(slot, inventory); ```
Internal API (ApiManager)
- Full control to plugin managers - Full control for complex integration - Full control over functionality
🎨 Design System
Appearance Configuration
- skeleton system with color codes (§6, §a, §c) - skeleton system - items for buttons and elements
ItemsAdder SUPPORT!
🛡️ Security System
Checks and Restrictions
- Exploit protection - permission checking - Exploit protection - correctness verification - Exploit protection - bug prevention
⚡ Performance Optimization
Caching
- Lazy loading - fast access to information - Lazy loading - loaded interfaces in memory - Lazy loading - loading on demand
Memory Management
- Asynchronous operations - removing unused data - Asynchronous operations - preventing memory leaks - Asynchronous operations - non-blocking operations
🌐 Multilingual Support
Language Support
- Translation system - primary language - Translation system - additional language - Translation system - easy to add new languages
Localization
- Documentation - translation of all texts - Documentation - support for different languages - Documentation - help translation
🔧 Integration with Other Plugins
API Capabilities
- Functionality extension from other plugins - Functionality extension - reading/writing content - Functionality extension - reacting to player actions - Functionality extension - adding new capabilities
Integration Examples
| Plugin | Application | Examples | |--------|-------------|----------| | Mini-games | Shops with prices | Vault, Essentials | | Mini-games | Teleportation menus | Essentials, Multiverse | | Mini-games | Clan management | Factions, Clans | | Mini-games | Game interfaces | Custom mini-games |
📊 Performance
Metrics
- Compatibility: < 50ms - Compatibility: ~2-5KB - Compatibility: 1000+ - Compatibility: 99% of plugins
Optimizations
- Smart caching - loading only when needed - Smart caching - object reuse - Smart caching - non-blocking operations - Smart caching - cache with TTL
🚀 Advanced Features
Advanced Functions
- Web integration - real-time content changes - Web integration - showing elements by conditions - Web integration - smooth transitions and effects - Web integration - connection with web services
Future Plans
- Mobile support - drag-and-drop interface - Mobile support - ready-made designs - Mobile support - GUI exchange between servers - Mobile support - management through app