Skip to content

MineInAbyss/geary-papermc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geary PaperMC

Build Package Wiki Contribute

geary-papermc is a Paper plugin that lets you interact with Minecraft through our Entity Component System, 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/<namespace> 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 - Custom mobs. Includes pathfinding, attributes, and a spawning system
  • Looty - Custom items, recipes, and migration support as your config changes
  • Blocky - Custom blocks, furniture and more

Mobs

val player: Player = ...
val gearyPlayer = mob.toGeary()

@Serializable
data class Coins(val amount: Int)

player.setPersisting(Coins(10))

Usage

  • Install from our releases Depend on Geary in your plugin's plugin.yml
  • We depend on Idofront, install it into your plugins folder
  • For full ECS usage, see the Geary wiki

Gradle

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

About

Support for Minecraft entities in Geary ECS

Resources

License

Stars

Watchers

Forks

Contributors 6

Languages