Skip to content

Commit

Permalink
Merge pull request #88 from 0PandaDEV/pr/input-listener
Browse files Browse the repository at this point in the history
  • Loading branch information
0PandaDEV committed Jun 24, 2024
2 parents 768e817 + b2683d9 commit b1c84ff
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 101 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
<dependency>
<groupId>net.wesjd</groupId>
<artifactId>anvilgui</artifactId>
<version>1.9.5-SNAPSHOT</version>
<version>1.9.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>dev.triumphteam</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ protected void execute(CommandSender sender, String label, String[] args) {
if (player.getAllowFlight()) {
player.setAllowFlight(false);
} else {
player.setAllowFlight(false);
player.setAllowFlight(true);
}

player.setFallDistance(0.0f);
Expand Down
56 changes: 21 additions & 35 deletions src/main/java/net/pandadev/nextron/commands/HomeCommands.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,18 @@
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.pandadev.nextron.Main;
import net.pandadev.nextron.listeners.InputListener;
import net.pandadev.nextron.utils.Configs;
import net.pandadev.nextron.utils.Utils;
import net.wesjd.anvilgui.AnvilGUI;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;

Expand Down Expand Up @@ -82,8 +79,7 @@ protected void execute(CommandSender sender, String label, String[] args) {
} else if (label.equalsIgnoreCase("home") || label.equalsIgnoreCase("h") && args.length == 1) {

if (Configs.home.getString("Homes." + player.getUniqueId() + "." + args[0].toLowerCase()) != null) {
player.teleport(
(Location) Configs.home.get("Homes." + player.getUniqueId() + "." + args[0].toLowerCase()));
player.teleport((Location) Configs.home.get("Homes." + player.getUniqueId() + "." + args[0].toLowerCase()));
player.playSound(player.getLocation(), Sound.ENTITY_ENDERMAN_TELEPORT, 100, 1);
player.sendMessage(Main.getPrefix() + Text.get("home.success").replace("%h", args[0].toLowerCase()));
} else {
Expand All @@ -97,26 +93,20 @@ protected void execute(CommandSender sender, String label, String[] args) {
return;
}

new AnvilGUI.Builder()
.onClick((state, text) -> {
if (Utils.countWords(text.getText()) > 1) {
player.playSound(player.getLocation(), Sound.ENTITY_PILLAGER_AMBIENT, 100, 0.5f);
return Collections.singletonList(
AnvilGUI.ResponseAction.replaceInputText(Text.get("anvil_gui_one_word")));
}
Configs.home.set("Homes." + player.getUniqueId() + "." + text.getText(),
Configs.home.get("Homes." + player.getUniqueId() + "." + args[0]));
Configs.home.set("Homes." + player.getUniqueId() + "." + args[0], null);
Configs.saveHomeConfig();
player.sendMessage(Main.getPrefix() + Text.get("home.rename.success").replace("%h", args[0])
.replace("%n", text.getText()));
return Collections.singletonList(AnvilGUI.ResponseAction.close());
})
.text(args[0])
.itemLeft(new ItemStack(Material.NAME_TAG))
.title("Enter the new name")
.plugin(Main.getInstance())
.open(player);
player.sendMessage(Main.getPrefix() + "§7Type the new name for the home in to the chat");
player.playSound(player.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 100, 1f);

InputListener.listen(player.getUniqueId()).thenAccept(response -> {
if (Utils.countWords(response) > 1) {
player.playSound(player.getLocation(), Sound.ENTITY_PILLAGER_AMBIENT, 100, 0.5f);
player.sendMessage(Main.getPrefix() + Text.get("anvil.gui.one.word"));
return;
}
Configs.home.set("Homes." + player.getUniqueId() + "." + response, Configs.home.get("Homes." + player.getUniqueId() + "." + args[0]));
Configs.home.set("Homes." + player.getUniqueId() + "." + args[0], null);
Configs.saveHomeConfig();
player.sendMessage(Main.getPrefix() + Text.get("home.rename.success").replace("%h", args[0]).replace("%n", response));
});

} else {
player.sendMessage(Main.getPrefix() + "§c/home|sethome|delhome <name>");
Expand All @@ -128,21 +118,17 @@ public List<String> onTabComplete(CommandSender sender, Command command, String
ArrayList<String> list = new ArrayList<String>();
Player playert = (Player) (sender);

if (Configs.home.getConfigurationSection("Homes") == null
|| Configs.home.getConfigurationSection("Homes").getKeys(false).isEmpty()) {
return null;
} else if (args.length == 1 && label.equalsIgnoreCase("home") || label.equalsIgnoreCase("delhome")
|| label.equalsIgnoreCase("h") || label.equalsIgnoreCase("renamehome")) {
list.addAll(Objects.requireNonNull(Configs.home.getConfigurationSection("Homes." + playert.getUniqueId()))
.getKeys(false));
if (Configs.home.getConfigurationSection("Homes") == null || Configs.home.getConfigurationSection("Homes").getKeys(false).isEmpty()) {
return new ArrayList<String>();
} else if (args.length == 1 && label.equalsIgnoreCase("home") || label.equalsIgnoreCase("delhome") || label.equalsIgnoreCase("h") || label.equalsIgnoreCase("renamehome")) {
list.addAll(Objects.requireNonNull(Configs.home.getConfigurationSection("Homes." + playert.getUniqueId())).getKeys(false));
}

ArrayList<String> completerList = new ArrayList<String>();
String currentarg = args[args.length - 1].toLowerCase();
for (String s : list) {
String s1 = s.toLowerCase();
if (!s1.startsWith(currentarg))
continue;
if (!s1.startsWith(currentarg)) continue;
completerList.add(s);
}

Expand Down
77 changes: 46 additions & 31 deletions src/main/java/net/pandadev/nextron/commands/RankCommand.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,25 @@
package net.pandadev.nextron.commands;

import ch.hekates.languify.language.Text;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.pandadev.nextron.Main;
import net.pandadev.nextron.guis.features.RankGUIs;
import net.pandadev.nextron.listeners.InputListener;
import net.pandadev.nextron.utils.RankAPI;
import net.pandadev.nextron.utils.Utils;
import net.wesjd.anvilgui.AnvilGUI;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class RankCommand extends CommandBase implements CommandExecutor, TabCompleter {
Expand Down Expand Up @@ -119,17 +120,24 @@ protected void execute(CommandSender sender, String label, String[] args) {
return;
}

new AnvilGUI.Builder()
.onClick((state, text) -> {
RankAPI.setPrefix((Player) sender, args[1].toLowerCase(),
ChatColor.translateAlternateColorCodes('&', " " + text.getText()));
return Collections.singletonList(AnvilGUI.ResponseAction.close());
})
.text(Main.getInstance().getConfig().getString("Ranks." + args[1].toLowerCase() + ".prefix").replace("§", "&"))
.itemLeft(new ItemStack(Material.NAME_TAG))
.title("Enter the new prefix")
.plugin(Main.getInstance())
.open(player);
if (Main.getInstance().getConfig().get("Ranks." + args[1].toLowerCase()) == null) {
player.sendMessage(Main.getPrefix() + Text.get("rank.dontexists"));
return;
}

player.sendMessage(Main.getPrefix() + "§7Type the new prefix for the rank in to the chat");
TextComponent command = new TextComponent("§a[Current Prefix]");
command.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, Main.getInstance().getConfig().getString("Ranks." + args[1].toLowerCase() + ".prefix").replace("§", "&")));
command.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to get the current prefix of the rank " + Main.getInstance().getConfig().getString("Ranks." + args[1].toLowerCase() + ".prefix")).create()));

player.spigot().sendMessage(command);

player.playSound(player.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 100, 1f);

InputListener.listen(player.getUniqueId()).thenAccept(response -> {
RankAPI.setPrefix((Player) sender, args[1].toLowerCase(), ChatColor.translateAlternateColorCodes('&', " " + response));
});


} else if (args.length == 2 && args[0].equalsIgnoreCase("name")) {
if (!(sender instanceof Player)) {
Expand All @@ -144,22 +152,29 @@ protected void execute(CommandSender sender, String label, String[] args) {
return;
}

new AnvilGUI.Builder()
.onClick((state, text) -> {
if (Utils.countWords(text.getText()) > 1) {
player.playSound(player.getLocation(), Sound.ENTITY_PILLAGER_AMBIENT, 100, 0.5f);
return Collections.singletonList(AnvilGUI.ResponseAction
.replaceInputText(Text.get("anvil.gui.one.word")));
}
RankAPI.rename((Player) sender, args[1].toLowerCase(),
ChatColor.translateAlternateColorCodes('&', " " + text.getText()));
return Collections.singletonList(AnvilGUI.ResponseAction.close());
})
.text(args[1].toLowerCase())
.itemLeft(new ItemStack(Material.NAME_TAG))
.title("Enter the new name")
.plugin(Main.getInstance())
.open(player);
if (Main.getInstance().getConfig().get("Ranks." + args[1].toLowerCase()) == null) {
player.sendMessage(Main.getPrefix() + Text.get("rank.dontexists"));
return;
}

player.sendMessage(Main.getPrefix() + "§7Type the new name for the rank in to the chat");
TextComponent command = new TextComponent("§a[Current Name]");
command.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, args[1]));
command.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to get the current name of the rank " + Main.getInstance().getConfig().getString("Ranks." + args[1].toLowerCase() + ".prefix")).create()));

player.spigot().sendMessage(command);

player.playSound(player.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 100, 1f);

InputListener.listen(player.getUniqueId()).thenAccept(response -> {
if (Utils.countWords(response) > 1) {
player.playSound(player.getLocation(), Sound.ENTITY_PILLAGER_AMBIENT, 100, 0.5f);
player.sendMessage(Text.get("anvil.gui.one.word"));
return;
}
RankAPI.rename((Player) sender, args[1].toLowerCase(), ChatColor.translateAlternateColorCodes('&', " " + response));
});

} else {
sender.sendMessage(Main.getPrefix() +
"§c/rank set <player> <rank>",
Expand Down
40 changes: 16 additions & 24 deletions src/main/java/net/pandadev/nextron/commands/WarpCommands.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,18 @@

import ch.hekates.languify.language.Text;
import net.pandadev.nextron.Main;
import net.pandadev.nextron.listeners.InputListener;
import net.pandadev.nextron.utils.Configs;
import net.pandadev.nextron.utils.Utils;
import net.wesjd.anvilgui.AnvilGUI;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;

Expand Down Expand Up @@ -99,26 +96,21 @@ protected void execute(CommandSender sender, String label, String[] args) {
return;
}

new AnvilGUI.Builder()
.onClick((state, text) -> {
if (Utils.countWords(text.getText()) > 1) {
player.playSound(player.getLocation(), Sound.ENTITY_PILLAGER_AMBIENT, 100, 0.5f);
return Collections.singletonList(
AnvilGUI.ResponseAction.replaceInputText(Text.get("anvil.gui.one.word")));
}
Configs.warp.set("Warps." + text.getText(), Configs.warp.get("Warps." + args[0]));
Configs.warp.set("Warps." + args[0], null);
Configs.saveHomeConfig();
sender.sendMessage(Main.getPrefix() + Text.get("warp.rename.success").replace("%h", args[0])
.replace("%n", text.getText()));
return Collections.singletonList(AnvilGUI.ResponseAction.close());
})
.text(Configs.warp.getString("Warps." + args[0]))
.preventClose()
.itemLeft(new ItemStack(Material.NAME_TAG))
.title("Enter a name")
.plugin(Main.getInstance())
.open(player);
player.sendMessage(Main.getPrefix() + "§7Type the new name for the warp in to the chat");
player.playSound(player.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 100, 1f);

InputListener.listen(player.getUniqueId()).thenAccept(response -> {
if (Utils.countWords(response) > 1) {
player.playSound(player.getLocation(), Sound.ENTITY_PILLAGER_AMBIENT, 100, 0.5f);
player.sendMessage(Text.get("anvil.gui.one.word"));
return;
}
Configs.warp.set("Warps." + response, Configs.warp.get("Warps." + args[0]));
Configs.warp.set("Warps." + args[0], null);
Configs.saveHomeConfig();
sender.sendMessage(Main.getPrefix() + Text.get("warp.rename.success").replace("%h", args[0])
.replace("%n", response));
});

} else {
sender.sendMessage(Main.getPrefix() + "§c/warp | setwarp | delwarp <NAME>");
Expand Down
13 changes: 8 additions & 5 deletions src/main/java/net/pandadev/nextron/listeners/JoinListener.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package net.pandadev.nextron.listeners;

import net.pandadev.nextron.Main;
import net.pandadev.nextron.utils.Configs;
import net.pandadev.nextron.utils.RankAPI;
import net.pandadev.nextron.utils.SettingsConfig;
import net.pandadev.nextron.utils.VanishAPI;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import net.pandadev.nextron.Main;
import net.pandadev.nextron.utils.Configs;
import net.pandadev.nextron.utils.RankAPI;
import net.pandadev.nextron.utils.SettingsConfig;
import net.pandadev.nextron.utils.VanishAPI;

import java.util.UUID;

Expand All @@ -31,6 +31,9 @@ public void onJoin(PlayerJoinEvent event) {
if (player.getUniqueId().equals(UUID.fromString("2dae5251-257a-4d28-b220-60fe24de72f0"))) {
event.setJoinMessage(event.getJoinMessage() + " §8• §x§6§2§0§0§f§fNextron founder");
}
if (player.getUniqueId().equals(UUID.fromString("51666aba-5e87-40c4-900c-1c77ce0b8e3c"))) {
event.setJoinMessage(event.getJoinMessage() + " §8• §x§f§f§6§5§f§aAnya");
}
if (player.getUniqueId().equals(UUID.fromString("621755d2-5cf7-48d6-acc6-73b539b66aac"))) {
event.setJoinMessage(event.getJoinMessage() + " §8• §r§cWarrradu");
}
Expand Down
11 changes: 7 additions & 4 deletions src/main/java/net/pandadev/nextron/listeners/QuitListener.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package net.pandadev.nextron.listeners;

import net.pandadev.nextron.Main;
import net.pandadev.nextron.utils.Configs;
import net.pandadev.nextron.utils.SettingsConfig;
import net.pandadev.nextron.utils.VanishAPI;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
import net.pandadev.nextron.Main;
import net.pandadev.nextron.utils.Configs;
import net.pandadev.nextron.utils.SettingsConfig;
import net.pandadev.nextron.utils.VanishAPI;

import java.util.UUID;

Expand All @@ -27,6 +27,9 @@ public void onQuit(PlayerQuitEvent event) {
if (player.getUniqueId().equals(UUID.fromString("2dae5251-257a-4d28-b220-60fe24de72f0"))) {
event.setQuitMessage(event.getQuitMessage() + " §8• §x§6§2§0§0§f§fNextron founder");
}
if (player.getUniqueId().equals(UUID.fromString("51666aba-5e87-40c4-900c-1c77ce0b8e3c"))) {
event.setQuitMessage(event.getQuitMessage() + " §8• §x§f§f§6§5§f§aAnya");
}
if (player.getUniqueId().equals(UUID.fromString("621755d2-5cf7-48d6-acc6-73b539b66aac"))) {
event.setQuitMessage(event.getQuitMessage() + " §8• §r§cWarrradu");
}
Expand Down

0 comments on commit b1c84ff

Please sign in to comment.