1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
package org.bukkit.entity;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.Merchant;
/**
* Represents a villager NPC
*/
public interface Villager extends Ageable, NPC, InventoryHolder, Merchant {
/**
* Gets the current profession of this villager.
*
* @return Current profession.
*/
public Profession getProfession();
/**
* Sets the new profession of this villager.
*
* @param profession New profession.
*/
public void setProfession(Profession profession);
/**
* Gets this villager's inventory.
* <br>
* Note that this inventory is not the Merchant inventory, rather, it is the
* items that a villager might have collected (from harvesting crops, etc.)
*
* {@inheritDoc}
*/
@Override
Inventory getInventory();
/**
* Gets this villager's riches, the number of emeralds this villager has
* been given.
*
* @return the villager's riches
*/
int getRiches();
/**
* Sets this villager's riches.
*
* @see Villager#getRiches()
*
* @param riches the new riches
*/
void setRiches(int riches);
/**
* Represents the various different Villager professions there may be.
* Villagers have different trading options depending on their profession,
*/
public enum Profession {
/**
* Normal. <b>Reserved for Zombies.</b>
* @deprecated Unused
*/
@Deprecated
NORMAL(true),
/**
* Farmer profession. Wears a brown robe.
*/
FARMER(false),
/**
* Librarian profession. Wears a white robe.
*/
LIBRARIAN(false),
/**
* Priest profession. Wears a purple robe.
*/
PRIEST(false),
/**
* Blacksmith profession. Wears a black apron.
*/
BLACKSMITH(false),
/**
* Butcher profession. Wears a white apron.
*/
BUTCHER(false),
/**
* Nitwit profession. Wears a green apron, cannot trade.
*/
NITWIT(false),
/**
* Husk. <b>Reserved for Zombies</b>
* @deprecated Unused
*/
@Deprecated
HUSK(true);
private final boolean zombie;
private Profession(boolean zombie) {
this.zombie = zombie;
}
/**
* Returns if this profession can only be used by zombies.
*
* @return zombie profession status
* @deprecated Unused
*/
@Deprecated
public boolean isZombie() {
return zombie;
}
}
}
|