new autoclaim commands for faction claims, safe zone claims, and war zone claims, which claim land as you walk around
This commit is contained in:
		@@ -44,6 +44,9 @@ public class FPlayer {
 | 
			
		||||
	private long lastPowerUpdateTime;
 | 
			
		||||
	private long lastLoginTime;
 | 
			
		||||
	private transient boolean mapAutoUpdating;
 | 
			
		||||
	private transient boolean autoClaimEnabled;
 | 
			
		||||
	private transient boolean autoSafeZoneEnabled;
 | 
			
		||||
	private transient boolean autoWarZoneEnabled;
 | 
			
		||||
	private boolean factionChatting; 
 | 
			
		||||
	
 | 
			
		||||
	// -------------------------------------------- //
 | 
			
		||||
@@ -129,6 +132,45 @@ public class FPlayer {
 | 
			
		||||
		return lastLoginTime;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public boolean autoClaimEnabled() {
 | 
			
		||||
		if (this.factionId == 0)
 | 
			
		||||
			return false;
 | 
			
		||||
		return autoClaimEnabled;
 | 
			
		||||
	}
 | 
			
		||||
	public void enableAutoClaim(boolean enabled) {
 | 
			
		||||
		this.autoClaimEnabled = enabled;
 | 
			
		||||
		if (enabled) {
 | 
			
		||||
			this.autoSafeZoneEnabled = false;
 | 
			
		||||
			this.autoWarZoneEnabled = false;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public boolean autoSafeZoneEnabled() {
 | 
			
		||||
		if (this.factionId == 0)
 | 
			
		||||
			return false;
 | 
			
		||||
		return autoSafeZoneEnabled;
 | 
			
		||||
	}
 | 
			
		||||
	public void enableAutoSafeZone(boolean enabled) {
 | 
			
		||||
		this.autoSafeZoneEnabled = enabled;
 | 
			
		||||
		if (enabled) {
 | 
			
		||||
			this.autoClaimEnabled = false;
 | 
			
		||||
			this.autoWarZoneEnabled = false;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public boolean autoWarZoneEnabled() {
 | 
			
		||||
		if (this.factionId == 0)
 | 
			
		||||
			return false;
 | 
			
		||||
		return autoWarZoneEnabled;
 | 
			
		||||
	}
 | 
			
		||||
	public void enableAutoWarZone(boolean enabled) {
 | 
			
		||||
		this.autoWarZoneEnabled = enabled;
 | 
			
		||||
		if (enabled) {
 | 
			
		||||
			this.autoClaimEnabled = false;
 | 
			
		||||
			this.autoSafeZoneEnabled = false;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void setLastLoginTime(long lastLoginTime) {
 | 
			
		||||
		this.lastLoginTime = lastLoginTime;
 | 
			
		||||
		this.lastPowerUpdateTime = lastLoginTime;
 | 
			
		||||
@@ -395,6 +437,77 @@ public class FPlayer {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public boolean attemptClaim(boolean notifyFailure) {
 | 
			
		||||
		// notifyFailure is false if called by auto-claim; not need to notify on every failure for it
 | 
			
		||||
		// return value is false on failure, true on success
 | 
			
		||||
 | 
			
		||||
		Faction myFaction = getFaction();
 | 
			
		||||
		FLocation flocation = new FLocation(this);
 | 
			
		||||
		Faction otherFaction = Board.getFactionAt(flocation);
 | 
			
		||||
 | 
			
		||||
		if (myFaction == otherFaction) {
 | 
			
		||||
			if (notifyFailure)
 | 
			
		||||
				sendMessage("You already own this land.");
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (this.getRole().value < Role.MODERATOR.value) {
 | 
			
		||||
			sendMessage("You must be "+Role.MODERATOR+" to claim land.");
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (Conf.worldsNoClaiming.contains(flocation.getWorldName())) {
 | 
			
		||||
			sendMessage("Sorry, this world has land claiming disabled.");
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (otherFaction.isSafeZone()) {
 | 
			
		||||
			if (notifyFailure)
 | 
			
		||||
				sendMessage("You can not claim a Safe Zone.");
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		else if (otherFaction.isWarZone()) {
 | 
			
		||||
			if (notifyFailure)
 | 
			
		||||
				sendMessage("You can not claim a War Zone.");
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (myFaction.getLandRounded() >= myFaction.getPowerRounded()) {
 | 
			
		||||
			sendMessage("You can't claim more land! You need more power!");
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (otherFaction.getRelation(this) == Relation.ALLY) {
 | 
			
		||||
			if (notifyFailure)
 | 
			
		||||
				sendMessage("You can't claim the land of your allies.");
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (otherFaction.isNone()) {
 | 
			
		||||
			myFaction.sendMessage(this.getNameAndRelevant(myFaction)+Conf.colorSystem+" claimed some new land :D");
 | 
			
		||||
		} else { //if (otherFaction.isNormal()) {
 | 
			
		||||
 | 
			
		||||
			if ( ! otherFaction.hasLandInflation()) {
 | 
			
		||||
				 // TODO more messages WARN current faction most importantly
 | 
			
		||||
				sendMessage(this.getRelationColor(otherFaction)+otherFaction.getTag()+Conf.colorSystem+" owns this land and is strong enough to keep it.");
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if ( ! Board.isBorderLocation(flocation)) {
 | 
			
		||||
				sendMessage("You must start claiming land at the border of the territory.");
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// ASDF claimed some of your land 450 blocks NNW of you.
 | 
			
		||||
			// ASDf claimed some land from FACTION NAME
 | 
			
		||||
			otherFaction.sendMessage(this.getNameAndRelevant(otherFaction)+Conf.colorSystem+" stole some of your land :O");
 | 
			
		||||
			myFaction.sendMessage(this.getNameAndRelevant(myFaction)+Conf.colorSystem+" claimed some land from "+otherFaction.getTag(myFaction));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		Board.setFactionAt(myFaction, flocation);
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	// -------------------------------------------- //
 | 
			
		||||
	// Messages
 | 
			
		||||
	// -------------------------------------------- //
 | 
			
		||||
 
 | 
			
		||||
@@ -69,6 +69,9 @@ public class Factions extends JavaPlugin {
 | 
			
		||||
		// Add the commands
 | 
			
		||||
		commands.add(new FCommandHelp());
 | 
			
		||||
		commands.add(new FCommandAdmin());
 | 
			
		||||
		commands.add(new FCommandAutoClaim());
 | 
			
		||||
		commands.add(new FCommandAutoSafeclaim());
 | 
			
		||||
		commands.add(new FCommandAutoWarclaim());
 | 
			
		||||
		commands.add(new FCommandBypass());
 | 
			
		||||
		commands.add(new FCommandChat());
 | 
			
		||||
		commands.add(new FCommandClaim());
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										67
									
								
								src/org/mcteam/factions/commands/FCommandAutoClaim.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								src/org/mcteam/factions/commands/FCommandAutoClaim.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
package org.mcteam.factions.commands;
 | 
			
		||||
 | 
			
		||||
import org.mcteam.factions.Conf;
 | 
			
		||||
import org.mcteam.factions.FLocation;
 | 
			
		||||
import org.mcteam.factions.Faction;
 | 
			
		||||
import org.mcteam.factions.struct.Role;
 | 
			
		||||
 | 
			
		||||
public class FCommandAutoClaim extends FBaseCommand {
 | 
			
		||||
 | 
			
		||||
	public FCommandAutoClaim() {
 | 
			
		||||
		aliases.add("autoclaim");
 | 
			
		||||
 | 
			
		||||
		optionalParameters.add("on|off");
 | 
			
		||||
 | 
			
		||||
		helpDescription = "Auto-claim land as you walk around";
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void perform() {
 | 
			
		||||
		if ( ! assertHasFaction()) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if( isLocked() ) {
 | 
			
		||||
			sendLockMessage();
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// default: toggle existing value
 | 
			
		||||
		boolean enable = !me.autoClaimEnabled();
 | 
			
		||||
 | 
			
		||||
		// if on|off is specified, use that instead
 | 
			
		||||
		if (parameters.size() > 0)
 | 
			
		||||
			enable = parseBool(parameters.get(0));
 | 
			
		||||
 | 
			
		||||
		me.enableAutoClaim(enable);
 | 
			
		||||
 | 
			
		||||
		if (!enable) {
 | 
			
		||||
			sendMessage("Auto-claiming of land disabled.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		Faction myFaction = me.getFaction();
 | 
			
		||||
		FLocation flocation = new FLocation(me);
 | 
			
		||||
 | 
			
		||||
		if ( ! assertMinRole(Role.MODERATOR)) {
 | 
			
		||||
			me.enableAutoClaim(false);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (Conf.worldsNoClaiming.contains(flocation.getWorldName())) {
 | 
			
		||||
			sendMessage("Sorry, this world has land claiming disabled.");
 | 
			
		||||
			me.enableAutoClaim(false);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (myFaction.getLandRounded() >= myFaction.getPowerRounded()) {
 | 
			
		||||
			sendMessage("You can't claim more land! You need more power!");
 | 
			
		||||
			me.enableAutoClaim(false);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		sendMessage("Auto-claiming of land enabled.");
 | 
			
		||||
		me.attemptClaim(false);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										54
									
								
								src/org/mcteam/factions/commands/FCommandAutoSafeclaim.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								src/org/mcteam/factions/commands/FCommandAutoSafeclaim.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
package org.mcteam.factions.commands;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.command.CommandSender;
 | 
			
		||||
import org.mcteam.factions.Board;
 | 
			
		||||
import org.mcteam.factions.FLocation;
 | 
			
		||||
import org.mcteam.factions.Faction;
 | 
			
		||||
import org.mcteam.factions.Factions;
 | 
			
		||||
 | 
			
		||||
public class FCommandAutoSafeclaim extends FBaseCommand {
 | 
			
		||||
 | 
			
		||||
	public FCommandAutoSafeclaim() {
 | 
			
		||||
		aliases.add("autosafe");
 | 
			
		||||
 | 
			
		||||
		optionalParameters.add("on|off");
 | 
			
		||||
 | 
			
		||||
		helpDescription = "Auto-claim land for the safezone";
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean hasPermission(CommandSender sender) {
 | 
			
		||||
		return Factions.hasPermManageSafeZone(sender);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void perform() {
 | 
			
		||||
 | 
			
		||||
		if( isLocked() ) {
 | 
			
		||||
			sendLockMessage();
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		boolean enable = !me.autoSafeZoneEnabled();
 | 
			
		||||
 | 
			
		||||
		if (parameters.size() > 0)
 | 
			
		||||
			enable = parseBool(parameters.get(0));
 | 
			
		||||
 | 
			
		||||
		me.enableAutoSafeZone(enable);
 | 
			
		||||
 | 
			
		||||
		if (!enable) {
 | 
			
		||||
			sendMessage("Auto-claiming of safe zone disabled.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		sendMessage("Auto-claiming of safe zone enabled.");
 | 
			
		||||
 | 
			
		||||
		FLocation playerFlocation = new FLocation(me);
 | 
			
		||||
		
 | 
			
		||||
		if (!Board.getFactionAt(playerFlocation).isSafeZone()) {
 | 
			
		||||
			Board.setFactionAt(Faction.getSafeZone(), playerFlocation);
 | 
			
		||||
			sendMessage("This land is now a safe zone.");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										54
									
								
								src/org/mcteam/factions/commands/FCommandAutoWarclaim.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								src/org/mcteam/factions/commands/FCommandAutoWarclaim.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
package org.mcteam.factions.commands;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.command.CommandSender;
 | 
			
		||||
import org.mcteam.factions.Board;
 | 
			
		||||
import org.mcteam.factions.FLocation;
 | 
			
		||||
import org.mcteam.factions.Faction;
 | 
			
		||||
import org.mcteam.factions.Factions;
 | 
			
		||||
 | 
			
		||||
public class FCommandAutoWarclaim extends FBaseCommand {
 | 
			
		||||
 | 
			
		||||
	public FCommandAutoWarclaim() {
 | 
			
		||||
		aliases.add("autowar");
 | 
			
		||||
 | 
			
		||||
		optionalParameters.add("on|off");
 | 
			
		||||
 | 
			
		||||
		helpDescription = "Auto-claim land for the warzone";
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public boolean hasPermission(CommandSender sender) {
 | 
			
		||||
		return Factions.hasPermManageWarZone(sender);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void perform() {
 | 
			
		||||
 | 
			
		||||
		if( isLocked() ) {
 | 
			
		||||
			sendLockMessage();
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		boolean enable = !me.autoWarZoneEnabled();
 | 
			
		||||
 | 
			
		||||
		if (parameters.size() > 0)
 | 
			
		||||
			enable = parseBool(parameters.get(0));
 | 
			
		||||
 | 
			
		||||
		me.enableAutoWarZone(enable);
 | 
			
		||||
 | 
			
		||||
		if (!enable) {
 | 
			
		||||
			sendMessage("Auto-claiming of war zone disabled.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		sendMessage("Auto-claiming of war zone enabled.");
 | 
			
		||||
 | 
			
		||||
		FLocation playerFlocation = new FLocation(me);
 | 
			
		||||
		
 | 
			
		||||
		if (!Board.getFactionAt(playerFlocation).isWarZone()) {
 | 
			
		||||
			Board.setFactionAt(Faction.getWarZone(), playerFlocation);
 | 
			
		||||
			sendMessage("This land is now a war zone.");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
}
 | 
			
		||||
@@ -1,12 +1,5 @@
 | 
			
		||||
package org.mcteam.factions.commands;
 | 
			
		||||
 | 
			
		||||
import org.mcteam.factions.Board;
 | 
			
		||||
import org.mcteam.factions.Conf;
 | 
			
		||||
import org.mcteam.factions.FLocation;
 | 
			
		||||
import org.mcteam.factions.Faction;
 | 
			
		||||
import org.mcteam.factions.struct.Relation;
 | 
			
		||||
import org.mcteam.factions.struct.Role;
 | 
			
		||||
 | 
			
		||||
public class FCommandClaim extends FBaseCommand {
 | 
			
		||||
	
 | 
			
		||||
	public FCommandClaim() {
 | 
			
		||||
@@ -25,66 +18,7 @@ public class FCommandClaim extends FBaseCommand {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		Faction myFaction = me.getFaction();
 | 
			
		||||
		FLocation flocation = new FLocation(me);
 | 
			
		||||
		Faction otherFaction = Board.getFactionAt(flocation);
 | 
			
		||||
		
 | 
			
		||||
		if (myFaction == otherFaction) {
 | 
			
		||||
			sendMessage("You already own this land.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if ( ! assertMinRole(Role.MODERATOR)) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
		if (Conf.worldsNoClaiming.contains(flocation.getWorldName())) {
 | 
			
		||||
			sendMessage("Sorry, this world has land claiming disabled.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if (otherFaction.isSafeZone()) {
 | 
			
		||||
			sendMessage("You can not claim a Safe Zone.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		else if (otherFaction.isWarZone()) {
 | 
			
		||||
			sendMessage("You can not claim a War Zone.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if (myFaction.getLandRounded() >= myFaction.getPowerRounded()) {
 | 
			
		||||
			sendMessage("You can't claim more land! You need more power!");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if (otherFaction.getRelation(me) == Relation.ALLY) {
 | 
			
		||||
			sendMessage("You can't claim the land of your allies.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if (otherFaction.isNone()) {
 | 
			
		||||
			myFaction.sendMessage(me.getNameAndRelevant(myFaction)+Conf.colorSystem+" claimed some new land :D");
 | 
			
		||||
		} else { //if (otherFaction.isNormal()) {
 | 
			
		||||
			
 | 
			
		||||
			if ( ! otherFaction.hasLandInflation()) {
 | 
			
		||||
				 // TODO more messages WARN current faction most importantly
 | 
			
		||||
				sendMessage(me.getRelationColor(otherFaction)+otherFaction.getTag()+Conf.colorSystem+" owns this land and is strong enough to keep it.");
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			if ( ! Board.isBorderLocation(flocation)) {
 | 
			
		||||
				sendMessage("You must start claiming land at the border of the territory.");
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			// ASDF claimed some of your land 450 blocks NNW of you.
 | 
			
		||||
			// ASDf claimed some land from FACTION NAME
 | 
			
		||||
			otherFaction.sendMessage(me.getNameAndRelevant(otherFaction)+Conf.colorSystem+" stole some of your land :O");
 | 
			
		||||
			myFaction.sendMessage(me.getNameAndRelevant(myFaction)+Conf.colorSystem+" claimed some land from "+otherFaction.getTag(myFaction));
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		Board.setFactionAt(myFaction, flocation);
 | 
			
		||||
		me.attemptClaim(true);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -64,9 +64,9 @@ public class FCommandHelp extends FBaseCommand {
 | 
			
		||||
		helpPages.add(pageLines);
 | 
			
		||||
		
 | 
			
		||||
		pageLines = new ArrayList<String>();
 | 
			
		||||
		pageLines.add( "Create a faction using these two commands:" );
 | 
			
		||||
		pageLines.add( new FCommandCreate().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandDescription().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandTag().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( "You might want to close it and use invitations:" );
 | 
			
		||||
		pageLines.add( new FCommandOpen().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandInvite().getUseageTemplate() );
 | 
			
		||||
@@ -77,9 +77,9 @@ public class FCommandHelp extends FBaseCommand {
 | 
			
		||||
		
 | 
			
		||||
		pageLines = new ArrayList<String>();
 | 
			
		||||
		pageLines.add( new FCommandClaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandAutoClaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandUnclaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandUnclaimall().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandTag().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandKick().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandMod().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandAdmin().getUseageTemplate() );
 | 
			
		||||
@@ -127,16 +127,18 @@ public class FCommandHelp extends FBaseCommand {
 | 
			
		||||
		pageLines.add("Finally some commands for the server admins:");
 | 
			
		||||
		pageLines.add( new FCommandVersion().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandSafeclaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandAutoSafeclaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandSafeunclaimall().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandWarclaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandAutoWarclaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandWarunclaimall().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandWorldNoClaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandWorldNoPowerLoss().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandBypass().getUseageTemplate() );
 | 
			
		||||
		helpPages.add(pageLines);
 | 
			
		||||
		
 | 
			
		||||
		pageLines = new ArrayList<String>();
 | 
			
		||||
		pageLines.add("More commands for server admins:");
 | 
			
		||||
		pageLines.add( new FCommandWorldNoClaim().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandWorldNoPowerLoss().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandLock().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandReload().getUseageTemplate() );
 | 
			
		||||
		pageLines.add( new FCommandSaveAll().getUseageTemplate() );
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ public class FCommandSafeclaim extends FBaseCommand {
 | 
			
		||||
			
 | 
			
		||||
		} else {
 | 
			
		||||
			Board.setFactionAt(Faction.getSafeZone(), playerFlocation);
 | 
			
		||||
			sendMessage("This land is now a safe zone");
 | 
			
		||||
			sendMessage("This land is now a safe zone.");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ public class FCommandWarclaim extends FBaseCommand {
 | 
			
		||||
			
 | 
			
		||||
		} else {
 | 
			
		||||
			Board.setFactionAt(Faction.getWarZone(), playerFlocation);
 | 
			
		||||
			sendMessage("This land is now a war zone");
 | 
			
		||||
			sendMessage("This land is now a war zone.");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@ import org.mcteam.factions.FLocation;
 | 
			
		||||
import org.mcteam.factions.FPlayer;
 | 
			
		||||
import org.mcteam.factions.Faction;
 | 
			
		||||
import org.mcteam.factions.Factions;
 | 
			
		||||
import org.mcteam.factions.struct.Role;
 | 
			
		||||
import org.mcteam.factions.util.TextUtil;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -164,6 +165,50 @@ public class FactionsPlayerListener extends PlayerListener{
 | 
			
		||||
				me.sendFactionHereMessage();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if (me.autoClaimEnabled()) {
 | 
			
		||||
			Faction myFaction = me.getFaction();
 | 
			
		||||
			FLocation flocation = new FLocation(me);
 | 
			
		||||
 | 
			
		||||
			if (me.getRole().value < Role.MODERATOR.value) {
 | 
			
		||||
				me.sendMessage("You must be "+Role.MODERATOR+" to claim land.");
 | 
			
		||||
				me.enableAutoClaim(false);
 | 
			
		||||
			}
 | 
			
		||||
			else if (Conf.worldsNoClaiming.contains(flocation.getWorldName())) {
 | 
			
		||||
				me.sendMessage("Sorry, this world has land claiming disabled.");
 | 
			
		||||
				me.enableAutoClaim(false);
 | 
			
		||||
			}
 | 
			
		||||
			else if (myFaction.getLandRounded() >= myFaction.getPowerRounded()) {
 | 
			
		||||
				me.sendMessage("You can't claim more land! You need more power!");
 | 
			
		||||
				me.enableAutoClaim(false);
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
				me.attemptClaim(false);
 | 
			
		||||
		}
 | 
			
		||||
		else if (me.autoSafeZoneEnabled()) {
 | 
			
		||||
			if (!Factions.hasPermManageSafeZone((CommandSender)me)) {
 | 
			
		||||
				me.enableAutoSafeZone(false);
 | 
			
		||||
			} else {
 | 
			
		||||
				FLocation playerFlocation = new FLocation(me);
 | 
			
		||||
 | 
			
		||||
				if (!Board.getFactionAt(playerFlocation).isSafeZone()) {
 | 
			
		||||
					Board.setFactionAt(Faction.getSafeZone(), playerFlocation);
 | 
			
		||||
					me.sendMessage("This land is now a safe zone.");
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		else if (me.autoWarZoneEnabled()) {
 | 
			
		||||
			if (!Factions.hasPermManageWarZone((CommandSender)me)) {
 | 
			
		||||
				me.enableAutoWarZone(false);
 | 
			
		||||
			} else {
 | 
			
		||||
				FLocation playerFlocation = new FLocation(me);
 | 
			
		||||
 | 
			
		||||
				if (!Board.getFactionAt(playerFlocation).isWarZone()) {
 | 
			
		||||
					Board.setFactionAt(Faction.getWarZone(), playerFlocation);
 | 
			
		||||
					me.sendMessage("This land is now a war zone.");
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user