Voxel Shop beta is live. Expect occasional bugs. Learn more
Boost your server with customizable robots that generate currencies automatically!
Key Features
Commands
Permissions
Installation
[LIST=1]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!
[/LIST]
Config Files
[SPOILER="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
[/SPOILER]
[SPOILER="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_data: 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_data: 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_data: 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_data: 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_data: 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_data: 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_data: 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_data: 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_data: 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_data: 0
name: '&b&lDiamond Robot (Gems)'
lore:
- '&7Click to add this to robots'
[/SPOILER]
[SPOILER="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_data: 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_data: 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_data: 0
rewards-format: '&f%currency%: &e%amount%' # Format for displaying individual reward lines.
lore:
- '%rewards%'
- ' '
- '&7Click to collect'
[/SPOILER]
[SPOILER="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.'
[/SPOILER]
Screenshots