1 package org.bukkit.enchantments;
3 import java.util.HashMap;
6 import org.bukkit.command.defaults.EnchantCommand;
7 import org.bukkit.inventory.ItemStack;
123 private static final Map<Integer, Enchantment> byId =
new HashMap<Integer, Enchantment>();
124 private static final Map<String, Enchantment> byName =
new HashMap<String, Enchantment>();
125 private static boolean acceptingNew =
true;
126 private final int id;
146 public abstract String
getName();
195 if (this.
id != other.id) {
208 return "Enchantment[" +
id +
", " +
getName() +
"]";
219 if (byId.containsKey(enchantment.id) || byName.containsKey(enchantment.
getName())) {
220 throw new IllegalArgumentException(
"Cannot set already-set enchantment");
222 throw new IllegalStateException(
"No longer accepting new enchantments (can only be done by the server implementation)");
225 byId.put(enchantment.id, enchantment);
226 byName.put(enchantment.
getName(), enchantment);
242 acceptingNew =
false;
263 return byName.get(name);
272 return byId.values().toArray(
new Enchantment[byId.size()]);