This repository has been archived by the owner on Oct 2, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.gradle.kts
127 lines (105 loc) · 3.23 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import net.minecrell.pluginyml.bukkit.BukkitPluginDescription.Permission.Default;
plugins {
id("java")
id("com.github.johnrengelman.shadow") version "8.1.1"
id("net.minecrell.plugin-yml.bukkit") version "0.6.0"
id("xyz.jpenilla.run-paper") version "2.2.2"
}
group = "com.eternalcode"
version = "1.0.0"
repositories {
gradlePluginPortal()
mavenCentral()
mavenLocal()
maven { url = uri("https://papermc.io/repo/repository/maven-public/") }
maven { url = uri("https://repo.panda-lang.org/releases") }
maven { url = uri("https://repo.dmulloy2.net/repository/public/") }
}
dependencies {
// spigot api
compileOnly("org.spigotmc:spigot-api:1.19.3-R0.1-SNAPSHOT")
// kyori adventure
implementation("net.kyori:adventure-platform-bukkit:4.3.1")
implementation("net.kyori:adventure-text-minimessage:4.14.0")
// litecommands
implementation("dev.rollczi.litecommands:bukkit-adventure:2.8.9")
// cdn
implementation("net.dzikoysk:cdn:1.14.4")
// bstats
implementation("org.bstats:bstats-bukkit:3.0.2")
// triumph gui
implementation("dev.triumphteam:triumph-gui:3.1.7")
// HikariCP
implementation("com.zaxxer:HikariCP:5.1.0")
// MySQL
implementation("com.mysql:mysql-connector-j:8.2.0")
// protocollib
compileOnly("com.comphenix.protocol:ProtocolLib:5.1.0")
}
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
}
bukkit {
main = "com.eternalcode.friends.EternalFriends"
apiVersion = "1.13"
name = "EternalFriends"
prefix = "EternalFriends"
author = "Kamicjusz"
version = "${project.version}"
depend = listOf("ProtocolLib")
description = "EternalFriends is a plugin that allows you to manage your friends list."
permissions {
register("eternalfriends.access.all") {
children = listOf(
"eternalfriends.access.gui",
"eternalfriends.access.accept",
"eternalfriends.access.deny",
"eternalfriends.access.help",
"eternalfriends.access.ignore",
"eternalfriends.access.invite",
"eternalfriends.access.kick",
"eternalfriends.access.list"
)
default = Default.OP
}
register("eternalfriends.admin.all") {
children = listOf(
"eternalfriends.admin.list",
"eternalfriends.admin.reload"
)
default = Default.OP
}
}
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
}
tasks.withType<ShadowJar> {
archiveFileName.set("EternalFriends v${project.version}.jar")
exclude(
"org/intellij/lang/annotations/**",
"org/jetbrains/annotations/**",
"META-INF/**",
"javax/**",
)
mergeServiceFiles()
minimize()
val prefix = "com.eternalcode.friends.libs"
listOf(
"panda",
"org.panda_lang",
"org.bstats",
"net.dzikoysk",
"net.kyori",
"dev.rollczi",
"dev.triumphteam",
).forEach { pack ->
relocate(pack, "$prefix.$pack")
}
}
tasks {
runServer {
minecraftVersion("1.19.4")
}
}