From bc324a273dbe12ff85c4caf66b2c61689fab1a3c Mon Sep 17 00:00:00 2001 From: Daniel Scherf Date: Wed, 4 Sep 2024 13:32:34 +0200 Subject: [PATCH] Fix support for versions <1.21 Depends on https://github.com/Iridium-Development/IridiumTeams/pull/89 --- build.gradle.kts | 2 +- .../iridiumskyblock/commands/BiomeCommand.java | 4 ++-- .../iridiumskyblock/commands/BorderCommand.java | 2 +- .../iridiumskyblock/commands/RegenCommand.java | 3 +-- .../iridiumskyblock/commands/VisitCommand.java | 2 +- .../iridiumskyblock/gui/BiomeCategoryGUI.java | 5 ++--- .../iridiumskyblock/gui/BiomeOverviewGUI.java | 7 ++++--- .../com/iridium/iridiumskyblock/gui/BorderGUI.java | 5 +++-- .../com/iridium/iridiumskyblock/gui/CreateGUI.java | 6 +++--- .../com/iridium/iridiumskyblock/gui/RegenGUI.java | 6 ++---- .../iridium/iridiumskyblock/gui/SchematicGUI.java | 12 ++---------- .../com/iridium/iridiumskyblock/gui/VisitGUI.java | 5 +++-- .../iridiumskyblock/managers/IslandManager.java | 2 +- 13 files changed, 26 insertions(+), 35 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index efe49fdf9..3a1b577f7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { implementation("org.jetbrains:annotations:24.1.0") implementation("com.j256.ormlite:ormlite-core:6.1") implementation("com.j256.ormlite:ormlite-jdbc:6.1") - implementation("com.iridium:IridiumTeams:2.5.7") + implementation("com.iridium:IridiumTeams:2.5.8") // Other dependencies that are not required or already available at runtime compileOnly("org.projectlombok:lombok:1.18.34") diff --git a/src/main/java/com/iridium/iridiumskyblock/commands/BiomeCommand.java b/src/main/java/com/iridium/iridiumskyblock/commands/BiomeCommand.java index 54fb81bd3..c7953ce8b 100644 --- a/src/main/java/com/iridium/iridiumskyblock/commands/BiomeCommand.java +++ b/src/main/java/com/iridium/iridiumskyblock/commands/BiomeCommand.java @@ -26,7 +26,7 @@ public BiomeCommand() { public boolean execute(User user, Island island, String[] args, IridiumTeams iridiumTeams) { Player player = user.getPlayer(); if (args.length == 0) { - player.openInventory(new BiomeOverviewGUI(player.getOpenInventory().getTopInventory()).getInventory()); + player.openInventory(new BiomeOverviewGUI(player).getInventory()); return false; } else { Optional categoryName = getCategoryName(String.join(" ", args)); @@ -38,7 +38,7 @@ public boolean execute(User user, Island island, String[] args, IridiumTeams iridiumTeams) { Player player = user.getPlayer(); if (args.length == 0) { - player.openInventory(new VisitGUI(player.getOpenInventory().getTopInventory(), iridiumTeams).getInventory()); + player.openInventory(new VisitGUI(player, iridiumTeams).getInventory()); return false; } Optional island = IridiumSkyblock.getInstance().getTeamManager().getTeamViaNameOrPlayer(args[0]); diff --git a/src/main/java/com/iridium/iridiumskyblock/gui/BiomeCategoryGUI.java b/src/main/java/com/iridium/iridiumskyblock/gui/BiomeCategoryGUI.java index a5445f8f4..593da2472 100644 --- a/src/main/java/com/iridium/iridiumskyblock/gui/BiomeCategoryGUI.java +++ b/src/main/java/com/iridium/iridiumskyblock/gui/BiomeCategoryGUI.java @@ -5,7 +5,6 @@ import com.iridium.iridiumcore.utils.StringUtils; import com.iridium.iridiumskyblock.IridiumSkyblock; import com.iridium.iridiumskyblock.configs.Biomes; -import com.iridium.iridiumskyblock.configs.Schematics; import com.iridium.iridiumteams.configs.inventories.NoItemGUI; import lombok.Getter; import org.bukkit.Bukkit; @@ -24,8 +23,8 @@ public class BiomeCategoryGUI extends BackGUI { private final String categoryName; private final Biomes.BiomeCategory biomeCategory; - public BiomeCategoryGUI(String categoryName, Inventory previousInventory) { - super(IridiumSkyblock.getInstance().getInventories().biomeCategoryGUI.background, previousInventory, IridiumSkyblock.getInstance().getInventories().backButton); + public BiomeCategoryGUI(String categoryName, Player player) { + super(IridiumSkyblock.getInstance().getInventories().biomeCategoryGUI.background, player, IridiumSkyblock.getInstance().getInventories().backButton); this.categoryName = categoryName; this.biomeCategory = IridiumSkyblock.getInstance().getBiomes().categories.get(categoryName); } diff --git a/src/main/java/com/iridium/iridiumskyblock/gui/BiomeOverviewGUI.java b/src/main/java/com/iridium/iridiumskyblock/gui/BiomeOverviewGUI.java index 6d08a3278..41eae6d97 100644 --- a/src/main/java/com/iridium/iridiumskyblock/gui/BiomeOverviewGUI.java +++ b/src/main/java/com/iridium/iridiumskyblock/gui/BiomeOverviewGUI.java @@ -7,6 +7,7 @@ import com.iridium.iridiumskyblock.configs.Biomes; import com.iridium.iridiumteams.configs.inventories.NoItemGUI; import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.jetbrains.annotations.NotNull; @@ -15,8 +16,8 @@ public class BiomeOverviewGUI extends BackGUI { - public BiomeOverviewGUI(Inventory previousInventory) { - super(IridiumSkyblock.getInstance().getInventories().biomeOverviewGUI.background, previousInventory, IridiumSkyblock.getInstance().getInventories().backButton); + public BiomeOverviewGUI(Player player) { + super(IridiumSkyblock.getInstance().getInventories().biomeOverviewGUI.background, player, IridiumSkyblock.getInstance().getInventories().backButton); } @NotNull @@ -41,7 +42,7 @@ public void addContent(Inventory inventory) { public void onInventoryClick(InventoryClickEvent event) { for (Map.Entry category : IridiumSkyblock.getInstance().getBiomes().categories.entrySet()) { if (event.getSlot() != category.getValue().item.slot) continue; - event.getWhoClicked().openInventory(new BiomeCategoryGUI(category.getKey(), event.getWhoClicked().getOpenInventory().getTopInventory()).getInventory()); + event.getWhoClicked().openInventory(new BiomeCategoryGUI(category.getKey(), (Player) event.getWhoClicked()).getInventory()); return; } super.onInventoryClick(event); diff --git a/src/main/java/com/iridium/iridiumskyblock/gui/BorderGUI.java b/src/main/java/com/iridium/iridiumskyblock/gui/BorderGUI.java index 376668c5c..79248c2a6 100644 --- a/src/main/java/com/iridium/iridiumskyblock/gui/BorderGUI.java +++ b/src/main/java/com/iridium/iridiumskyblock/gui/BorderGUI.java @@ -7,16 +7,17 @@ import com.iridium.iridiumskyblock.IridiumSkyblock; import com.iridium.iridiumteams.configs.inventories.NoItemGUI; import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.jetbrains.annotations.NotNull; public class BorderGUI extends BackGUI { - public BorderGUI(Inventory previousInventory) { + public BorderGUI(Player player) { super( IridiumSkyblock.getInstance().getInventories().islandBorderGUI.background, - previousInventory, + player, IridiumSkyblock.getInstance().getInventories().backButton ); } diff --git a/src/main/java/com/iridium/iridiumskyblock/gui/CreateGUI.java b/src/main/java/com/iridium/iridiumskyblock/gui/CreateGUI.java index 684832b67..e3e0ac3fa 100644 --- a/src/main/java/com/iridium/iridiumskyblock/gui/CreateGUI.java +++ b/src/main/java/com/iridium/iridiumskyblock/gui/CreateGUI.java @@ -2,8 +2,8 @@ import com.iridium.iridiumcore.gui.ClosableGUI; import lombok.Getter; +import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.inventory.Inventory; import java.util.concurrent.CompletableFuture; @@ -11,8 +11,8 @@ public class CreateGUI extends SchematicGUI implements ClosableGUI { private final CompletableFuture completableFuture; - public CreateGUI(Inventory previousInventory, CompletableFuture completableFuture) { - super(previousInventory); + public CreateGUI(Player player, CompletableFuture completableFuture) { + super(player); this.completableFuture = completableFuture; } diff --git a/src/main/java/com/iridium/iridiumskyblock/gui/RegenGUI.java b/src/main/java/com/iridium/iridiumskyblock/gui/RegenGUI.java index 13b0b23bc..4cc73454f 100644 --- a/src/main/java/com/iridium/iridiumskyblock/gui/RegenGUI.java +++ b/src/main/java/com/iridium/iridiumskyblock/gui/RegenGUI.java @@ -3,14 +3,13 @@ import com.iridium.iridiumskyblock.IridiumSkyblock; import lombok.Getter; import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; @Getter public class RegenGUI extends SchematicGUI { private final Player player; - public RegenGUI(Inventory previousInventory, Player player) { - super(previousInventory); + public RegenGUI(Player player) { + super(player); this.player = player; } @@ -18,5 +17,4 @@ public RegenGUI(Inventory previousInventory, Player player) { public void selectSchematic(String schematic) { IridiumSkyblock.getInstance().getCommandManager().executeCommand(player, IridiumSkyblock.getInstance().getCommands().regenCommand, new String[]{schematic}); } - } diff --git a/src/main/java/com/iridium/iridiumskyblock/gui/SchematicGUI.java b/src/main/java/com/iridium/iridiumskyblock/gui/SchematicGUI.java index 1c8003f8d..cfeda67a2 100644 --- a/src/main/java/com/iridium/iridiumskyblock/gui/SchematicGUI.java +++ b/src/main/java/com/iridium/iridiumskyblock/gui/SchematicGUI.java @@ -1,17 +1,12 @@ package com.iridium.iridiumskyblock.gui; import com.iridium.iridiumcore.gui.BackGUI; -import com.iridium.iridiumcore.utils.InventoryUtils; import com.iridium.iridiumcore.utils.ItemStackUtils; import com.iridium.iridiumcore.utils.Placeholder; import com.iridium.iridiumcore.utils.StringUtils; import com.iridium.iridiumskyblock.IridiumSkyblock; import com.iridium.iridiumskyblock.configs.Schematics; -import com.iridium.iridiumskyblock.database.User; -import com.iridium.iridiumteams.bank.BankItem; -import com.iridium.iridiumteams.configs.Shop; import com.iridium.iridiumteams.configs.inventories.NoItemGUI; -import com.iridium.iridiumteams.database.TeamBank; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; @@ -21,16 +16,13 @@ import org.jetbrains.annotations.NotNull; import java.util.*; -import java.util.stream.Collectors; - -import static java.util.Collections.addAll; public abstract class SchematicGUI extends BackGUI { - public SchematicGUI(Inventory previousInventory) { + public SchematicGUI(Player player) { super( IridiumSkyblock.getInstance().getInventories().islandSchematicGUI.background, - previousInventory, + player, IridiumSkyblock.getInstance().getInventories().backButton ); } diff --git a/src/main/java/com/iridium/iridiumskyblock/gui/VisitGUI.java b/src/main/java/com/iridium/iridiumskyblock/gui/VisitGUI.java index e4216575e..67b793d35 100644 --- a/src/main/java/com/iridium/iridiumskyblock/gui/VisitGUI.java +++ b/src/main/java/com/iridium/iridiumskyblock/gui/VisitGUI.java @@ -9,6 +9,7 @@ import com.iridium.iridiumteams.IridiumTeams; import com.iridium.iridiumteams.configs.inventories.NoItemGUI; import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; @@ -19,14 +20,14 @@ public class VisitGUI extends PagedGUI { private final IridiumTeams iridiumTeams; - public VisitGUI(Inventory previousInventory, IridiumTeams iridiumTeams) { + public VisitGUI(Player player, IridiumTeams iridiumTeams) { super( 1, IridiumSkyblock.getInstance().getInventories().visitGUI.size, IridiumSkyblock.getInstance().getInventories().visitGUI.background, iridiumTeams.getInventories().previousPage, iridiumTeams.getInventories().nextPage, - previousInventory, + player, iridiumTeams.getInventories().backButton ); this.iridiumTeams = iridiumTeams; diff --git a/src/main/java/com/iridium/iridiumskyblock/managers/IslandManager.java b/src/main/java/com/iridium/iridiumskyblock/managers/IslandManager.java index 4517bce32..c036a050e 100644 --- a/src/main/java/com/iridium/iridiumskyblock/managers/IslandManager.java +++ b/src/main/java/com/iridium/iridiumskyblock/managers/IslandManager.java @@ -188,7 +188,7 @@ private CompletableFuture getSchematic(Player player) { } } - Bukkit.getScheduler().runTask(IridiumSkyblock.getInstance(), () -> player.openInventory(new CreateGUI(player.getOpenInventory().getTopInventory(), schematicNameCompletableFuture).getInventory())); + Bukkit.getScheduler().runTask(IridiumSkyblock.getInstance(), () -> player.openInventory(new CreateGUI(player, schematicNameCompletableFuture).getInventory())); return schematicNameCompletableFuture; }