The in-game help command now shows command descriptions as pop-ups when the user hovers over the commands

This commit is contained in:
David Berdik 2017-04-02 20:40:21 -04:00
parent f32b052da3
commit 999fba4705

View File

@ -3,61 +3,120 @@ package net.theprogrammersworld.herobrine.AI;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer;
import net.minecraft.server.v1_11_R1.IChatBaseComponent;
import net.minecraft.server.v1_11_R1.IChatBaseComponent.ChatSerializer;
import net.minecraft.server.v1_11_R1.PacketPlayOutChat;
public class Help { public class Help {
public static void displayHelp(Player player) public static void displayHelp(Player player)
{ {
// Display the help, listing only the commands that the user has permissions to use. // Display the help, listing only the commands that the user has permissions to use.
player.sendMessage(ChatColor.RED player.sendMessage(ChatColor.RED
+ "[Herobrine] Command List"); + "[Herobrine] Command List (hover over for more info)");
player.sendMessage(ChatColor.GREEN
+ "/herobrine help - Shows this list of Herobrine commands");
if(player.hasPermission("herobrine.attack")) IChatBaseComponent help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine help\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
player.sendMessage(ChatColor.GREEN + "§aShows this list of Herobrine commands\"}}]}");
+ "/herobrine attack <player> - Sends Herobrine to attack"); PacketPlayOutChat packet = new PacketPlayOutChat(help);
if(player.hasPermission("herobrine.haunt")) ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
player.sendMessage(ChatColor.GREEN
+ "/herobrine haunt <player> - Sends Herobrine to haunt"); if(player.hasPermission("herobrine.attack")) {
if(player.hasPermission("herobrine.cancel")) help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine attack <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
player.sendMessage(ChatColor.GREEN + "§aSends Herobrine to attack\"}}]}");
+ "/herobrine cancel - Cancels Herobrine's current target"); packet = new PacketPlayOutChat(help);
if(player.hasPermission("herobrine.reload")) ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
player.sendMessage(ChatColor.GREEN }
+ "/herobrine reload - Reloads the Herobrine configuration file"); if(player.hasPermission("herobrine.haunt")) {
if(player.hasPermission("herobrine.position")) help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine haunt <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
player.sendMessage(ChatColor.GREEN + "§aSends Herobrine to haunt\"}}]}");
+ "/herobrine position - Displays Herobrine's coordinates"); packet = new PacketPlayOutChat(help);
if(player.hasPermission("herobrine.pyramid")) ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
player.sendMessage(ChatColor.GREEN }
+ "/herobrine pyramid <player> - Builds a pyramid"); if(player.hasPermission("herobrine.cancel")) {
if(player.hasPermission("herobrine.bury")) help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine cancel\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
player.sendMessage(ChatColor.GREEN + "§aCancels Herobrine's current target\"}}]}");
+ "/herobrine bury <player> - Buries the specified player"); packet = new PacketPlayOutChat(help);
if(player.hasPermission("herobrine.graveyard")) ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
player.sendMessage(ChatColor.GREEN }
+ "/herobrine graveyard <player> - Teleports the player"); if(player.hasPermission("herobrine.reload")) {
if(player.hasPermission("herobrine.temple")) help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine reload\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
player.sendMessage(ChatColor.GREEN + "§aReloads the Herobrine configuration file\"}}]}");
+ "/herobrine temple <player> - Builds a temple near the player"); packet = new PacketPlayOutChat(help);
if(player.hasPermission("herobrine.heads")) ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
player.sendMessage(ChatColor.GREEN }
+ "/herobrine heads <player> - Spawns heads near the player"); if(player.hasPermission("herobrine.position")) {
if(player.hasPermission("herobrine.cave")) help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine position\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
player.sendMessage(ChatColor.GREEN + "§aDisplays Herobrine's coordinates\"}}]}");
+ "/herobrine cave <player> - Creates a cave near the player"); packet = new PacketPlayOutChat(help);
if(player.hasPermission("herobrine.burn")) ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
player.sendMessage(ChatColor.GREEN }
+ "/herobrine burn <player> - Burns the specified player"); if(player.hasPermission("herobrine.pyramid")) {
if(player.hasPermission("herobrine.curse")) help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine pyramid <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
player.sendMessage(ChatColor.GREEN + "§aBuilds a pyramid\"}}]}");
+ "/herobrine curse <player> - Places curse on the player"); packet = new PacketPlayOutChat(help);
if(player.hasPermission("herobrine.speakrandom")) ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
player.sendMessage(ChatColor.GREEN }
+ "/herobrine speakrandom <player> - Sends a random Herobrine message to the player"); if(player.hasPermission("herobrine.bury")) {
if(player.hasPermission("herobrine.speak")) help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine bury <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
player.sendMessage(ChatColor.GREEN + "§aBuries the specified player\"}}]}");
+ "/herobrine speak <message> - Sends a chat message on Herobrine's behalf"); packet = new PacketPlayOutChat(help);
if(player.hasPermission("herobrine.allworlds")) ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
player.sendMessage(ChatColor.GREEN }
+ "/herobrine allworlds - Grants Herobrine access to all worlds"); if(player.hasPermission("herobrine.graveyard")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine graveyard <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aTeleports the player\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
if(player.hasPermission("herobrine.temple")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine temple <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aBuilds a temple near the player\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
if(player.hasPermission("herobrine.heads")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine heads <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aSpawns heads near the player\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
if(player.hasPermission("herobrine.cave")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine cave <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aCreates a cave near the player\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
if(player.hasPermission("herobrine.burn")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine burn <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aBurns the specified player\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
if(player.hasPermission("herobrine.curse")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine curse <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aPlaces a curse on the player\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
if(player.hasPermission("herobrine.speakrandom")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine speakrandom <player>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aSends a random Herobrine message to the player\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
if(player.hasPermission("herobrine.speak")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine speak <message>\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aSends a chat message on Herobrine's behalf\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
if(player.hasPermission("herobrine.allworlds")) {
help = ChatSerializer.a("{\"text\":\"\",\"extra\":[{\"text\":\"§a/herobrine allworlds\",\"hoverEvent\":{\"action\":\"show_text\",\"value\":\""
+ "§aGrants Herobrine access to all worlds\"}}]}");
packet = new PacketPlayOutChat(help);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
}
} }
} }