TF-EssentialsX/Essentials/src/net/ess3/api/PluginKey.java
md678685 e230cee91e
Add new item database API (#2472)
* Allow resolver functions to be added to item databases

* Allow resolvers to add item names to list

* Make getResolverNames package-private
2019-04-15 10:09:16 +01:00

51 lines
1.1 KiB
Java

package net.ess3.api;
import org.bukkit.plugin.Plugin;
import java.util.Objects;
import java.util.UUID;
public final class PluginKey {
private final Plugin plugin;
private final String key;
private PluginKey(Plugin plugin, String key) {
this.plugin = plugin;
this.key = key;
}
public Plugin getPlugin() {
return plugin;
}
public String getKey() {
return key;
}
@Override
public int hashCode() {
return Objects.hash(plugin, key);
}
@Override
public String toString() {
return plugin.getName().toLowerCase() + ":" + key;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof PluginKey || o.getClass().getName().equals("org.bukkit.NamespacedKey"))) {
return false;
}
return this == o || this.toString().equals(o.toString());
}
public static PluginKey random(Plugin plugin) {
return new PluginKey(plugin, UUID.randomUUID().toString());
}
public static PluginKey fromKey(Plugin plugin, String key) {
return new PluginKey(plugin, key);
}
}