Skip to content

MineInAbyss/geary-papermc

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

  • Chatty - Customizes chat messages with MiniMessage support