https://github.com/mineinabyss/geary-papermc
Support for Minecraft entities in Geary ECS
https://github.com/mineinabyss/geary-papermc
Last synced: 2 months ago
JSON representation
Support for Minecraft entities in Geary ECS
- Host: GitHub
- URL: https://github.com/mineinabyss/geary-papermc
- Owner: MineInAbyss
- License: mit
- Created: 2023-01-22T21:37:46.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2026-03-30T01:13:42.000Z (3 months ago)
- Last Synced: 2026-03-30T01:32:32.327Z (3 months ago)
- Language: Kotlin
- Homepage:
- Size: 1.18 MB
- Stars: 11
- Watchers: 5
- Forks: 5
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Geary PaperMC
[](https://github.com/MineInAbyss/geary-papermc/actions/workflows/build.yml)
[](https://repo.mineinabyss.com/#/releases/com/mineinabyss/geary-papermc-core)
[](https://docs.mineinabyss.com/geary)
[](https://docs.mineinabyss.com)
geary-papermc is a [Paper](https://papermc.io/) plugin that lets you interact with Minecraft through our Entity Component System, [Geary](https://github.com/MineInAbyss/Geary).
## Features
- Tracks ECS entities for Bukkit mobs, items, and blocks for you
- **Currently only mob tracking is complete**
- Easily store and persist data on anything that's tracked
- Write your behaviour using familiar Bukkit listeners, or use Geary systems to make repeating tasks
- Let users create configurable prefabs in yaml, json, and more under `plugins/Geary/` folders
## Example
### Prefabs
We have several config-driven projects to help you create custom things without having to code! These are currently being rewritten for our simpler structure and have examples on their corresponding page.
- [Mobzy](https://github.com/MineInAbyss/Mobzy) - Custom mobs. Includes pathfinding, attributes, and a spawning system
- [Looty](https://github.com/MineInAbyss/Looty) - Custom items, recipes, and migration support as your config changes
- [Blocky](https://github.com/MineInAbyss/Blocky) - Custom blocks, furniture and more
### Mobs
```kotlin
val player: Player = ...
val gearyPlayer = mob.toGeary()
@Serializable
data class Coins(val amount: Int)
player.setPersisting(Coins(10))
```
## Usage
- Install from our [releases](https://github.com/MineInAbyss/geary-papermc/releases/latest)
Depend on `Geary` in your plugin's `plugin.yml`
- We depend on [Idofront](https://github.com/MineInAbyss/Idofront/releases), install it into your plugins folder
- For full ECS usage, see the [Geary wiki](https://docs.mineinabyss.com/geary/)
### Gradle
```kotlin
repositories {
maven("https://repo.mineinabyss.com/releases")
}
dependencies {
implementation("com.mineinabyss:geary-papermc:x.y.z")
}
```
This will include common addons that come preinstalled for Minecraft (ex prefabs). Use `geary-papermc-core` if you don't want those added to your project.
## Projects using Geary
### From Mine in Abyss
- [Blocky](https://github.com/MineInAbyss/Blocky) - Custom blocks for geary
- [Packy](https://github.com/MineInAbyss/Packy) - Resourcepack generator, merger, and server
- [Chatty](https://github.com/MineInAbyss/Chatty) - Customizes chat messages with MiniMessage support
- [Mine in Abyss](https://github.com/MineInAbyss/MineInAbyss) - Our main plugin with relics and curse
- [Stamina Climb](https://github.com/MineInAbyss/StaminaClimb) - BoTW-like climbing system
- [Bonfire](https://github.com/MineInAbyss/Blocky) - Custom respawning system
- [ExtraCommands](https://github.com/MineInAbyss/ExtraCommands) - Useful utility commands
- [Eternal fortune](https://github.com/MineInAbyss/EternalFortune) - Graves plugin
- [Particles](https://github.com/MineInAbyss/particles) - Display entity particle demo
- [Backpacky](https://github.com/MineInAbyss/Backpacky) - Backpacks