mirror of
https://github.com/kaboomserver/extras.git
synced 2025-02-11 11:40:19 +00:00
Migrate commands to Adventure, add new commands
New additions are Adventure-centric.
This commit is contained in:
parent
6bb5f374e3
commit
04b8ce1c3c
22 changed files with 337 additions and 138 deletions
36
README.md
36
README.md
|
@ -5,23 +5,25 @@ Extras is a Bukkit plugin that that adds extra functionality to the Kaboom serve
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
| Command | Aliases | Permission | Description |
|
| Command | Aliases | Permission | Description |
|
||||||
| ------- | ----- | ---------- | ----------- |
|
|-----------------------|----------------------------------------------|-----------------------------|---------------------------------------------------------------|
|
||||||
|/broadcastraw | /bcraw, /tellraw | extras.broadcastraw | Broadcasts raw text to the server|
|
| /broadcastminimessage | /broadcastmm, /bcmm | extras.broadcastminimessage | Broadcasts a deserialized MiniMessage component |
|
||||||
|/broadcastvanilla | /bcv | extras.broadcastvanilla | Broadcasts text in vanilla style|
|
| /broadcastraw | /bcraw, /tellraw | extras.broadcastraw | Broadcasts raw text to the server |
|
||||||
|/clearchat | /cc | extras.clearchat | Clears messages from the chat|
|
| /broadcastvanilla | /bcv | extras.broadcastvanilla | Broadcasts text in vanilla style |
|
||||||
|/console | | extras.console | Broadcasts a message as the console|
|
| /clearchat | /cc | extras.clearchat | Clears messages from the chat |
|
||||||
|/destroyentities | /de | extras.destroyentities | Destroys all entities in every world|
|
| /console | | extras.console | Broadcasts a message as the console |
|
||||||
|/enchantall | | extras.enchantall | Adds every enchantment to a held item|
|
| /destroyentities | /de | extras.destroyentities | Destroys all entities in every world |
|
||||||
|/jumpscare | /scare | extras.jumpscare | Scares a player|
|
| /enchantall | | extras.enchantall | Adds every enchantment to a held item |
|
||||||
|/kaboom | | extras.kaboom | I wonder...|
|
| /getjson | /gj, /gmm | extras.getjson | Gets the JSON of a deserialized MiniMessage/legacy component |
|
||||||
|/ping | /ms, /delay | extras.ping | Gets your ping|
|
| /jumpscare | /scare | extras.jumpscare | Scares a player |
|
||||||
|/prefix | /rank, /tag | extras.prefix | Changes your tag|
|
| /kaboom | | extras.kaboom | I wonder... |
|
||||||
|/pumpkin | | extras.pumpkin | Places a pumpkin on a player's head|
|
| /ping | /ms, /delay | extras.ping | Gets your ping |
|
||||||
|/serverinfo | /specs | extras.serverinfo | Shows detailed server information|
|
| /prefix | /rank, /tag | extras.prefix | Changes your tag |
|
||||||
|/skin | | extras.skin | Changes your skin|
|
| /pumpkin | | extras.pumpkin | Places a pumpkin on a player's head |
|
||||||
|/spawn | | extras.spawn | Teleports you to spawn|
|
| /serverinfo | /specs | extras.serverinfo | Shows detailed server information |
|
||||||
|/spidey | | extras.spidey | Annoying little spider...|
|
| /skin | | extras.skin | Changes your skin |
|
||||||
|/username | | extras.username | Changes your username on the server|
|
| /spawn | | extras.spawn | Teleports you to spawn |
|
||||||
|
| /spidey | | extras.spidey | Annoying little spider... |
|
||||||
|
| /username | | extras.username | Changes your username on the server |
|
||||||
|
|
||||||
|
|
||||||
## Compiling
|
## Compiling
|
||||||
|
|
|
@ -1,20 +1,18 @@
|
||||||
package pw.kaboom.extras;
|
package pw.kaboom.extras;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.Collections;
|
|
||||||
|
|
||||||
import org.bukkit.WorldCreator;
|
import org.bukkit.WorldCreator;
|
||||||
import org.bukkit.WorldType;
|
import org.bukkit.WorldType;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
import pw.kaboom.extras.commands.CommandBroadcastMM;
|
||||||
import pw.kaboom.extras.commands.CommandBroadcastVanilla;
|
import pw.kaboom.extras.commands.CommandBroadcastVanilla;
|
||||||
import pw.kaboom.extras.commands.CommandClearChat;
|
import pw.kaboom.extras.commands.CommandClearChat;
|
||||||
import pw.kaboom.extras.commands.CommandConsole;
|
import pw.kaboom.extras.commands.CommandConsole;
|
||||||
import pw.kaboom.extras.commands.CommandDestroyEntities;
|
import pw.kaboom.extras.commands.CommandDestroyEntities;
|
||||||
import pw.kaboom.extras.commands.CommandEnchantAll;
|
import pw.kaboom.extras.commands.CommandEnchantAll;
|
||||||
|
import pw.kaboom.extras.commands.CommandGetJSON;
|
||||||
import pw.kaboom.extras.commands.CommandJumpscare;
|
import pw.kaboom.extras.commands.CommandJumpscare;
|
||||||
import pw.kaboom.extras.commands.CommandKaboom;
|
import pw.kaboom.extras.commands.CommandKaboom;
|
||||||
import pw.kaboom.extras.commands.CommandPing;
|
import pw.kaboom.extras.commands.CommandPing;
|
||||||
|
@ -44,6 +42,9 @@ import pw.kaboom.extras.modules.server.ServerGameRule;
|
||||||
import pw.kaboom.extras.modules.server.ServerTabComplete;
|
import pw.kaboom.extras.modules.server.ServerTabComplete;
|
||||||
import pw.kaboom.extras.modules.server.ServerTick;
|
import pw.kaboom.extras.modules.server.ServerTick;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
public final class Main extends JavaPlugin {
|
public final class Main extends JavaPlugin {
|
||||||
private File prefixConfigFile;
|
private File prefixConfigFile;
|
||||||
private FileConfiguration prefixConfig;
|
private FileConfiguration prefixConfig;
|
||||||
|
@ -72,11 +73,13 @@ public final class Main extends JavaPlugin {
|
||||||
prefixConfig = YamlConfiguration.loadConfiguration(prefixConfigFile);
|
prefixConfig = YamlConfiguration.loadConfiguration(prefixConfigFile);
|
||||||
|
|
||||||
/* Commands */
|
/* Commands */
|
||||||
|
this.getCommand("broadcastminimessage").setExecutor(new CommandBroadcastMM());
|
||||||
this.getCommand("broadcastvanilla").setExecutor(new CommandBroadcastVanilla());
|
this.getCommand("broadcastvanilla").setExecutor(new CommandBroadcastVanilla());
|
||||||
this.getCommand("clearchat").setExecutor(new CommandClearChat());
|
this.getCommand("clearchat").setExecutor(new CommandClearChat());
|
||||||
this.getCommand("console").setExecutor(new CommandConsole());
|
this.getCommand("console").setExecutor(new CommandConsole());
|
||||||
this.getCommand("destroyentities").setExecutor(new CommandDestroyEntities());
|
this.getCommand("destroyentities").setExecutor(new CommandDestroyEntities());
|
||||||
this.getCommand("enchantall").setExecutor(new CommandEnchantAll());
|
this.getCommand("enchantall").setExecutor(new CommandEnchantAll());
|
||||||
|
this.getCommand("getjson").setExecutor(new CommandGetJSON());
|
||||||
this.getCommand("jumpscare").setExecutor(new CommandJumpscare());
|
this.getCommand("jumpscare").setExecutor(new CommandJumpscare());
|
||||||
this.getCommand("kaboom").setExecutor(new CommandKaboom());
|
this.getCommand("kaboom").setExecutor(new CommandKaboom());
|
||||||
this.getCommand("ping").setExecutor(new CommandPing());
|
this.getCommand("ping").setExecutor(new CommandPing());
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
public class CommandBroadcastMM implements CommandExecutor {
|
||||||
|
private static final MiniMessage MINI_MESSAGE = MiniMessage.miniMessage();
|
||||||
|
|
||||||
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
|
final String[] args) {
|
||||||
|
if (args.length == 0) {
|
||||||
|
sender.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <message ..>", NamedTextColor.RED));
|
||||||
|
} else {
|
||||||
|
Bukkit.broadcast(MINI_MESSAGE.deserialize(String.join(" ", args)));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,15 +1,23 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandBroadcastVanilla implements CommandExecutor {
|
public final class CommandBroadcastVanilla implements CommandExecutor {
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
sender.sendMessage(ChatColor.RED + "Usage: /" + label + " <message ..>");
|
sender.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <message ..>",
|
||||||
|
NamedTextColor.RED));
|
||||||
} else {
|
} else {
|
||||||
Command.broadcastCommandMessage(sender, ChatColor.translateAlternateColorCodes(
|
Command.broadcastCommandMessage(sender, ChatColor.translateAlternateColorCodes(
|
||||||
'&', String.join(" ", args)));
|
'&', String.join(" ", args)));
|
||||||
|
|
|
@ -1,23 +1,32 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandClearChat implements CommandExecutor {
|
public final class CommandClearChat implements CommandExecutor {
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
final int maxMessages = 100;
|
final int maxMessages = 100;
|
||||||
|
Component clearChatComponent = Component.empty();
|
||||||
|
|
||||||
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
|
for (int i = 0; i < maxMessages; i++) {
|
||||||
for (int i = 0; i < maxMessages; ++i) {
|
clearChatComponent = clearChatComponent
|
||||||
onlinePlayer.sendMessage("");
|
.append(Component.newline());
|
||||||
}
|
|
||||||
onlinePlayer.sendMessage(ChatColor.DARK_GREEN + "The chat has been cleared");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Bukkit.getServer().broadcast(clearChatComponent
|
||||||
|
.append(Component
|
||||||
|
.text("The chat has been cleared",
|
||||||
|
NamedTextColor.DARK_GREEN)));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,24 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandConsole implements CommandExecutor {
|
public final class CommandConsole implements CommandExecutor {
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
sender.sendMessage(ChatColor.RED + "Usage: /" + label + " <message ..>");
|
sender.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <message ..>",
|
||||||
|
NamedTextColor.RED));
|
||||||
} else {
|
} else {
|
||||||
Bukkit.dispatchCommand(
|
Bukkit.dispatchCommand(
|
||||||
Bukkit.getConsoleSender(),
|
Bukkit.getConsoleSender(),
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
|
@ -8,9 +9,13 @@ import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandDestroyEntities implements CommandExecutor {
|
public final class CommandDestroyEntities implements CommandExecutor {
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
int entityCount = 0;
|
int entityCount = 0;
|
||||||
int worldCount = 0;
|
int worldCount = 0;
|
||||||
|
@ -25,8 +30,9 @@ public final class CommandDestroyEntities implements CommandExecutor {
|
||||||
worldCount++;
|
worldCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.sendMessage("Successfully destroyed " + entityCount + " entities in "
|
sender.sendMessage(Component.text(
|
||||||
+ worldCount + " worlds");
|
"Successfully destroyed " + entityCount + " entities in "
|
||||||
|
+ worldCount + " worlds"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
@ -9,22 +10,29 @@ import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandEnchantAll implements CommandExecutor {
|
public final class CommandEnchantAll implements CommandExecutor {
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (sender instanceof ConsoleCommandSender) {
|
if (sender instanceof ConsoleCommandSender) {
|
||||||
sender.sendMessage("Command has to be run by a player");
|
sender.sendMessage(Component
|
||||||
|
.text("Command has to be run by a player"));
|
||||||
} else {
|
} else {
|
||||||
final Player player = (Player) sender;
|
final Player player = (Player) sender;
|
||||||
final ItemStack item = player.getInventory().getItemInMainHand();
|
final ItemStack item = player.getInventory().getItemInMainHand();
|
||||||
|
|
||||||
if (Material.AIR.equals(item.getType())) {
|
if (Material.AIR.equals(item.getType())) {
|
||||||
player.sendMessage("Please hold an item in your hand to enchant it");
|
player.sendMessage(Component
|
||||||
|
.text("Please hold an item in your hand to enchant it"));
|
||||||
} else {
|
} else {
|
||||||
for (Enchantment enchantment : Enchantment.values()) {
|
for (Enchantment enchantment : Enchantment.values()) {
|
||||||
item.addUnsafeEnchantment(enchantment, Short.MAX_VALUE);
|
item.addUnsafeEnchantment(enchantment, Short.MAX_VALUE);
|
||||||
}
|
}
|
||||||
player.sendMessage("I killed Martin.");
|
player.sendMessage(Component
|
||||||
|
.text("I killed Martin."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
39
src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java
Normal file
39
src/main/java/pw/kaboom/extras/commands/CommandGetJSON.java
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.event.ClickEvent;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
||||||
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
public class CommandGetJSON implements CommandExecutor {
|
||||||
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
|
final String[] args) {
|
||||||
|
if (args.length == 0) {
|
||||||
|
sender.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <message ..>", NamedTextColor.RED));
|
||||||
|
} else {
|
||||||
|
final String message = String.join(" ", args);
|
||||||
|
Component createdComponent = LegacyComponentSerializer
|
||||||
|
.legacyAmpersand()
|
||||||
|
.deserialize(message);
|
||||||
|
|
||||||
|
String asJson = GsonComponentSerializer.gson().serialize(createdComponent);
|
||||||
|
|
||||||
|
Component feedback = Component.empty()
|
||||||
|
.append(Component.text("Your component as JSON (click to copy): "))
|
||||||
|
.append(Component.text(asJson, NamedTextColor.GREEN))
|
||||||
|
.clickEvent(ClickEvent.copyToClipboard(asJson));
|
||||||
|
|
||||||
|
sender.sendMessage(feedback);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,8 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Particle;
|
import org.bukkit.Particle;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
|
@ -9,6 +10,8 @@ import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandJumpscare implements CommandExecutor {
|
public final class CommandJumpscare implements CommandExecutor {
|
||||||
private void createJumpscare(final Player player) {
|
private void createJumpscare(final Player player) {
|
||||||
final int count = 4;
|
final int count = 4;
|
||||||
|
@ -20,24 +23,31 @@ public final class CommandJumpscare implements CommandExecutor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
sender.sendMessage(ChatColor.RED + "Usage: /" + label + " <player>");
|
sender.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <player>",
|
||||||
|
NamedTextColor.RED));
|
||||||
} else {
|
} else {
|
||||||
if (args[0].equals("*") || args[0].equals("**")) {
|
if (args[0].equals("*") || args[0].equals("**")) {
|
||||||
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
|
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
|
||||||
createJumpscare(onlinePlayer);
|
createJumpscare(onlinePlayer);
|
||||||
}
|
}
|
||||||
sender.sendMessage("Successfully created jumpscare for every player");
|
sender.sendMessage(Component
|
||||||
|
.text("Successfully created jumpscare for every player"));
|
||||||
} else {
|
} else {
|
||||||
final Player target = Bukkit.getPlayer(args[0]);
|
final Player target = Bukkit.getPlayer(args[0]);
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
createJumpscare(target);
|
createJumpscare(target);
|
||||||
sender.sendMessage("Successfully created jumpscare for player \""
|
sender.sendMessage(Component
|
||||||
+ target.getName() + "\"");
|
.text("Successfully created jumpscare for player \""
|
||||||
|
+ target.getName() + "\""));
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage("Player \"" + args[0] + "\" not found");
|
sender.sendMessage(Component
|
||||||
|
.text("Player \"" + args[0] + "\" not found"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
import java.util.concurrent.ThreadLocalRandom;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
@ -11,9 +10,14 @@ import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
|
|
||||||
public final class CommandKaboom implements CommandExecutor {
|
public final class CommandKaboom implements CommandExecutor {
|
||||||
|
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
final Player player = (Player) sender;
|
final Player player = (Player) sender;
|
||||||
boolean explode = ThreadLocalRandom.current().nextBoolean();
|
boolean explode = ThreadLocalRandom.current().nextBoolean();
|
||||||
|
@ -38,10 +42,10 @@ public final class CommandKaboom implements CommandExecutor {
|
||||||
explodeLocation.getBlock().setType(Material.LAVA);
|
explodeLocation.getBlock().setType(Material.LAVA);
|
||||||
}
|
}
|
||||||
|
|
||||||
player.sendMessage("Forgive me :c");
|
player.sendMessage(Component.text("Forgive me :c"));
|
||||||
} else {
|
} else {
|
||||||
player.getInventory().setItemInMainHand(new ItemStack(Material.CAKE));
|
player.getInventory().setItemInMainHand(new ItemStack(Material.CAKE));
|
||||||
player.sendMessage("Have a nice day :)");
|
player.sendMessage(Component.text("Have a nice day :)"));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,20 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandPing implements CommandExecutor {
|
public final class CommandPing implements CommandExecutor {
|
||||||
|
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
Player target;
|
Player target;
|
||||||
|
|
||||||
|
@ -20,39 +25,39 @@ public final class CommandPing implements CommandExecutor {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target == null) {
|
if (target == null) {
|
||||||
sender.sendMessage("Player \"" + args[0] + "\" not found");
|
sender.sendMessage(Component
|
||||||
|
.text("Player \"" + args[0] + "\" not found"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final int ping = target.spigot().getPing();
|
final int ping = target.spigot().getPing();
|
||||||
final int d = (int) Math.floor((float) ping / 100);
|
final int d = (int) Math.floor((float) ping / 100);
|
||||||
ChatColor highlighting = ChatColor.WHITE;
|
NamedTextColor highlighting = NamedTextColor.WHITE;
|
||||||
|
|
||||||
switch (d) {
|
switch (d) {
|
||||||
case 0:
|
case 0:
|
||||||
highlighting = ChatColor.GREEN;
|
highlighting = NamedTextColor.GREEN;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
highlighting = ChatColor.YELLOW;
|
highlighting = NamedTextColor.YELLOW;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
highlighting = ChatColor.RED;
|
highlighting = NamedTextColor.RED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (d > 5) {
|
if (d > 5) {
|
||||||
highlighting = ChatColor.DARK_RED;
|
highlighting = NamedTextColor.DARK_RED;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.length == 0) {
|
sender.sendMessage(Component.text((args.length == 0 ?
|
||||||
sender.sendMessage("Your ping is " + highlighting + ping + "ms.");
|
"Your" : target.getName() + "'s") + " ping is ")
|
||||||
} else {
|
.append(Component.text(ping, highlighting))
|
||||||
sender.sendMessage(target.getName() + "'s ping is " + highlighting + ping + "ms.");
|
.append(Component.text("ms.", highlighting)));
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,49 +1,57 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
import java.io.File;
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.ChatColor;
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import pw.kaboom.extras.Main;
|
import pw.kaboom.extras.Main;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
public final class CommandPrefix implements CommandExecutor {
|
public final class CommandPrefix implements CommandExecutor {
|
||||||
private static final File PREFIX_CONFIG_FILE = JavaPlugin
|
private static final File PREFIX_CONFIG_FILE = JavaPlugin
|
||||||
.getPlugin(Main.class).getPrefixConfigFile();
|
.getPlugin(Main.class).getPrefixConfigFile();
|
||||||
private static final FileConfiguration PREFIX_CONFIG = JavaPlugin
|
private static final FileConfiguration PREFIX_CONFIG = JavaPlugin
|
||||||
.getPlugin(Main.class).getPrefixConfig();
|
.getPlugin(Main.class).getPrefixConfig();
|
||||||
|
|
||||||
public boolean onCommand(final CommandSender sender, final Command cmd, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command cmd,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (sender instanceof ConsoleCommandSender) {
|
if (sender instanceof ConsoleCommandSender) {
|
||||||
sender.sendMessage("Command has to be run by a player");
|
sender.sendMessage(Component
|
||||||
|
.text("Command has to be run by a player"));
|
||||||
} else {
|
} else {
|
||||||
final Player player = (Player) sender;
|
final Player player = (Player) sender;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
player.sendMessage(ChatColor.RED + "Usage: /" + label + " <prefix|off>");
|
player.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <prefix|off>",
|
||||||
|
NamedTextColor.RED));
|
||||||
} else if ("off".equalsIgnoreCase(args[0])) {
|
} else if ("off".equalsIgnoreCase(args[0])) {
|
||||||
PREFIX_CONFIG.set(player.getUniqueId().toString(), null);
|
PREFIX_CONFIG.set(player.getUniqueId().toString(), null);
|
||||||
PREFIX_CONFIG.save(PREFIX_CONFIG_FILE);
|
PREFIX_CONFIG.save(PREFIX_CONFIG_FILE);
|
||||||
player.sendMessage("You no longer have a tag");
|
player.sendMessage(Component
|
||||||
|
.text("You no longer have a tag"));
|
||||||
} else {
|
} else {
|
||||||
PREFIX_CONFIG.set(player.getUniqueId().toString(), String.join(" ", args));
|
PREFIX_CONFIG.set(player.getUniqueId().toString(), String.join(" ", args));
|
||||||
PREFIX_CONFIG.save(PREFIX_CONFIG_FILE);
|
PREFIX_CONFIG.save(PREFIX_CONFIG_FILE);
|
||||||
player.sendMessage("You now have the tag: "
|
player.sendMessage(Component.text("You now have the tag: ")
|
||||||
+ ChatColor.translateAlternateColorCodes(
|
.append(LegacyComponentSerializer.legacyAmpersand()
|
||||||
'&', String.join(" ", args)));
|
.deserialize(String.join(" ", args))));
|
||||||
}
|
}
|
||||||
} catch (Exception exception) {
|
} catch (Exception exception) {
|
||||||
player.sendMessage("Something went wrong while saving the prefix. "
|
player.sendMessage(Component
|
||||||
+ "Please check console.");
|
.text("Something went wrong while saving the prefix. " +
|
||||||
|
"Please check console."));
|
||||||
exception.printStackTrace();
|
exception.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
@ -9,15 +10,21 @@ import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandPumpkin implements CommandExecutor {
|
public final class CommandPumpkin implements CommandExecutor {
|
||||||
private void placePumpkin(final Player player) {
|
private void placePumpkin(final Player player) {
|
||||||
player.getInventory().setHelmet(new ItemStack(Material.CARVED_PUMPKIN));
|
player.getInventory().setHelmet(new ItemStack(Material.CARVED_PUMPKIN));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
sender.sendMessage(ChatColor.RED + "Usage: /" + label + " <player>");
|
sender.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <player>",
|
||||||
|
NamedTextColor.RED));
|
||||||
} else {
|
} else {
|
||||||
if (args[0].equals("*") || args[0].equals("**")) {
|
if (args[0].equals("*") || args[0].equals("**")) {
|
||||||
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
|
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
|
||||||
|
|
|
@ -1,25 +1,28 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.lang.management.ManagementFactory;
|
import java.lang.management.ManagementFactory;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.command.Command;
|
|
||||||
import org.bukkit.command.CommandExecutor;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
|
|
||||||
public final class CommandServerInfo implements CommandExecutor {
|
public final class CommandServerInfo implements CommandExecutor {
|
||||||
private void sendInfoMessage(final CommandSender target, final String description,
|
private void sendInfoMessage(final CommandSender target, final String description,
|
||||||
final String value) {
|
final String value) {
|
||||||
target.sendMessage(
|
target.sendMessage(
|
||||||
ChatColor.GRAY + description + ": "
|
Component.text(description, NamedTextColor.GRAY)
|
||||||
+ ChatColor.WHITE + value
|
.append(Component.text(": " + value, NamedTextColor.WHITE)));
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
try {
|
try {
|
||||||
sendInfoMessage(sender, "Hostname",
|
sendInfoMessage(sender, "Hostname",
|
||||||
|
|
|
@ -1,31 +1,39 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import pw.kaboom.extras.helpers.SkinDownloader;
|
import pw.kaboom.extras.helpers.SkinDownloader;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandSkin implements CommandExecutor {
|
public final class CommandSkin implements CommandExecutor {
|
||||||
private long millis;
|
private long millis;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (sender instanceof ConsoleCommandSender) {
|
if (sender instanceof ConsoleCommandSender) {
|
||||||
sender.sendMessage("Command has to be run by a player");
|
sender.sendMessage(Component
|
||||||
|
.text("Command has to be run by a player"));
|
||||||
} else {
|
} else {
|
||||||
final Player player = (Player) sender;
|
final Player player = (Player) sender;
|
||||||
|
|
||||||
final long millisDifference = System.currentTimeMillis() - millis;
|
final long millisDifference = System.currentTimeMillis() - millis;
|
||||||
|
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
player.sendMessage(ChatColor.RED + "Usage: /" + label + " <username>");
|
player.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <username>",
|
||||||
|
NamedTextColor.RED));
|
||||||
} else if (millisDifference <= 2000) {
|
} else if (millisDifference <= 2000) {
|
||||||
player.sendMessage("Please wait a few seconds before changing your skin");
|
player.sendMessage(Component
|
||||||
|
.text("Please wait a few seconds before changing your skin"));
|
||||||
} else {
|
} else {
|
||||||
final String name = args[0];
|
final String name = args[0];
|
||||||
final boolean shouldSendMessage = true;
|
final boolean shouldSendMessage = true;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
@ -11,14 +12,20 @@ import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandSpawn implements CommandExecutor {
|
public final class CommandSpawn implements CommandExecutor {
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (sender instanceof ConsoleCommandSender) {
|
if (sender instanceof ConsoleCommandSender) {
|
||||||
sender.sendMessage("Command has to be run by a player");
|
sender.sendMessage(Component
|
||||||
|
.text("Command has to be run by a player"));
|
||||||
} else {
|
} else {
|
||||||
final Player player = (Player) sender;
|
final Player player = (Player) sender;
|
||||||
final World world = Bukkit.getWorld("world");
|
final World defaultWorld = Bukkit.getWorld("world");
|
||||||
|
final World world = (defaultWorld == null) ? Bukkit.getWorlds().get(0) : defaultWorld;
|
||||||
final Location spawnLocation = world.getSpawnLocation();
|
final Location spawnLocation = world.getSpawnLocation();
|
||||||
final int maxWorldHeight = 256;
|
final int maxWorldHeight = 256;
|
||||||
|
|
||||||
|
@ -34,7 +41,8 @@ public final class CommandSpawn implements CommandExecutor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
player.sendMessage("Successfully moved to spawn");
|
player.sendMessage(Component
|
||||||
|
.text("Successfully moved to spawn"));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
|
@ -10,11 +11,16 @@ import org.bukkit.entity.Player;
|
||||||
import org.bukkit.util.BlockIterator;
|
import org.bukkit.util.BlockIterator;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandSpidey implements CommandExecutor {
|
public final class CommandSpidey implements CommandExecutor {
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (sender instanceof ConsoleCommandSender) {
|
if (sender instanceof ConsoleCommandSender) {
|
||||||
sender.sendMessage("Command has to be run by a player");
|
sender.sendMessage(Component
|
||||||
|
.text("Command has to be run by a player"));
|
||||||
} else {
|
} else {
|
||||||
final Player player = (Player) sender;
|
final Player player = (Player) sender;
|
||||||
final World world = player.getWorld();
|
final World world = player.getWorld();
|
||||||
|
|
|
@ -1,21 +1,30 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandTellraw implements CommandExecutor {
|
public final class CommandTellraw implements CommandExecutor {
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
sender.sendMessage(ChatColor.RED + "Usage: /" + label + " <message ..>");
|
sender.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <message ..>", NamedTextColor.RED));
|
||||||
} else {
|
} else {
|
||||||
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
|
final Component message = LegacyComponentSerializer.legacyAmpersand()
|
||||||
onlinePlayer.sendMessage(ChatColor.translateAlternateColorCodes(
|
.deserialize(String.join(" ", args));
|
||||||
'&', String.join(" ", args)));
|
|
||||||
|
for (Player onlinePlayer: Bukkit.getOnlinePlayers()) {
|
||||||
|
onlinePlayer.sendMessage(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package pw.kaboom.extras.commands;
|
package pw.kaboom.extras.commands;
|
||||||
|
|
||||||
|
import com.destroystokyo.paper.profile.PlayerProfile;
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
|
@ -8,16 +11,19 @@ import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import com.destroystokyo.paper.profile.PlayerProfile;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public final class CommandUsername implements CommandExecutor {
|
public final class CommandUsername implements CommandExecutor {
|
||||||
private long millis;
|
private long millis;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(final CommandSender sender, final Command command, final String label,
|
public boolean onCommand(final @Nonnull CommandSender sender,
|
||||||
|
final @Nonnull Command command,
|
||||||
|
final @Nonnull String label,
|
||||||
final String[] args) {
|
final String[] args) {
|
||||||
if (sender instanceof ConsoleCommandSender) {
|
if (sender instanceof ConsoleCommandSender) {
|
||||||
sender.sendMessage("Command has to be run by a player");
|
sender.sendMessage(Component
|
||||||
|
.text("Command has to be run by a player"));
|
||||||
} else {
|
} else {
|
||||||
final Player player = (Player) sender;
|
final Player player = (Player) sender;
|
||||||
|
|
||||||
|
@ -28,27 +34,33 @@ public final class CommandUsername implements CommandExecutor {
|
||||||
final long millisDifference = System.currentTimeMillis() - millis;
|
final long millisDifference = System.currentTimeMillis() - millis;
|
||||||
|
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
player.sendMessage(ChatColor.RED + "Usage: /" + label + " <username>");
|
player.sendMessage(Component
|
||||||
|
.text("Usage: /" + label + " <username>",
|
||||||
|
NamedTextColor.RED));
|
||||||
} else if (name.equals(player.getName())) {
|
} else if (name.equals(player.getName())) {
|
||||||
player.sendMessage("You already have the username \"" + name + "\"");
|
player.sendMessage(Component
|
||||||
|
.text("You already have the username \"" + name + "\""));
|
||||||
} else if (millisDifference <= 2000) {
|
} else if (millisDifference <= 2000) {
|
||||||
player.sendMessage("Please wait a few seconds before changing your username");
|
player.sendMessage(Component
|
||||||
|
.text("Please wait a few seconds before changing your username."));
|
||||||
} else {
|
} else {
|
||||||
if (Bukkit.getPlayer(name) != null
|
if (Bukkit.getPlayer(name) != null) {
|
||||||
&& Bukkit.getPlayer(name).isOnline()) {
|
player.sendMessage(Component
|
||||||
player.sendMessage("A player with that username is already logged in");
|
.text("A player with that username is already logged in."));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final PlayerProfile profile = player.getPlayerProfile();
|
final PlayerProfile profile = player.getPlayerProfile();
|
||||||
|
|
||||||
|
//FIXME Marked for removal
|
||||||
profile.setName(name);
|
profile.setName(name);
|
||||||
|
|
||||||
player.setPlayerProfile(profile);
|
player.setPlayerProfile(profile);
|
||||||
|
|
||||||
millis = System.currentTimeMillis();
|
millis = System.currentTimeMillis();
|
||||||
|
|
||||||
player.sendMessage("Successfully set your username to \"" + name + "\"");
|
player.sendMessage(Component
|
||||||
|
.text("Successfully set your username to \"" + name + "\""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -2,6 +2,7 @@ package pw.kaboom.extras.modules.player;
|
||||||
|
|
||||||
import io.papermc.paper.chat.ChatRenderer;
|
import io.papermc.paper.chat.ChatRenderer;
|
||||||
import io.papermc.paper.event.player.AsyncChatEvent;
|
import io.papermc.paper.event.player.AsyncChatEvent;
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
import net.kyori.adventure.audience.Audience;
|
import net.kyori.adventure.audience.Audience;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.TextComponent;
|
import net.kyori.adventure.text.TextComponent;
|
||||||
|
@ -12,7 +13,6 @@ import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import pw.kaboom.extras.Main;
|
import pw.kaboom.extras.Main;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -52,10 +52,10 @@ public final class PlayerChat implements Listener {
|
||||||
public static class PlayerChatRenderer implements ChatRenderer {
|
public static class PlayerChatRenderer implements ChatRenderer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Component render(@NotNull Player player,
|
public @Nonnull Component render(@Nonnull Player player,
|
||||||
@NotNull Component displayName,
|
@Nonnull Component displayName,
|
||||||
@NotNull Component component,
|
@Nonnull Component component,
|
||||||
@NotNull Audience audience) {
|
@Nonnull Audience audience) {
|
||||||
Component newComponent = Component.empty();
|
Component newComponent = Component.empty();
|
||||||
final String legacyPrefix = PREFIX_CONFIG.getString(player.getUniqueId().toString());
|
final String legacyPrefix = PREFIX_CONFIG.getString(player.getUniqueId().toString());
|
||||||
final Component prefix = legacyPrefix == null ?
|
final Component prefix = legacyPrefix == null ?
|
||||||
|
|
|
@ -5,12 +5,16 @@ api-version: 1.13
|
||||||
version: master
|
version: master
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
|
broadcastminimessage:
|
||||||
|
aliases: [ broadcastmm, bcmm ]
|
||||||
|
description: Broadcasts a deserialized MiniMessage component
|
||||||
|
permission: extras.broadcastminimessage
|
||||||
broadcastraw:
|
broadcastraw:
|
||||||
aliases: [bcraw, tellraw]
|
aliases: [ bcraw, tellraw ]
|
||||||
description: Broadcasts raw text to the server
|
description: Broadcasts raw text to the server
|
||||||
permission: extras.broadcastraw
|
permission: extras.broadcastraw
|
||||||
broadcastvanilla:
|
broadcastvanilla:
|
||||||
aliases: [bcv]
|
aliases: [ bcv ]
|
||||||
description: Broadcasts text in vanilla style
|
description: Broadcasts text in vanilla style
|
||||||
permission: extras.broadcastvanilla
|
permission: extras.broadcastvanilla
|
||||||
clearchat:
|
clearchat:
|
||||||
|
@ -27,6 +31,10 @@ commands:
|
||||||
enchantall:
|
enchantall:
|
||||||
description: Adds every enchantment to a held item
|
description: Adds every enchantment to a held item
|
||||||
permission: extras.enchantall
|
permission: extras.enchantall
|
||||||
|
getjson:
|
||||||
|
aliases: [ gj, gmm ]
|
||||||
|
description: Gets the JSON of a deserialized MiniMessage/legacy component
|
||||||
|
permission: extras.getjson
|
||||||
jumpscare:
|
jumpscare:
|
||||||
aliases: scare
|
aliases: scare
|
||||||
description: Scares a player
|
description: Scares a player
|
||||||
|
|
Loading…
Reference in a new issue