All pastes #30842 Raw Edit

Something

public java v1 · immutable
#30842 ·published 2005-11-24 02:43 UTC
rendered paste body
/* * $Header: Util.java, 24/11/2005 13:02:19 luisantonioa Exp $ * * $Author: luisantonioa $ * $Date: 24/11/2005 13:02:19 $ * $Revision: 1 $ * $Log: Util.java,v $ * Revision 1  24/11/2005 13:02:19  luisantonioa * Added copyright notice * *  * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */package net.sf.l2j.gameserver.model.base;import static net.sf.l2j.gameserver.model.base.PlayerClass.AbyssWalker;import static net.sf.l2j.gameserver.model.base.PlayerClass.Bishop;import static net.sf.l2j.gameserver.model.base.PlayerClass.Bladedancer;import static net.sf.l2j.gameserver.model.base.PlayerClass.BountyHunter;import static net.sf.l2j.gameserver.model.base.PlayerClass.DarkAvenger;import static net.sf.l2j.gameserver.model.base.PlayerClass.DarkElvenFighter;import static net.sf.l2j.gameserver.model.base.PlayerClass.DarkElvenMystic;import static net.sf.l2j.gameserver.model.base.PlayerClass.Destroyer;import static net.sf.l2j.gameserver.model.base.PlayerClass.DwarvenFighter;import static net.sf.l2j.gameserver.model.base.PlayerClass.ElementalSummoner;import static net.sf.l2j.gameserver.model.base.PlayerClass.ElvenElder;import static net.sf.l2j.gameserver.model.base.PlayerClass.ElvenFighter;import static net.sf.l2j.gameserver.model.base.PlayerClass.ElvenMystic;import static net.sf.l2j.gameserver.model.base.PlayerClass.Gladiator;import static net.sf.l2j.gameserver.model.base.PlayerClass.Hawkeye;import static net.sf.l2j.gameserver.model.base.PlayerClass.HumanMystic;import static net.sf.l2j.gameserver.model.base.PlayerClass.Necromancer;import static net.sf.l2j.gameserver.model.base.PlayerClass.OrcFighter;import static net.sf.l2j.gameserver.model.base.PlayerClass.OrcMystic;import static net.sf.l2j.gameserver.model.base.PlayerClass.Overlord;import static net.sf.l2j.gameserver.model.base.PlayerClass.Paladin;import static net.sf.l2j.gameserver.model.base.PlayerClass.PhantomRanger;import static net.sf.l2j.gameserver.model.base.PlayerClass.PhantomSummoner;import static net.sf.l2j.gameserver.model.base.PlayerClass.Plainswalker;import static net.sf.l2j.gameserver.model.base.PlayerClass.Prophet;import static net.sf.l2j.gameserver.model.base.PlayerClass.ShillienElder;import static net.sf.l2j.gameserver.model.base.PlayerClass.ShillienKnight;import static net.sf.l2j.gameserver.model.base.PlayerClass.SilverRanger;import static net.sf.l2j.gameserver.model.base.PlayerClass.Sorceror;import static net.sf.l2j.gameserver.model.base.PlayerClass.Spellhowler;import static net.sf.l2j.gameserver.model.base.PlayerClass.Spellsinger;import static net.sf.l2j.gameserver.model.base.PlayerClass.Swordsinger;import static net.sf.l2j.gameserver.model.base.PlayerClass.TempleKnight;import static net.sf.l2j.gameserver.model.base.PlayerClass.TreasureHunter;import static net.sf.l2j.gameserver.model.base.PlayerClass.Tyrant;import static net.sf.l2j.gameserver.model.base.PlayerClass.Warcryer;import static net.sf.l2j.gameserver.model.base.PlayerClass.Warlock;import static net.sf.l2j.gameserver.model.base.PlayerClass.Warlord;import static net.sf.l2j.gameserver.model.base.PlayerClass.Warrior;import static net.sf.l2j.gameserver.model.base.PlayerClass.Warsmith;import java.util.EnumMap;import java.util.EnumSet;import java.util.Map;import java.util.Set;/** * This class ... *  * @version $Revision: 1.2 $ $Date: 2004/06/27 08:12:59 $ */public class Util{    private static final Map<PlayerRace, Set<PlayerClass>>  raceMap                 = new EnumMap<PlayerRace, Set<PlayerClass>>(PlayerRace.class);    private static final Map<PlayerClass, Set<PlayerClass>> disallowedSubclassesMap = new EnumMap<PlayerClass, Set<PlayerClass>>(PlayerClass.class);    private static final Set<PlayerClass>                   firstLevelClasses;    private static final Set<PlayerClass>                   secondLevelClasses;    private static final Set<PlayerClass>                   thirdLevelClasses;        static    {                /**         * Race Class tables         */        raceMap.put(PlayerRace.Human,       EnumSet.range(Warrior,          Prophet));        raceMap.put(PlayerRace.LightElf,    EnumSet.range(ElvenFighter,     ElvenElder));        raceMap.put(PlayerRace.DarkElf,     EnumSet.range(DarkElvenFighter, Prophet));        raceMap.put(PlayerRace.Orc,         EnumSet.range(OrcFighter,       Prophet));        raceMap.put(PlayerRace.Dwarf,       EnumSet.range(DwarvenFighter,   Prophet));                /**         * First Level Professions         */        firstLevelClasses = EnumSet.of(Warrior,             HumanMystic,                                       ElvenFighter,        ElvenMystic,                                       DarkElvenFighter,    DarkElvenMystic,                                       OrcFighter,          OrcMystic,                                       DwarvenFighter);                /**         * Second Level Professions         */        secondLevelClasses = EnumSet.of(Warrior,            HumanMystic,                                        ElvenFighter,       ElvenMystic,                                        DarkElvenFighter,   DarkElvenMystic,                                        OrcFighter,         OrcMystic,                                        DwarvenFighter);                /**         * Second Level Professions         */        thirdLevelClasses = EnumSet.of(DarkAvenger,     Paladin,                                       TreasureHunter,  Hawkeye,                                       Warlock,         Sorceror,                                       Necromancer,     Warlord,                                       Gladiator,       Bishop,                                       Prophet,         TempleKnight,                                       Swordsinger,     Plainswalker,                                       SilverRanger,    ElementalSummoner,                                       Spellsinger,     ElvenElder,                                       ShillienKnight,  Bladedancer,                                       AbyssWalker,     PhantomRanger,                                       PhantomSummoner, Spellhowler,                                       ShillienElder,   Destroyer,                                       Tyrant,          Overlord,                                       Warcryer,        Warsmith,                                       BountyHunter);                /**         *          */        disallowedSubclassesMap.put(Hawkeye, firstLevelClasses);    }        public enum PlayerRace    {        Human,        LightElf,        DarkElf,        Orc,        Dwarf    }}