SAM Steal A Mob Documentation
Stylized Steal A Mob arena with conveyor and bases

Paper plugin documentation

Steal A Mob Documentation

A complete setup, operation, and developer reference for the Steal A Mob arena game mode by RayzStudio.

Plugin
StealAMob 1.1.0
Server
Paper 1.21.8 API
Runtime
Java 21
Required
WorldGuard

First playable arena

Quick Start

Use this path when you already have Paper, WorldGuard, and your world ready. The commands below create a single arena named main.

  1. Install and boot once. Put the production jar in plugins/, start the server, then stop it after the data folder is generated.
  2. Open the setup wizard.
    /sam setup wizard main
  3. Save the player spawn.
    /sam setup spawn main
  4. Select the whole arena with WorldEdit, then save bounds.
    /sam setup bounds main
  5. Save conveyor endpoints.
    /sam setup conveyor main start
    /sam setup conveyor main end
  6. Repeat base setup for every base slot. Select each base region with WorldEdit, then save region, spawn, entrance, dropoff, display slots, and lock plate.
  7. Validate and enable.
    /sam setup validate main
    /sam arena enable main
Setup tip: /sam setup wizard main creates the arena entry and shows the next missing step. /sam setup create main is available, but not required if you start with the wizard.

Before install

Requirements

Steal A Mob is built for modern Paper servers and stores its own gameplay state while integrating with familiar server tools.

Required

  • Paper compatible with the 1.21.8 API floor.
  • Java 21.
  • WorldGuard. The plugin disables itself if WorldGuard is missing.

Recommended

  • WorldEdit for setup selections.
  • Vault with an economy provider for production cash handling.
  • ExcellentEconomy through Vault if you use a cash currency.

Optional Integrations

  • PlaceholderAPI for %stealamob_*% placeholders.
  • FancyHolograms for hologram rendering, with TextDisplay fallback.
  • Oraxen, Nexo, or ItemsAdder for custom mob GUI icons.
  • DeluxeMenus for optional reward and navigation menus.

Server owners

Installation

The plugin ships as an obfuscated production jar and generates readable YAML config files on first boot.

Install Steps

  1. Install WorldGuard and any optional plugins you plan to use.
  2. Place StealAMob-1.1.0-obfuscated.jar in your server plugins/ folder.
  3. Start the server once so plugins/StealAMob/ is created.
  4. Stop the server and edit YAML files as needed.
  5. Restart and run /sam setup wizard main.

Admin Preflight

  • WorldGuard loads before StealAMob.
  • Vault sees your economy provider, if production cash should use Vault.
  • WorldEdit selections work for staff who will run setup.
  • Staff have stealamob.admin during setup.
  • Backups include plugins/StealAMob/, especially stealamob.db.

Generated data

Files And What They Do

These are the public files setup staff and server owners should know. Do not publish live database files or private server-specific configs.

FilePurposeEdit Live?
config.ymlMain mechanics, economy, locks, gear, scoreboard, GUI titles, holograms, performance, session-base behavior.Use /sam reload after safe edits.
arenas.ymlSaved arena spawn, bounds, conveyors, base regions, base locations, display slots, lock plates.Prefer in-game setup commands.
mobs.ymlRarities and mob catalog used by conveyor, shop, base display, income, and API snapshots.Use /sam mob reload.
messages.ymlMiniMessage-style command feedback, help, usage, setup, pass, booster, item, and lock text.Use /sam reload.
boosters.ymlPersonal and server booster definitions.Use /sam reload.
pass.ymlSeason ID, pass levels, reward tracks, XP sources, daily and weekly missions.Use /sam reload.
progression.ymlPermanent level curve, prestige, daily caps, rewards, titles, GUI theme, effects.Use /sam reload.
troll-items.ymlItem shop, traps, cooldowns, effects, costs, and item limits.Use /sam reload.
arena-menu.ymlNative arena selector layout and text.Use /sam reload.
deluxemenus/*.ymlExamples for optional DeluxeMenus entrypoints and reward menus.Copy into DeluxeMenus and reload DeluxeMenus.
stealamob.dbRuntime data: players, owned mobs, boosters, codes, pass/progression/rebirth/item state.Back up. Do not publish.

Setup staff

Complete Arena Setup

An enabled arena requires loaded mob definitions, a spawn, loaded arena bounds, at least one ready conveyor, and the configured number of ready bases.

Arena Layer

/sam setup wizard <arena>Creates or opens setup guidance for the arena.
/sam setup status <arena>Shows current setup state.
/sam setup markers <arena>Displays setup markers for saved points.
/sam setup spawn <arena>Saves where players enter the arena.
/sam setup bounds <arena>Saves the current WorldEdit selection as arena bounds.
/sam setup conveyor <arena> [id] start|endSaves a straight conveyor path. Default ID is main.

Base Layer

For each base, select the base cuboid with WorldEdit and run /sam setup base add <arena> <slot>. The plugin creates a WorldGuard region named like sam_main_base_1 and applies safe defaults: build denied, mob spawning denied, interact and use allowed.

/sam setup base add <arena> <base>Create and save the WorldGuard base region.
/sam setup base spawn <arena> <base>Where the base owner appears.
/sam setup base entrance <arena> <base>Legacy one-point entrance fallback.
/sam setup base <arena> <base> entrance pos1|pos2Two-point entrance area for tighter lock protection and lock beams.
/sam setup base dropoff <arena> <base> pos1|pos2Two-point deposit area for carried mobs.
/sam setup base slot <arena> <base> <displaySlot>Save every display/generator slot. Default target is 8.
/sam setup base lockplate <arena> <base>Save the pressure plate or looked-at trigger block.
Validation Rules
  • /sam setup validate <arena> reports missing spawn, bounds, conveyor, bases, display slots, and loaded-world problems.
  • A ready conveyor has a start and end in the same loaded world.
  • A ready base has a WorldGuard region, entrance, dropoff, display slots, matching worlds, and an existing WorldGuard region.
  • Missing lock plates warn instead of blocking old arenas, but pressure-plate locks need them.
  • /sam arena enable <arena> refuses arenas with blocking validation issues.

Main config

Configuration Guide

config.yml controls the shared game feel. Existing server configs keep their values and receive missing keys on reload.

arena

Default base count, commands blocked while playing, and leave/boundary teleport behavior.

base

Display slots, fallback display grid, display entity offsets, session ownership, release on leave/disconnect, and cleanup behavior.

conveyor

Spawn timing, path movement, active mob caps, spacing, lifetime, AI/collision settings, glowing mobs, and rebirth-locked visibility.

holograms

FancyHolograms usage, TextDisplay fallback, refresh timing, base labels, dropoff labels, slot labels, and mob labels.

base-lock

Pressure-plate locking, lock duration, cooldown, new-player auto lock, entry denial, particles, sounds, and laser/fake-beacon beam visuals.

gear

Enabled gear IDs, prices, permissions, materials, cooldowns, and ability-specific tuning.

scoreboard

Sidebar enablement, arena-only display, update rate, title, and placeholder-powered lines.

economy

Income interval, global multiplier, offline multiplier, rarity multipliers, caps, Vault/ExcellentEconomy guidance, and internal fallback.

rebirth

Confirm timeout, reset behavior, requirements, scaling, rewards, reveal effects, broadcasts, and milestones.

rebirth-token-shop

Permanent upgrades like cash mastery, luck mastery, lock mastery, steal mastery, slot mastery, and pass mastery.

upgrades

Base slot upgrade pacing and lock upgrade cost/duration/cooldown tuning.

monetization

Optional permission perks only. Steal A Mob does not define a paid currency or built-in paid store.

Cash and income

Economy

Steal A Mob uses cash for mob purchases, income pulses, pass cash rewards, reward commands, and admin cash tools.

Vault Production Setup

For production servers, install Vault plus an economy provider. If using ExcellentEconomy, enable its Vault bridge and set the economy currency to the cash currency you want Steal A Mob to use.

Integration.Vault.Enabled: true
Integration.Vault.EconomyCurrency: cash

Internal Fallback

If Vault is unavailable and economy.internal-fallback.enabled is true, Steal A Mob uses SQLite-backed internal balances. This is useful for testing, but a Vault provider is safer for network economies.

  • Default starting fallback balance: 1000.
  • Cash source is visible through /sam balance.
  • Income is paid every economy.income-interval-seconds.
  • max-per-interval caps public-server runaway income.

Player loop

Gameplay Systems

Players join an arena, claim a session base, buy or steal mobs, deposit them into base slots, earn cash pulses, upgrade, rebirth, and climb leaderboards.

1

Join

/sam join [arena], /arena join [arena], or the arena selector assigns a playable arena with a free base.

2

Buy

Players buy conveyor mobs directly or browse the paginated /sam shop GUI.

3

Carry

Carried mobs follow the player visually. Stolen mobs use the configured stolen carry speed multiplier.

4

Deposit

Players deliver mobs to their base dropoff area. Mobs become display generators in saved slots.

5

Defend

Base locks, gear, and items create active defense and counterplay.

6

Progress

Cash, progression XP, pass XP, rebirths, tokens, and leaderboards create long-term goals.

Session Bases

Default settings are network-friendly: base.persistent-ownership: false, base.release-on-leave: true, and base.release-on-disconnect: true. Bases free up when players leave, but owned mobs remain saved and move into the next assigned base. For long-term claimed bases, enable persistent ownership and disable release flags.

Reference

Commands

The primary command is /sam. Aliases include /stealamob, /stealmob, and /stam. The plugin also registers shortcut commands like /arena, /base, /rebirth, /level, /codes, /top, /credits, and /store.

Player Commands

CommandWhat It Does
/sam join [arena]Join a specific arena or the first playable arena.
/sam leaveLeave the current arena and release a session base if configured.
/sam arena, /arena menuOpen the arena selector.
/arena join [arena]Shortcut for joining an arena.
/sam shopOpen the mob shop GUI.
/sam items, /sam shop itemsOpen the item shop.
/sam booster list|active|activate <id>View vouchers, active boosters, or activate a booster.
/sam pass info|missionsView pass level, XP, rewards, and missions.
/sam pass claim <level> free|premiumClaim pass rewards.
/level, /level rewardsOpen permanent progression roadmap.
/level topOpen progression leaderboard.
/level prestigePrestige at max progression level.
/rebirthOpen rebirth preview and confirmation.
/rebirth confirmConfirm rebirth after opening the preview.
/rebirth upgradesOpen rebirth token upgrades.
/rebirth upgrade <id>Buy a token upgrade.
/sam gear claim [all|gearId]Claim owned gear items.
/sam reset confirmReset your Steal A Mob career.
/sam balanceShow cash balance and economy source.
/baseTeleport to your base.
/base manageOpen base management GUI.
/base mobsList owned mobs.
/base discard <slot> confirmDiscard a base mob.
/base replace <slot>Replace a mob slot with the mob you are carrying.
/base upgrade slots|lockBuy base upgrades.
/codes redeem <code>Redeem a reward code.
/top [rebirths|networth|steals|income|mobs|progression]View leaderboard boards.
/storeShow reward guidance. Aliases: /donate, /support.
/creditsShow plugin credits.

Admin Commands

CommandPurpose
/sam reloadReload config, messages, mobs, boosters, pass, progression, items, arenas, GUIs, scoreboards, conveyors, income, displays, and holograms.
/sam adminOpen the admin GUI for players with admin permission.
/sam arena enable|disable|reset <arena>Manage arena lifecycle, clear carries/locks/items, respawn generators, and restart conveyors.
/sam mob list [tier] [page]Inspect loaded mob catalog.
/sam mob info <mobId>Inspect one mob definition.
/sam mob give <player> <mobId> [carry|slot] [slot]Give a mob to a player in an active arena.
/sam mob reloadReload mob definitions and respawn generators.
/sam reset <player> confirmReset another player's career.
/sam gear give <player> <gearId>Give a gear item to an online player.
/lockAdmin or permission fallback to activate a base lock. Normal gameplay uses lock plates.
/sam admin cash give|take|set <player> <amount>Manage Steal A Mob cash.
/sam admin booster give|take|activate <player> <boosterId> [amount]Manage booster vouchers or activate boosters for a player.
/sam admin booster clear <player>Clear active boosters started by a player.
/sam admin booster listList booster definitions.
/sam admin pass premium [remove] <player>Grant or remove premium pass.
/sam admin pass xp give|set <player> <amount>Modify pass XP.
/sam admin pass level set <player> <level>Set pass level.
/sam admin pass reset <player>Reset one player's pass progress.
/sam admin pass resetseasonReset the active pass season for all players.
/sam admin progression addxp|setxp|setlevel|setprestige <player> <amount>Manage permanent progression.
/sam admin progression reset <player>Reset progression for a player.
/sam admin rebirth set|add <player> <amount>Set or add rebirths.
/sam admin rebirth reset <player>Reset rebirth data.
/sam admin rebirth tokens give|take <player> <amount>Manage rebirth tokens.
/sam codes create <code> MONEY|MOB|REBIRTHS|SLOTS|LOCKS <value> [expiresSeconds] [maxUses]Create a redeemable code.
/sam codes delete <code>Delete a code.
/sam codes listList saved codes.

Access control

Permissions

Use a permissions plugin to assign these nodes. stealamob.user defaults to true and admin nodes default to operator.

NodeDefaultUse
stealamob.usertruePlayer command access.
stealamob.adminopFull setup and management access.
stealamob.booster.usetrueUse owned booster vouchers.
stealamob.pass.usetrueView and claim pass rewards.
stealamob.pass.premiumfalsePermission-based premium pass access.
stealamob.progression.usetrueView and claim progression rewards.
stealamob.rebirth.usetrueOpen and confirm rebirths.
stealamob.rebirth.upgradestrueSpend rebirth tokens on upgrades.
stealamob.lock.commandopUse /lock fallback.
stealamob.lock.bypassopEnter locked bases for moderation/setup.
stealamob.admin.cashopCash admin commands.
stealamob.admin.boosteropBooster admin commands.
stealamob.admin.passopPass admin commands.
stealamob.admin.progressionopProgression admin commands.
stealamob.admin.rebirthopRebirth admin commands.
stealamob.perks.supporterfalseExample configurable permission perk.
stealamob.perks.vipfalseExample configurable permission perk.
stealamob.perks.mvpfalseExample configurable permission perk.
stealamob.gear.blackholefalseOwn and claim Blackhole Slap.
stealamob.gear.flying_carpetfalseOwn and claim Flying Carpet.
stealamob.gear.laser_gunfalseOwn and claim Laser Gun.
stealamob.gear.ban_hammerfalseOwn and claim Ban Hammer.
stealamob.gear.coil_combofalseOwn and claim Coil Combo.
stealamob.gear.swap_blasterfalseOwn and claim Swap Blaster.
stealamob.gear.sonic_boomfalseOwn and claim Sonic Boom.
stealamob.gear.freeze_rayfalseOwn and claim Freeze Ray.

Catalog and balancing

Mobs

mobs.yml defines rarities and the conveyor/shop mob catalog. The default catalog contains 56 mobs across seven rarity tiers.

TierDefault CountPrice RangeBase Income RangeNotes
Common1675 to 4,6001.5 to 50 per pulseStarter economy and frequent conveyor spawns.
Rare125,600 to 71,00066 to 860 per pulseFirst meaningful steal pressure.
Epic1090,000 to 830,0001,100 to 11,800 per pulseMid-game visual effects and lower weights.
Legendary71,050,000 to 4,700,00015,000 to 70,000 per pulseRare spawns and high-value targets.
Mythic46,200,000 to 15,000,00090,000 to 215,000 per pulseSome default mobs require 5 rebirths.
Divine421,000,000 to 62,000,000300,000 to 850,000 per pulseDefault mobs require 8 rebirths.
Secret390,000,000 to 220,000,0001,200,000 to 3,000,000 per pulseDefault mobs require 10 rebirths.

Mob Definition Schema

mobs:
  example_mob:
    name: "Example Mob"
    description: "Short shop and info text."
    entity: "PIG"
    tier: "common"
    required-rebirths: 0
    price: 1000
    income: 15.0
    spawn-weight: 30
    icon:
      provider: "vanilla"
      material: "PIG_SPAWN_EGG"
      custom-model-data: 0

Rarities

Each rarity can define display color, glow color, particle, spawn/buy/deposit sounds, income multiplier, and spawn multiplier.

Income Formula

Displayed API income includes base mob income multiplied by global income multiplier and rarity income multiplier. Player, rebirth, perk, and booster multipliers apply during payouts.

Custom Icons

Icon providers can be vanilla, oraxen, nexo, itemsadder, or ia. Custom providers use custom-id and fall back safely if the plugin is missing.

Long-term systems

Boosters, Pass, Progression, And Rebirth

These systems share gameplay events but are configured separately so server owners can tune pacing without editing code.

Boosters

boosters.yml defines voucher-driven multipliers. Default types include CASH_INCOME, RARITY_LUCK, PASS_XP, and REBIRTH_REWARD. Scopes can be personal or server-wide.

Default IDs: cash_1_5x_15m, global_cash_2x_10m, luck_1_25x_10m, pass_xp_2x_15m, rebirth_reward_1_25x_30m.

Season Pass

pass.yml ships with season season_1, name Vault Rush, max level 50, and 1,000 XP per level. XP sources include buying, depositing, stealing, earning cash, locking, rebirthing, and active play minutes.

Rewards support cash, boosters, pass XP, progression XP, and command rewards.

Permanent Progression

progression.yml handles levels 1 to 100, daily caps, anti-farm active playtime windows, titles, claimable level rewards, and prestige. Level XP uses base, linear, quadratic, and prestige multiplier values.

Rebirth

config.yml controls rebirth requirements, scaling, reset behavior, reward tokens, income multipliers, milestones, reveal effects, and broadcasts. Token upgrades are permanent and configurable.

Default Rebirth Reset Behavior
  • Cash reset is enabled and resets to 0.
  • Owned mob reset is enabled.
  • Base upgrades and lock upgrades reset.
  • Active boosters, pass progress, and statistics do not reset by default.
  • Rebirth confirmation expires after 60 seconds by default.

Arena tools

Gear And Items

Gear is permission or grant based. Items are bought from the item shop and are limited by per-player held limits, cooldowns, and arena-only settings.

Gear

IDDefault PurposePermission
blackhole_slapPull, hold, then push a nearby arena player.stealamob.gear.blackhole
flying_carpetShort arena flight, disabled while carrying mobs.stealamob.gear.flying_carpet
laser_gunLine-of-sight knockback laser, can force stolen carriers to drop.stealamob.gear.laser_gun
ban_hammerShort-range heavy knockback, slowness, and blindness.stealamob.gear.ban_hammer
coil_comboSpeed and jump boost burst.stealamob.gear.coil_combo
swap_blasterSwap locations with an arena player.stealamob.gear.swap_blaster
sonic_boomArea knockback and stolen-mob drop pressure.stealamob.gear.sonic_boom
freeze_rayFreeze a targeted arena player in place.stealamob.gear.freeze_ray

Items And Traps

banana_peelsmoke_bombfreeze_trapfake_mob_decoyemp_trapglue_trapalarm_trapswap_orblaunch_padshield_dometracker_compasstrap_disablerdecoy_carrycash_magnet disabled by default

troll-items.yml controls shop availability, cash currency use, maximum held items, arena-only usage, global cooldown, trap limits, trap expiry, and cleanup on leave or arena reset.

Presentation

UI, Scoreboard, And Holograms

Steal A Mob includes native GUIs and a sidebar scoreboard, and can render holograms through FancyHolograms or TextDisplay fallback.

Native GUIs

/sam shop, /base manage, /sam admin, /level, /rebirth, /sam items, and arena selector are built in.

Scoreboard

Controlled by scoreboard in config.yml. Use only-in-arena and respect-existing to avoid conflicts with other sidebar plugins.

Holograms

Base owner labels, dropoff labels, slot labels, and mob labels refresh after joins, leaves, deposits, steals, reloads, and scheduled updates.

Visual Effects

Special tiers receive ambient particles. Game-feel settings control rare announcements, steal alerts, income particles, deposit effects, rebirth effects, and ambient sounds.

PlaceholderAPI and scoreboard

Placeholders

If PlaceholderAPI is installed, Steal A Mob registers %stealamob_*%. The internal scoreboard also accepts %sam_*% aliases.

Player State

%stealamob_arena%, %stealamob_current_arena%, %stealamob_base_status%, %stealamob_mobs%, %stealamob_base_mobs%, %stealamob_base_slots_used%, %stealamob_base_slots_max%, %stealamob_capacity%, %stealamob_carrying%

Economy And Stats

%stealamob_cash%, %stealamob_cash_raw%, %stealamob_balance%, %stealamob_income%, %stealamob_income_raw%, %stealamob_networth%, %stealamob_networth_raw%, %stealamob_steals%

Locks And Defense

%stealamob_base_lock_time%, %stealamob_lock_seconds%, %stealamob_lock_remaining%, %stealamob_traps_active%, %stealamob_troll_items_held%, %stealamob_item_cooldown_banana_peel%

Boosters

%stealamob_booster_count%, %stealamob_boosters%, %stealamob_booster_cash%, %stealamob_booster_pass_xp%, %stealamob_booster_luck%, %stealamob_booster_amount_cash_1_5x_15m%

Pass

%stealamob_pass_level%, %stealamob_pass_xp%, %stealamob_pass_xp_required%, %stealamob_pass_progress_percent%, %stealamob_pass_premium%, %stealamob_pass_reward_claimed_1_free%, %stealamob_pass_mission_progress_buy_5_mobs%

Progression

%stealamob_level%, %stealamob_prestige%, %stealamob_level_xp%, %stealamob_level_xp_required%, %stealamob_level_progress_percent%, %stealamob_progression_title%, %stealamob_progression_rank%, %stealamob_progression_claimable%

Rebirth

%stealamob_rebirths%, %stealamob_rebirth_tokens%, %stealamob_rebirth_multiplier%, %stealamob_next_rebirth_cash_required%, %stealamob_next_rebirth_base_value_required%, %stealamob_next_rebirth_income_required%, %stealamob_next_rebirth_progress_percent%, %stealamob_rebirth_upgrade_cash_mastery%

Leaderboards

Boards: networth, income, rebirths, steals, mobs, progression. Examples: %stealamob_top_networth_1_name%, %stealamob_top_networth_1_value%, %stealamob_top_networth_1_value_raw%, %stealamob_rank_networth%, %stealamob_rank_networth_ordinal%.

Server

%stealamob_economy_source%, %stealamob_total_mobs%, %stealamob_total_arenas%, %stealamob_registered_players%, %stealamob_active_players%, %stealamob_arena_players%

Add-on developers

Developer API

Add-ons can use org.rayz.stealamob.api.StealAMobProvider or Bukkit ServicesManager to obtain StealAMobApi. The public API package is preserved by obfuscation rules.

Provider Example

StealAMobProvider.get().ifPresent(api -> {
    api.mob("spaghetti_sprinter").ifPresent(mob -> {
        double price = mob.price();
    });
});

ServicesManager Example

RegisteredServiceProvider<StealAMobApi> registration =
        Bukkit.getServicesManager().getRegistration(StealAMobApi.class);

if (registration != null) {
    StealAMobApi api = registration.getProvider();
}
MethodUse
mobs(), mob(String)Read configured mob snapshots.
arenas(), arena(String)Read arena enabled/playable state, base counts, conveyor counts.
player(UUID)Read player arena state, base slot, rebirths, capacity, balance, income, networth, steals, progression, and prestige.
progression(UUID)Read XP, total XP, XP required, level, max level, progress percent, prestige, rank, and title.
balance(OfflinePlayer)Read current cash balance.
deposit(OfflinePlayer, double)Add cash through the active economy source.
withdraw(Player, double)Withdraw cash from an online player.
startCarry(Player, String)Start a non-stolen mob carry if the player is active, has a base, has capacity, and is not already carrying.
giveMobToBase(Player, String, int)Insert mobs directly into available base slots.
countOwnedMobs(UUID)Count all owned mobs.
projectedIncomePerPulse(UUID)Calculate projected current-base income per payout pulse.
economyProviderName()Expose the active economy source name.
Public Records
  • SamMobDefinition: ID, display name, Bukkit entity type, price, income per pulse, tier, spawn weight, description.
  • SamArenaInfo: name, enabled, playable, base count, ready base count, conveyor count, ready conveyor count.
  • SamPlayerProfile: identity, arena/base state, rebirths, owned mob count, capacity, balance, income, money earned, networth, steals, progression, prestige.
  • SamProgressionProgress: XP, total XP, XP required, level, max level, progress percent, prestige, rank, title.

Bukkit events

Developer Events

Listen to Steal A Mob events for integrations, custom perks, analytics, and server-specific rules. Cancellable events can be modified before the plugin completes the action.

EventCancellableImportant Data
StealAMobMobPurchaseEventYesPlayer, mob ID, source CONVEYOR or SHOP, mutable price.
StealAMobMobStealEventYesThief, original owner UUID, owned mob ID, mob ID.
StealAMobMobDepositEventNoPlayer, mob ID, owned mob ID, whether it was stolen, original owner UUID.
StealAMobIncomePayoutEventYesOffline player and mutable payout amount.
StealAMobProgressionXpGainEventYesPlayer, XP source, mutable XP amount.
StealAMobProgressionLevelUpEventNoPlayer, old level, new level, prestige.
StealAMobPrestigeEventNoPlayer, old prestige, new prestige.
@EventHandler
public void onPurchase(StealAMobMobPurchaseEvent event) {
    if (event.getMobId().equalsIgnoreCase("example_mob")) {
        event.setPrice(event.getPrice() * 0.9);
    }
}

Operations

Maintenance And Troubleshooting

Most issues come from missing dependencies, unloaded worlds, incomplete setup, economy provider mismatch, or scoreboard conflicts.

Plugin disables on startup

Install and enable WorldGuard. Steal A Mob requires it and disables itself if it is missing.

Arena will not enable

Run /sam setup validate <arena>. Fix missing spawn, unloaded bounds, conveyors in different worlds, missing display slots, or missing WorldGuard base regions.

No cash or purchases fail

Check /sam balance for the economy source. For production, make sure Vault has an economy provider. If using ExcellentEconomy, enable its Vault integration and use the same cash currency ID.

Sidebar conflicts with another scoreboard plugin

Keep scoreboard.respect-existing: true, or disable Steal A Mob's scoreboard and render placeholders in your existing scoreboard plugin.

Holograms do not use FancyHolograms

Install and enable FancyHolograms and keep holograms.use-fancyholograms: true. Without it, TextDisplay fallback is expected.

Custom item icons show vanilla fallback

Confirm the provider plugin is installed and enabled, then verify provider and custom-id in mobs.yml. Vanilla fallback keeps GUIs usable when a provider cannot resolve an item.

Base locks do not trigger

Run /sam setup base lockplate <arena> <base> while looking at or standing on an allowed pressure plate. Check base-lock.allow-any-lock-block only if you intentionally want arbitrary trigger blocks.

No vulnerable data

Safe Publishing Checklist

This website intentionally documents useful setup and development surfaces without exposing secrets or private runtime data.

Safe To Publish

  • Setup commands and player/admin command syntax.
  • Public permissions and placeholder names.
  • Config file roles and documented tuning keys.
  • Public API interfaces, records, and event contracts.
  • Example reward command patterns with placeholder player names.

Do Not Publish

  • stealamob.db or exported player data.
  • Live reward codes, private store commands, webhooks, or tokens.
  • License internals, private endpoints, server IPs, or auth data.
  • Private economy provider config with credentials.
  • Generated logs that contain player UUID audits or staff-only notes.