Skip to content

Instantly share code, notes, and snippets.

@jdkeke142
Created March 3, 2019 13:29
Show Gist options
  • Save jdkeke142/a709f87b2bd52269bfbc08d07c697a5f to your computer and use it in GitHub Desktop.
Save jdkeke142/a709f87b2bd52269bfbc08d07c697a5f to your computer and use it in GitHub Desktop.
package fr.keke142.hypercraftbukkitsuite.orphanedCommands;
import co.aikar.commands.BaseCommand;
import co.aikar.commands.CommandHelp;
import co.aikar.commands.MessageKeys;
import co.aikar.commands.MessageType;
import co.aikar.commands.annotation.*;
import co.aikar.commands.bukkit.contexts.OnlinePlayer;
import co.aikar.locales.MessageKey;
import fr.keke142.hypercraftbukkitsuite.MessageManager;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.Arrays;
import java.util.stream.Collectors;
@CommandAlias("%feedAliases")
@CommandPermission("%feedPermission")
public class FeedCommand extends BaseCommand {
private void feedPlayer(Player p) {
p.setFoodLevel(20);
p.setSaturation(20);
}
@Default
@Description("{@@commands.feed.help_description}")
@CommandCompletion("@players")
@Syntax("({@@commands.syntax.targetOnlinePlayers})")
public void onFeed(CommandSender sender, @Optional OnlinePlayer[] targetOnlinePlayers) {
if (targetOnlinePlayers != null) {
for (String permission : getRequiredPermissions()) {
if (!sender.hasPermission(permission + ".others")) {
sender.sendMessage(MessageManager.msg(MessageKeys.PERMISSION_DENIED.getMessageKey().getKey()));
return;
}
}
for (OnlinePlayer onlinePlayer : targetOnlinePlayers) {
feedPlayer(onlinePlayer.getPlayer());
onlinePlayer.getPlayer().sendMessage(MessageManager.msg("commands.feed.success"));
}
if (targetOnlinePlayers.length > 1) {
String targetNames = Arrays.stream(targetOnlinePlayers).map(OnlinePlayer::getPlayer).map(Player::getName).collect(Collectors.joining(", "));
sender.sendMessage(MessageManager.msg("commands.feed.others.multiples.success", targetNames));
} else {
String targetName = targetOnlinePlayers[0].getPlayer().getName();
sender.sendMessage(MessageManager.msg("commands.feed.others.success", targetName));
}
} else {
if (sender instanceof Player) {
Player playerSender = (Player) sender;
feedPlayer(playerSender);
playerSender.sendMessage(MessageManager.msg("commands.feed.success"));
} else {
sender.sendMessage(MessageManager.msg(MessageKeys.NOT_ALLOWED_ON_CONSOLE.getMessageKey().getKey()));
}
}
}
@Subcommand("%feedHelp")
@Description("{@@commands.help.help_description}")
public void doHelp(CommandSender sender, CommandHelp help) {
help.showHelp();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment