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
|
package net.ess3.economy;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import lombok.*;
import net.ess3.storage.EnchantmentLevel;
import net.ess3.storage.MapKeyType;
import net.ess3.storage.MapValueType;
import net.ess3.storage.StorageObject;
import org.bukkit.Material;
import org.bukkit.material.MaterialData;
@Data
@EqualsAndHashCode(callSuper = false)
public class Worth implements StorageObject
{
@MapKeyType(MaterialData.class)
@MapValueType(Double.class)
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private Map<MaterialData, Double> sell;
public Map<MaterialData, Double> getSell()
{
return sell == null ? Collections.<MaterialData, Double>emptyMap() : Collections.unmodifiableMap(sell);
}
@MapKeyType(MaterialData.class)
@MapValueType(Double.class)
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private Map<MaterialData, Double> buy;
public Map<MaterialData, Double> getBuy()
{
return buy == null ? Collections.<MaterialData, Double>emptyMap() : Collections.unmodifiableMap(buy);
}
@MapKeyType(EnchantmentLevel.class)
@MapValueType(Double.class)
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private Map<EnchantmentLevel, Double> enchantmentMultiplier;
public Map<EnchantmentLevel, Double> getEnchantmentMultiplier()
{
return enchantmentMultiplier == null ? Collections.<EnchantmentLevel, Double>emptyMap() : Collections.unmodifiableMap(enchantmentMultiplier);
}
public Worth()
{
sell = new HashMap<MaterialData, Double>();
sell.put(new MaterialData(Material.APPLE, (byte)0), 1.0);
}
void setSellPrice(MaterialData data, double price)
{
Map<MaterialData, Double> sellMap = new HashMap<MaterialData, Double>(sell);
sellMap.put(data, price);
sell = sellMap;
}
}
|