Added random book command.

This commit is contained in:
Brianna 2019-08-06 12:29:44 -04:00
parent df68116a03
commit 3fd1e95e65
4 changed files with 83 additions and 1 deletions

View File

@ -4,7 +4,7 @@ stages:
variables:
name: "EpicEnchants"
path: "/builds/$CI_PROJECT_PATH"
version: "1"
version: "1.0.1"
build:
stage: build

View File

@ -30,6 +30,7 @@ public class CommandManager implements CommandExecutor {
addCommand(new CommandApply(commandEpicEnchants));
addCommand(new CommandList(commandEpicEnchants));
addCommand(new CommandGiveBook(commandEpicEnchants));
addCommand(new CommandGiveRandomBook(commandEpicEnchants));
addCommand(new CommandGiveItemDust(commandEpicEnchants));
addCommand(new CommandGiveScroll(commandEpicEnchants));
addCommand(new CommandAlchemist(commandEpicEnchants));

View File

@ -0,0 +1,78 @@
package com.songoda.epicenchants.command.commands;
import com.songoda.epicenchants.EpicEnchants;
import com.songoda.epicenchants.command.AbstractCommand;
import com.songoda.epicenchants.objects.Group;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.List;
import java.util.stream.Collectors;
public class CommandGiveRandomBook extends AbstractCommand {
public CommandGiveRandomBook(AbstractCommand parent) {
super(parent, false, "giverandombook");
}
//ee giverandombook <player> <group>
@Override
protected ReturnType runCommand(EpicEnchants instance, CommandSender sender, String... args) {
if (args.length < 3 || args.length > 6)
return ReturnType.SYNTAX_ERROR;
OfflinePlayer target = Bukkit.getPlayer(args[1]);
if (target == null) {
instance.getLocale().newMessage("&cThis player does not exist...").sendPrefixedMessage(sender);
return ReturnType.FAILURE;
}
List<Group> groups = instance.getGroupManager().getValues().stream()
.filter(group -> group.getIdentifier().equalsIgnoreCase(args[2])).collect(Collectors.toList());
if (groups.isEmpty()) {
instance.getLocale().newMessage("&cThe group you entered was no found...").sendPrefixedMessage(sender);
return ReturnType.FAILURE;
}
Group group = groups.get(0);
target.getPlayer().getInventory().addItem(instance.getSpecialItems().getMysteryBook(group));
instance.getLocale().getMessage("command.book.received")
.sendPrefixedMessage(target.getPlayer());
instance.getLocale().getMessage("command.book.gave")
.processPlaceholder("player", target.getPlayer().getName())
.sendPrefixedMessage(sender);
return ReturnType.SUCCESS;
}
@Override
protected List<String> onTab(EpicEnchants instance, CommandSender sender, String... args) {
if (args.length == 2) {
return Bukkit.getOnlinePlayers().stream().map(Player::getName).collect(Collectors.toList());
} else if (args.length == 3) {
return instance.getGroupManager().getValues().stream()
.map(Group::getIdentifier).collect(Collectors.toList());
}
return null;
}
@Override
public String getPermissionNode() {
return "epicenchants.giverandombook";
}
@Override
public String getSyntax() {
return "/ee giverandombook <player> <group>";
}
@Override
public String getDescription() {
return "Give random enchant books to players.";
}
}

View File

@ -8,6 +8,9 @@ command.book.gave = "&7You gave &6{player} &7an &6{enchant}&r &7book."
command.book.maxlevel = "&cThe max level for &4{enchant}&r &cis &4{max_level}&c."
command.book.minlevel = "&cThe min level for &4{enchant}&r &cis &41&c."
command.randombook.received = "&7You have been given a random book."
command.randombook.gave = "&7You gave &6{player} &7an random &7book."
command.whitescroll.received = "&7You have been given a whitescroll."
command.whitescroll.gave = "&7You gave &6{player} &7a whitescroll."