001/*
002 * Trident - A Multithreaded Server Alternative
003 * Copyright 2014 The TridentSDK Team
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 *    http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018package net.tridentsdk.entity.types;
019
020/**
021 * Occupation of the villager
022 *
023 * @author The TridentSDK Team
024 * @since 0.3-alpha-DP
025 */
026public enum VillagerCareer {
027    /**
028     * Fletcher
029     */
030    FLETCHER(VillagerProfession.FARMER, 0),
031
032    /**
033     * Farmer
034     */
035    FARMER(VillagerProfession.FARMER, 1),
036
037    /**
038     * Fisherman
039     */
040    FISHERMAN(VillagerProfession.FARMER, 2),
041
042    /**
043     * Shepherd
044     */
045    SHEPHERD(VillagerProfession.FARMER, 3),
046
047    /**
048     * Librarian
049     */
050    LIBRARIAN(VillagerProfession.LIBRARIAN, 0),
051
052    /**
053     * Cleric
054     */
055    CLERIC(VillagerProfession.PRIEST, 0),
056
057    /**
058     * Tool smith
059     */
060    TOOL_SMITH(VillagerProfession.BLACKSMITH, 0),
061
062    /**
063     * Armorer
064     */
065    ARMORER(VillagerProfession.BLACKSMITH, 1),
066
067    /**
068     * Weapon smith
069     */
070    WEAPON_SMITH(VillagerProfession.BLACKSMITH, 2),
071
072    /**
073     * Butcher
074     */
075    BUTCHER(VillagerProfession.BUTCHER, 0),
076
077    /**
078     * Leatherworker
079     */
080    LEATHERWORKER(VillagerProfession.BUTCHER, 1);
081
082    private final VillagerProfession parent;
083    private final int id;
084
085    VillagerCareer(VillagerProfession parent, int id) {
086        this.parent = parent;
087        this.id = id;
088    }
089
090    public VillagerProfession parent() {
091        return parent;
092    }
093
094    public int id() {
095        return id;
096    }
097}