Voxel Shop beta is live. Expect occasional bugs. Learn more
Powerful spigot development library that supercharges your plugins
eco
eco is a powerful Spigot plugin framework that simplifies plugin development and supercharges your plugins.
It is the engine behind [EcoEnchants](https://polymart.org/resource/490), [Reforges](https://polymart.org/resource/1330), [EcoItems](https://polymart.org/resource/1247), [EcoSkills](https://polymart.org/resource/1351), [EcoArmor](https://polymart.org/resource/687), [Talismans](https://polymart.org/resource/611), and many more.
eco comes packed with all the tools you need in your plugins:
- Modern command API
- Native color parsing with full hex/RGB/MiniMessage support
- YAML/JSON/TOML config system
- Persistent data storage API with YAML/MySQL/MongoDB support
- Packet item display system
- Lightweight event-loop packet API
- Entity AI API with near-1:1 NMS mappings
- More events
- Extension API (plugins for plugins)
- Fluent dependency injection for NamespacedKey, Metadata values, and more
- Ultra-fast ItemStack reimplementation bypassing ItemMeta
- Complete GUI API with pre-made components from [ecomponent](https://github.com/Auxilor/ecomponent)
- Over 40 native integrations for other plugins
- First-class custom item support with lookup strings
- Math expression parsing via [Crunch](https://github.com/Redempt/Crunch)
- Particle lookups
- Complete Placeholder API
- Price system (economy plugins, XP, items, etc.)
- NMS/version-specific tooling
- Custom crafting recipe API with support for stacks and custom items
- Native plugin update checking
- Native bStats support
- Full Kotlin support with native extensions
- Tooling for meta-frameworks like [libreforge](https://github.com/Auxilor/libreforge)
- And much more
For Server Owners
- Supports **1.21.4+**
- **Folia supported**
For Developers
eco is a standalone plugin. Install it on any server running plugins that depend on it, and declare it in your `plugin.yml`:
depend:
- eco
Dependency Information
Gradle repositories:
repositories {
maven("https://repo.auxilor.io/repository/maven-public/")
}
Gradle dependency:
dependencies {
compileOnly("com.willfp:eco:Tag")
}
Replace `Tag` with a release tag, for example `7.4.0`.
Maven repository + dependency:
<repository>
<id>auxilor</id>
<url>https://repo.auxilor.io/repository/maven-public/</url>
</repository>
<dependency>
<groupId>com.willfp</groupId>
<artifactId>eco</artifactId>
<version>Tag</version>
<scope>provided</scope>
</dependency>
Replace `Tag` with a release tag, for example `7.4.0`.
Javadocs
Javadocs are available via JitPack using this format:
`https://javadoc.jitpack.io/com/willfp/eco/<version>/javadoc/`
(Replace `<version>` with the release tag you are targeting.)
Build Locally
git clone https://github.com/Auxilor/eco
cd eco
./gradlew buildWindows:
git clone https://github.com/Auxilor/eco
cd eco
.\gradlew.bat build
License
eco is licensed under MIT.
Read the full license: [LICENSE.md](https://github.com/Auxilor/eco/blob/master/LICENSE.md)