▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/CustomGuiReworked
CustomGuiReworked

CustomGuiReworked

a simple plugin to create Custom GUI Inventory interfaces with saving data items system

213
2

🎮 CustomGuiReworked - Plugin Mechanics

Detailed description of all mechanics and systems of the CustomGuiReworked plugin.

📋 GUI System

Creation and Editing

  • Built-in Editor - Creating GUI through /gui create and /gui edit commands
  • Visual Editing - Placing items in slots through interface
  • Property Configuration - Setting title, size, commands for slots
  • File Saving - Each GUI is saved in a separate YAML file

Inventory Types

  • 9 slots (1 row) - For simple menus
  • 18 slots (2 rows) - For small interfaces
  • 27 slots (3 rows) - Standard size
  • 36 slots (4 rows) - Extended interfaces
  • 45 slots (5 rows) - Large menus
  • 54 slots (6 rows) - Maximum size

💾 Data Storage System

5 Storage Types

TypeDescriptionUsage
BlockData bound to specific blockChests, furnaces, workbenches
PersonalData unique for each playerPersonal inventories, settings
GlobalShared data for all playersglobal banks, global chest
TeamData for player groupsClan storages
TemporaryData only for session durationTemporary menus, forms

Saving Mechanics

  • Automatic saving when content changes
  • Data loading when opening GUI
  • Synchronization between players for shared inventories

🎯 Command System

Slot Commands

  • Command execution when clicking on slot
  • Variable support (%player%, %slot%, %item%)
  • Conditional execution - commands only under certain conditions
  • Console commands - execution on behalf of server

Command Examples

commands:
  - command: "give %player% diamond 1"
    slot: 10
    condition: "has_permission"
  - command: "teleport %player% spawn"
    slot: 15

🔍 SlotTypeAPI - Slot Type Detection

Automatic Detection

TypeDescriptionBehavior
DESIGNDecorative slotsCannot interact
CONTAINERStorage slotsFull interaction
CRAFTCrafting/recipe slotsLimited interaction
RESULTCrafting result slotsOnly item retrieval
FUELFuel slotsFuel validity check

only design have functional, other for API to easy codding

Standard Inventory Support

  • Crafting Table - Crafting slots and result
  • Furnace - Ingredient, fuel, result
  • Brewing Stand - Potions, fuel, bottles
  • Anvil - Items and result
  • Enchanting Table - Item and lapis

Heuristics for Custom Inventories

  • Size analysis of inventory
  • Pattern detection of layout
  • Result caching for performance

🔧 Developer API

Static API (CustomGuiAPI)

// Simple calls without getting plugin instance
CustomGuiAPI.createGui("shop");
CustomGuiAPI.openGui(player, "shop");
CustomGuiAPI.isDesignSlot(slot, inventory);

Internal API (ApiManager)

  • Direct access to plugin managers
  • Extended capabilities for complex integration
  • Full control over functionality

🎨 Design System

Appearance Configuration

  • Titles with color codes (§6, §a, §c)
  • skeleton system - items for buttons and elements

ItemsAdder SUPPORT!

🛡️ Security System

Checks and Restrictions

  • Access rights - permission checking
  • Data validation - correctness verification
  • Exploit protection - bug prevention

Performance Optimization

Caching

  • Slot type cache - fast access to information
  • GUI cache - loaded interfaces in memory
  • Lazy loading - loading on demand

Memory Management

  • Auto-cleanup - removing unused data
  • Size limitation - preventing memory leaks
  • Asynchronous operations - non-blocking operations

🌐 Multilingual Support

Language Support

  • English - primary language
  • Russian - additional language
  • Translation system - easy to add new languages

Localization

  • Messages - translation of all texts
  • Commands - support for different languages
  • Documentation - help translation

🔧 Integration with Other Plugins

API Capabilities

  • GUI creation from other plugins
  • Data management - reading/writing content
  • Event handling - reacting to player actions
  • Functionality extension - adding new capabilities

Integration Examples

PluginApplicationExamples
Economy PluginsShops with pricesVault, Essentials
Warp SystemsTeleportation menusEssentials, Multiverse
Clan SystemsClan managementFactions, Clans
Mini-gamesGame interfacesCustom mini-games

📊 Performance

Metrics

  • GUI loading time: < 50ms
  • Memory per GUI: ~2-5KB
  • Concurrent users support: 1000+
  • Compatibility: 99% of plugins

Optimizations

  • Lazy initialization - loading only when needed
  • Object pooling - object reuse
  • Asynchronous processing - non-blocking operations
  • Smart caching - cache with TTL

🚀 Advanced Features

Advanced Functions

  • Dynamic GUIs - real-time content changes
  • Conditional logic - showing elements by conditions
  • Animations - smooth transitions and effects
  • Web integration - connection with web services

Future Plans

  • Visual constructor - drag-and-drop interface
  • GUI templates - ready-made designs
  • Plugin marketplace - GUI exchange between servers
  • Mobile support - management through app

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:MIT
Опубликован:6 месяцев назад
Обновлён:3 месяца назад
Главная