AuroraLib
This is the base plugin for every Aurora plugin. It requires PaperMC as the server software and Java 21 or higher. Folia is also supported.
You can view the full documentation here.
It provides the following utilities:
- chat/actionbar messaging, text building using every possible color formats and styles.
- custom logger
- automatic yaml to class mapping and config versioning
- plugin dependency management
- inventory menu/gui builder with premade configs
- user data management via file or mysql (mysql can sync between servers as well)
- builtin user metadata store with placeholder support
- economy expansion with builtin providers (CMI, EssentialsX, Vault)
- placeholder expansion to interact with PAPI
- configurable number formatting (regular and short formats as well)
- player placed block tracker (supporting flatfile or sqlite as storage) which integrates with Multiverse-Core and WildRegeneration for cleanup. It can even handle manual chunk deletions.
- WorldGuard expansion to provide events like
PlayerRegionEnterEventandPlayerRegionLeaveEvent CommandDispatcherto easily dispatch commands from config files- Common leveler / level matcher / level reward utilities.
- Item resolver/builder interface which supports items from other plugins.
- Leaderboard APIs
Include it in your project
Maven
<repository>
<id>auroramc</id>
<url>https://repo.auroramc.gg/releases/</url>
</repository>
<dependency>
<groupId>gg.auroramc</groupId>
<artifactId>Aurora</artifactId>
<version>{VERSION}</version>
<scope>provided</scope>
</dependency>
Gradle
Groovy DSL:
repositories {
maven {
url "https://repo.auroramc.gg/releases/"
}
}
dependencies {
compileOnly 'gg.auroramc:Aurora:{VERSION}'
}
Kotlin DSL:
repositories {
maven("https://repo.auroramc.gg/releases/")
}
dependencies {
compileOnly("gg.auroramc:Aurora:{VERSION}")
} All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
|
R
2.6.0
|
8h ago | 1 | |||
| 8h ago | 1 | ||||
|
R
2.5.1
|
8h ago | 1 | |||
|
R
2.5.0
|
8h ago | 1 | |||
|
R
2.4.2
|
8h ago | 1 | |||
|
R
2.4.1
|
8h ago | 1 | |||
|
R
2.4.0
|
8h ago | 1 | |||
|
R
2.3.4
|
8h ago | 1 | |||
|
R
2.3.3
|
8h ago | 1 | |||
|
R
2.3.1
|
8h ago | 1 | |||
|
R
2.2.0
|
8h ago | 1 | |||
|
R
2.1.6
|
8h ago | 1 | |||
|
R
2.1.5
|
8h ago | 1 | |||
| 8h ago | 1 | ||||
|
R
2.1.1
|
8h ago | 1 | |||
|
R
2.1.0
|
8h ago | 1 | |||
|
R
2.0.8
|
8h ago | 1 | |||
|
R
2.0.7
|
8h ago | 1 | |||
|
R
2.0.5
|
8h ago | 1 | |||
|
R
2.0.3
|
8h ago | 1 | |||
|
R
2.0.1
|
8h ago | 1 | |||
|
R
2.0.0
|
8h ago | 1 | |||
|
R
1.7.2
|
8h ago | 1 | |||
|
R
1.7.0
|
8h ago | 1 | |||
|
R
1.6.0
|
8h ago | 1 | |||
|
R
1.5.11
|
8h ago | 1 | |||
|
R
1.5.10
|
8h ago | 1 | |||
|
R
1.5.9
|
8h ago | 1 | |||
|
R
1.5.8
|
8h ago | 1 | |||
|
R
1.5.7
|
8h ago | 1 | |||
|
R
1.5.6
|
8h ago | 1 | |||
|
R
1.5.5
|
8h ago | 1 | |||
|
R
1.5.4
|
8h ago | 1 | |||
|
R
1.5.3
|
8h ago | 1 | |||
|
R
1.5.2
|
8h ago | 1 | |||
|
R
1.5.1
|
8h ago | 1 | |||
|
R
1.5.0
|
8h ago | 1 | |||
|
R
1.4.2
|
8h ago | 1 | |||
|
R
1.4.1
|
8h ago | 1 | |||
|
R
1.4.0
|
8h ago | 1 |
- Remove leftover warning message for number rewards
- Add CraftEngine as an item resolver
- Add CrackShot as an item resolver
- Highly improve
/aurora debug itemid <level>command - Make every type of reward a number reward (available automatically in every Aurora plugin)
- Fix some teleport error when a world is unloaded
- Fix message migrator 1.20.4 compat
- Add getLanguageProvider to AuroraAPI
- Fill placeholders in menus even if localization provider is not set
- Make slots option higher priority than default slot
https://docs.auroramc.gg/aurora/per-player-localization
messages.yml is now messages_en.yml and you can create more using proper language codes like messages_de.yml for german.Examples:
en-US, en-UK, en, de, sk, huIn this file, you can add a new section, named
custom (which is already there if you do a fresh install:``
yml
custom:
stash-title: Item stash
prev-page: '&fPrevious Page'
npc:
quests: <white>Quests
`
These values are available in the plugin menus like item stash. You can reference them as {{stash-title}} or {{npc.quests}}. Notice the dot (**.**) notation for nested structures.
These are also exposed as PlaceholderAPI placeholders: %aurora_lang_<key>% for example: %aurora_lang_npc.quests%
This allows you to add per player localization to any plugin that supports PlaceholderAPI placeholders.
### To enable per player localiaztion:
In your config.yml you have to:
- add the language codes you support in
supported-languageschoose your default language and set it to locale fieldset use-per-player-locale to true
And then you have to:
- grant the
aurora.core.user.language to the players so they have access to the /language commandAfter all these, players will be able to use their desired language.
Notice that in config.yml the number-format section also have a locale` value. That is only used when per player locale is disabled, otherwise it will use the player's selected locale.- Add item resolver priorities to config
- Add item resolver for KGenerators plugin using
kgenerators:generator_id - Add item interop for every supported item plugin with MythicMobs drops/equipment using
auroralib{item=namespace:item_id}, example:auroralib{item=nexo:forest_chestplate} - Expose data saving/loading latency measurements via debug command:
/aurora debug latency(should be ran after about half an hour of active player joining/leaving) - Offline players loaded through API aren't cached anymore to prevent potentional synchronization issues
- Mark blocks as player placed that are created using a builder wand from WildTools
- Extend the API of RegionExpansion to work with just locations instead of blocks
- Removed useless scheduler calls from actionbar/chat handlers
- Actionbar utility now pauses AuraSkills idle/xp actionbar just like AuraSkills does when using its ProtocolLib hook
- Add support for ItemEdit in item resolvers with syntax
itemedit:server_item_id - Add support for EvenMoreFish **2.0** in item resolvers with sytanx:
emf:rarity:fish_id - Fix very rare race condition with user data loading
- New features**
- Add
[meta] meta-key <comparator> valuecondition/requirement - Add
===for placeholder and meta requirements to check equality between actual numbers
- Fixes/improvements**
- Money reward (used by the other plugins) tries to fail safely if you don't actually have any economy provider
- Improve Eco item handler, to make sure it safely fails when you are using EcoArmor in ways you are not supposed to (having disabled armor pieces in your inventory)
- Fix
/stash view <player>on folia
- Hotfix CommandDisptacher
- Ignore non player entites (eg NPCs) in worldguard expansion
- Handle kelp the same way as sugar_cane, bamboo, cactus
- Fix auto save not rescheduling itself properly when there are no data to save in one cycle**
- Throw on empty command in CommandDispatcher
New stuff
- Add /aurora debug blockremove to force unregister player placed block
- Builders for ItemConfig
- Add /stash view <player>
- Skip paper plugin remapping
- Change the way permission rewards save the new permission
- Apply empty attribute map instead of iron sword default to items when HIDE_ATTRIBUTES flag is used
- Fix economy expansion not loading when Vault is not present
- Conditional lore option for items
ItemBuilder#extraLoreapi
- Ignore EntityBlockChangeEvent if the entity is not a falling block
- Backport Eco item resolver to 1.20.4
- Add tooltip-style for item config 1.21.2+
- Ignore sand fall on folia
- Remove Eco from plugin.yml since they can't fix their loading issues
- New**: Items registered through
/aurora registeritem <id>now can be used both ways id -> item and **item -> id** - Fixes various issues with Eco plugins in item resolvers
- Compile against 1.21.4
- You can now use
item-modelon every menu/reward/etc item (required 1.21.4+)
- Fix various item resolver issues
- Add Eco to plugin.yml as a softdepend
- Make sure eco don't hijack oraxen/itemsadder/nexo items when they are not actually eco items
- Ignore IA, Oraxen and Nexo in EcoItemsResolver
- Fix item resolver AIR with customfishing
- Improve menu Requirement APIs
- Add support for Nexo in item resolvers
- Remove placed block data 1 tick later to allow checking state in BlockItemDropEvent as well
- Add support for ExecutableBlocks in item resolvers.
## Block tracker
With this version the old block tracker implementation will be dropped and the new one will take its place. This will use way less storage and it is way more performant.
This change was needed since the old solution haven't really worked well on servers that has a lot of active players building. Now the information will be synced with the chunk on the chunk persistent data container with a very minimal storage overhead
## What does that mean for you?
The tracking information for the already placed blocks will be lost. This means that players can increase their collection/quest progression with those blocks. **In reality, this almost doesn't matter and won't cause an issues**. Newly placed blocks will behave as before. For example if you place a sugar cane, then break it, you still won't progress your collections/quests just like before.
I'm sorry if this causes some inconvenience for you, but the impact should be minimal and negligible. Thanks for understanding.
If you use this build, you need to update AuroraQuests as well to the latest build.
## Other
- Some more utils
- Some more menu APIs
- Fix minor sound issues in CommandDispatcher
- Added
[has-items]and[take-items],[give-item]as valid command dispatcher actions and requirements - Added
append-loreto item-config for better item merging capabilities - Added bStats
- Build against 1.21.3
### New features
- Rework economy interface to support multiple currencies
- Added new economy providers
- Current list of supported economy providers: Vault, Essentials, CMI, PlayerPoints, CoinsEngine, EcoBits, EliteMobs, RoyaleEconomy, RoyaleEconomyBank
- Both CommandDisptacher, MoneyReward and [money] menu requirement supports these new economies and currencies
### Improvements
- Cache player profiles when creating skull items
- HeadDatabase support for Item resolvers
- Stash commands and APIs now handle larger amounts than the maximum stack size of the item.
### Bug fixes
- Fix legacy color code replacer
&n -> <underlined> - Fix custom GUIs title placeholder not including args
- Fix AuroraMenu free slots API (for 3rd party plugins wanting to implement something like a backpack)
- Don't build the actual item if the material is air in ItemBuilder
### New features
- Fully customizable **GUI framework**. Create as many custom menus as you wish with the full power of AuroraLib item resolvers, command dispatcher, and requirement manager. All of these also have an extendable API for developers
- ItemsAdder item support (meaning every aurora plugin can now use
ia:namespace:item_id) - Command dispatcher now supports
[take-money],[give-money],[sound],[open-gui],[actionbar] - Item stash menu and commands**! Now every Aurora plugin can use this stash to put item rewards into it for example. It also has a straightforward API for other plugin developers to hook into.
- You can now register items that you are currently holding and use them in menus/item rewards like
aurora:item_id
### Improvements
- Cache skin URLs extracted from base64 strings
- Reworked the command system, so now you have better tab completions and fully translatable messages for everything
- More permissions to allow greater control over who can do what
### Bug fixes
- Now if you mess up your YAML syntax in config, your files won't be changed/erased by config migration steps
- Fixed click handling of menus
- Add support for ExecutableItems
- Fix NPE on plugin disable if block tracker is disabled.
- Add
hide-tooltipoption to ItemConfig. - Fix some issues with generic collections in ConfigManager, but this shouldn't really matter for regular users
- Fix leaderboard placeholders not working with null player
- Fix block tracker to properly call RegionBlockBreakEvent every time
- Fix block tracker error when mining amethyst and other blocks that require support not to break
- Now player join won't trigger a leaderboard save for no reason. Doesn't matter too much, but it is a slight improvement.
- Fix TypeId for entities
- in your collection configs you should now write:
minecraft:entityinstead ofminecraft:ENTITY