We are pleased to announce a significant update to the MineAI plugin!
New features:
Language Selection System
- Graphical interface with custom heads for each language
- 12 languages available (English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Japanese, Chinese, Korean, Arabic)
- Option to disable translation
- Added ChatGPT AI!
- Automatic synchronization with both GeminiAI and ChatGPT
Debug Mode
- Toggle button in the GUI for easy activation/deactivation
- Detailed logging of API requests and responses
- Conversation history monitoring
General Improvements
To access the new features, use the /mineai admin command and navigate through the available options.We hope you enjoy these improvements! Your feedback is important to us
- Enhanced user interface GUI
- Custom heads system for visual selection
- Better error and exception handling
- Optimized performance
IMAGES:
Here's the screenshots about MineAI.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
CONFIG.YML Definitive:
YAML:# MineAI Configuration # General Settings general: translation-language: "es" # Old setting, maintained for backward compatibility default-language: "es" # Default language for AI responses if not specified by user use-system-instruction: true # Use system instructions for OpenAI instead of adding to prompt debug: false # Enable debug mode to show additional information in console # GeminiAI Configuration gemini: api-key: "your-api-key" # API key for GeminiAI model: "gemini-1.5-flash" # GeminiAI model max-prompt-length: 200 # Maximum length of the prompt cooldown-seconds: 10 # Cooldown in seconds temperature: 0.7 # Temperature for response generation (0.0 to 1.0) max-output-tokens: 1024 # Maximum tokens in response max-history: 10 # Maximum number of conversation pairs to keep in history # OpenAI (ChatGPT) Configuration openai: api-key: "your-openai-api-key" # API key for OpenAI model: "gpt-3.5-turbo" # OpenAI model to use temperature: 0.7 # Temperature for response generation (0.0 to 1.0) max-output-tokens: 1024 # Maximum tokens in response max-history: 10 # Maximum number of conversation pairs to keep in history max-prompt-length: 200 # Maximum length of the prompt cooldown-seconds: 10 # Cooldown in seconds # Messages Configuration messages: no-permission: <color:#ff1814>You don't have permissions.</color> # Message when the player doesn't have permission prompt-usage: "<color:#ff1814>Use: /mineai <prompt></color>" # Message when the command is used without a prompt user-question: "<color:#e1ff00>You: </color>" # Prefix for user questions ai-response: "<color:#e1ff00>MineAI: </color>" # Prefix for AI responses console-error: "<color:#ff1814>Only players can use this command.</color>" # Message when the command is used from the console reload-success: "<color:#00ff10>Config reloaded successfully!</color>" # Message when the config is reloaded error-message-cooldown: "<color:#ff1814>Please wait before trying again.</color>" # Message when the player is on cooldown error-message-length: "<color:#ff1814>Error: The maximum length of the prompt is %value% characters.</color>" # Message when the prompt is too long ai-selection: usage: "<color:#ff1814>Use: /mineai ai <gemini|gpt></color>" success: "<color:#00ff10>AI changed to: %ai%</color>" invalid: "<color:#ff1814>Invalid AI. Use: gemini or gpt</color>" language-selection: usage: "<color:#ff1814>Use: /mineai lang <language_code></color>" success: "<color:#00ff10>Language changed to: %lang%</color>" invalid: "<color:#ff1814>Invalid language code.</color>" translation-instruction: "Please translate your response to %lang%" # Instruction added to prompt for translation system-instruction: "You are a helpful assistant in a Minecraft server. Please respond in %lang%." # System instruction for OpenAI language-selected: "<green>Language set to %lang_name% (%lang_code%)</green>" # Message when a language is selected from GUI # GUI Configuration gui: title: "<dark_gray><bold>MineAI</bold> <gray>»</gray> <white>%ai% Settings</white>" size: 3 language-settings: title: "<dark_gray><bold>MineAI</bold> <gray>»</gray> <white>Language Settings</white>" items: default-language: material: "KNOWLEDGE_BOOK" name: "<green>Default Language</green>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 13 messages: input: "<green>Enter new default language code (e.g. en, es, fr):</green>" debug-mode: material: "REDSTONE_TORCH" name: "<gold>Debug Mode</gold>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to toggle</gray>" slot: 15 messages: toggle-on: "<green>Debug mode enabled</green>" toggle-off: "<green>Debug mode disabled</green>" back: material: "ARROW" name: "<gray>Back</gray>" slot: 26 exit: material: "BARRIER" name: "<red>Exit</red>" slot: 25 language-selector: title: "<dark_gray><bold>MineAI</bold> <gray>»</gray> <white>Select Language</white>" size: 4 languages: english: code: "en" name: "English" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODgzMWM3M2Y1NDY4ZTg0NTIxNDYzNzMxY2U1OWMyZWZkOTkyY2VmZGMyZDQ1YTg2MDUyZmZlYmFhYjhhZDAyYyJ9fX0=" slot: 10 lore: - "<gray>Click to select English</gray>" spanish: code: "es" name: "Español" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzJiZDQ1MjE5ODMzMDllMGFkNzZjMWVlMjk4NzQyODc5NTdlYzNkOTZmOGQ4ODkzMjRkYThjODg3ZTQ4NWVhOCJ9fX0=" slot: 11 lore: - "<gray>Click to select Spanish</gray>" french: code: "fr" name: "Français" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTEyNjlhMDY3ZWUzN2U2MzYzNWNhMWU3MjNiNjc2ZjEzOWRjMmRiZGRmZjk2YmJmZWY5OWQ4YjM1Yzk5NmJjIn19fQ==" slot: 12 lore: - "<gray>Click to select French</gray>" german: code: "de" name: "Deutsch" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWU3ODk5YjQ4MDY4NTg2OTdlMjgzZjA4NGQ5MTlmMzIwM2QyZGVjNTdiNGQzOTMzM2YyNTRmMWMzOGJmNzJjIn19fQ==" slot: 13 lore: - "<gray>Click to select German</gray>" italian: code: "it" name: "Italiano" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODVjZTg5MjIzZjk0Y2U1YWU1M2RlYzYxMWM4MmVkNWI5YTM5MTdiNjNkYTk3ZWI5Y2IyNGZhNTEyODY3YjgifX19" slot: 14 lore: - "<gray>Click to select Italian</gray>" portuguese: code: "pt" name: "Português" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTBhNGRiZjY3ZTlmYTkyOGE3MWE4MzkyOTY0ZTY2Y2RiODIwZmU3M2YwZjZlOGVkNGQxMjI1NTVkNmY3OSJ9fX0=" slot: 15 lore: - "<gray>Click to select Portuguese</gray>" dutch: code: "nl" name: "Nederlands" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzIzY2YyMTBlZGVhMzk2ZjJmNWRmYmNlZDY5ODQ4NDM0ZjkzNDA0ZWVlZWFiYjV5MTc5ZGIwMjZjYzUifX19" slot: 16 lore: - "<gray>Click to select Dutch</gray>" russian: code: "ru" name: "Русский" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTZlYWZlZjk4MGQ2MTE3ZGFiZTg5ODJhYzRiNDUwOTg4N2UyYzQ2MjFmNmE4ZmU1YzliNzM1YTE5ZDRkMTc4In19fQ==" slot: 19 lore: - "<gray>Click to select Russian</gray>" japanese: code: "ja" name: "日本語" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDY0MGMyYjVmZTQ2YTRlMjlhNDJmNTVlYjM4ZGE3ZWJiMjAzOTMzZGZhNDYzZWRjZmYzMmYyZTM1MGFiZCJ9fX0=" slot: 20 lore: - "<gray>Click to select Japanese</gray>" chinese: code: "zh" name: "中文" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2Y5YmMwMzVjZGM4MGYxYzk1MDJjMTY2YTIyZjQ3ODFhM2YzZGU3YTRlOTU1ZGJmODJlMmVjMDM4YmM0ZTJjIn19fQ==" slot: 21 lore: - "<gray>Click to select Chinese</gray>" korean: code: "ko" name: "한국어" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTQ1ZmIwMDVlYzAyN2FmYWJmMzE5ZGZkODJkOGJlYzRhZWY4MzgxMTkzMjI1NjVkMmFkNjZhMWZkNmUwZTNjIn19fQ==" slot: 22 lore: - "<gray>Click to select Korean</gray>" arabic: code: "ar" name: "العربية" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTc1NWU5M2JkZDVhNTQ5NTQ2ZTRjZjg5ZmZmYTJjZjllMzY1ZTY3MDQ3N2FkY2UwM2YyOWJkZmYyMjhkOCJ9fX0=" slot: 23 lore: - "<gray>Click to select Arabic</gray>" off: code: "off" name: "No Translation" texture-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWE2Nzg3YmEzMjU2NGU3YzJmM2EwY2U2NDQ5OGVjYmIyM2I4OTg0NWU1YTY2YjVjZWM3NzM2ZjcyOWVkMzcifX19" slot: 31 lore: - "<gray>Click to disable translation</gray>" back: material: "ARROW" name: "<gray>Back</gray>" slot: 35 ai-specific: gemini: items: api-key: material: "PAPER" name: "<color:#00ff00>API Key</color>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 10 messages: input: "<green>Enter your Gemini API key:</green>" model: material: "BOOK" name: "<color:#14ff00>Model</color>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 11 messages: input: "<green>Enter the new model name:</green>" temperature: material: "BLAZE_POWDER" name: "<blue>Temperature</blue>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 12 messages: input: "<green>Enter new temperature (0.0-1.0):</green>" max-output-tokens: material: "PAPER" name: "<green>Max Output Tokens</green>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 13 messages: input: "<green>Enter new max output tokens:</green>" max-history: material: "BOOKSHELF" name: "<yellow>Max History</yellow>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 14 messages: input: "<green>Enter new max history:</green>" max-prompt-length: material: "WRITABLE_BOOK" name: "<green>Max Prompt Length</green>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 15 messages: input: "<green>Enter new max prompt length:</green>" cooldown-seconds: material: "CLOCK" name: "<green>Cooldown</green>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 16 messages: input: "<green>Enter new cooldown (seconds):</green>" back: material: "ARROW" name: "<gray>Back</gray>" slot: 26 exit: material: "BARRIER" name: "<red>Exit</red>" slot: 25 openai: items: api-key: material: "PAPER" name: "<blue>API Key</blue>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 10 messages: input: "<green>Enter your OpenAI API key:</green>" model: material: "ENCHANTED_BOOK" name: "<blue>Model</blue>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 11 messages: input: "<green>Enter the new model name:</green>" temperature: material: "BLAZE_POWDER" name: "<blue>Temperature</blue>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 12 messages: input: "<green>Enter new temperature (0.0-1.0):</green>" max-output-tokens: material: "PAPER" name: "<green>Max Output Tokens</green>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 13 messages: input: "<green>Enter new max output tokens:</green>" max-history: material: "BOOKSHELF" name: "<yellow>Max History</yellow>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 14 messages: input: "<green>Enter new max history:</green>" max-prompt-length: material: "WRITABLE_BOOK" name: "<green>Max Prompt Length</green>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 15 messages: input: "<green>Enter new max prompt length:</green>" cooldown-seconds: material: "CLOCK" name: "<green>Cooldown</green>" lore: - "<gray>Current: <yellow>%value%</yellow></gray>" - "<gray>Click to change</gray>" slot: 16 messages: input: "<green>Enter new cooldown (seconds):</green>" back: material: "ARROW" name: "<gray>Back</gray>" slot: 26 exit: material: "BARRIER" name: "<red>Exit</red>" slot: 25 # Common language codes for reference: # en - English # es - Spanish # fr - French # de - German # it - Italian # pt - Portuguese # nl - Dutch # ru - Russian # ja - Japanese # zh - Chinese # ko - Korean # ar - Arabic
Enjoy this update, and thank you very much!
