aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/build.gradle
blob: 9bdba386597b2c0c5b5e786115c320b893600676 (plain)
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
plugins {
    id 'java'
    id 'com.github.johnrengelman.shadow'
}

processResources {
    duplicatesStrategy = duplicatesStrategy.INCLUDE
    from(sourceSets.main.resources.srcDirs) {
        include 'plugin.yml'
        expand('version': project.version)
    }
}

repositories {
    // Paper
    maven { url = 'https://papermc.io/repo/repository/maven-public/' }
    // ASkyBlock, BentoBox, bStats, Citizens
    maven { url = 'https://repo.codemc.org/repository/maven-public/' }
    // AuthLib
    maven { url = 'https://libraries.minecraft.net/' }
    // CoreProtect
    maven { url = 'https://maven.playpro.com/' }
    // EcoBosses, EcoMobs
    maven { url = 'https://repo.auxilor.io/repository/maven-public/' }
    // EssentialsX
    maven { url = 'https://repo.essentialsx.net/releases/' }
    // MMOItems, MythicLib
    maven { url = 'https://nexus.phoenixdevt.fr/repository/maven-public/' }
    // MythicMobs 4, FabledSkyBlock
    maven { url = 'https://repo.songoda.com/repository/public/' }
    // MythicMobs 5
    maven { url = 'https://mvn.lumine.io/repository/maven-public/' }
    // NuVotifier
    maven { url = 'https://repo.leonardobishop.com/releases/' }
    // PlaceholderAPI
    maven { url = 'https://repo.extendedclip.com/content/repositories/dev/' }
    // ItemsAdder, PlayerBlockTracker, SCore, ShopGUIPlus, Slimefun4
    maven { url = 'https://jitpack.io/' }
    // PlayerPoints
    maven { url = 'https://repo.rosewooddev.io/repository/public/' }
    // SuperiorSkyblock2
    maven { url = 'https://repo.bg-software.com/repository/api/' }
    // uSkyBlock TODO fix whenever repo is up
    //maven { url = 'https://raw.githubusercontent.com/uskyblock/uskyblock-repo/master/' }
    // VotingPlugin
    maven { url = 'https://nexus.bencodez.com/repository/maven-public/' }
    // WildStacker
    maven { url = 'https://repo.bg-software.com/repository/api/' }

    // JetBrains Annotations
    mavenCentral()
}

dependencies {
    compileOnly project(':common')
    // Paper
    compileOnly('io.papermc.paper:paper-api:1.20.2-R0.1-SNAPSHOT') {
        exclude(group: 'it.unimi.dsi', module: 'fastutil') // exclude fastutil just to don't use it (for 1.8 support)
    }
    // Folia
    compileOnly('dev.folia:folia-api:1.20.1-R0.1-SNAPSHOT') {
        exclude(group: 'it.unimi.dsi', module: 'fastutil') // exclude fastutil just to don't use it (for 1.8 support)
    }
    // ASkyBlock
    compileOnly('com.wasteofplastic:askyblock:3.0.9.4') { transitive = false }
    // AuthLib
    compileOnly('com.mojang:authlib:1.5.21') { transitive = false }
    // BentoBox
    compileOnly('world.bentobox:bentobox:1.22.0-SNAPSHOT') { transitive = false }
    // Citizens
    compileOnly('net.citizensnpcs:citizensapi:2.0.30-SNAPSHOT') { transitive = false }
    // CoreProtect
    compileOnly 'net.coreprotect:coreprotect:21.2'
    // EcoBosses, EcoMobs
    compileOnly 'com.willfp:EcoBosses:9.14.0'
    compileOnly 'com.willfp:EcoMobs:10.0.0-b1'
    compileOnly 'com.willfp:eco:6.65.1'
    compileOnly 'com.willfp:libreforge:4.21.1'
    // EssentialsX
    compileOnly('net.essentialsx:EssentialsX:2.19.7') { transitive = false }
    // FabledSkyBlock
    compileOnly 'com.songoda:skyblock:2.3.30'
    // IridiumSkyblock TODO fix whenever repo is up
    //compileOnly 'com.github.Iridium-Development:IridiumSkyblock:master-SNAPSHOT'
    // ItemsAdder
    compileOnly 'com.github.LoneDev6:API-ItemsAdder:3.5.0b'
    // JetBrains Annotations
    compileOnly 'org.jetbrains:annotations:23.0.0'
    // MMOItems
    compileOnly 'net.Indyuce:MMOItems-API:6.9.2-SNAPSHOT'
    // MythicLib
    compileOnly 'io.lumine:MythicLib-dist:1.6-SNAPSHOT'
    // MythicMobs 4
    compileOnly 'io.lumine.xikage:MythicMobs:4.12.0'
    // MythicMobs 5
    compileOnly 'io.lumine:Mythic-Dist:5.2.0'
    // NuVotifier
    compileOnly 'com.vexsoftware:NuVotifier:2.7.3'
    // PlaceholderAPI
    compileOnly 'me.clip:placeholderapi:2.11.3-DEV-160'
    // PlayerBlockTracker
    compileOnly('com.github.Flo0:PlayerBlockTracker:1.0.2') { transitive = false }
    // PlayerPoints
    compileOnly('org.black_ixx:playerpoints:3.2.5')
    // SCore
    compileOnly 'com.github.Ssomar-Developement:SCore:3.4.7'
    // ShopGUIPlus
    compileOnly('com.github.brcdev-minecraft:shopgui-api:3.0.0') { transitive = false }
    // Slimefun4
    compileOnly 'com.github.Slimefun:Slimefun4:RC-32'
    // SuperiorSkyblock2
    compileOnly 'com.bgsoftware:SuperiorSkyblockAPI:2022.9'
    // uSkyBlock TODO fix whenever repo is up
    //compileOnly('ovh.uskyblock:uSkyBlock-API:2.8.9') { transitive = false }
    // VotingPlugin
    compileOnly('com.bencodez:votingplugin:6.15') { transitive = false }
    // WildStacker
    compileOnly 'com.bgsoftware:WildStackerAPI:2023.3'

    // IridiumSkyblock, PyroFishingPro, uSkyBlock
    compileOnly fileTree(dir: 'libs', includes: ['*.jar'])

    // bStats
    implementation 'org.bstats:bstats-bukkit-lite:1.8'
    // HikariCP
    implementation 'com.zaxxer:HikariCP:5.0.1'
    // slf4j
    implementation 'org.slf4j:slf4j-nop:1.7.36'
    // hppc
    implementation 'com.carrotsearch:hppc:0.9.1'
}

tasks.build {
    dependsOn(tasks.shadowJar)
}

shadowJar {
    relocate 'org.bstats', 'com.leonardobishop.quests.libs.bstats'
    relocate 'com.zaxxer.hikari', 'com.leonardobishop.quests.libs.hikari'
    relocate 'org.slf4j', 'com.leonardobishop.quests.libs.slf4j'
    relocate 'com.carrotsearch.hppc', 'com.leonardobishop.quests.libs.hppc'

    minimize {
        exclude(dependency('org.bstats:.*:.*'))
        exclude(dependency('com.zaxxer:.*:.*'))
        exclude(dependency('org.slf4j:.*:.*'))
    }

    archiveClassifier.set('')
}