aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit')
-rw-r--r--bukkit/build.gradle30
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java6
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QMenu.java4
3 files changed, 26 insertions, 14 deletions
diff --git a/bukkit/build.gradle b/bukkit/build.gradle
index da01e0dd..ef5c614e 100644
--- a/bukkit/build.gradle
+++ b/bukkit/build.gradle
@@ -48,19 +48,21 @@ repositories {
dependencies {
compileOnly project(':common')
// Paper
- compileOnly 'io.papermc.paper:paper-api:1.19.3-R0.1-SNAPSHOT'
+ compileOnly('io.papermc.paper:paper-api:1.19.3-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 }
+ compileOnly('com.wasteofplastic:askyblock:3.0.9.4') { transitive = false }
// AuthLib
- compileOnly ('com.mojang:authlib:1.5.21') { transitive = false }
+ compileOnly('com.mojang:authlib:1.5.21') { transitive = false }
// BentoBox
- compileOnly ('world.bentobox:bentobox:1.22.0-SNAPSHOT') { transitive = false }
+ compileOnly('world.bentobox:bentobox:1.22.0-SNAPSHOT') { transitive = false }
// Citizens
- compileOnly ('net.citizensnpcs:citizensapi:2.0.30-SNAPSHOT') { transitive = false }
+ compileOnly('net.citizensnpcs:citizensapi:2.0.30-SNAPSHOT') { transitive = false }
// CoreProtect
compileOnly 'net.coreprotect:coreprotect:21.2'
// EssentialsX
- compileOnly ('net.essentialsx:EssentialsX:2.19.7') { transitive = false }
+ compileOnly('net.essentialsx:EssentialsX:2.19.7') { transitive = false }
// FabledSkyblock
compileOnly 'com.songoda:skyblock:2.3.30'
// IridiumSkyblock TODO fix whenever repo is up
@@ -82,15 +84,15 @@ dependencies {
// SCore
compileOnly 'com.github.Ssomar-Developement:SCore:3.4.7'
// ShopGUIPlus
- compileOnly ('com.github.brcdev-minecraft:shopgui-api:3.0.0') { transitive = false }
+ 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
- compileOnly ('com.github.rlf:uSkyBlock-API:2.8.3') { transitive = false }
+ compileOnly('com.github.rlf:uSkyBlock-API:2.8.3') { transitive = false }
// VotingPlugin
- compileOnly ('com.bencodez:votingplugin:6.9.5') { transitive = false }
+ compileOnly('com.bencodez:votingplugin:6.9.5') { transitive = false }
// IridiumSkyblock
compileOnly fileTree(dir: 'libs', includes: ['*.jar'])
@@ -101,6 +103,8 @@ dependencies {
implementation 'com.zaxxer:HikariCP:4.0.3'
// slf4j
implementation 'org.slf4j:slf4j-nop:1.7.36'
+ // hppc
+ implementation 'com.carrotsearch:hppc:0.9.1'
}
tasks.build {
@@ -111,5 +115,13 @@ shadowJar {
relocate 'org.bstats', 'com.leonardobishop.quests.libs.bstats'
relocate 'com.zaxxer.hikari', 'com.leonardobishop.quests.libs.hikaricp'
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('')
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java
index 2c6a03ae..d7f4c199 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/PaginatedQMenu.java
@@ -1,5 +1,6 @@
package com.leonardobishop.quests.bukkit.menu;
+import com.google.common.primitives.Ints;
import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
import com.leonardobishop.quests.bukkit.config.BukkitQuestsConfig;
import com.leonardobishop.quests.bukkit.menu.element.*;
@@ -12,7 +13,6 @@ import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.Nullable;
-import java.util.Collections;
import java.util.List;
public abstract class PaginatedQMenu extends QMenu {
@@ -106,7 +106,7 @@ public abstract class PaginatedQMenu extends QMenu {
// this won't check if static elements overlap normal ones first but i don't care
int maxSize = pageSize - (backMenuElement == null ? 0 : 9);
BukkitQuestsConfig config = (BukkitQuestsConfig) plugin.getQuestsConfig();
- if ((menuElements.isEmpty() ? 0 : Collections.max(menuElements.keySet())) + 1 > maxSize
+ if ((menuElements.isEmpty() ? 0 : Ints.max(menuElements.keys)) + 1 > maxSize
|| menuElements.size() + menuElementsToFill.size() + customStaticElements > maxSize) {
MenuElement pageNextMenuElement = new PageNextMenuElement(config, this);
MenuElement pagePrevMenuElement = new PagePrevMenuElement(config, this);
@@ -151,7 +151,7 @@ public abstract class PaginatedQMenu extends QMenu {
}
this.minPage = 1;
- this.maxPage = (menuElements.isEmpty() ? 0 : Collections.max(menuElements.keySet())) / pageSize + 1;
+ this.maxPage = (menuElements.isEmpty() ? 0 : Ints.max(menuElements.keys)) / pageSize + 1;
}
private void fillStaticMenuElements(int slot, MenuElement[] staticMenuElements) {
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QMenu.java
index 0c7a389c..4622538a 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QMenu.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QMenu.java
@@ -1,15 +1,15 @@
package com.leonardobishop.quests.bukkit.menu;
+import com.carrotsearch.hppc.IntObjectHashMap;
import com.leonardobishop.quests.bukkit.menu.element.MenuElement;
import com.leonardobishop.quests.common.player.QPlayer;
-import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import org.bukkit.inventory.Inventory;
import org.jetbrains.annotations.Nullable;
public abstract class QMenu {
protected final QPlayer owner;
- protected final Int2ObjectOpenHashMap<MenuElement> menuElements = new Int2ObjectOpenHashMap<>();
+ protected final IntObjectHashMap<MenuElement> menuElements = new IntObjectHashMap<>();
public QMenu(QPlayer owner) {
this.owner = owner;