2012-01-09 20:00:13 +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;
|
|
|
|
|
2012-01-09 20:00:13 +01:00
|
|
|
public enum SkillType
|
|
|
|
{
|
2012-02-27 23:28:32 +01:00
|
|
|
ACROBATICS(LoadProperties.levelCapAcrobatics),
|
2012-01-09 20:00:13 +01:00
|
|
|
ALL, //This one is just for convenience
|
2012-02-27 23:28:32 +01:00
|
|
|
ARCHERY(LoadProperties.levelCapArchery),
|
|
|
|
AXES(AbilityType.SKULL_SPLIITER, LoadProperties.levelCapAxes, ToolType.AXE),
|
|
|
|
EXCAVATION(AbilityType.GIGA_DRILL_BREAKER, LoadProperties.levelCapExcavation, ToolType.SHOVEL),
|
|
|
|
FISHING(LoadProperties.levelCapFishing),
|
|
|
|
HERBALISM(AbilityType.GREEN_TERRA, LoadProperties.levelCapHerbalism, ToolType.HOE),
|
|
|
|
MINING(AbilityType.SUPER_BREAKER, LoadProperties.levelCapMining, ToolType.PICKAXE),
|
|
|
|
REPAIR(LoadProperties.levelCapRepair),
|
|
|
|
SWORDS(AbilityType.SERRATED_STRIKES, LoadProperties.levelCapSwords, ToolType.SWORD),
|
|
|
|
TAMING(LoadProperties.levelCapTaming),
|
|
|
|
UNARMED(AbilityType.BERSERK, LoadProperties.levelCapUnarmed, ToolType.FISTS),
|
|
|
|
WOODCUTTING(AbilityType.TREE_FELLER, LoadProperties.levelCapWoodcutting, ToolType.AXE);
|
|
|
|
|
|
|
|
private AbilityType ability;
|
|
|
|
private int maxLevel;
|
|
|
|
private ToolType tool;
|
|
|
|
|
|
|
|
private SkillType()
|
|
|
|
{
|
|
|
|
this.ability = null;
|
|
|
|
this.maxLevel = 0;
|
|
|
|
this.tool = null;
|
|
|
|
}
|
|
|
|
|
|
|
|
private SkillType(AbilityType ability, int maxLevel, ToolType tool)
|
|
|
|
{
|
|
|
|
this.ability = ability;
|
|
|
|
this.maxLevel = maxLevel;
|
|
|
|
this.tool = tool;
|
|
|
|
}
|
|
|
|
|
|
|
|
private SkillType(int maxLevel)
|
|
|
|
{
|
|
|
|
this(null, maxLevel, null);
|
|
|
|
}
|
|
|
|
|
|
|
|
public AbilityType getAbility()
|
|
|
|
{
|
|
|
|
return this.ability;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int getMaxLevel()
|
|
|
|
{
|
|
|
|
if(maxLevel > 0)
|
|
|
|
return maxLevel;
|
|
|
|
else
|
|
|
|
return Integer.MAX_VALUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
public ToolType getTool()
|
|
|
|
{
|
|
|
|
return this.tool;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean getPermissions(Player player)
|
|
|
|
{
|
|
|
|
switch(this)
|
|
|
|
{
|
|
|
|
case ACROBATICS:
|
|
|
|
return mcPermissions.getInstance().acrobatics(player);
|
|
|
|
case ARCHERY:
|
|
|
|
return mcPermissions.getInstance().archery(player);
|
|
|
|
case AXES:
|
|
|
|
return mcPermissions.getInstance().axes(player);
|
|
|
|
case EXCAVATION:
|
|
|
|
return mcPermissions.getInstance().excavation(player);
|
|
|
|
case FISHING:
|
|
|
|
return mcPermissions.getInstance().fishing(player);
|
|
|
|
case HERBALISM:
|
|
|
|
return mcPermissions.getInstance().herbalism(player);
|
|
|
|
case MINING:
|
|
|
|
return mcPermissions.getInstance().mining(player);
|
|
|
|
case REPAIR:
|
|
|
|
return mcPermissions.getInstance().repair(player);
|
|
|
|
case SWORDS:
|
|
|
|
return mcPermissions.getInstance().swords(player);
|
|
|
|
case TAMING:
|
|
|
|
return mcPermissions.getInstance().taming(player);
|
|
|
|
case UNARMED:
|
|
|
|
return mcPermissions.getInstance().unarmed(player);
|
|
|
|
case WOODCUTTING:
|
|
|
|
return mcPermissions.getInstance().woodcutting(player);
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
2012-01-09 20:00:13 +01:00
|
|
|
}
|