2012-02-09 20:12:16 +01:00
package com.gmail.nossr50.datatypes ;
2012-02-27 23:28:32 +01:00
import org.bukkit.entity.Player ;
import com.gmail.nossr50.mcPermissions ;
import com.gmail.nossr50.config.LoadProperties ;
import com.gmail.nossr50.locale.mcLocale ;
public enum AbilityType
{
2012-03-01 01:13:15 +01:00
BERSERK ( LoadProperties . berserkCooldown , mcLocale . getString ( " Skills.BerserkOn " ) , mcLocale . getString ( " Skills.BerserkOff " ) , " Skills.BerserkPlayer " , mcLocale . getString ( " Skills.YourBerserk " ) , " Skills.BerserkPlayerOff " ) ,
SUPER_BREAKER ( LoadProperties . superBreakerCooldown , mcLocale . getString ( " Skills.SuperBreakerOn " ) , mcLocale . getString ( " Skills.SuperBreakerOff " ) , " Skills.SuperBreakerPlayer " , mcLocale . getString ( " Skills.YourSuperBreaker " ) , " Skills.SuperBreakerPlayerOff " ) ,
GIGA_DRILL_BREAKER ( LoadProperties . gigaDrillBreakerCooldown , mcLocale . getString ( " Skills.GigaDrillBreakerOn " ) , mcLocale . getString ( " Skills.GigaDrillBreakerOff " ) , " Skills.GigaDrillBreakerPlayer " , mcLocale . getString ( " Skills.YourGigaDrillBreaker " ) , " Skills.GigaDrillBreakerPlayerOff " ) ,
2012-03-01 01:04:31 +01:00
GREEN_TERRA ( LoadProperties . greenTerraCooldown , mcLocale . getString ( " Skills.GreenTerraOn " ) , mcLocale . getString ( " Skills.GreenTerraOff " ) , " Skills.GreenTerraPlayer " , mcLocale . getString ( " Skills.YourGreenTerra " ) , mcLocale . getString ( " Skills.GreenTerraPlayerOff " ) ) ,
2012-03-01 01:13:15 +01:00
SKULL_SPLIITER ( LoadProperties . skullSplitterCooldown , mcLocale . getString ( " Skills.SkullSplitterOn " ) , mcLocale . getString ( " Skills.SkullSplitterOff " ) , " Skills.SkullSplitterPlayer " , mcLocale . getString ( " Skills.YourSkullSplitter " ) , " Skills.SkullSplitterPlayerOff " ) ,
TREE_FELLER ( LoadProperties . treeFellerCooldown , mcLocale . getString ( " Skills.TreeFellerOn " ) , mcLocale . getString ( " Skills.TreeFellerOff " ) , " Skills.TreeFellerPlayer " , mcLocale . getString ( " Skills.YourTreeFeller " ) , " Skills.TreeFellerPlayerOff " ) ,
2012-03-01 21:20:35 +01:00
SERRATED_STRIKES ( LoadProperties . skullSplitterCooldown , mcLocale . getString ( " Skills.SerratedStrikesOn " ) , mcLocale . getString ( " Skills.SerratedStrikesOff " ) , " Skills.SerratedStrikesPlayer " , mcLocale . getString ( " Skills.YourSerratedStrikes " ) , " Skills.SerratedStrikesPlayerOff " ) ,
2012-03-01 22:01:41 +01:00
BLAST_MINING ( LoadProperties . blastMiningCooldown , " NOT NEEDED FOR BLAST MINING " , " NOT NEEDED FOR BLAST MINING " , " Skills.BlastMiningPlayer " , mcLocale . getString ( " Skills.YourBlastMining " ) , " NOT NEEDED FOR BLAST MINING " ) ;
2012-03-01 21:20:35 +01:00
2012-02-27 23:28:32 +01:00
private int cooldown ;
private String abilityOn ;
private String abilityOff ;
private String abilityPlayer ;
private String abilityRefresh ;
2012-03-01 01:04:31 +01:00
private String abilityPlayerOff ;
2012-02-27 23:28:32 +01:00
2012-03-01 01:04:31 +01:00
private AbilityType ( int cooldown , String abilityOn , String abilityOff , String abilityPlayer , String abilityRefresh , String abilityPlayerOff )
2012-02-27 23:28:32 +01:00
{
this . cooldown = cooldown ;
this . abilityOn = abilityOn ;
this . abilityOff = abilityOff ;
this . abilityPlayer = abilityPlayer ;
this . abilityRefresh = abilityRefresh ;
2012-03-01 01:04:31 +01:00
this . abilityPlayerOff = abilityPlayerOff ;
2012-02-27 23:28:32 +01:00
}
public int getCooldown ( )
{
return this . cooldown ;
}
public String getAbilityOn ( )
{
return this . abilityOn ;
}
public String getAbilityOff ( )
{
return this . abilityOff ;
}
public String getAbilityPlayer ( Player player )
{
return mcLocale . getString ( this . abilityPlayer , new Object [ ] { player . getName ( ) } ) ;
}
2012-03-01 01:04:31 +01:00
public String getAbilityPlayerOff ( Player player )
{
return mcLocale . getString ( this . abilityPlayerOff , new Object [ ] { player . getName ( ) } ) ;
}
2012-02-27 23:28:32 +01:00
public String getAbilityRefresh ( )
{
return this . abilityRefresh ;
}
public boolean getMode ( PlayerProfile PP )
{
switch ( this )
{
case BERSERK :
return PP . getBerserkMode ( ) ;
case SUPER_BREAKER :
return PP . getSuperBreakerMode ( ) ;
case GIGA_DRILL_BREAKER :
return PP . getGigaDrillBreakerMode ( ) ;
case GREEN_TERRA :
return PP . getGreenTerraMode ( ) ;
case SKULL_SPLIITER :
return PP . getSkullSplitterMode ( ) ;
case TREE_FELLER :
return PP . getTreeFellerMode ( ) ;
case SERRATED_STRIKES :
return PP . getSerratedStrikesMode ( ) ;
}
return false ;
}
public void setMode ( PlayerProfile PP , boolean bool )
{
switch ( this )
{
case BERSERK :
PP . setBerserkMode ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case SUPER_BREAKER :
PP . setSuperBreakerMode ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case GIGA_DRILL_BREAKER :
PP . setGigaDrillBreakerMode ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case GREEN_TERRA :
PP . setGreenTerraMode ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case SKULL_SPLIITER :
PP . setSkullSplitterMode ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case TREE_FELLER :
PP . setTreeFellerMode ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case SERRATED_STRIKES :
PP . setSerratedStrikesMode ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
}
}
public boolean getInformed ( PlayerProfile PP )
{
switch ( this )
{
2012-03-01 22:01:41 +01:00
case BLAST_MINING :
return PP . getBlastMiningInformed ( ) ;
2012-02-27 23:28:32 +01:00
case BERSERK :
return PP . getBerserkInformed ( ) ;
case SUPER_BREAKER :
return PP . getSuperBreakerInformed ( ) ;
case GIGA_DRILL_BREAKER :
return PP . getGigaDrillBreakerInformed ( ) ;
case GREEN_TERRA :
return PP . getGreenTerraInformed ( ) ;
case SKULL_SPLIITER :
return PP . getSkullSplitterInformed ( ) ;
case TREE_FELLER :
return PP . getTreeFellerInformed ( ) ;
case SERRATED_STRIKES :
return PP . getSerratedStrikesInformed ( ) ;
}
return false ;
}
public void setInformed ( PlayerProfile PP , boolean bool )
{
switch ( this )
{
2012-03-01 22:01:41 +01:00
case BLAST_MINING :
PP . setBlastMiningInformed ( bool ) ;
break ;
2012-02-27 23:28:32 +01:00
case BERSERK :
PP . setBerserkInformed ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case SUPER_BREAKER :
PP . setSuperBreakerInformed ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case GIGA_DRILL_BREAKER :
PP . setGigaDrillBreakerInformed ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case GREEN_TERRA :
PP . setGreenTerraInformed ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case SKULL_SPLIITER :
PP . setSkullSplitterInformed ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case TREE_FELLER :
PP . setTreeFellerInformed ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
case SERRATED_STRIKES :
PP . setSerratedStrikesInformed ( bool ) ;
2012-02-28 06:18:55 +01:00
break ;
2012-02-27 23:28:32 +01:00
}
}
public boolean getPermissions ( Player player )
{
switch ( this )
{
case BERSERK :
return mcPermissions . getInstance ( ) . unarmedAbility ( player ) ;
case GIGA_DRILL_BREAKER :
return mcPermissions . getInstance ( ) . excavationAbility ( player ) ;
case GREEN_TERRA :
return mcPermissions . getInstance ( ) . herbalismAbility ( player ) ;
case SERRATED_STRIKES :
return mcPermissions . getInstance ( ) . swordsAbility ( player ) ;
case SKULL_SPLIITER :
return mcPermissions . getInstance ( ) . axesAbility ( player ) ;
case SUPER_BREAKER :
return mcPermissions . getInstance ( ) . miningAbility ( player ) ;
case TREE_FELLER :
return mcPermissions . getInstance ( ) . woodCuttingAbility ( player ) ;
2012-03-01 21:20:35 +01:00
case BLAST_MINING :
return mcPermissions . getInstance ( ) . blastMining ( player ) ;
2012-02-27 23:28:32 +01:00
}
return false ;
}
2012-02-10 18:44:17 +01:00
}