A cross API code library for various generalizations used in the Tater* plugins
A cross API code library that allows developers to write code that works across multiple modding platforms, and across a
wide range of Minecraft versions, all with one JAR file. If TaterLib runs on it, so can your plugin/mod.
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.
Contributions are always welcome!
Let's cut to the chase, why should you use and/or contribute to TaterLib? Well, let's say you have a mod/plugin that you
want to port to a different modding API. You could go through the laborious task of implementing all the events,
commands, etc. on each platform and create all your own cool fancy abstractions for each game object, or you could use
TaterLib and save yourself a lot of time. (which is why I started this project in the first place)
There's two ways to use TaterLib, you can depend on the general API, then implement any missing features yourself on
each platform, or if something's missing, you can start a PR with either a basic or full implementation, and we can
improve TaterLib and save you a lot of time in the future. (a bit of a win-win)
Link to our support: Discord
repositories {
maven {
name = 'NeuralNexus'
url = 'https://maven.neuralnexus.dev/releases'
}
}
dependencies {
compileOnly('dev.neuralnexus:taterlib-api:<version>')
}
There's also a snapshot repository available at https://maven.neuralnexus.dev/repository/snapshots
TaterLib supports: Bukkit, BungeeCord, Fabric, Forge, Sponge, and Velocity
General notes:
| Server type | Versions | Jar Name |
|---|---|---|
| 1.20.x | 1.20-1.20.4 | TaterLib-1.20.x-<version>.jar |
| 1.19.4 | 1.19.4 | TaterLib-1.19.4-<version>.jar |
| 1.19.2 | 1.19.2 | TaterLib-1.19.2-<version>.jar |
| 1.19 | 1.19 | TaterLib-1.19-<version>.jar |
| 1.18.2 | 1.18.2 | TaterLib-1.18.2-<version>.jar |
| 1.18 | 1.18 | TaterLib-1.18-<version>.jar |
| 1.17 | 1.17-1.17.1 | TaterLib-1.17-<version>.jar |
| 1.16 | 1.16-1.16.5 | TaterLib-1.16-<version>.jar |
| 1.15 | 1.15-1.15.2 | TaterLib-1.15-<version>.jar |
| 1.14 | 1.14-1.14.3 | TaterLib-1.14-<version>.jar |
| 1.13 | 1.13-1.13.2 | TaterLib-1.13-<version>.jar |
| 1.12 | 1.12-1.12.2 | TaterLib-1.12-<version>.jar |
| 1.11 | 1.11-1.11.2 | TaterLib-1.11-<version>.jar |
| 1.10 | 1.10-1.10.2 | TaterLib-1.10-<version>.jar |
| 1.9 | 1.9-1.9.4 | TaterLib-1.9-<version>.jar |
| 1.8 | 1.8-1.8.8 | TaterLib-1.8-<version>.jar |
| 1.7 | 1.7-1.7.10 | TaterLib-1.7.10-<version>.jar |
| 1.6.4 | 1.6.4 | TaterLib-1.6.4-<version>.jar |
| 1.2.5 | 1.2.5 | TaterLib-1.2.5-<version>.jar |
| b1.7.3 | b1.7.3 | TaterLib-b1.7.3-<version>.jar |
| Command | Permission | Description |
|---|---|---|
/taterlib version |
taterlib.command.version |
Get the TaterLib version |
/taterlib reload |
taterlib.command.reload |
Reload TaterLib config |
/taterlib dump |
taterlib.command.dump |
Dump TaterLib info |
/taterlib fulldump |
taterlib.command.fulldump |
Dump TaterLib info |
Feel free to open a PR to add your plugin/mod to this list!
Unsupported
Required
Terms for using, modifying and redistributing this product.
27.02.2024 · Modrinth
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3Screenshots and images from the original Modrinth page.
Published versions and original Modrinth files.
27.02.2024 · 799 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 165 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 203 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 165 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 183 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 146 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 139 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 194 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 149 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 135 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 164 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 191 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 166 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 166 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 156 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 246 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 194 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 127 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 141 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions27.02.2024 · 134 downloads
SpongeEntity.getType returning a properly formatted entity resourcegetEntity to AbstractEntity implementationsEntitySpawnEvent for 1.7.10-b1.7.3PlayerDeathEvent for b1.7.3...taterlib.{platform}.abstractions package name...taterlib.{platform}.abstractions.events to ...taterlib.{platform}.event.api...taterlib.{platform}.abstractions.item.* to ...taterlib.{platform}.inventory...taterlib.{platform}.player.PlayerInventory to ...taterlib.{platform}.inventory.PlayerInventoryAbstract prefix from all common interfacesPlayer for Forge/FabricTaterAPI classTaterAPI#isBrigadierSupported()Player now inherits EntityEntity#teleport(Location) and Entity#teleport(Entity)Server abstraction and TaterAPI#getServer()ProxyPlayers, specifically adding a connect methodBlock abstraction and BlockBreakEventServer implementation and added ProxyServer for proxiesServerEvent#getServer()BukkitPlayerAdvancementEventgetPlayer was returning nullgetAdvancement was returning the wrong stringTaterAPI#registerChannels(Set<String>) into RegisterPluginMessagesEventPluginEnableEvent and PluginDisableEventisPluginLoaded to isPluginModLoaded and split it into isPluginLoaded and isModLoaded, whileServer#broadcastMessage(String)dev.neuralnexus.taterlib.common to dev.neuralnexus.taterlib to simplify importsbuild.sh anymoreGameMode enum, Player#getPing(), Player#getGameMode() and Player#setGameMode()Sender#isPlayer()Entity#teleport(Location) and Entity#teleport(Entity) in cross-dimensional casesPlayer#getIPAddress()SpongeForge server typeSender to CommandSenderServer into SimpleServer and ProxyServerMinecraftVersion utilitiesEvent to EventManager and created a base Event interfaceEvent#getName()PluginMessageEvents to NetworkEventsSimplePlayer and ProxyPlayerConnection interface for kick/disconnect/ping/pluginMessageServerType.NEOFORGE_HYBRIDCommonPluginEnableEvent into the loaderDamageable and LivingEntity interfacesPlayer.allowFlight/canFly/isFlying/setFlyingMinecraftVersion.parseRangegetInventory -> inventory)Player.serverName into Player.server().name() and add Server#name()Permissible to CommandSender, refactored permission hooks to use PermissibleModInfo and PluginInfo abstractionsDumpInfo and FullDumpInfo, along with the /taterlib dump | fulldump commandsItemMeta into ItemStackServer.currentTPS(), SimpleServer.getPlayer(String), and SimpleServer.getPlayer(UUID)PlayerServerSwitchEvent.toServer/fromServer now return a Server rather than a StringInventory/PlayerInventory interfacesWorld and ServerWorld abstractions25.10.2023 · 165 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 108 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 42 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 55 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 97 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 80 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 62 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 107 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 99 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 103 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 134 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 108 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 103 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)25.10.2023 · 89 downloads
registerCommands that weren't declared staticTemplateFabricPluginSpongeItemStack#getType to be unjankifiedPosition and *Conversions utility classesgetPosition and setSpawn to AbstractPlayer (Sponge still needs setSpawn implemented)getPlayer to every AbstractPlayer implementationAbstractPlayer implementations that allows the specification of a player's "Server Name" (used for cross server chat)18.08.2023 · 64 downloads
18.08.2023 · 59 downloads
18.08.2023 · 51 downloads
18.08.2023 · 55 downloads
18.08.2023 · 49 downloads
18.08.2023 · 121 downloads
18.08.2023 · 89 downloads
11.08.2023 · 54 downloads
Initial release
11.08.2023 · 52 downloads
Initial release
08.08.2023 · 64 downloads