X Robots 1.2.0
Boost your server with customizable robots that generate currencies automatically!
Key Features
- Seamless Economy Integration: Works perfectly with Vault, and X-Prison currencies, to support multiple currency types. Need to support more currencies? We will implement that.
- Customizable Robot Types: Define unique robot types with different abilities, currency generation rates, and appearances.
- Intuitive GUI: Easy-to-use graphical interface for players to manage their robots, check earnings, and upgrade them effortlessly.
- Automated Currency Generation: Robots generate configurable amounts of currency over time, rewarding players passively.
- Sound & Visual Effects: Immersive experience with sounds and visual feedback when robots are added or upgraded.
- Data Persistence: Automatically saves and loads player robot data on join and quit to ensure progress is never lost.
- Command Support: Simple commands for players and admins to interact with the robots system.
- Configurable: Highly customizable configuration files to tweak robot behavior, GUI layout, and economy hooks.
Commands
- /robots — Opens the robots management GUI for the player.
- /robots collect — Collect currencies generated by your robots.
- /robotsadmin give [player] [type] [amount] — Give specified amount of robot items to a player (admin command).
- /robotsadmin open [player] — Opens a player robots GUI (admin command)
- /robotsadmin listtypes — Shows available robot types
- /robotsadmin reload — Reloads the plugin configuration files (admin command).
Permissions
- xprisonrobots.player — Allows usage of player robot commands and GUI.
- xprisonrobots.admin — Allows access to admin commands like reload the plugin / giving player robots / open player's robots GUI
Installation
- Download the latest release from the resource page.
- Place the plugin .jar into your server’s plugins folder.
- Start or reload your server to generate configuration files.
- Configure the guis.yml,config.yml, robots.yml to customize robot types and currency settings.
- Make sure to have currency types set per each robot based on the plugins you use!Config Files
config.yml
debug-mode: false enable-metrics: false database_type: H2 mysql: host: localhost # MySQL server hostname or IP address. port: 3306 # MySQL server port (default is 3306). database: dbName # Name of the database to use. username: dbUser # Username for database authentication. password: dbPass # Password for database authentication. connection_properties: connection_timeout: 60000 # Maximum milliseconds to wait for a connection from the pool. idle_timeout: 600000 # Time in ms before an idle connection is removed from the pool. keep_alive_time: 0 # How often (in ms) to keep alive idle connections. 0 = disabled. max_life_time: 1800000 # Maximum lifetime in ms of a connection in the pool. minimum_idle: 10 # Minimum number of idle connections to maintain in the pool. maximum_pool_size: 10 # Maximum number of connections in the pool. leak_detection_threshold: 0 # Threshold in ms to detect connection leaks. 0 = disabled. connection_test_query: SELECT 1 # Query used to test if a connection is valid. character_encoding: utf8 # Character encoding to use for the database connection. main-command-aliases: - robots - robot robots-reward-interval: 1 sounds: click: UI_BUTTON_CLICK # Played on UI interactions (e.g., button clicks). success: ENTITY_PLAYER_LEVELUP # Played on successful actions or rewards. info: BLOCK_NOTE_BLOCK_PLING # Played for informational messages. error: BLOCK_NOTE_BLOCK_BASS # Played when an error or invalid action occurs. robot-add: ENTITY_FIREWORK_ROCKET_BLAST # Played when player adds robot to his collectionrobots.yml
coal: name: '&7&lCoal Robot' # Display name for the robot. currency: tokens # Currency type this robot generates (e.g., tokens or gems...). base_generation: 5 # Amount generated per second at level 1. generation_per_level: 2 # Additional amount gained per level. max_level: 50 # Maximum upgrade level. upgrade_cost: base: 100 # Base cost to upgrade from level 1. multiplier: 1.25 # Multiplier for each level (exponential growth). item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzYxODczMWUwNjMzNzlhZWJmODJmMWQ2NGM0MTljOTBkN2YwYzE2NDhjNTQ4ZTliNjE1MWIxYmFiYTY2ZDcyMyJ9fX0= # Base64 texture for custom item head. material: COAL_BLOCK # Default material fallback (for when custom texture fails). custom_model_ 0 # Custom model data (used with resource packs). name: '&7&lCoal Robot' # Name shown in item form. lore: - '&7Click to add this to robots' iron: name: '&f&lIron Robot' currency: tokens base_generation: 10 generation_per_level: 3 max_level: 60 upgrade_cost: base: 250 multiplier: 1.27 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzQzZTgzNTg4ZTk2NWM4MzU5ZTY0YmJjN2ZlNTNmNDgxY2NhNGY3ZmM2YzI3NzE0ZTRlYWNlOWY1ZTliMDhiZCJ9fX0= material: IRON_BLOCK custom_model_ 0 name: '&f&lIron Robot' lore: - '&7Click to add this to robots' gold: name: '&6&lGold Robot' currency: tokens base_generation: 20 generation_per_level: 5 max_level: 75 upgrade_cost: base: 500 multiplier: 1.3 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDFiNWZkZWZmZmZmYTcwODM4MWU3MGYzNTAzYTI3NTc3MmI0NTI5NmNmOWYxNjI1YTg3ZWRjNmI2MjU0OWVmNiJ9fX0= material: GOLD_BLOCK custom_model_ 0 name: '&6&lGold Robot' lore: - '&7Click to add this to robots' emerald: name: '&a&lEmerald Robot' currency: tokens base_generation: 35 generation_per_level: 8 max_level: 100 upgrade_cost: base: 1000 multiplier: 1.35 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDNmYmIyZDY3YjZmM2UxZWExNTg0NTlhMTFhNWE4N2Q0NDkyMTc0YzJlYTA4ODEyMmRlMGVkOWQzNzllMDdjZiJ9fX0= material: EMERALD_BLOCK custom_model_ 0 name: '&a&lEmerald Robot' lore: - '&7Click to add this to robots' diamond: name: '&b&lDiamond Robot' currency: tokens base_generation: 50 generation_per_level: 10 max_level: 120 upgrade_cost: base: 2000 multiplier: 1.4 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2I1ZmFmNGNkODcxMzhjODcxY2M2YTg2NzU4MTdhODk5ODVhM2NiODk3MjFhNGM3NjJmZTY2NmZmNjE4MWMyNCJ9fX0= material: DIAMOND_BLOCK custom_model_ 0 name: '&b&lDiamond Robot' lore: - '&7Click to add this to robots' coal_gems: name: '&7&lCoal Robot (Gems)' currency: gems base_generation: 5 generation_per_level: 2 max_level: 50 upgrade_cost: base: 100 multiplier: 1.25 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzE4ODY3M2YwN2FhZGFiYWI5M2IzYWExZTc2Mjk4ODMwNTU0M2I0ZmU2YzYyYTA5ZDBmYzQwYzMwZGEzOTU4ZiJ9fX0= material: COAL_BLOCK custom_model_ 0 name: '&7&lCoal Robot (Gems)' lore: - '&7Click to add this to robots' iron_gems: name: '&f&lIron Robot (Gems)' currency: gems base_generation: 10 generation_per_level: 3 max_level: 60 upgrade_cost: base: 250 multiplier: 1.27 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODM4NWFhZWRkNzg0ZmFlZjhlOGY2Zjc4MmZhNDhkMDdjMmZjMmJiY2Y2ZmVhMWZiYzliOTg2MmQwNWQyMjhjMSJ9fX0= material: IRON_BLOCK custom_model_ 0 name: '&f&lIron Robot (Gems)' lore: - '&7Click to add this to robots' gold_gems: name: '&6&lGold Robot (Gems)' currency: gems base_generation: 20 generation_per_level: 5 max_level: 75 upgrade_cost: base: 500 multiplier: 1.3 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzM5ZDRiMGVjNWUwYTYzZTRjMjg2ZWNkZmEyNTViMzFkZjEzYzQyMDIzMzgxNWI1ZTgxZTdlZjMxNTY3NTEwOSJ9fX0= material: GOLD_BLOCK custom_model_ 0 name: '&6&lGold Robot (Gems)' lore: - '&7Click to add this to robots' emerald_gems: name: '&a&lEmerald Robot (Gems)' currency: gems base_generation: 35 generation_per_level: 8 max_level: 100 upgrade_cost: base: 1000 multiplier: 1.35 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTE2MzQ4NmZkNTMyYjIyYzQzYjVjMmVkYjg1ZTc4N2JiODU4NjAxZmMzN2EyZWQwZDYyODc3ZjRjNTM2ZWJjZiJ9fX0= material: EMERALD_BLOCK custom_model_ 0 name: '&a&lEmerald Robot (Gems)' lore: - '&7Click to add this to robots' diamond_gems: name: '&b&lDiamond Robot (Gems)' currency: gems base_generation: 50 generation_per_level: 10 max_level: 120 upgrade_cost: base: 2000 multiplier: 1.4 item: base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIzNDM5YTJmNzU3ZTQ0ZWJmYjE1Njc0NzI0NTgwNGMyZDhhYmFlODdmZjEyZmZhMjAzYTM0NGY0OGVjOTY3MCJ9fX0= material: DIAMOND_BLOCK custom_model_ 0 name: '&b&lDiamond Robot (Gems)' lore: - '&7Click to add this to robots'guis.yml
robots-gui: # Number of rows in the GUI (each row has 9 slots, max 6 = 54 slots total). rows: 6 # Title of the GUI window (supports color codes). title: '&c&lROBOTS' # Material used to fill empty slots in the GUI for aesthetics. filler: BLACK_STAINED_GLASS_PANE # List of slot indices where robot items will be displayed. # These must not overlap with control buttons (like next/prev/collect). robots-slots: - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 37 - 38 - 39 - 40 - 41 - 42 - 43 # Template for the robot item displayed in the GUI when it can be upgraded. robot-upgrade-item: name: '%name%' # Display name of the robot item. lore: - ' ' - '&eStatistics' - '&e&l| &fLevel: &e%level%' - '&e&l| &f%currency% Per Second: &e%amount%' - ' ' - '&eNext Upgrade' - '&e&l| &fLevel: &c%level% &f-> &a%new_level%' - '&e&l| &f%currency% Per Second: &c%amount% &f-> &a%new_amount%' - '&e&l| &fCost: &e%cost%' - ' ' - '&7Click to upgrade' - '&7Shift-Click to max upgrade' # Template for robot item when it has reached max level and can't be upgraded. robot-max-item: name: '%name%' # Display name of the robot item. lore: - ' ' - '&eStatistics' - '&e&l| &fLevel: &e%level%' - '&e&l| &f%currency% Per Second: &e%amount%' - ' ' - '&7This robot is maxed' # GUI navigation and action items (e.g., page navigation, reward collection). items: next-page: slot: 52 # Slot index for "Next Page" button. name: '&fNext Page' # Display name for the button. material: ARROW # Minecraft material for the button. custom_model_ 0 # Optional model data for texture packs. lore: - '&7Click to go to next page' prev-page: slot: 46 # Slot index for "Previous Page" button. name: '&fPrev Page' material: ARROW custom_model_ 0 lore: - '&7Click to go back to previous page' collect: slot: 47 # Slot index for the "Collect Rewards" button. name: '&a&lCollect Rewards' material: EMERALD custom_model_ 0 rewards-format: '&f%currency%: &e%amount%' # Format for displaying individual reward lines. lore: - '%rewards%' - ' ' - '&7Click to collect'messages.yml
robot-upgraded: '&e&lROBOTS &8>> &7You''ve upgraded your %robot%&r &7to &fLevel %level%.' robot-max-upgrade: '&e&lROBOTS &8>> &cThis robot is already max upgraded.' robot-insufficient-balance: '&e&lROBOTS &8>> &cInsufficient balance.' robot-collect: '&e&lROBOTS &8>> &aYou have collected rewards from all robots.' no-permission: '&e&lROBOTS &8>> &cNo permission.' robot-received: '&e&lROBOTS &8>> &7You''ve received &a%amount%x %robot%&7!' robot-created: '&e&lROBOTS &8>> %robot% &7has been added to your robots.' invalid-robot-type: '&e&lROBOTS &8>> &cInvalid robot type: %type%' player-not-online: '&e&lROBOTS &8>> &cPlayer %player% is not online' invalid-amount: '&e&lROBOTS &8>> &cAmount must be a positive integer' admin-give-robot: '&e&lROBOTS &8>> &aYou gave &e%amount%x&r %robot% &ato &e%player%' player-only-command: '&e&lROBOTS &8>> &cPlayer-only command.' reload: '&e&lROBOTS &8>> &aReloaded all configurations.'
Screenshots
Product Info
Statistics
37
Views
0
Purchases
0
Downloads
1.14 MB
File size
27.05.2026
Published
27.05.2026
Updated
Info
Usage
Server type
Supported Versions
1.13 - 26.1.2











