Skip to content

ActivityEconomy Wiki

Corrupted Studio edited this page Sep 16, 2026 · 2 revisions

Passive, automatic economy rewards for normal Minecraft gameplay.

ActivityEconomy rewards players automatically when they perform configured activities such as mining, building, crafting, fishing, enchanting, brewing, traveling, and remaining active on the server.

ActivityEconomy is not a Jobs plugin.

Players do not choose jobs, join professions, open job GUIs, start activities, or manually claim rewards.


Overview

The plugin follows a simple process:

Player plays normally
        ↓
ActivityEconomy detects an activity
        ↓
Reward is calculated
        ↓
Multipliers and scaling are applied
        ↓
Rolling hourly limit is checked
        ↓
Money is deposited
        ↓
Statistics are stored
        ↓
Action bar displays the reward

The goal is to add an automatic source of economy income without turning normal gameplay into a job-selection system.


Requirements

Server

  • Paper 1.21.x
  • Java 21

Required for Economy Rewards

  • Vault
  • A Vault-compatible economy provider

Optional Integrations

  • PlaceholderAPI
  • WorldGuard

Supported Economy Integrations

ActivityEconomy supports economy providers through Vault, including:

  • EssentialsX Economy
  • CMI Economy
  • CoinEngine when it exposes a Vault Economy service

EssentialsX and CMI are not hard dependencies.


Installation

1. Install the dependencies

Install:

Vault
Your Vault-compatible economy provider

For optional integrations, install:

PlaceholderAPI
WorldGuard

2. Install ActivityEconomy

Place:

activityeconomy-1.0.0.jar

inside:

/plugins/

3. Start the server

Start the Paper server and allow ActivityEconomy to generate its configuration files.

4. Configure the plugin

Open the generated ActivityEconomy configuration and adjust rewards, limits, multipliers, activities, and messages for your server.


Activities

ActivityEconomy currently supports automatic rewards for the following activities.

Playtime

Players can receive rewards for remaining actively online.

Playtime rewards can be configured according to the server's economy.

Block Breaking

Players can receive rewards for breaking configured blocks.

Rewards can be configured for specific block types and values.

Block Placing

Players can receive rewards for legitimate building activity.

ActivityEconomy tracks player-placed blocks to prevent this exploit:

Place
 ↓
Break
 ↓
Place
 ↓
Break
 ↓
Infinite rewards

Tracked placed blocks prevent repeated placement and breaking from becoming an unlimited source of money.

Crafting

Players can receive rewards when crafting configured items or recipes.

Fishing

Players can receive rewards for successful fishing activity.

Fishing protections are included to reduce repetitive or automated farming.

Enchanting

Players can receive rewards for successful enchanting activity.

Brewing

Players can receive rewards for brewing activity.

Travel

Players can receive rewards for legitimate movement over distance.

The travel system includes protections against invalid movement and teleport-based farming.


Economy System

ActivityEconomy uses Vault as the main economy interface.

ActivityEconomy
      ↓
     Vault
      ↓
Economy Provider

This allows ActivityEconomy to work with different economy plugins without requiring direct dependencies on each provider.

Transaction handling

The economy transaction is processed first.

After the transaction succeeds, the reward is written to the SQLite ledger.

This prevents a failed economy transaction from incorrectly increasing stored earnings.

All internal monetary calculations use BigDecimal.


Economy Balancing

ActivityEconomy provides automatic reward scaling and configurable economy limits.

Example:

economy-balance:
  target-per-hour: 90.0
  maximum-per-hour: 100.0

Target

The target represents the intended normal earning level.

Maximum

The maximum represents the hard rolling earning limit.

The target is not a guaranteed salary. Different players perform different activities at different rates, so actual income can vary.


Rolling 60-Minute Limit

ActivityEconomy uses a rolling 60-minute earning window.

Example:

Maximum: $100.00

Already earned: $96.50

Remaining: $3.50

If the next calculated reward is $10.00, the plugin can only pay the remaining $3.50.

Once older earnings leave the rolling 60-minute window, that portion of the allowance becomes available again.

This provides a hard economy-level protection against unlimited reward generation.


Reward Scaling

Rewards can be reduced as a player approaches the hourly maximum.

Conceptually:

Low earnings
    ↓
Normal reward

Higher earnings
    ↓
Reduced reward

Near maximum
    ↓
Very small reward

Maximum reached
    ↓
No further reward

The scaling behaviour is configurable.

The rolling hourly maximum remains the final safety boundary.


Activity Weights

Activity weights allow administrators to define the relative importance of different activities.

Example:

activity-weights:
  playtime: 20
  block-break: 15
  block-place: 10
  travel: 15
  crafting: 10
  fishing: 10
  enchanting: 10
  brewing: 10

Weights are part of the administrator-facing balancing system.

Because different activities occur at different frequencies, the plugin also uses configurable reward rates rather than relying only on a percentage split.


Multipliers

Permission Multipliers

Different permission groups can receive configurable reward multipliers.

Example:

Default → 1.00x
VIP     → 1.25x
MVP     → 1.50x

Permission multipliers can be configured by the administrator.

The hourly maximum still applies unless a bypass is explicitly configured.

World Multipliers

Rewards can also be modified by world.

Example:

survival      → 1.0x
resource_world → 0.5x
creative      → disabled

This is useful when servers have separate resource or gameplay worlds.


Anti-Exploit Protection

ActivityEconomy includes several protections designed to prevent automated reward farming.

Player-Placed Blocks

Prevents:

Place → Break → Place → Break

from continuously producing rewards.

AFK Protection

AFK players can be prevented from receiving activity rewards according to the configured behaviour.

Travel Protection

Travel rewards are protected against methods such as:

  • Teleports
  • Server transfers
  • Fake movement
  • Abnormal movement
  • Repetitive movement

Fishing Protection

Suspicious repetitive fishing behaviour can be restricted.

Hourly Budget

The rolling 60-minute limit provides an additional economy-wide safety boundary.


Commands

Statistics

/activityeconomy stats [player]

Displays ActivityEconomy statistics.

Information

/activityeconomy info [player]

Displays player economy/activity information.

Debug

/activityeconomy debug [player]

Displays reward calculation and activity debugging information.

Reload

/activityeconomy reload

Reloads supported configuration.

Pause

/activityeconomy pause

Temporarily stops rewards.

Resume

/activityeconomy resume

Resumes rewards.

Toggle

/activityeconomy toggle <activity>

Enables or disables an activity.


Permissions

activityeconomy.admin
activityeconomy.reload
activityeconomy.balance
activityeconomy.stats
activityeconomy.bypass
activityeconomy.multiplier.<name>

Use the smallest permission set necessary for each staff role.


Action Bar

ActivityEconomy can display rewards through the action bar.

Example:

+$0.25 | This hour: $42.35/$100.00

Available reward placeholders include:

%amount%
%activity%
%hourly_earned%
%hourly_remaining%
%hourly_limit%
%target_per_hour%
%player%
%currency%

The action bar can be configured to reduce excessive notifications when multiple rewards occur quickly.


PlaceholderAPI

PlaceholderAPI is optional.

When installed, ActivityEconomy provides placeholders such as:

%activityeconomy_hourly_earned%
%activityeconomy_hourly_limit%
%activityeconomy_hourly_remaining%
%activityeconomy_target%
%activityeconomy_today%
%activityeconomy_activity%

These can be used by other plugins that support PlaceholderAPI.


Economy Integrations

Vault

Vault is the primary economy integration layer.

EssentialsX

EssentialsX Economy works through Vault.

EssentialsX is not a hard dependency.

CMI

CMI Economy works through Vault.

CMI is not a hard dependency.

CoinEngine

CoinEngine is supported when it registers a Vault Economy service.

ActivityEconomy does not rely on an undocumented or invented direct CoinEngine API.

If the installed CoinEngine version does not expose a usable Vault economy service, an appropriate Vault bridge is required.


Storage

ActivityEconomy uses SQLite for persistent data.

Player state is cached while players are online.

Database updates are performed asynchronously where appropriate so reward events do not perform blocking database work on the main server thread.

Persistent data includes activity and economy statistics as well as relevant anti-exploit state.


Performance

ActivityEconomy is designed for production Paper servers.

The implementation avoids unnecessary:

  • Synchronous database operations
  • Repeated storage queries
  • Excessive per-player memory use
  • Console logging for every reward
  • Expensive processing where it is not required

Debugging

Debug mode can be used to inspect reward calculations.

Debug information can include:

Activity
Base reward
Scaling multiplier
Final reward
Hourly earnings
Hourly limit

Normal operation does not need to print every reward to the console.


Troubleshooting

No rewards are being paid

Check:

  1. Vault is installed.
  2. A Vault-compatible economy provider is installed.
  3. The economy provider successfully registered with Vault.
  4. ActivityEconomy is enabled.
  5. Rewards have not been paused.
  6. The relevant activity is enabled.
  7. The player has not reached the hourly limit.

Rewards stop unexpectedly

Check the player's current rolling 60-minute earnings.

The configured maximum prevents additional economic rewards when the remaining allowance reaches zero.

CoinEngine is not detected

Verify that the installed CoinEngine version exposes a compatible Vault economy service.

If it does not, a suitable Vault bridge is required.

PlaceholderAPI placeholders do not work

Verify that PlaceholderAPI is installed and enabled before ActivityEconomy.


Compatibility

Tested Environment

Paper 1.21.x
Paper 26.2
Latest build at testing time
Java 21

ActivityEconomy is developed for Paper 1.21.x.

Compatibility with other server implementations or other builds may vary.


Building From Source

Requirements:

  • Java 21
  • Maven

Build with:

mvn package

The distributable JAR is generated at:

target/activityeconomy-1.0.0.jar

The repository contains the source project, build configuration, plugin configuration, and documentation.


FAQ

Is ActivityEconomy a Jobs plugin?

No.

There are no jobs or professions.

Do players need to select an activity?

No.

Configured activities are detected automatically.

Do players need to claim rewards?

No.

Rewards are deposited automatically.

Can I set an hourly maximum?

Yes.

ActivityEconomy uses a rolling 60-minute earning limit.

Can I use EssentialsX?

Yes, through Vault.

Can I use CMI?

Yes, through Vault.

Does ActivityEconomy save player data?

Yes.

Persistent data is stored using SQLite.


Version

ActivityEconomy 1.0.0

Initial release featuring:

  • Passive activity rewards
  • Vault economy integration
  • EssentialsX and CMI compatibility
  • CoinEngine Vault compatibility
  • SQLite persistence
  • Rolling 60-minute earning limit
  • Reward scaling
  • Activity weighting
  • Permission and world multipliers
  • Anti-exploit protection
  • Action-bar notifications
  • PlaceholderAPI support
  • Administrative commands