2014-11-07 18:49:54 +01:00
package com.massivecraft.factions.cmd ;
2014-11-11 16:28:53 +01:00
import com.massivecraft.factions.FPlayer ;
2014-11-07 18:49:54 +01:00
import com.massivecraft.factions.P ;
2014-11-11 16:28:53 +01:00
import com.massivecraft.factions.integration.Econ ;
2014-11-07 18:49:54 +01:00
import com.massivecraft.factions.struct.Permission ;
import com.massivecraft.factions.struct.Relation ;
import com.massivecraft.factions.util.LazyLocation ;
public class CmdSetFWarp extends FCommand {
public CmdSetFWarp ( ) {
super ( ) ;
this . aliases . add ( " setwarp " ) ;
this . aliases . add ( " sw " ) ;
this . requiredArgs . add ( " warp name " ) ;
this . senderMustBeMember = true ;
this . senderMustBeModerator = true ;
this . senderMustBePlayer = true ;
this . permission = Permission . SETWARP . node ;
}
@Override
public void perform ( ) {
if ( ! ( fme . getRelationToLocation ( ) = = Relation . MEMBER ) ) {
fme . msg ( " <i>You can only set warps in your faction territory. " ) ;
return ;
}
int maxWarps = P . p . getConfig ( ) . getInt ( " max-warps " , 5 ) ;
if ( maxWarps < = myFaction . getWarps ( ) . size ( ) ) {
fme . msg ( " <i>Your Faction already has the max amount of warps set <a>(%d). " , maxWarps ) ;
return ;
}
2014-11-11 16:28:53 +01:00
if ( ! transact ( fme ) ) {
return ;
}
2014-11-07 18:49:54 +01:00
String warp = argAsString ( 0 ) ;
LazyLocation loc = new LazyLocation ( fme . getPlayer ( ) . getLocation ( ) ) ;
myFaction . setWarp ( warp , loc ) ;
fme . msg ( " <i>Set warp <a>%s <i>to your location. " , warp ) ;
}
2014-11-11 16:28:53 +01:00
private boolean transact ( FPlayer player ) {
return P . p . getConfig ( ) . getBoolean ( " warp-cost.enabled " , false ) & & ! player . isAdminBypassing ( ) & & Econ . modifyMoney ( player , P . p . getConfig ( ) . getDouble ( " warp-cost.setwarp " , 5 ) , " to set warp " , " for setting warp " ) ;
}
2014-11-07 18:49:54 +01:00
}