# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>

pkgname=papermc
_pkgver=1.18.1
_build=99
_license_commit=4a7962c
pkgver="$_pkgver.$_build"
pkgrel=1
pkgdesc="Next generation of Minecraft server, compatible with Spigot plugins and offering uncompromising performance"
pkgusers="craftbukkit"
pkggroups="craftbukkit"
arch='noarch'
url="https://papermc.io/"
license='custom'
depends='openjdk17-jre-headless screen sudo bash gawk sed netcat-openbsd tar'
options="!check"
provides="craftbukkit=$_pkgver"
subpackages="$pkgname-openrc"
source="papermc.$pkgver.jar::https://papermc.io/api/v2/projects/paper/versions/$_pkgver/builds/$_build/downloads/paper-$_pkgver-$_build.jar
	papermc.initd
	papermc.conf
	papermc.sh
	LICENSE_$pkgver.md::https://raw.githubusercontent.com/PaperMC/Paper/$_license_commit/LICENSE.md
"

_game="papermc"
_server_root="/var/lib/papermc"

package() {
	install -Dm644 "$srcdir"/$_game.conf              "$pkgdir"/etc/conf.d/$_game
	install -Dm755 "$srcdir"/$_game.sh                "$pkgdir"/usr/bin/$_game
	install -Dm755 "$srcdir"/$_game.initd           "$pkgdir"/etc/init.d/$_game
	install -Dm644 "$srcdir"/$_game.$pkgver.jar     "$pkgdir"/$_server_root/$_game/$pkgver.jar
	ln -s "$_game"/$pkgver.jar "$pkgdir"/$_server_root/$_game/server.jar

	# Link to craftbukkit plugins var
	ln -s "/var/lib/craftbukkit/plugins" "$pkgdir"/$_server_root/plugins

	# Link the log files
	mkdir -p "$pkgdir"/var/log/
	install -dm2755 "$pkgdir"/$_server_root/logs
	ln -s "$_server_root"/logs "$pkgdir"/var/log/$_game

	# Give the group write permissions and set user or group ID on execution
	chmod g+ws "$pkgdir"/$_server_root

	install -D "$srcdir"/LICENSE_$pkgver.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
sha512sums="
623d6423ee337671d546469e6bf1821005484192a1ae56d7b77f547f79102df50462e1d0144be13a0de9021c9d931bc974143b1e1526114627ba28688589d76a  papermc.1.18.1.99.jar
c5d1bf85ceb74162aaaf2bcd2d06dc2e3dd2e37c39f0cee2be7c8dbff9970a6aff1e48a43e6d1e83e6a0ac610bd89f62b1279bf27b64afa88d9831a36aebbd3e  papermc.initd
9b8e267428731ee9255f82a93f1e8674d7e917a0f154bd395cd2280a49aa248a4b8427520b08dbb4b3a74a5471dac0e439eedc8ab94bf2e53bb8d411d2d8a789  papermc.conf
943ba0d4c10173246bdc6497dcedd54da0788f966841c8d3381398711d79f8d5eb07a24ce28f519b6f24f59d99fa9e74bc6bb882059f343df4eeda5de3660ac7  papermc.sh
d4c645a58e1a17a0a1e42856a3cc43097711a05bf3d9f18c77c3bc9874417f223552859042ff00b7d3dda0003f49a9ee568540c2eb24e9f8fbb3c055f3b6e0a5  LICENSE_1.18.1.99.md
"