Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (plugin.getPlayerManager().getMate(p.getUniqueId()) != null) {
- return createFailedResult(Config.LANG_HAD_MATE);
- }
- if (plugin.getAPI().getAge(p) < Config.MARRIAGE_AGE_REQUIRE) {
- return createFailedResult(Config.LANG_NOT_ENOUGH_AGE);
- }
- UUID uuid = p.getUniqueId();
- if (context.length() < 1) {
- if (offerMap.containsKey(uuid)) {
- p.sendMessage(Config.LANG_WAIT_REQUEST.replace("%player%", Bukkit.getOfflinePlayer(offerMap.get(uuid)).getName()));
- } else if (offerMap.containsValue(uuid)) {
- p.sendMessage(Config.LANG_HAD_OFFER.replace("%player%", Bukkit.getOfflinePlayer(offerMap.inverse().get(uuid)).getName()));
- } else {
- p.sendMessage(Config.LANG_INPUT_NAME);
- }
- return createSuccessResult();
- }
- String arg = context.getArgument(0);
- if (offerMap.containsKey(uuid)) {
- if (arg.equalsIgnoreCase(Config.CANCEL_ARGUMENT)) {
- OfflinePlayer op = Bukkit.getOfflinePlayer(offerMap.remove(uuid));
- p.sendMessage(Config.LANG_CANCEL_OFFER.replace("%player%", op.getName()));
- PendingMessage.getInstance().pending(op, Config.LANG_CANCEL_OFFER_OPPONENT);
- } else {
- p.sendMessage(Config.LANG_WAIT_REQUEST.replace("%player%", Bukkit.getOfflinePlayer(offerMap.get(uuid)).getName()));
- }
- } else if (offerMap.containsValue(uuid)) {
- OfflinePlayer op = Bukkit.getOfflinePlayer(offerMap.inverse().get(uuid));
- if (arg.equalsIgnoreCase(Config.YES_ARGUMENT)) {
- plugin.getAPI().setMate(p, op);
- PendingMessage.getInstance().pending(op, Config.LANG_YES_MESSAGE.replace("%player%", p.getName()));
- p.sendMessage(Config.LANG_YES_OPPONENT_MESSAGE.replace("%player%", op.getName()));
- } else if (arg.equalsIgnoreCase(Config.NO_ARGUMENT)) {
- PendingMessage.getInstance().pending(op, Config.LANG_NO_OPPONENT_MESSAGE.replace("%player%", p.getName()));
- p.sendMessage(Config.LANG_NO_MESSAGE.replace("%player%", op.getName()));
- } else {
- p.sendMessage(Config.LANG_HAD_OFFER.replace("%player%", op.getName()));
- return createSuccessResult();
- }
- offerMap.inverse().remove(uuid);
- } else {
- Optional<OfflinePlayer> opParse = context.getArgumentAsOfflinePlayer(0);
- if (!opParse.isPresent()) {
- return createFailedResult(Config.LANG_UNKNOWN_NAME.replace("%player%", arg));
- }
- OfflinePlayer op = opParse.get();
- if (op.getUniqueId().equals(p.getUniqueId())) {
- return createFailedResult(Config.LANG_UNKNOWN_NAME.replace("%player%", arg));
- }
- Gender gender = plugin.getPlayerManager().getGender(op.getUniqueId());
- if (gender == Gender.UNDEFINED) {
- return createFailedResult(Config.LANG_OPPONENT_UNKNOWN_GENDER.replace("%player%", op.getName()));
- }
- if (!gender.isOpposite(plugin.getAPI().getGender(p))) {
- return createFailedResult(Config.LANG_NOT_OPPOSITE_GENDER.replace("%player%", op.getName()));
- }
- if (plugin.getAPI().getAge(op) < Config.MARRIAGE_AGE_REQUIRE) {
- return createFailedResult(Config.LANG_NOT_ENOUGH_AGE_OPPONENT.replace("%player%", op.getName()));
- }
- if (plugin.getPlayerManager().getMate(op.getUniqueId()) != null) {
- return createFailedResult(Config.LANG_OPPONENT_HAD_MATE.replace("%player%", op.getName()));
- }
- if (offerMap.containsKey(op.getUniqueId()) || offerMap.inverse().containsKey(op.getUniqueId())) {
- return createFailedResult(Config.LANG_OPPONENT_HAD_OFFER.replace("%player%", op.getName()));
- }
- offerMap.put(p.getUniqueId(), op.getUniqueId());
- p.sendMessage(Config.LANG_OFFER_SEND.replace("%player%", op.getName()));
- PendingMessage.getInstance().pending(op, Config.LANG_OFFER_SEND_OPPONENT.replace("%player%", p.getName()));
- }
- return createSuccessResult();
Advertisement
Add Comment
Please, Sign In to add comment