43 lines
1.1 KiB
Java
43 lines
1.1 KiB
Java
package com.craftaro.ultimatekits.crate;
|
|
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
import java.util.Collections;
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
|
|
public class CrateManager {
|
|
private final Set<Crate> registeredCrates = new HashSet<>();
|
|
|
|
public boolean addCrate(Crate crate) {
|
|
return crate != null && this.registeredCrates.add(crate);
|
|
}
|
|
|
|
public Crate getCrate(String name) {
|
|
for (Crate crate : this.registeredCrates) {
|
|
if (crate.getName().equalsIgnoreCase(name)) {
|
|
return crate;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public Crate getCrate(ItemStack item) {
|
|
if (item == null || !item.hasItemMeta() || !item.getItemMeta().hasLore() || item.getType() != Material.CHEST) {
|
|
return null;
|
|
}
|
|
|
|
return getCrate(ChatColor.stripColor(item.getItemMeta().getLore().get(0)).split(" ")[1]);
|
|
}
|
|
|
|
public Set<Crate> getRegisteredCrates() {
|
|
return Collections.unmodifiableSet(this.registeredCrates);
|
|
}
|
|
|
|
public void clear() {
|
|
this.registeredCrates.clear();
|
|
}
|
|
}
|