Remove nesting

This commit is contained in:
Lennart ten Wolde 2016-02-23 14:56:24 +01:00
parent 193da60c87
commit 2d3caf3221
7 changed files with 104 additions and 83 deletions

View file

@ -17,11 +17,12 @@ public class CommandDivorce extends Command {
public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player.getUniqueId());
MPlayer partner = mPlayer.getPartner();
if(partner != null) {
mPlayer.divorce();
broadcast(Message.DIVORCED, player.getName(), Bukkit.getOfflinePlayer(partner.getUniqueId()).getName());
} else {
if(partner == null) {
reply(Message.NOT_MARRIED);
return;
}
mPlayer.divorce();
broadcast(Message.DIVORCED, player.getName(), Bukkit.getOfflinePlayer(partner.getUniqueId()).getName());
}
}

View file

@ -21,23 +21,26 @@ public class CommandGift extends Command {
public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player.getUniqueId());
MData marriage = mPlayer.getMarriage();
if(marriage != null) {
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner != null) {
ItemStack item = player.getItemInHand();
if(item != null && item.getType() != Material.AIR) {
partner.getInventory().addItem(item.clone());
player.setItemInHand(null);
reply(Message.ITEM_GIFTED, item.getAmount(), item.getType().toString().toLowerCase());
reply(partner, Message.GIFT_RECEIVED, item.getAmount(), item.getType().toString().toLowerCase());
} else {
reply(Message.NO_ITEM);
}
} else {
reply(Message.PARTNER_NOT_ONLINE);
}
} else {
if(marriage == null) {
reply(Message.NOT_MARRIED);
return;
}
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner == null) {
reply(Message.PARTNER_NOT_ONLINE);
return;
}
ItemStack item = player.getItemInHand();
if(item == null || item.getType() == Material.AIR) {
reply(Message.NO_ITEM);
return;
}
partner.getInventory().addItem(item.clone());
player.setItemInHand(null);
reply(Message.ITEM_GIFTED, item.getAmount(), item.getType().toString().toLowerCase());
reply(partner, Message.GIFT_RECEIVED, item.getAmount(), item.getType().toString().toLowerCase());
}
}

View file

@ -18,16 +18,18 @@ public class CommandHome extends Command {
public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player.getUniqueId());
MData marriage = mPlayer.getMarriage();
if(marriage != null) {
Location home = marriage.getHome();
if(home != null) {
player.teleport(home);
reply(Message.HOME_TELEPORT);
} else {
reply(Message.HOME_NOT_SET);
}
} else {
if(marriage == null) {
reply(Message.NOT_MARRIED);
return;
}
Location home = marriage.getHome();
if(home == null) {
reply(Message.HOME_NOT_SET);
return;
}
player.teleport(home);
reply(Message.HOME_TELEPORT);
}
}

View file

@ -35,10 +35,11 @@ public class CommandMarry extends Command {
if(player1 == null) {
reply(Message.PLAYER_NOT_FOUND, getArg(-1));
return;
} if(player2 == null) {
} else if(player2 == null) {
reply(Message.PLAYER_NOT_FOUND, getArg(0));
return;
}
MPlayer mp1 = marriage.getMPlayer(player1.getUniqueId());
MPlayer mp2 = marriage.getMPlayer(player2.getUniqueId());
if(mp1.isMarried() || mp2.isMarried()) {
@ -55,34 +56,44 @@ public class CommandMarry extends Command {
broadcast(Message.MARRIED, player1.getName(), player2.getName());
} else {
Player target = getArgAsPlayer(-1);
if (target != null) {
if (target.getName().equalsIgnoreCase(player.getName())) {
reply(Message.MARRY_SELF);
} else {
MPlayer mPlayer = marriage.getMPlayer(player.getUniqueId());
if (!mPlayer.isMarried()) {
MPlayer mTarget = marriage.getMPlayer(target.getUniqueId());
if (!mTarget.isMarried()) {
if (mPlayer.isMarriageRequested(target.getUniqueId())) {
marriage.marry(mPlayer, mTarget);
broadcast(Message.MARRIED, player.getName(), target.getName());
} else if(!mTarget.isMarriageRequested(player.getUniqueId())) {
mTarget.requestMarriage(player.getUniqueId());
target.sendMessage(ChatColor.translateAlternateColorCodes('&', String.format(Message.MARRIAGE_REQUESTED.toString(), player.getName(), player.getName())));
reply(Message.REQUEST_SENT, target.getName());
} else {
// Already requested, cooling down.
reply(Message.COOLDOWN);
}
} else {
reply(Message.TARGET_ALREADY_MARRIED, getArg(-1));
}
} else {
reply(Message.ALREADY_MARRIED);
}
}
} else {
// Check if player is valid
if (target == null) {
reply(Message.PLAYER_NOT_FOUND, getArg(-1));
return;
}
// Check if player is self
if (target.getName().equalsIgnoreCase(player.getName())) {
reply(Message.MARRY_SELF);
return;
}
// Check if self married
MPlayer mPlayer = marriage.getMPlayer(player.getUniqueId());
if (mPlayer.isMarried()) {
reply(Message.ALREADY_MARRIED);
return;
}
// Check if player married
MPlayer mTarget = marriage.getMPlayer(target.getUniqueId());
if (mTarget.isMarried()) {
reply(Message.TARGET_ALREADY_MARRIED, getArg(-1));
return;
}
// Request or accept
if (mPlayer.isMarriageRequested(target.getUniqueId())) {
marriage.marry(mPlayer, mTarget);
broadcast(Message.MARRIED, player.getName(), target.getName());
} else if(!mTarget.isMarriageRequested(player.getUniqueId())) {
mTarget.requestMarriage(player.getUniqueId());
target.sendMessage(ChatColor.translateAlternateColorCodes('&', String.format(Message.MARRIAGE_REQUESTED.toString(), player.getName(), player.getName())));
reply(Message.REQUEST_SENT, target.getName());
} else {
// Already requested, cooling down.
reply(Message.COOLDOWN);
}
}
}

View file

@ -23,19 +23,20 @@ public class CommandSeen extends Command {
public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player.getUniqueId());
MData marriage = mPlayer.getMarriage();
if(marriage != null) {
MPlayer mp = this.marriage.getMPlayer(marriage.getOtherPlayer(player.getUniqueId()));
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner != null) {
long time = System.currentTimeMillis() - mp.getLastLogin();
reply(Message.ONLINE_SINCE, format(time));
} else {
long time = System.currentTimeMillis() - mp.getLastLogout();
((MarriageCore) this.marriage).unloadPlayer(marriage.getOtherPlayer(player.getUniqueId()));
reply(Message.OFFLINE_SINCE, format(time));
}
} else {
if(marriage == null) {
reply(Message.NOT_MARRIED);
return;
}
MPlayer mp = this.marriage.getMPlayer(marriage.getOtherPlayer(player.getUniqueId()));
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner != null) {
long time = System.currentTimeMillis() - mp.getLastLogin();
reply(Message.ONLINE_SINCE, format(time));
} else {
long time = System.currentTimeMillis() - mp.getLastLogout();
((MarriageCore) this.marriage).unloadPlayer(marriage.getOtherPlayer(player.getUniqueId()));
reply(Message.OFFLINE_SINCE, format(time));
}
}

View file

@ -15,11 +15,12 @@ public class CommandSethome extends Command {
public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player.getUniqueId());
MData marriage = mPlayer.getMarriage();
if(marriage != null) {
marriage.setHome(player.getLocation().clone());
reply(Message.HOME_SET);
} else {
if(marriage == null) {
reply(Message.NOT_MARRIED);
return;
}
marriage.setHome(player.getLocation().clone());
reply(Message.HOME_SET);
}
}

View file

@ -22,17 +22,19 @@ public class CommandTeleport extends Command {
public void execute() {
MPlayer mPlayer = marriage.getMPlayer(player.getUniqueId());
MData marriage = mPlayer.getMarriage();
if(marriage != null) {
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner != null) {
player.teleport(partner);
reply(Message.TELEPORTED);
partner.sendMessage(ChatColor.translateAlternateColorCodes('&', Message.TELEPORTED_2.toString()));
} else {
reply(Message.PARTNER_NOT_ONLINE);
}
} else {
if(marriage == null) {
reply(Message.NOT_MARRIED);
return;
}
Player partner = Bukkit.getPlayer(marriage.getOtherPlayer(player.getUniqueId()));
if(partner == null) {
reply(Message.PARTNER_NOT_ONLINE);
return;
}
player.teleport(partner);
reply(Message.TELEPORTED);
partner.sendMessage(ChatColor.translateAlternateColorCodes('&', Message.TELEPORTED_2.toString()));
}
}