/TaterLib

A cross API code library for various generalizations used in the Tater* plugins

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

TaterLib

License Github Github Issues Discord wakatime

A cross API code library for various generalizations used in the Tater* plugins

Please note, some abstractions may not be fully implemented yet, and some may be missing. If you're looking for a specific abstraction/game event, please open an issue, and we'll get to it as soon as possible, or feel free to open a PR with an implementation.

Link to our support: Discord

Download

Github Releases Maven Repo Maven Repo

Spigot Hangar Modrinth CurseForge Sponge

Adding to your project

repositories {
    maven {
        name = "NeuralNexus"
        url = "https://maven.neuralnexus.dev/repository/releases/"
    }
}

dependencies {
    implementation "dev.neuralnexus:TaterLib:<mcversion>-<version>"
}

Compatibility Cheatsheet

TaterLib supports: Bukkit, BungeeCord, Fabric, Forge, Sponge, and Velocity

Server type Versions Jar Name
1.20.2 (Sponge11) 1.20.2 TaterLib-1.20.2-<version>.jar
1.20-1.20.1 (Sponge11) 1.20-1.20.1 TaterLib-1.20-<version>.jar
All 1.19 (Sponge10) 1.19-1.19.4 TaterLib-1.19-<version>.jar
All 1.18 (Sponge9) 1.18-1.18.2 TaterLib-1.18-<version>.jar
All 1.17 (Sponge9) 1.17-1.17.1 TaterLib-1.17-<version>.jar
All 1.16 (Sponge8) 1.16-1.16.5 TaterLib-1.16-<version>.jar
All 1.15 (Sponge8) 1.15-1.15.2 TaterLib-1.15-<version>.jar
All 1.14 1.14-1.14.3 TaterLib-1.14-<version>.jar
All 1.13 (no Fabric) 1.13-1.13.2 TaterLib-1.13-<version>.jar
All 1.12 (Sponge7, no Fabric) 1.12-1.12.2 TaterLib-1.12-<version>.jar
Bukkit 1.7.10 1.7.2-1.7.10 TaterLib-bukkit-1.7.10-<version>.jar
Bukkit 1.6.4 1.6.1-1.6.4 TaterLib-bukkit-1.6.4-<version>.jar
Bukkit 1.2.5 1.2.5 TaterLib-bukkit-1.2.5-<version>.jar
Bukkit b1.7.3 b1.7.3 TaterLib-bukkit-b1.7.3-<version>.jar

Dependencies

Optional Dependencies

  • LuckPerms - For permissions/prefix/suffix support

Commands and Permissions

Command Permission Description
/taterlib <version/reload> taterlib.command Root TaterLib Command

Projects that use TaterLib

Feel free to open a PR to add your plugin/mod to this list!

Release Notes

1.1.0-R0.10-SNAPSHOT

  • Fixes to Sponge8-11 component serialization
  • Fixed SpongeEntity.getType returning a properly formatted entity resource
  • Reworked the entire event system
  • Added getEntity to AbstractEntity implementations
  • Removed redundant event abstraction
  • Reworked TaterLib PlayerListener and reload command
  • Implemented EntitySpawnEvent for 1.7.10-b1.7.3
  • Implemented rudimentary PlayerDeathEvent for b1.7.3
  • Added support for NeoForge 1.20.2
  • Removed the ...taterlib.{platform}.abstractions package name
  • Renamed ...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api
  • Moved ...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory
  • Moved ...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventory
  • Removed the Abstract prefix from all common interfaces
  • Added the ability to set a player's prefix/suffix
  • Added numerical permission checks to Player for Forge/Fabric
  • Abstracted Brigadier commands
  • Abstracted simple commands
  • Simplified Plugin abstractions so depending on TaterLib is easier
  • Refactored TaterLib helper methods to be wrapped in the TaterAPI class
  • Added MinecraftVersion and ServerType enums.
  • Created TaterAPI.isBrigadierSupported
  • Abstracted plugin/mod isLoaded checks
  • Player now inherits Entity
  • Added Entity.teleport
  • Abstracted brigadier helper into a wrapper class
  • Implemented registering simple commands for Forge/Fabric
  • Updated database utils
  • Added Server abstraction and TaterAPI.getServer
  • Ported to Bukkit 1.13.2 and Sponge 5
  • Abstracted ProxyPlayers, specifically adding a connect method
  • Added Block abstraction and BlockBreakEvent
  • Updated Server implementation and added ProxyServer for proxies
  • Added ServerEvent.getServer