Impactor
A developer API meant to streamline work in a common environment, and support any sort of Minecraft environment, modded or vanilla. Additionally, Impactor attempts to maintain commonality amongst its codebase across Minecraft versions.
Impactor's primary objective is to simplify the work other developers are required to complete, while also allowing them to better support multiple platforms. Examples include:
- ItemStack Creation
- Players and Entities
- Scoreboards
- Economy
Provided Feature Set
While Impactor is a developer API at heart, it also provides a set of provided features server owners can immediately leverage just with installing this API.
Economy
A built-in service for the Economy API is provided by default, allowing you to establish a ready to go economy system.
The provided system supports multiple types of currencies and provides basic commands capable of interacting with the system. We also provide a /baltop command for those interested parties.
Should you be using another EconomyService, Impactor's API allows the replacement of our default service with a service which can mirror any API calls to the service you yourself are using. While this will require code, Impactor can be leveraged to feed information to other plugins while not requiring plugins to outright support multiple different economy systems.
What Platforms Does Impactor Support
As of 5.3.5, Impactor supports the following platforms:
- Fabric
- Forge
Support is planned for the following platforms:
- Paper
- Velocity
Supported Minecraft Versions
As of 5.2.0, Impactor supports the following Minecraft versions:
- 1.20.1
Support is planned for the following versions:
- 1.20.4
- 1.20.5
Using Impactor in your Projects
Impactor does its best to provide API access in a manner that allows you to only pull in what you need. With this in mind, here's an example of pulling in the current economy API:
repositories {
maven("https://maven.impactdev.net/repository/development")
}
dependencies {
implementation("net.impactdev.impactor.api:economy:5.3.5")
} All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 | ||||
| 15h ago | 1 |
Git Commit: da9a2fd
Full Commit History: [5.3.2...5.3.5](https://github.com/NickImpact/Impactor/compare/5.3.2...5.3.5)
# Release Notes
## Bug Fixes
- Resolve a race time condition allowing exploiters to trick the system into processing payment requests without available funds
Git Commit: da9a2fd
Full Commit History: [5.3.2...5.3.5](https://github.com/NickImpact/Impactor/compare/5.3.2...5.3.5)
# Release Notes
## Bug Fixes
- Resolve a race time condition allowing exploiters to trick the system into processing payment requests without available funds
Git Commit: [11b5825](11b5825690d856363da54fe2ed9e8964cb68ca73)
# Release Notes
## Bug Fixes
- Fixed the shutdown warning from the economy service if no networking setup was established
Git Commit: [11b5825](11b5825690d856363da54fe2ed9e8964cb68ca73)
# Release Notes
## Bug Fixes
- Fixed the shutdown warning from the economy service if no networking setup was established
Git Commit: edf2fdf
Full Commit History: [5.3.1...5.3.2](https://github.com/NickImpact/Impactor/compare/5.3.1...5.3.2)
# Release Notes
## Changes
### Economy Networking
- Implemented Redis locks to ensure transaction flow is correct (Thanks Stampede)
Git Commit: edf2fdf
Full Commit History: [5.3.1...5.3.2](https://github.com/NickImpact/Impactor/compare/5.3.1...5.3.2)
# Release Notes
## Changes
### Economy Networking
- Implemented Redis locks to ensure transaction flow is correct (Thanks Stampede)
Git Commit: [808f581](https://github.com/NickImpact/Impactor/commit/808f58178f103e607f27d6f59cb8753a56aa8e5c)
Full Commit History: [5.3.0...5.3.1](https://github.com/NickImpact/Impactor/compare/5.3.0...5.3.1)
# Release Notes
## General Changes
### Economy
- Added new service established event to signify when a service has been selected, allowing for dynamic registration against the service
- Networking reliability improved
## Bug Fixes
### Common
- Fixed an issue with the mysql dependency not actually being bundled with Impactor
- Auto downloaded translations now defaults to disabled due to an issue with connectivity
- For existing configs, you'll want to disable this yourself to avoid the startup warning associated with this issue
- Implement service file merging for shadowed dependencies, fixes some compatibility issues (Thanks Stampede)
Git Commit: [808f581](https://github.com/NickImpact/Impactor/commit/808f58178f103e607f27d6f59cb8753a56aa8e5c)
Full Commit History: [5.3.0...5.3.1](https://github.com/NickImpact/Impactor/compare/5.3.0...5.3.1)
# Release Notes
## General Changes
### Economy
- Added new service established event to signify when a service has been selected, allowing for dynamic registration against the service
- Networking reliability improved
## Bug Fixes
### Common
- Fixed an issue with the mysql dependency not actually being bundled with Impactor
- Auto downloaded translations now defaults to disabled due to an issue with connectivity
- For existing configs, you'll want to disable this yourself to avoid the startup warning associated with this issue
- Implement service file merging for shadowed dependencies, fixes some compatibility issues (Thanks Stampede)
Git Commit: 942dce7
Full Commit History: [5.2.7...5.3.0](https://github.com/NickImpact/Impactor/compare/5.2.7...5.3.0)
# Release Notes
## Game Update
Impactor now supports 1.21.1.
With Impactor 6.0.0, API modules will be capable of reaching a wider range of Minecraft versions. Stay tuned for this update in the coming months.
## Platforms
Starting with 5.3.0, all native forge support has been dropped in favor of NeoForge. This means, the current active
and supported platforms are Fabric and NeoForge.
## New Features
New features a part of this release are below:
### Economy
- Now supports networking via Redis. This is aimed at allowing proxied servers to sync transactions across their servers
- More networking methods will be available with 6.0.0
- Fixed an issue where the Impactor economy service was expected for certain scenarios
Git Commit: 942dce7
Full Commit History: [5.2.7...5.3.0](https://github.com/NickImpact/Impactor/compare/5.2.7...5.3.0)
# Release Notes
## Game Update
Impactor now supports 1.21.1.
With Impactor 6.0.0, API modules will be capable of reaching a wider range of Minecraft versions. Stay tuned for this update in the coming months.
## Platforms
Starting with 5.3.0, all native forge support has been dropped in favor of NeoForge. This means, the current active
and supported platforms are Fabric and NeoForge.
## New Features
New features a part of this release are below:
### Economy
- Now supports networking via Redis. This is aimed at allowing proxied servers to sync transactions across their servers
- More networking methods will be available with 6.0.0
- Fixed an issue where the Impactor economy service was expected for certain scenarios
Git Commit: 85076e4
Full Commit History: [Unknown...5.2.7](https://github.com/NickImpact/Impactor/compare/Unknown...5.2.7)
# Release Notes
## Bug Fixes
### Forge
- Resolved an issue affecting commands, turns out we used an improper import!
Git Commit: 85076e4
Full Commit History: [Unknown...5.2.7](https://github.com/NickImpact/Impactor/compare/Unknown...5.2.7)
# Release Notes
## Bug Fixes
### Forge
- Resolved an issue affecting commands, turns out we used an improper import!
Git Commit: 9020e69
Full Commit History: [Unknown...5.2.6](https://github.com/NickImpact/Impactor/compare/Unknown...5.2.6)
# Release Notes
## Bug Fixes
### Forge
- Resolved an issue with permissions not being registered
Git Commit: 9020e69
Full Commit History: [Unknown...5.2.6](https://github.com/NickImpact/Impactor/compare/Unknown...5.2.6)
# Release Notes
## Bug Fixes
### Forge
- Resolved an issue with permissions not being registered
Git Commit: 5839d14
Full Commit History: [Unknown...5.2.5](https://github.com/NickImpact/Impactor/compare/Unknown...5.2.5)
# Release Notes
## Bug Fixes
### Forge
- Resolved an issue with the command framework library failing to package properly
- This resolves the forge booting issue, and the mod now works as expected
Git Commit: 5839d14
Full Commit History: [Unknown...5.2.5](https://github.com/NickImpact/Impactor/compare/Unknown...5.2.5)
# Release Notes
## Bug Fixes
### Forge
- Resolved an issue with the command framework library failing to package properly
- This resolves the forge booting issue, and the mod now works as expected
Git Commit: 977861d
Full Commit History: [5.2.3...5.2.4](https://github.com/NickImpact/Impactor/compare/5.2.3...5.2.4)
# Release Notes
## Changes
- Account placeholder now refreshes balances more often and after write versus access, fixing scenarios where certain setups could see the placeholder effectively locked
Git Commit: 977861d
Full Commit History: [5.2.3...5.2.4](https://github.com/NickImpact/Impactor/compare/5.2.3...5.2.4)
# Release Notes
## Changes
- Account placeholder now refreshes balances more often and after write versus access, fixing scenarios where certain setups could see the placeholder effectively locked
Git Commit: 55eff27
Full Commit History: [Unknown...5.2.3](https://github.com/NickImpact/Impactor/compare/Unknown...5.2.3)
# Release Notes
## Changes
- Fabric - Impactor now forwards placeholders to PlaceholderAPI on startup. This allows plugins using that api to start using Impactor placeholders without special support.
- NOTE: Due to complexity, some placeholders designed for Impactor may not parse properly via PAPI with the context available.
Git Commit: 55eff27
Full Commit History: [Unknown...5.2.3](https://github.com/NickImpact/Impactor/compare/Unknown...5.2.3)
# Release Notes
## Changes
- Fabric - Impactor now forwards placeholders to PlaceholderAPI on startup. This allows plugins using that api to start using Impactor placeholders without special support.
- NOTE: Due to complexity, some placeholders designed for Impactor may not parse properly via PAPI with the context available.
Git Commit: fda1e8b
Full Commit History: [5.2.1...5.2.2](https://github.com/NickImpact/Impactor/compare/5.2.1...5.2.2)
# Release Notes
## Changes
- Account placeholder now properly supports PAPI
- Allows for the following flags under "impactor:account"
- "currency=(namespace)/(value)" - Specifies the particular currency we wish to evaluate
- "balance" - Shows the balance of the account, based on the selected currency (otherwise, defaults to primary currency)
- "name" - Reveals the name of the account holder
## Fixes
- Account placeholder now correctly resolves under all circumstances
Git Commit: fda1e8b
Full Commit History: [5.2.1...5.2.2](https://github.com/NickImpact/Impactor/compare/5.2.1...5.2.2)
# Release Notes
## Changes
- Account placeholder now properly supports PAPI
- Allows for the following flags under "impactor:account"
- "currency=(namespace)/(value)" - Specifies the particular currency we wish to evaluate
- "balance" - Shows the balance of the account, based on the selected currency (otherwise, defaults to primary currency)
- "name" - Reveals the name of the account holder
## Fixes
- Account placeholder now correctly resolves under all circumstances
Git Commit: 5d54055
Full Commit History: [5.2.0...5.2.1](https://github.com/NickImpact/Impactor/compare/5.2.0...5.2.1)
# Release Notes
## Fixes
- Disable dev scoreboard test on Fabric, this was enabled and released by accident with 5.2.0
Git Commit: 5d54055
Full Commit History: [5.2.0...5.2.1](https://github.com/NickImpact/Impactor/compare/5.2.0...5.2.1)
# Release Notes
## Fixes
- Disable dev scoreboard test on Fabric, this was enabled and released by accident with 5.2.0
Git Commit: d71d833
Full Commit History: [5.0.0...5.2.0](https://github.com/NickImpact/Impactor/compare/5.0.0...5.2.0)
# Release Notes
# API
## New API Capabilities
- Scoreboards
- Allows for dynamic scoreboard creation which are capable of being updated at any particular interval.
- Base support for updaters includes:
- Scheduled
- Event Subscribing
- Provides a service responsible for managing mail between users
- Economy
- Added a save method from within the EconomyService (credit: https://github.com/eupedroosouza)
# Changes & Fixes
- Added support for basic selectors (@s & @r) for commands requesting players or other entities
- These selectors are basic in nature, and do not presently support advanced filters
- Command parsing on player names now ignores casing
- Updated internal command framework to the newest Cloud 2.0 beta builds
## Economy
- Changed how a currency accepts its formatting, now opting for a set of MiniMessage-based templates versus assumed formatting
- This acts as an API break
- Updated the config format for currency description to support the new formatting system. Please see the example config on [Github](https://github.com/NickImpact/Impactor/blob/1.20.1/impactor/src/main/resources/impactor/assets/configs/economy.conf#L49-L64) to understand how to update your configs for this change!
Git Commit: d71d833
Full Commit History: [5.0.0...5.2.0](https://github.com/NickImpact/Impactor/compare/5.0.0...5.2.0)
# Release Notes
# API
## New API Capabilities
- Scoreboards
- Allows for dynamic scoreboard creation which are capable of being updated at any particular interval.
- Base support for updaters includes:
- Scheduled
- Event Subscribing
- Provides a service responsible for managing mail between users
- Economy
- Added a save method from within the EconomyService (credit: https://github.com/eupedroosouza)
# Changes & Fixes
- Added support for basic selectors (@s & @r) for commands requesting players or other entities
- These selectors are basic in nature, and do not presently support advanced filters
- Command parsing on player names now ignores casing
- Updated internal command framework to the newest Cloud 2.0 beta builds
## Economy
- Changed how a currency accepts its formatting, now opting for a set of MiniMessage-based templates versus assumed formatting
- This acts as an API break
- Updated the config format for currency description to support the new formatting system. Please see the example config on [Github](https://github.com/NickImpact/Impactor/blob/1.20.1/impactor/src/main/resources/impactor/assets/configs/economy.conf#L49-L64) to understand how to update your configs for this change!
Git Commit: [0736d7b](https://github.com/NickImpact/Impactor/commit/0736d7b6b5949a55e990e144706fef2997206576)
Full Commit History: [5.0.0...5.1.1](https://github.com/NickImpact/Impactor/compare/5.0.0...5.1.1)
# Release Notes
## Game Version Focus
- Targeting Minecraft 1.20.1
## API Additions
- Paginations
- Minecraft respective API for translating Keys, ItemStacks and Text to Native
- Context now accepts Pointered objects, allowing for multiple values with similar typing
## API Changes
- Economy
- In 5.1.0, Account received new async equivalents to its synchronous methods. This has been reverted with the sync methods losing their deprecation status, and the async methods receiving said status. This is to better accommodate the usage of threads and the joins required.
- TransactionComposers now take a Supplier for a Component
## Implementation Fixes/Changes
- Users will now receive feedback when they receive money via /eco pay
- Fixed the transferable flag via Currency configuration not being set properly
- Fixed users being able to pay themselves from other sources
- This change requires a permission change
- Before: impactor.commands.pay
- After: impactor.commands.pay.base
- To allow players to pay for others, a new permission was introduced
- Permission Node: impactor.commands.pay.other
- Added SQL support via MySQL and MariaDB for the EconomyService
- Currency formatting will now format numbers into a cleaner format, based on per-user locale
- For instance, $10000.50 will now format one of two ways
- US Standard: $10,000.50
- Otherwise: $10.000,50