Skip to content

Commit

Permalink
Merge pull request #64 from HelpChat/cleanup
Browse files Browse the repository at this point in the history
More cleaning up.
  • Loading branch information
BlitzOffline committed Jun 18, 2024
2 parents 8f2fa9b + bbef5f0 commit 66a706b
Show file tree
Hide file tree
Showing 15 changed files with 2,360 additions and 2,281 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import com.extendedclip.deluxemenus.dupe.MenuItemMarker;
import com.extendedclip.deluxemenus.hooks.*;
import com.extendedclip.deluxemenus.listener.PlayerListener;
import com.extendedclip.deluxemenus.menu.HeadType;
import com.extendedclip.deluxemenus.menu.options.HeadType;
import com.extendedclip.deluxemenus.menu.Menu;
import com.extendedclip.deluxemenus.metrics.Metrics;
import com.extendedclip.deluxemenus.nbt.NbtProvider;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,6 @@
import com.extendedclip.deluxemenus.utils.ExpUtils;
import com.extendedclip.deluxemenus.utils.StringUtils;
import com.extendedclip.deluxemenus.utils.VersionHelper;

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

import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
import org.bukkit.Sound;
Expand All @@ -24,6 +16,14 @@
import org.bukkit.scheduler.BukkitRunnable;
import org.jetbrains.annotations.NotNull;

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 {

private final DeluxeMenus plugin;
Expand Down Expand Up @@ -57,7 +57,7 @@ public void run() {
return;
}

final MenuHolder holder = Menu.getMenuHolder(player);
final Optional<MenuHolder> holder = Menu.getMenuHolder(player);
final String executable = StringUtils.replacePlaceholdersAndArguments(this.exec, this.arguments, player, this.parsePlaceholdersInArguments);


Expand Down Expand Up @@ -87,7 +87,7 @@ public void run() {
break;

case PLACEHOLDER:
holder.setPlaceholders(executable);
holder.ifPresent(it -> it.setPlaceholders(executable));
break;

case CHAT:
Expand Down Expand Up @@ -130,21 +130,23 @@ public void run() {

final String menuName = executableParts[0];

final Menu menuToOpen = Menu.getMenu(menuName);
final Optional<Menu> optionalMenuToOpen = Menu.getMenuByName(menuName);

if (menuToOpen == null) {
DeluxeMenus.debug(DebugLevel.HIGHEST, Level.WARNING, "Could not find and open menu " + menuName);
if (optionalMenuToOpen.isEmpty()) {
DeluxeMenus.debug(DebugLevel.HIGHEST, Level.WARNING, "Could not find and open menu " + executable);
break;
}

final List<String> menuArgumentNames = menuToOpen.getArgs();
final Menu menuToOpen = optionalMenuToOpen.get();

final List<String> menuArgumentNames = menuToOpen.options().arguments();

String[] passedArgumentValues = null;
if (executableParts.length > 1) {
passedArgumentValues = executableParts[1].split(" ");
}

if (menuArgumentNames == null || menuArgumentNames.isEmpty()) {
if (menuArgumentNames.isEmpty()) {
if (passedArgumentValues != null && passedArgumentValues.length > 0) {
DeluxeMenus.debug(
DebugLevel.HIGHEST,
Expand All @@ -153,23 +155,23 @@ public void run() {
);
}

if (holder == null) {
if (holder.isEmpty()) {
menuToOpen.openMenu(player);
break;
}

menuToOpen.openMenu(player, holder.getTypedArgs(), holder.getPlaceholderPlayer());
menuToOpen.openMenu(player, holder.get().getTypedArgs(), holder.get().getPlaceholderPlayer());
break;
}

if (passedArgumentValues == null || passedArgumentValues.length == 0) {
// Replicate old behavior: If no arguments are given, open the menu with the arguments from the current menu
if (holder == null) {
if (holder.isEmpty()) {
menuToOpen.openMenu(player);
break;
}

menuToOpen.openMenu(player, holder.getTypedArgs(), holder.getPlaceholderPlayer());
menuToOpen.openMenu(player, holder.get().getTypedArgs(), holder.get().getPlaceholderPlayer());
break;
}

Expand All @@ -183,10 +185,10 @@ public void run() {
}

final Map<String, String> argumentsMap = new HashMap<>();
if (holder != null && holder.getTypedArgs() != null) {
if (holder.isPresent() && holder.get().getTypedArgs() != null) {
// Pass the arguments from the current menu to the new menu. If the new menu has arguments with the
// same name, they will be overwritten
argumentsMap.putAll(holder.getTypedArgs());
argumentsMap.putAll(holder.get().getTypedArgs());
}

for (int index = 0; index < menuArgumentNames.size(); index++) {
Expand All @@ -212,12 +214,12 @@ public void run() {
argumentsMap.put(argumentName, passedArgumentValues[index]);
}

if (holder == null) {
if (holder.isEmpty()) {
menuToOpen.openMenu(player, argumentsMap, null);
break;
}

menuToOpen.openMenu(player, argumentsMap, holder.getPlaceholderPlayer());
menuToOpen.openMenu(player, argumentsMap, holder.get().getPlaceholderPlayer());
break;

case CONNECT:
Expand All @@ -234,7 +236,7 @@ public void run() {
break;

case REFRESH:
if (holder == null) {
if (holder.isEmpty()) {
DeluxeMenus.debug(
DebugLevel.MEDIUM,
Level.WARNING,
Expand All @@ -243,7 +245,7 @@ public void run() {
break;
}

holder.refreshMenu();
holder.get().refreshMenu();
break;

case TAKE_MONEY:
Expand Down
Loading

0 comments on commit 66a706b

Please sign in to comment.