Skip to content

Commit

Permalink
Switch more checks to use PDC
Browse files Browse the repository at this point in the history
  • Loading branch information
ryderbelserion committed Feb 9, 2024
1 parent f4f47d5 commit 49a1ad7
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 3 deletions.
Expand Up @@ -10,6 +10,11 @@ public enum PersistentKeys {
no_firework_damage("firework", PersistentDataType.BOOLEAN),
cosmic_mystery_crate("cosmic_mystery_crate", PersistentDataType.INTEGER),
cosmic_picked_crate("cosmic_picked_crate", PersistentDataType.INTEGER),
preview_tier_button("preview_tier_button", PersistentDataType.STRING),
main_menu_button("main_menu_button", PersistentDataType.STRING),
main_menu_crate("main_menu_crate", PersistentDataType.STRING),
back_button("back_button", PersistentDataType.STRING),
next_button("next_button", PersistentDataType.STRING),
crate_prize("item", PersistentDataType.INTEGER);

private final String NamespacedKey;
Expand Down
@@ -1,6 +1,7 @@
package com.badbones69.crazycrates.listeners.menus;

import ch.jalu.configme.SettingsManager;
import com.badbones69.crazycrates.api.enums.PersistentKeys;
import com.badbones69.crazycrates.api.objects.Crate;
import org.bukkit.Material;
import org.bukkit.SoundCategory;
Expand All @@ -9,6 +10,8 @@
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataContainer;
import org.jetbrains.annotations.NotNull;
import com.badbones69.crazycrates.common.config.ConfigManager;
import com.badbones69.crazycrates.common.config.types.ConfigKeys;
Expand Down Expand Up @@ -56,7 +59,11 @@ public void onInventoryClick(InventoryClickEvent event) {

Crate crate = this.inventoryManager.getCratePreview(player);

if (event.getRawSlot() == crate.getAbsoluteItemPosition(4) && this.crazyHandler.getConfigManager().getConfig().getProperty(ConfigKeys.enable_crate_menu)) { // Clicked the menu button.
ItemMeta itemMeta = item.getItemMeta();

PersistentDataContainer container = itemMeta.getPersistentDataContainer();

if (container.has(PersistentKeys.main_menu_button.getNamespacedKey(this.plugin)) && this.crazyHandler.getConfigManager().getConfig().getProperty(ConfigKeys.enable_crate_menu)) { // Clicked the menu button.
if (this.inventoryManager.inCratePreview(player)) {
crate.playSound(player.getLocation(), "click-sound","UI_BUTTON_CLICK", SoundCategory.PLAYERS);

Expand All @@ -67,15 +74,23 @@ public void onInventoryClick(InventoryClickEvent event) {

player.openInventory(crateMainMenu.build().getInventory());
}
} else if (event.getRawSlot() == crate.getAbsoluteItemPosition(5)) { // Clicked the next button.

return;
}

if (container.has(PersistentKeys.next_button.getNamespacedKey(this.plugin))) { // Clicked the next button.
if (this.inventoryManager.getPage(player) < crate.getMaxPage()) {
crate.playSound(player.getLocation(), "click-sound","UI_BUTTON_CLICK", SoundCategory.PLAYERS);

this.inventoryManager.nextPage(player);

this.inventoryManager.openCratePreview(player, crate);
}
} else if (event.getRawSlot() == crate.getAbsoluteItemPosition(3)) { // Clicked the back button.

return;
}

if (container.has(PersistentKeys.back_button.getNamespacedKey(this.plugin))) { // Clicked the back button.
if (this.inventoryManager.getPage(player) > 1 && this.inventoryManager.getPage(player) <= crate.getMaxPage()) {
crate.playSound(player.getLocation(), "click-sound","UI_BUTTON_CLICK", SoundCategory.PLAYERS);

Expand Down
@@ -1,10 +1,13 @@
package com.badbones69.crazycrates.tasks;

import ch.jalu.configme.SettingsManager;
import com.badbones69.crazycrates.api.enums.PersistentKeys;
import com.badbones69.crazycrates.api.objects.Crate;
import com.badbones69.crazycrates.api.objects.ItemBuilder;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.persistence.PersistentDataContainer;
import org.jetbrains.annotations.NotNull;
import com.badbones69.crazycrates.common.config.types.ConfigKeys;
import com.badbones69.crazycrates.CrazyCrates;
Expand Down Expand Up @@ -33,14 +36,45 @@ public void loadButtons() {
.setLore(this.config.getProperty(ConfigKeys.menu_button_lore))
.build();

ItemMeta menuMeta = this.menuButton.getItemMeta();

PersistentDataContainer menuContainer = menuMeta.getPersistentDataContainer();

PersistentKeys main_menu_button = PersistentKeys.main_menu_button;

menuContainer.set(main_menu_button.getNamespacedKey(this.plugin), main_menu_button.getType(), "none");

this.menuButton.setItemMeta(menuMeta);

this.nextButton = new ItemBuilder()
.setMaterial(this.config.getProperty(ConfigKeys.next_button_item))
.setName(this.config.getProperty(ConfigKeys.next_button_name))
.setLore(this.config.getProperty(ConfigKeys.next_button_lore));

ItemMeta nextMeta = this.nextButton.getItemMeta();

PersistentDataContainer nextContainer = nextMeta.getPersistentDataContainer();

PersistentKeys next_button = PersistentKeys.next_button;

nextContainer.set(next_button.getNamespacedKey(this.plugin), next_button.getType(), "none");

this.nextButton.setItemMeta(nextMeta);

this.backButton = new ItemBuilder()
.setMaterial(this.config.getProperty(ConfigKeys.back_button_item))
.setName(this.config.getProperty(ConfigKeys.back_button_name))
.setLore(this.config.getProperty(ConfigKeys.back_button_lore));

ItemMeta backMeta = this.backButton.getItemMeta();

PersistentDataContainer backContainer = backMeta.getPersistentDataContainer();

PersistentKeys back_button = PersistentKeys.back_button;

backContainer.set(back_button.getNamespacedKey(this.plugin), back_button.getType(), "none");

this.backButton.setItemMeta(backMeta);
}

public ItemStack getMenuButton() {
Expand Down

0 comments on commit 49a1ad7

Please sign in to comment.