Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ repositories {
maven("https://nexus.phoenixdevt.fr/repository/maven-public/")
maven("https://repo.nexomc.com/releases/")
maven("https://repo.oraxen.com/releases")
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://jitpack.io")
}

Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ adventure-minimessage = "4.24.0"

[libraries]
# Compile only
spigot = { module = "org.spigotmc:spigot-api", version.ref = "spigot" }
spigot = { module = "io.papermc.paper:paper-api", version.ref = "spigot" }
vault = { module = "com.github.milkbowl:VaultAPI", version.ref = "vault" }
authlib = { module = "com.mojang:authlib", version.ref = "authlib" }
headdb = { module = "com.arcaniax:HeadDatabase-API", version.ref = "headdb" }
Expand Down
19 changes: 17 additions & 2 deletions src/main/java/com/extendedclip/deluxemenus/DeluxeMenus.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
import com.extendedclip.deluxemenus.nbt.NbtProvider;
import com.extendedclip.deluxemenus.persistentmeta.PersistentMetaHandler;
import com.extendedclip.deluxemenus.placeholder.Expansion;
import com.extendedclip.deluxemenus.scheduler.UniversalScheduler;
import com.extendedclip.deluxemenus.scheduler.scheduling.schedulers.TaskScheduler;
import com.extendedclip.deluxemenus.updatechecker.UpdateChecker;
import com.extendedclip.deluxemenus.utils.DebugLevel;
import com.extendedclip.deluxemenus.utils.Messages;
Expand All @@ -35,7 +37,13 @@
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;

import java.util.*;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.TreeMap;
import java.util.function.Function;
import java.util.logging.Level;
import java.util.stream.Collectors;
Expand All @@ -59,6 +67,9 @@ public class DeluxeMenus extends JavaPlugin {
private final GeneralConfig generalConfig = new GeneralConfig(this);
private DeluxeMenusConfig menuConfig;

@NotNull
private final TaskScheduler scheduler = UniversalScheduler.getScheduler(this);

@Override
public void onLoad() {
if (NbtProvider.isAvailable()) {
Expand Down Expand Up @@ -113,7 +124,7 @@ public void onEnable() {
public void onDisable() {
Bukkit.getMessenger().unregisterOutgoingPluginChannel(this, "BungeeCord");

Bukkit.getScheduler().cancelTasks(this);
scheduler.cancelTasks(this);

if (this.audiences != null) {
this.audiences.close();
Expand Down Expand Up @@ -217,6 +228,10 @@ public GeneralConfig getGeneralConfig() {
return generalConfig;
}

public @NotNull TaskScheduler getScheduler() {
return scheduler;
}

private boolean hookIntoPlaceholderAPI() {
final boolean canHook = Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null;
if (!canHook) {
Expand Down
642 changes: 321 additions & 321 deletions src/main/java/com/extendedclip/deluxemenus/action/ClickActionTask.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.extendedclip.deluxemenus.DeluxeMenus;
import com.extendedclip.deluxemenus.command.subcommand.*;
import com.extendedclip.deluxemenus.utils.DebugLevel;
import com.extendedclip.deluxemenus.utils.Messages;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextReplacementConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

public class ExecuteCommand extends SubCommand {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public void execute(final @NotNull CommandSender sender, final @NotNull List<Str

menu.get().refreshForAll();

if(arguments.size() < 2 || !arguments.get(1).equalsIgnoreCase("-s")) {
if (arguments.size() < 2 || !arguments.get(1).equalsIgnoreCase("-s")) {
plugin.sms(sender, Messages.MENU_REFRESHED.message()
.replaceText(MENU_REPLACER_BUILDER.replacement(menu.get().options().name()).build())
.replaceText(AMOUNT_REPLACER_BUILDER.replacement(String.valueOf(menu.get().activeViewers())).build())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@
import java.util.stream.Collectors;

import static com.extendedclip.deluxemenus.utils.Constants.PLACEHOLDER_PREFIX;
import static com.extendedclip.deluxemenus.utils.Constants.STACK_PREFIX;
import static com.extendedclip.deluxemenus.utils.Constants.PLAYER_ITEMS;
import static com.extendedclip.deluxemenus.utils.Constants.STACK_PREFIX;
import static com.extendedclip.deluxemenus.utils.Constants.WATER_BOTTLE;

public class DeluxeMenusConfig {
Expand Down
28 changes: 13 additions & 15 deletions src/main/java/com/extendedclip/deluxemenus/dupe/DupeFixer.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,21 +55,19 @@ private void onDrop(@NotNull final PlayerDropItemEvent event) {

@EventHandler
private void onLogin(@NotNull final PlayerJoinEvent event) {
plugin.getServer().getScheduler().runTaskLater(
plugin,
() -> {
for (final ItemStack itemStack : event.getPlayer().getInventory().getContents()) {
if (itemStack == null) continue;
if (!marker.isMarked(itemStack)) continue;
plugin.getScheduler().runTaskLater(() -> {
for (final ItemStack itemStack : event.getPlayer().getInventory().getContents()) {
if (itemStack == null) continue;
if (!marker.isMarked(itemStack)) continue;

plugin.debug(
DebugLevel.LOWEST,
Level.INFO,
"Player logged in with a DeluxeMenus item in their inventory. Removing it."
);
event.getPlayer().getInventory().remove(itemStack);
}},
10L
plugin.debug(
DebugLevel.LOWEST,
Level.INFO,
"Player logged in with a DeluxeMenus item in their inventory. Removing it."
);
event.getPlayer().getInventory().remove(itemStack);
}
}, 10L
);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.extendedclip.deluxemenus.events;

import com.extendedclip.deluxemenus.menu.Menu;
import com.extendedclip.deluxemenus.menu.MenuHolder;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import com.extendedclip.deluxemenus.utils.SkullUtils;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;

import com.ssomar.score.api.executableitems.config.ExecutableItemInterface;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import dev.lone.itemsadder.api.CustomStack;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.logging.Level;

import net.Indyuce.mmoitems.MMOItems;
import net.Indyuce.mmoitems.api.Type;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -47,7 +45,7 @@ public ItemStack getItem(@NotNull final String... arguments) {

ItemStack mmoItem = null;
try {
mmoItem = Bukkit.getScheduler().callSyncMethod(plugin, () -> {
mmoItem = plugin.getScheduler().callSyncMethod(() -> {
ItemStack item = MMOItems.plugin.getItem(itemType, splitArgs[1]);

if (item == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.extendedclip.deluxemenus.utils.SkullUtils;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import com.extendedclip.deluxemenus.requirement.RequirementList;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
Expand Down Expand Up @@ -92,8 +91,8 @@ public void onClose(InventoryCloseEvent event) {
final Player player = (Player) event.getPlayer();

if (Menu.isInMenu(player)) {
Menu.closeMenu(plugin, player, false);
Bukkit.getScheduler().runTaskLater(plugin, () -> {
plugin.getScheduler().runTaskLater(player, () -> {
Menu.closeMenu(plugin, player, false);
Menu.cleanInventory(plugin, player);
player.updateInventory();
}, 3L);
Expand Down
41 changes: 24 additions & 17 deletions src/main/java/com/extendedclip/deluxemenus/menu/Menu.java
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
package com.extendedclip.deluxemenus.menu;

import com.extendedclip.deluxemenus.DeluxeMenus;
import com.extendedclip.deluxemenus.action.ClickHandler;
import com.extendedclip.deluxemenus.dupe.MenuItemMarker;
import com.extendedclip.deluxemenus.events.DeluxeMenusOpenMenuEvent;
import com.extendedclip.deluxemenus.events.DeluxeMenusPreOpenMenuEvent;
import com.extendedclip.deluxemenus.menu.command.RegistrableMenuCommand;
import com.extendedclip.deluxemenus.menu.options.MenuOptions;
import com.extendedclip.deluxemenus.requirement.RequirementList;
import com.extendedclip.deluxemenus.utils.DebugLevel;
import com.extendedclip.deluxemenus.utils.StringUtils;

import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set;
import java.util.TreeMap;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType;
Expand All @@ -25,9 +30,9 @@

public class Menu {

private static final Map<String, Menu> menus = new HashMap<>();
private static final Set<MenuHolder> menuHolders = new HashSet<>();
private static final Map<UUID, Menu> lastOpenedMenus = new HashMap<>();
private static final Map<String, Menu> menus = new ConcurrentHashMap<>();
private static final Set<MenuHolder> menuHolders = ConcurrentHashMap.newKeySet();
private static final Map<UUID, Menu> lastOpenedMenus = new ConcurrentHashMap<>();

private final DeluxeMenus plugin;
private final MenuOptions options;
Expand All @@ -50,7 +55,7 @@ public Menu(

if (this.options.registerCommands()) {
this.command = new RegistrableMenuCommand(plugin, this);
this.command.register();
plugin.getScheduler().runTask(() -> this.command.register());
}

menus.put(this.options.name(), this);
Expand Down Expand Up @@ -199,7 +204,7 @@ public static void closeMenu(final @NotNull DeluxeMenus plugin, final @NotNull P
}

if (close) {
Bukkit.getScheduler().runTask(plugin, () -> {
plugin.getScheduler().runTask(player, () -> {
player.closeInventory();
cleanInventory(plugin, player);
});
Expand Down Expand Up @@ -274,11 +279,13 @@ public void openMenu(final @NotNull Player viewer, final @Nullable Map<String, S
}

DeluxeMenusPreOpenMenuEvent preOpenEvent = new DeluxeMenusPreOpenMenuEvent(viewer);
Bukkit.getPluginManager().callEvent(preOpenEvent);
Bukkit.getPluginManager().callEvent(preOpenEvent);

if (preOpenEvent.isCancelled()) return;
if (preOpenEvent.isCancelled()) {
return;
}

final MenuHolder holder = new MenuHolder(plugin, viewer);
final MenuHolder holder = new MenuHolder(plugin, viewer);
if (placeholderPlayer != null) {
holder.setPlaceholderPlayer(placeholderPlayer);
}
Expand All @@ -294,7 +301,7 @@ public void openMenu(final @NotNull Player viewer, final @Nullable Map<String, S
return;
}

Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
plugin.getScheduler().runTaskAsynchronously(() -> {

Set<MenuItem> activeItems = new HashSet<>();

Expand Down Expand Up @@ -383,8 +390,8 @@ public void openMenu(final @NotNull Player viewer, final @Nullable Map<String, S

final boolean updatePlaceholders = update;

Bukkit.getScheduler().runTask(plugin, () -> {
if(options.refresh()) {
plugin.getScheduler().runTask(viewer, () -> {
if (options.refresh()) {
holder.startRefreshTask();
}

Expand All @@ -400,7 +407,7 @@ public void openMenu(final @NotNull Player viewer, final @Nullable Map<String, S
}
});

Bukkit.getScheduler().runTask(plugin, () -> {
plugin.getScheduler().runTask(viewer, () -> {
DeluxeMenusOpenMenuEvent openEvent = new DeluxeMenusOpenMenuEvent(viewer, holder);
Bukkit.getPluginManager().callEvent(openEvent);
});
Expand Down
Loading