
Obsidian
An API aimed to simplify the development of Bukkit plugins (please use Paper or any Paper fork)
- Загрузки
- 437
- Подписчики
- 2
- Обновлён
- 7 сентября 2025 г.
- Лицензия
- GPL-3.0-or-later
Опубликован 27 августа 2024 г.
Obsidian
An API aimed to simplify the development of Paper plugins
Info
This API is aimed to simplify the development of Paper plugins, providing a lot of utilities that will make your life (and mine) easier
Even though a standalone plugin version is available, it's recommended to shade this API into your plugins, as this API changes frequently and depending on the standalone version may cause some issues if server owners install some plugins that depend on different versions of this API
❗ You need Java 17+ to use this API/Plugin. If you are using a lower version consider upgrading
⚠️ You need to set your plugin to use Spigot mappings in order to preserve compatibility with Paper forks that are still using Spigot mappings. More information in the PaperMC documentation
⚠️ Only Minecraft 1.17 or superior is officially supported. Versions below 1.17 will not receive any support
It's mostly used in my plugins, but you can use it on your own plugins if you want, just make sure to give proper credit!
How to import
Gradle
repositories {
maven {
name = "devadri"
url = uri("https://repo.devadri.es/repository/releases") // Use dev repository for beta builds
}
}
dependencies {
implementation("me.devadri:obsidian:{VERSION}") // Replace {VERSION} with the desired version
}
Maven
<repositories>
<repository>
<id>devadri</id>
<url>https://repo.devadri.es/repository/releases</url> <!-- Use dev repository for beta builds -->
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>me.devadri</groupId>
<artifactId>obsidian</artifactId>
<version>{VERSION}</version> <!-- Replace {VERSION} with the desired version -->
</dependency>
</dependencies>
Credits
- Thanks to Byteflux and AlessioDP for creating the Libby library, which is used to manage dependencies at runtime.
- Thanks to CryptoMorin for creating the XSeries library, which is used to preserve compatibility with older and newer versions of Minecraft, as IDs and APIs can vary between versions.
Ченджлог
3.0.2Релиз1.21.4, 1.21.5, 1.21.6 · 7 сентября 2025 г.
No changelog was specified.
3.0.1Релиз1.21.6, 1.21.7, 1.21.8 · 5 сентября 2025 г.
3.0.0 Changelog: https://github.com/Adrigamer2950/Obsidian/compare/2.5.3...3.0.0
3.0.1 Changelog: https://github.com/Adrigamer2950/Obsidian/compare/3.0.0...3.0.1
2.5.3Релиз1.21.4, 1.21.5, 1.21.6 · 3 августа 2025 г.
Changelog
- Solve possible ConcurrentModificationException
- Properly register command aliases
- Override setters in AbstractCommand
- Add JvmOverloads annotation to AbstractCommand constructor
- Add 'usage' parameter to AbstractCommand constructor
- Replace User#getConsole, User#getPlayer, User#getConsoleOrNull and User#getPlayerOrNull with User#asConsole and User#asPlayer
Full Changelog: https://github.com/Adrigamer2950/AdriAPI/compare/2.5.2...2.5.3
2.5.2Релиз1.21.4, 1.21.5, 1.21.6 · 2 июля 2025 г.
Changelog (Main changes)
- Override another tabComplete method of Bukkit's Command class
- Replace Command#commandName with Command#info to store command information (name, description, aliases)
- Make AbstractCommand#executeSubCommands & AbstractCommand#suggestSubCommands actually care about aliases
Full Changelog: https://github.com/Adrigamer2950/AdriAPI/compare/2.5.1...2.5.2
2.5.1Релиз1.21.4, 1.21.5, 1.21.6 · 24 июня 2025 г.
Changelog (Main changes)
- Make commands being unregistered when unloading the plugin (https://github.com/Adrigamer2950/AdriAPI/commit/00b178d9211cd0fea94f270103f8e765b17865b6)
- Fix ItemBuilder#fromBukkitItem failing when item doesn't have a custom model data (https://github.com/Adrigamer2950/AdriAPI/commit/27ba89507d70adcb294843f630e752697368f320)
- Use Spigot mappings in every NMS version (https://github.com/Adrigamer2950/AdriAPI/commit/17b8f1e281e060e31f5a3e99622a0c3a90b88ecc)
Full Changelog: https://github.com/Adrigamer2950/AdriAPI/compare/2.5.0...2.5.1
2.5.0Релиз1.21.3, 1.21.4, 1.21.5 · 21 мая 2025 г.
Changelog (Main changes)
- Add Sound#fromBukkitSound (https://github.com/Adrigamer2950/AdriAPI/commit/f34154d2220a383a9bbbccc87c3d30390cccec25)
- Add Sound#toBuilder (https://github.com/Adrigamer2950/AdriAPI/commit/8d358c1857b0844930fb281454773a280fc6683e)
- Add org.bukkit.Sound#toSound & org.bukkit.sound#toSoundBuilder (https://github.com/Adrigamer2950/AdriAPI/commit/9229945e72f876c4a1e7586afbf810af4030ec41)
- Add system property to force enable debug mode (https://github.com/Adrigamer2950/AdriAPI/commit/cfc540ea6a8644ba6a2a8904b3e4f6152d433eb0)
- Add AutoRegister annotation (https://github.com/Adrigamer2950/AdriAPI/commit/953f9a3d89ba553c4b9de404abb90d630843c239)
- Relocate org.reflections (https://github.com/Adrigamer2950/AdriAPI/commit/8761d5ffbe0f123aa2ae86d5b458e76f56f99c17)
- Add LibraryManager#loadLibrary & LibraryManager#loadLibraries (https://github.com/Adrigamer2950/AdriAPI/commit/bfe7b415fbf921e926d8e576360851a38e049f57)
- Add ExperimentalAPI annotation (https://github.com/Adrigamer2950/AdriAPI/commit/26c5f7e5a1c44f48598921fa7f4799a2a2c71ce6)
- Allow name change of libraries folder at internal level (https://github.com/Adrigamer2950/AdriAPI/commit/fd04397ba5abf85c3c768d325941b78360f8a6d7)
- Switched from libby-bukkit to libby-standalone (https://github.com/Adrigamer2950/AdriAPI/commit/eee3bfff4d2deae3f1bd1def0aaf7677dc8af833)
- Add test platform (https://github.com/Adrigamer2950/AdriAPI/commit/58df3b12606dab748b6e2dcfef8be18b7ae8c5fe)
- Use XSeries for Sound handling (https://github.com/Adrigamer2950/AdriAPI/commit/9cea1c7b188c0f0eb684fb817011cb0ef8f5cc6a)
- Scheduler rework (https://github.com/Adrigamer2950/AdriAPI/commit/8e1cf2ec084d1d79dc55e88c8a3796e29156c482)
- Create overloads for Logger (https://github.com/Adrigamer2950/AdriAPI/commit/c4f00a6ab7426abba49fea66287ca46127660302)
- Replace Consumer for function literal in Scheduler (https://github.com/Adrigamer2950/AdriAPI/commit/447138ce41fca87970a5b478ea4a8221618016a0)
- NMS Implementation (https://github.com/Adrigamer2950/AdriAPI/commit/f4fe67ff1f9bfd661de85b4a4a3211abef5715fe)
- Use NMS to play sounds directly to a player (https://github.com/Adrigamer2950/AdriAPI/commit/f01416694ee4141a21cc9539d50e0bf1ebba5950)
- Add CommandSender#toUser function (https://github.com/Adrigamer2950/AdriAPI/commit/787d816d0aa08d28b8533de7269b836c37c28e05)
- Cache User objects (https://github.com/Adrigamer2950/AdriAPI/commit/7b70c6bb243904a3a52cb76dc622689953629f8f)
- Fix AbstractCommand suggestions (https://github.com/Adrigamer2950/AdriAPI/commit/d4a5798007b0ae144a901c9e5cc0f5082e5e7f9c)
Full Changelog: https://github.com/Adrigamer2950/AdriAPI/compare/2.4.0...2.5.0
2.4.0Релиз1.21.2, 1.21.3, 1.21.4 · 14 апреля 2025 г.
Full Changelog: https://github.com/Adrigamer2950/AdriAPI/compare/2.3.0...2.4.0
Changelog (Main changes)
- fix: Include libby and folia module as api dependencies (https://github.com/Adrigamer2950/AdriAPI/commit/de7d276f6f6aca033a9dae0a4c8bbb5789b7f040)
- feat: Centralize all downloaded libraries into AdriAPI folder (https://github.com/Adrigamer2950/AdriAPI/commit/339912e19ffc66aeff5ef912cf73bad61506a236)
- feat: Add Inventory object to lambda functions in onInventoryClick and onInventoryClose methods (https://github.com/Adrigamer2950/AdriAPI/commit/1aaa430918b90f13f8dd4d49f1ff6e711bae35fb)
- feat!: plugin object in Inventory (https://github.com/Adrigamer2950/AdriAPI/commit/f000ae8ce1ed8bbe6477af6b4d2303095c84471f)
- feat!: Remove ItemCraftedEvent (in favor of CraftItemEvent) (https://github.com/Adrigamer2950/AdriAPI/commit/518012ab40c583e8f5366b17835921983675c4d5)
- Add User#getBukkitSender (https://github.com/Adrigamer2950/AdriAPI/commit/a81e12e5eb39e51e308333dce1419d731f6a43b5)
- Add User#console (https://github.com/Adrigamer2950/AdriAPI/commit/3bbb03119f573bd652237b645c6b8ad4f9b371b1)
- Totally rewritten Command API (https://github.com/Adrigamer2950/AdriAPI/commit/92492c0a6c544185414ad4ad5fdf96212ac0efcf)
- Refactor folia module as api sub-module (https://github.com/Adrigamer2950/AdriAPI/commit/9a8cf6147e61052b80d880d99a586b72a897454a)
- Check if ScheduledTask is cancelled (https://github.com/Adrigamer2950/AdriAPI/commit/5f31244d3fba8f5859675dd80f79ec73005219e8)
- Kotlin migration (#18) (https://github.com/Adrigamer2950/AdriAPI/commit/bd5316d2f1beb429b0f05c6b85959ee4a927c87d)
- Expose JavaPlugin secondary constructor (deprecated) in APIPlugin (https://github.com/Adrigamer2950/AdriAPI/commit/51edca39f800f5730a66584e12266f55a76338c9)
- Custom Persistent Data Types (https://github.com/Adrigamer2950/AdriAPI/commit/fed522a3dd377602dad0388744a87ae2bb622b8d)
- Logger rework (https://github.com/Adrigamer2950/AdriAPI/commit/363fe12abbf0e8dadfd74f1133ade704be711732)
- ClassUtil object (https://github.com/Adrigamer2950/AdriAPI/commit/c315512095e3a4075e9fa3d15446c7c7e6bde850)
- Move InventoriesListener to api.internal package (https://github.com/Adrigamer2950/AdriAPI/commit/d6379f8baa75a7f20da269e7ca6b0f79718193c2)
- Register InventoriesListener in APIPlugin (https://github.com/Adrigamer2950/AdriAPI/commit/7a121f87ddddd4daee43795aa9967ad11dc0252b)
- Load hooks when enabling plugin (https://github.com/Adrigamer2950/AdriAPI/commit/e367ab573b84dcfc961c18c3783c62a1b9d65c78)
- Add ItemStack#toItemBuilder (https://github.com/Adrigamer2950/AdriAPI/commit/edc3e831d1ccd9f763ad878e526daeb8c1e45125)
- Add function to add persistent data from ItemBuilder (https://github.com/Adrigamer2950/AdriAPI/commit/5a18e686386230506bb4cfb8cd068ddfd103aef7)
2.3.0Релиз1.21.2, 1.21.3, 1.21.4 · 8 марта 2025 г.
Changelog
- chore: Migrate to Kotlin DSL (15f0bf2)
- feat: Remove ServerType#VELOCITY and ServerType#BUNGEE (bed78f1)
- feat!: Rewritten Folia/Paper Scheduler (73d0068)
- feat: Set ServerType#PAPER_FORK as deprecated (e82c71c)
- feat: Drop support for Bukkit (ae545c0)
- feat: Make Inventory#setupInventory, Inventory#onInventoryClick and Inventory#onInventoryClose not abstract (24a7f35)
- feat: Load hooks and execute onPreLoad when loading rather than when enabling the plugin (72eb252)
- feat: Support for Paper 1.17+ (8c641e3)
- fix: Plugin won't load on Paper 1.21.3+ (39e1091)
- feat!: Remove CommandManager static instances (1a01139)
- chore: Separate plugin from api (1651fbb)
- chore: Separate api into an independent module (a00ce68)
- feat: Better checks on UserImpl#isConsole & UserImpl#isPlayer (2ce8af6)
- feat: Item Builder (6d7304b)
- feat: Sound class with volume, pitch & category variables (38049ac)
- feat: Boosted Yaml Serializers for ItemStack & Sound objects (236fd17)
Full Changelog: https://github.com/Adrigamer2950/AdriAPI/compare/2.2.0...2.3.0
Комментарии
Загружаем…