1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 11:45:51 +00:00

Switch to MenuHelper.awaitChatInput

This commit is contained in:
Daniel Walsh 2019-09-30 18:06:50 +01:00
parent 52f078a025
commit 570319b5ae
3 changed files with 8 additions and 43 deletions

View File

@ -10,7 +10,7 @@ import java.util.UUID;
import java.util.logging.Level;
import java.util.stream.Collectors;
import me.mrCookieSlime.Slimefun.listeners.SearchListener;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.MenuHelper;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
@ -393,7 +393,7 @@ public final class SlimefunGuide {
int index = 9;
int pages = 1;
fillInv(menu);
fillInv(menu, !survival);
int target = (CATEGORY_SIZE * (selected_page - 1)) - 1;
@ -725,7 +725,7 @@ public final class SlimefunGuide {
menu.setEmptySlotsClickable(false);
fillInv(menu);
fillInv(menu, cheat);
addBackButton(menu, player, false, cheat);
@ -760,7 +760,7 @@ public final class SlimefunGuide {
menu.open(player);
}
private static void fillInv(ChestMenu menu) {
private static void fillInv(ChestMenu menu, boolean cheat) {
for (int i = 0; i < 9; i++) {
menu.addItem(i, new CustomItem(new ItemStack(Material.GRAY_STAINED_GLASS_PANE), " "));
menu.addMenuClickHandler(i, (arg0, arg1, arg2, arg3) -> false);
@ -772,7 +772,10 @@ public final class SlimefunGuide {
menu.addMenuClickHandler(7, (player, i, itemStack, clickAction) -> {
player.closeInventory();
player.sendMessage(ChatColor.AQUA + "What would you like to search for?");
SearchListener.addSearchingPlayer(player.getUniqueId());
MenuHelper.awaitChatInput(player, (p, s) -> {
openSearch(p, s, cheat, true);
return true; // ?
});
return false;
});

View File

@ -232,7 +232,6 @@ public final class SlimefunPlugin extends JavaPlugin {
new AndroidKillingListener(this);
new NetworkListener(this);
new ItemPickupListener(this);
getServer().getPluginManager().registerEvents(new SearchListener(), this);
// Toggleable Listeners for performance
if (config.getBoolean("items.talismans")) new TalismanListener(this);
@ -380,8 +379,6 @@ public final class SlimefunPlugin extends JavaPlugin {
AContainer.progress = null;
OreWasher.items = null;
SearchListener.cleanUp();
instance = null;
for (Player p: Bukkit.getOnlinePlayers()) {

View File

@ -1,35 +0,0 @@
package me.mrCookieSlime.Slimefun.listeners;
import me.mrCookieSlime.Slimefun.SlimefunGuide;
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
public class SearchListener implements Listener {
private static Set<UUID> waitingSearchTerm = ConcurrentHashMap.newKeySet();
@EventHandler
public void onSearch(AsyncPlayerChatEvent e) {
if (waitingSearchTerm.remove(e.getPlayer().getUniqueId())) {
Bukkit.getScheduler().runTask(SlimefunPlugin.instance,
() -> SlimefunGuide.openSearch(e.getPlayer(), e.getMessage(), true, true));
e.setCancelled(true);
}
}
public static void addSearchingPlayer(UUID uniqueId) {
waitingSearchTerm.add(uniqueId);
}
public static void cleanUp() {
waitingSearchTerm.clear();
}
}