summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/Enchantments.java
blob: de987ba0f4ce90d6d7fe2ea980114486a7f6a5a9 (plain)
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
package com.earth2me.essentials;

import com.earth2me.essentials.utils.NumberUtil;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.bukkit.enchantments.Enchantment;


public class Enchantments
{
	private static final Map<String, Enchantment> ENCHANTMENTS = new HashMap<String, Enchantment>();
	private static final Map<String, Enchantment> ALIASENCHANTMENTS = new HashMap<String, Enchantment>();

	static
	{
		ENCHANTMENTS.put("alldamage", Enchantment.DAMAGE_ALL);
		ALIASENCHANTMENTS.put("alldmg", Enchantment.DAMAGE_ALL);
		ENCHANTMENTS.put("sharpness", Enchantment.DAMAGE_ALL);
		ALIASENCHANTMENTS.put("sharp", Enchantment.DAMAGE_ALL);
		ALIASENCHANTMENTS.put("dal", Enchantment.DAMAGE_ALL);

		ENCHANTMENTS.put("ardmg", Enchantment.DAMAGE_ARTHROPODS);
		ENCHANTMENTS.put("baneofarthropods", Enchantment.DAMAGE_ARTHROPODS);
		ALIASENCHANTMENTS.put("baneofarthropod", Enchantment.DAMAGE_ARTHROPODS);
		ALIASENCHANTMENTS.put("arthropod", Enchantment.DAMAGE_ARTHROPODS);
		ALIASENCHANTMENTS.put("dar", Enchantment.DAMAGE_ARTHROPODS);

		ENCHANTMENTS.put("undeaddamage", Enchantment.DAMAGE_UNDEAD);
		ENCHANTMENTS.put("smite", Enchantment.DAMAGE_UNDEAD);
		ALIASENCHANTMENTS.put("du", Enchantment.DAMAGE_UNDEAD);

		ENCHANTMENTS.put("digspeed", Enchantment.DIG_SPEED);
		ENCHANTMENTS.put("efficiency", Enchantment.DIG_SPEED);
		ALIASENCHANTMENTS.put("minespeed", Enchantment.DIG_SPEED);
		ALIASENCHANTMENTS.put("cutspeed", Enchantment.DIG_SPEED);
		ALIASENCHANTMENTS.put("ds", Enchantment.DIG_SPEED);
		ALIASENCHANTMENTS.put("eff", Enchantment.DIG_SPEED);

		ENCHANTMENTS.put("durability", Enchantment.DURABILITY);
		ALIASENCHANTMENTS.put("dura", Enchantment.DURABILITY);
		ENCHANTMENTS.put("unbreaking", Enchantment.DURABILITY);
		ALIASENCHANTMENTS.put("d", Enchantment.DURABILITY);

		ENCHANTMENTS.put("thorns", Enchantment.THORNS);
		ENCHANTMENTS.put("highcrit", Enchantment.THORNS);
		ALIASENCHANTMENTS.put("thorn", Enchantment.THORNS);
		ALIASENCHANTMENTS.put("highercrit", Enchantment.THORNS);
		ALIASENCHANTMENTS.put("t", Enchantment.THORNS);

		ENCHANTMENTS.put("fireaspect", Enchantment.FIRE_ASPECT);
		ENCHANTMENTS.put("fire", Enchantment.FIRE_ASPECT);
		ALIASENCHANTMENTS.put("meleefire", Enchantment.FIRE_ASPECT);
		ALIASENCHANTMENTS.put("meleeflame", Enchantment.FIRE_ASPECT);
		ALIASENCHANTMENTS.put("fa", Enchantment.FIRE_ASPECT);

		ENCHANTMENTS.put("knockback", Enchantment.KNOCKBACK);
		ALIASENCHANTMENTS.put("kback", Enchantment.KNOCKBACK);
		ALIASENCHANTMENTS.put("kb", Enchantment.KNOCKBACK);
		ALIASENCHANTMENTS.put("k", Enchantment.KNOCKBACK);

		ALIASENCHANTMENTS.put("blockslootbonus", Enchantment.LOOT_BONUS_BLOCKS);
		ENCHANTMENTS.put("fortune", Enchantment.LOOT_BONUS_BLOCKS);
		ALIASENCHANTMENTS.put("fort", Enchantment.LOOT_BONUS_BLOCKS);
		ALIASENCHANTMENTS.put("lbb", Enchantment.LOOT_BONUS_BLOCKS);

		ALIASENCHANTMENTS.put("mobslootbonus", Enchantment.LOOT_BONUS_MOBS);
		ENCHANTMENTS.put("mobloot", Enchantment.LOOT_BONUS_MOBS);
		ENCHANTMENTS.put("looting", Enchantment.LOOT_BONUS_MOBS);
		ALIASENCHANTMENTS.put("lbm", Enchantment.LOOT_BONUS_MOBS);

		ALIASENCHANTMENTS.put("oxygen", Enchantment.OXYGEN);
		ENCHANTMENTS.put("respiration", Enchantment.OXYGEN);
		ALIASENCHANTMENTS.put("breathing", Enchantment.OXYGEN);
		ENCHANTMENTS.put("breath", Enchantment.OXYGEN);
		ALIASENCHANTMENTS.put("o", Enchantment.OXYGEN);

		ENCHANTMENTS.put("protection", Enchantment.PROTECTION_ENVIRONMENTAL);
		ALIASENCHANTMENTS.put("prot", Enchantment.PROTECTION_ENVIRONMENTAL);
		ENCHANTMENTS.put("protect", Enchantment.PROTECTION_ENVIRONMENTAL);
		ALIASENCHANTMENTS.put("p", Enchantment.PROTECTION_ENVIRONMENTAL);

		ALIASENCHANTMENTS.put("explosionsprotection", Enchantment.PROTECTION_EXPLOSIONS);
		ALIASENCHANTMENTS.put("explosionprotection", Enchantment.PROTECTION_EXPLOSIONS);
		ALIASENCHANTMENTS.put("expprot", Enchantment.PROTECTION_EXPLOSIONS);
		ALIASENCHANTMENTS.put("blastprotection", Enchantment.PROTECTION_EXPLOSIONS);
		ALIASENCHANTMENTS.put("bprotection", Enchantment.PROTECTION_EXPLOSIONS);
		ALIASENCHANTMENTS.put("bprotect", Enchantment.PROTECTION_EXPLOSIONS);
		ENCHANTMENTS.put("blastprotect", Enchantment.PROTECTION_EXPLOSIONS);
		ALIASENCHANTMENTS.put("pe", Enchantment.PROTECTION_EXPLOSIONS);

		ALIASENCHANTMENTS.put("fallprotection", Enchantment.PROTECTION_FALL);
		ENCHANTMENTS.put("fallprot", Enchantment.PROTECTION_FALL);
		ENCHANTMENTS.put("featherfall", Enchantment.PROTECTION_FALL);
		ALIASENCHANTMENTS.put("featherfalling", Enchantment.PROTECTION_FALL);
		ALIASENCHANTMENTS.put("pfa", Enchantment.PROTECTION_FALL);

		ALIASENCHANTMENTS.put("fireprotection", Enchantment.PROTECTION_FIRE);
		ALIASENCHANTMENTS.put("flameprotection", Enchantment.PROTECTION_FIRE);
		ENCHANTMENTS.put("fireprotect", Enchantment.PROTECTION_FIRE);
		ALIASENCHANTMENTS.put("flameprotect", Enchantment.PROTECTION_FIRE);
		ENCHANTMENTS.put("fireprot", Enchantment.PROTECTION_FIRE);
		ALIASENCHANTMENTS.put("flameprot", Enchantment.PROTECTION_FIRE);
		ALIASENCHANTMENTS.put("pf", Enchantment.PROTECTION_FIRE);

		ENCHANTMENTS.put("projectileprotection", Enchantment.PROTECTION_PROJECTILE);
		ENCHANTMENTS.put("projprot", Enchantment.PROTECTION_PROJECTILE);
		ALIASENCHANTMENTS.put("pp", Enchantment.PROTECTION_PROJECTILE);

		ENCHANTMENTS.put("silktouch", Enchantment.SILK_TOUCH);
		ALIASENCHANTMENTS.put("softtouch", Enchantment.SILK_TOUCH);
		ALIASENCHANTMENTS.put("st", Enchantment.SILK_TOUCH);

		ENCHANTMENTS.put("waterworker", Enchantment.WATER_WORKER);
		ENCHANTMENTS.put("aquaaffinity", Enchantment.WATER_WORKER);
		ALIASENCHANTMENTS.put("watermine", Enchantment.WATER_WORKER);
		ALIASENCHANTMENTS.put("ww", Enchantment.WATER_WORKER);

		ALIASENCHANTMENTS.put("firearrow", Enchantment.ARROW_FIRE);
		ENCHANTMENTS.put("flame", Enchantment.ARROW_FIRE);
		ENCHANTMENTS.put("flamearrow", Enchantment.ARROW_FIRE);
		ALIASENCHANTMENTS.put("af", Enchantment.ARROW_FIRE);

		ENCHANTMENTS.put("arrowdamage", Enchantment.ARROW_DAMAGE);
		ENCHANTMENTS.put("power", Enchantment.ARROW_DAMAGE);
		ALIASENCHANTMENTS.put("arrowpower", Enchantment.ARROW_DAMAGE);
		ALIASENCHANTMENTS.put("ad", Enchantment.ARROW_DAMAGE);

		ENCHANTMENTS.put("arrowknockback", Enchantment.ARROW_KNOCKBACK);
		ALIASENCHANTMENTS.put("arrowkb", Enchantment.ARROW_KNOCKBACK);
		ENCHANTMENTS.put("punch", Enchantment.ARROW_KNOCKBACK);
		ALIASENCHANTMENTS.put("arrowpunch", Enchantment.ARROW_KNOCKBACK);
		ALIASENCHANTMENTS.put("ak", Enchantment.ARROW_KNOCKBACK);

		ALIASENCHANTMENTS.put("infinitearrows", Enchantment.ARROW_INFINITE);
		ENCHANTMENTS.put("infarrows", Enchantment.ARROW_INFINITE);
		ENCHANTMENTS.put("infinity", Enchantment.ARROW_INFINITE);
		ALIASENCHANTMENTS.put("infinite", Enchantment.ARROW_INFINITE);
		ALIASENCHANTMENTS.put("unlimited", Enchantment.ARROW_INFINITE);
		ALIASENCHANTMENTS.put("unlimitedarrows", Enchantment.ARROW_INFINITE);
		ALIASENCHANTMENTS.put("ai", Enchantment.ARROW_INFINITE);

		ENCHANTMENTS.put("luck", Enchantment.LUCK);
		ALIASENCHANTMENTS.put("luckofsea", Enchantment.LUCK);
		ALIASENCHANTMENTS.put("luckofseas", Enchantment.LUCK);
		ALIASENCHANTMENTS.put("rodluck", Enchantment.LUCK);

		ENCHANTMENTS.put("lure", Enchantment.LURE);
		ALIASENCHANTMENTS.put("rodlure", Enchantment.LURE);
	}

	public static Enchantment getByName(String name)
	{
		Enchantment enchantment;
		if (NumberUtil.isInt(name))
		{
			enchantment = Enchantment.getById(Integer.parseInt(name));
		}
		else
		{
			enchantment = Enchantment.getByName(name.toUpperCase(Locale.ENGLISH));
		}
		if (enchantment == null)
		{
			enchantment = ENCHANTMENTS.get(name.toLowerCase(Locale.ENGLISH));
		}
		if (enchantment == null)
		{
			enchantment = ALIASENCHANTMENTS.get(name.toLowerCase(Locale.ENGLISH));
		}
		return enchantment;
	}

	public static Set<Entry<String, Enchantment>> entrySet()
	{
		return ENCHANTMENTS.entrySet();
	}
}