X Robots 1.2.0

Boost your server with customizable robots that generate currencies automatically!





Other Plugins from me:




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

  1. Download the latest release from the resource page.
  2. Place the plugin .jar into your server’s plugins folder.
  3. Start or reload your server to generate configuration files.
  4. Configure the guis.yml,config.yml, robots.yml to customize robot types and currency settings.
  5. 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 collection
    robots.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








    Official Plugin Compatibility: Spigot/Paper 1.13.X-26.X
    © 2025 X Robots | www.drawethree.dev
Product Info
Statistics
37

Views

0

Purchases

0

Downloads

1.14 MB

File size

27.05.2026

Published

27.05.2026

Updated

Info
Supported software
Supported Versions
1.13 - 26.1.2
Product Image
X Robots
X Robots