mirror of
https://github.com/taoneill/war.git
synced 2024-11-24 03:05:54 +01:00
Merge pull request #275 from taoneill/flagReturn
Closing gh-272 Implemented a way to specify how to return a flag
This commit is contained in:
commit
3e452e9e21
@ -77,6 +77,7 @@ public class War extends JavaPlugin {
|
|||||||
private boolean defaultNoCreatures = false;
|
private boolean defaultNoCreatures = false;
|
||||||
private boolean defaultResetOnEmpty = false, defaultResetOnLoad = false, defaultResetOnUnload = false;
|
private boolean defaultResetOnEmpty = false, defaultResetOnLoad = false, defaultResetOnUnload = false;
|
||||||
private String defaultSpawnStyle = TeamSpawnStyles.BIG;
|
private String defaultSpawnStyle = TeamSpawnStyles.BIG;
|
||||||
|
private String defaultFlagReturn = "both";
|
||||||
private final HashMap<Integer, ItemStack> defaultReward = new HashMap<Integer, ItemStack>();
|
private final HashMap<Integer, ItemStack> defaultReward = new HashMap<Integer, ItemStack>();
|
||||||
|
|
||||||
public War() {
|
public War() {
|
||||||
@ -268,6 +269,16 @@ public class War extends JavaPlugin {
|
|||||||
warzone.setSpawnStyle(TeamSpawnStyles.BIG);
|
warzone.setSpawnStyle(TeamSpawnStyles.BIG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (namedParams.containsKey("flagreturn")) {
|
||||||
|
String flagReturn = namedParams.get("flagreturn").toLowerCase();
|
||||||
|
if (flagReturn.equals("flag")) {
|
||||||
|
warzone.setFlagReturn("flag");
|
||||||
|
} else if (flagReturn.equals("spawn")) {
|
||||||
|
warzone.setFlagReturn("spawn");
|
||||||
|
} else {
|
||||||
|
warzone.setFlagReturn("both");
|
||||||
|
}
|
||||||
|
}
|
||||||
if (namedParams.containsKey("unbreakable")) {
|
if (namedParams.containsKey("unbreakable")) {
|
||||||
String onOff = namedParams.get("unbreakable");
|
String onOff = namedParams.get("unbreakable");
|
||||||
warzone.setUnbreakableZoneBlocks(onOff.equals("on") || onOff.equals("true"));
|
warzone.setUnbreakableZoneBlocks(onOff.equals("on") || onOff.equals("true"));
|
||||||
@ -362,6 +373,16 @@ public class War extends JavaPlugin {
|
|||||||
this.setDefaultSpawnStyle(TeamSpawnStyles.BIG);
|
this.setDefaultSpawnStyle(TeamSpawnStyles.BIG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (namedParams.containsKey("flagreturn")) {
|
||||||
|
String flagreturn = namedParams.get("flagreturn").toLowerCase();
|
||||||
|
if (flagreturn.equals("flag")) {
|
||||||
|
this.setDefaultFlagReturn("flag");
|
||||||
|
} else if (flagreturn.equals("spawn")) {
|
||||||
|
this.setDefaultFlagReturn("spawn");
|
||||||
|
} else {
|
||||||
|
this.setDefaultFlagReturn("both");
|
||||||
|
}
|
||||||
|
}
|
||||||
if (namedParams.containsKey("buildinzonesonly")) {
|
if (namedParams.containsKey("buildinzonesonly")) {
|
||||||
String onOff = namedParams.get("buildinzonesonly");
|
String onOff = namedParams.get("buildinzonesonly");
|
||||||
this.setBuildInZonesOnly(onOff.equals("on") || onOff.equals("true"));
|
this.setBuildInZonesOnly(onOff.equals("on") || onOff.equals("true"));
|
||||||
@ -885,6 +906,14 @@ public class War extends JavaPlugin {
|
|||||||
this.defaultSpawnStyle = defaultSpawnStyle;
|
this.defaultSpawnStyle = defaultSpawnStyle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDefaultFlagReturn(String defaultFlagReturn) {
|
||||||
|
this.defaultFlagReturn = defaultFlagReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDefaultFlagReturn() {
|
||||||
|
return defaultFlagReturn;
|
||||||
|
}
|
||||||
|
|
||||||
public HashMap<String, InventoryStash> getDisconnected() {
|
public HashMap<String, InventoryStash> getDisconnected() {
|
||||||
return this.disconnected;
|
return this.disconnected;
|
||||||
}
|
}
|
||||||
|
@ -369,7 +369,28 @@ public class WarPlayerListener extends PlayerListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Flag capture
|
// Flag capture
|
||||||
if (playerWarzone.isFlagThief(player.getName()) && (playerTeam.getSpawnVolume().contains(player.getLocation()) || (playerTeam.getFlagVolume() != null && playerTeam.getFlagVolume().contains(player.getLocation())))) {
|
if (playerWarzone.isFlagThief(player.getName())) {
|
||||||
|
boolean inSpawn = playerTeam.getSpawnVolume().contains(player.getLocation());
|
||||||
|
boolean inFlag = (playerTeam.getFlagVolume() != null && playerTeam.getFlagVolume().contains(player.getLocation()));
|
||||||
|
|
||||||
|
if (playerWarzone.equals("both")) {
|
||||||
|
if (!inSpawn && !inFlag) return;
|
||||||
|
} else if (playerWarzone.equals("spawn")) {
|
||||||
|
if (inFlag) {
|
||||||
|
War.war.badMsg(player, "You have to unload the flag at your spawn.");
|
||||||
|
return;
|
||||||
|
} else if (!inSpawn) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else if (playerWarzone.equals("flag")) {
|
||||||
|
if (inSpawn) {
|
||||||
|
War.war.badMsg(player, "You have to unload the flag at your flag.");
|
||||||
|
return;
|
||||||
|
} else if (!inFlag) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (playerWarzone.isTeamFlagStolen(playerTeam)) {
|
if (playerWarzone.isTeamFlagStolen(playerTeam)) {
|
||||||
War.war.badMsg(player, "You can't capture the enemy flag until your team's flag is returned.");
|
War.war.badMsg(player, "You can't capture the enemy flag until your team's flag is returned.");
|
||||||
} else {
|
} else {
|
||||||
|
@ -44,6 +44,7 @@ public class Warzone {
|
|||||||
private int scoreCap = 5;
|
private int scoreCap = 5;
|
||||||
private int monumentHeal = 5;
|
private int monumentHeal = 5;
|
||||||
private String spawnStyle = TeamSpawnStyles.BIG;
|
private String spawnStyle = TeamSpawnStyles.BIG;
|
||||||
|
private String flagReturn = "both";
|
||||||
private HashMap<Integer, ItemStack> reward = new HashMap<Integer, ItemStack>();
|
private HashMap<Integer, ItemStack> reward = new HashMap<Integer, ItemStack>();
|
||||||
|
|
||||||
private HashMap<String, InventoryStash> inventories = new HashMap<String, InventoryStash>();
|
private HashMap<String, InventoryStash> inventories = new HashMap<String, InventoryStash>();
|
||||||
@ -959,6 +960,15 @@ public class Warzone {
|
|||||||
return this.spawnStyle;
|
return this.spawnStyle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setFlagReturn(String flagReturn) {
|
||||||
|
this.flagReturn = flagReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlagReturn() {
|
||||||
|
return this.flagReturn;
|
||||||
|
}
|
||||||
|
|
||||||
public void setReward(HashMap<Integer, ItemStack> reward) {
|
public void setReward(HashMap<Integer, ItemStack> reward) {
|
||||||
this.reward = reward;
|
this.reward = reward;
|
||||||
}
|
}
|
||||||
|
@ -130,6 +130,18 @@ public class WarMapper {
|
|||||||
// default is already initialized to BIG (see Warzone)
|
// default is already initialized to BIG (see Warzone)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// defaultFlagReturn
|
||||||
|
String flagReturn = warConfig.getString("defaultFlagReturn");
|
||||||
|
if (flagReturn != null && !flagReturn.equals("")) {
|
||||||
|
flagReturn = flagReturn.toLowerCase();
|
||||||
|
if (flagReturn.equals("flag")) {
|
||||||
|
War.war.setDefaultFlagReturn("flag");
|
||||||
|
} else if (flagReturn.equals("spawn")) {
|
||||||
|
War.war.setDefaultFlagReturn("spawn");
|
||||||
|
}
|
||||||
|
// default is already initialized to both (see Warzone)
|
||||||
|
}
|
||||||
|
|
||||||
// defaultReward
|
// defaultReward
|
||||||
String defaultRewardStr = warConfig.getString("defaultReward");
|
String defaultRewardStr = warConfig.getString("defaultReward");
|
||||||
if (defaultRewardStr != null && !defaultRewardStr.equals("")) {
|
if (defaultRewardStr != null && !defaultRewardStr.equals("")) {
|
||||||
|
@ -172,6 +172,18 @@ public class WarzoneMapper {
|
|||||||
// default is already initialized to BIG (see Warzone)
|
// default is already initialized to BIG (see Warzone)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// flagReturn
|
||||||
|
String flagReturn = warzoneConfig.getString("flagReturn");
|
||||||
|
if (flagReturn != null && !flagReturn.equals("")) {
|
||||||
|
flagReturn = flagReturn.toLowerCase();
|
||||||
|
if (flagReturn.equals("flag")) {
|
||||||
|
warzone.setFlagReturn("flag");
|
||||||
|
} else if (flagReturn.equals("spawn")) {
|
||||||
|
warzone.setFlagReturn("spawn");
|
||||||
|
}
|
||||||
|
// default is already initialized to both (see Warzone)
|
||||||
|
}
|
||||||
|
|
||||||
// reward
|
// reward
|
||||||
String rewardStr = warzoneConfig.getString("reward");
|
String rewardStr = warzoneConfig.getString("reward");
|
||||||
if (rewardStr != null && !rewardStr.equals("")) {
|
if (rewardStr != null && !rewardStr.equals("")) {
|
||||||
|
Loading…
Reference in New Issue
Block a user