Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
3 changes: 2 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
java
id("com.gradleup.shadow") version("8.3.5")
id("com.gradleup.shadow") version("9.4.1")
id("com.github.ben-manes.versions") version("0.51.0")
}

Expand All @@ -21,6 +21,7 @@ repositories {
maven("https://repo.momirealms.net/releases/")
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 @@ -22,7 +22,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
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
13 changes: 6 additions & 7 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

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
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ public void setDelay(@Nullable final String delay) {
this.delay = delay;
}


/**
* Get the unparsed chance of this action.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,32 @@
import com.extendedclip.deluxemenus.menu.Menu;
import com.extendedclip.deluxemenus.menu.MenuHolder;
import com.extendedclip.deluxemenus.persistentmeta.PersistentMetaHandler;
import com.extendedclip.deluxemenus.utils.*;
import com.extendedclip.deluxemenus.scheduler.UniversalRunnable;
import com.extendedclip.deluxemenus.scheduler.scheduling.schedulers.TaskScheduler;
import com.extendedclip.deluxemenus.utils.AdventureUtils;
import com.extendedclip.deluxemenus.utils.DebugLevel;
import com.extendedclip.deluxemenus.utils.ExpUtils;
import com.extendedclip.deluxemenus.utils.SoundUtils;
import com.extendedclip.deluxemenus.utils.StringUtils;
import com.extendedclip.deluxemenus.utils.VersionHelper;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import org.jetbrains.annotations.NotNull;

import java.util.*;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import java.util.logging.Level;

public class ClickActionTask extends BukkitRunnable {
public class ClickActionTask extends UniversalRunnable {

private final DeluxeMenus plugin;
private final TaskScheduler scheduler;
private final UUID uuid;
private final ActionType actionType;
private final String exec;
Expand All @@ -36,6 +48,7 @@ public ClickActionTask(
final boolean parsePlaceholdersAfterArguments
) {
this.plugin = plugin;
this.scheduler = plugin.getScheduler();
this.uuid = uuid;
this.actionType = actionType;
this.exec = exec;
Expand All @@ -56,7 +69,6 @@ public void run() {
? holder.get().getPlaceholderPlayer()
: player;


final String executable = StringUtils.replacePlaceholdersAndArguments(
this.exec,
this.arguments,
Expand Down Expand Up @@ -105,7 +117,7 @@ public void run() {
break;

case CONSOLE:
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), executable);
scheduler.runTask(() -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), executable));
Comment thread
BlitzOffline marked this conversation as resolved.
break;

case MINI_MESSAGE:
Expand Down Expand Up @@ -435,7 +447,6 @@ public void run() {
}
}


try {
volume = Float.parseFloat(parts[1]);
} catch (final NumberFormatException exception) {
Expand Down Expand Up @@ -497,17 +508,17 @@ public void run() {
}
break;

case PLAY_SOUND:
if (sound == null) {
plugin.debug(
DebugLevel.HIGHEST,
Level.WARNING,
"Sound name given for sound action: " + executable + ", is not a valid sound!"
);
case PLAY_SOUND:
if (sound == null) {
plugin.debug(
DebugLevel.HIGHEST,
Level.WARNING,
"Sound name given for sound action: " + executable + ", is not a valid sound!"
);
break;
}
player.playSound(player.getLocation(), sound, volume, pitch);
break;
}
player.playSound(player.getLocation(), sound, volume, pitch);
break;
}
break;

Expand All @@ -519,5 +530,4 @@ public void run() {
private boolean isRaw(ActionType actionType) {
return actionType == ActionType.PLAY_RAW_SOUND || actionType == ActionType.BROADCAST_RAW_SOUND || actionType == ActionType.BROADCAST_WORLD_RAW_SOUND;
}

}
}
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
31 changes: 16 additions & 15 deletions src/main/java/com/extendedclip/deluxemenus/dupe/DupeFixer.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.extendedclip.deluxemenus.DeluxeMenus;
import com.extendedclip.deluxemenus.listener.Listener;
import com.extendedclip.deluxemenus.scheduler.scheduling.schedulers.TaskScheduler;
import com.extendedclip.deluxemenus.utils.DebugLevel;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityPickupItemEvent;
Expand All @@ -18,10 +19,12 @@
*/
public class DupeFixer extends Listener {

private final TaskScheduler scheduler;
private final MenuItemMarker marker;

public DupeFixer(@NotNull final DeluxeMenus plugin, @NotNull final MenuItemMarker marker) {
super(plugin);
this.scheduler = plugin.getScheduler();
this.marker = marker;
}

Expand Down Expand Up @@ -55,21 +58,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;
scheduler.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
Loading
Loading