53 lines
2.1 KiB
Java
53 lines
2.1 KiB
Java
package com.craftaro.ultimatekits.conversion.hooks;
|
|
|
|
import com.craftaro.ultimatekits.conversion.ConversionKit;
|
|
import com.craftaro.ultimatekits.conversion.Hook;
|
|
import com.earth2me.essentials.Essentials;
|
|
import com.earth2me.essentials.Kit;
|
|
import com.earth2me.essentials.MetaItemStack;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.configuration.ConfigurationSection;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
import java.util.HashSet;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
|
|
public class EssentialsHook implements Hook {
|
|
private final Essentials essentials;
|
|
|
|
public EssentialsHook() {
|
|
this.essentials = (Essentials) Bukkit.getServer().getPluginManager().getPlugin("Essentials");
|
|
}
|
|
|
|
@Override
|
|
public Map<String, ConversionKit> getKits() {
|
|
ConfigurationSection cs = this.essentials.getSettings().getKits();
|
|
Map<String, ConversionKit> kits = new LinkedHashMap<>();
|
|
try {
|
|
for (String name : cs.getKeys(false)) {
|
|
Set<ItemStack> stacks = new HashSet<>();
|
|
Kit kitObj = new Kit(name, this.essentials);
|
|
for (String nonParse : kitObj.getItems()) {
|
|
String[] parts = nonParse.split(" +");
|
|
ItemStack item = this.essentials.getItemDb().get(parts[0], parts.length > 1 ? Integer.parseInt(parts[1]) : 1);
|
|
MetaItemStack metaStack = new MetaItemStack(item);
|
|
if (parts.length > 2 != nonParse.startsWith("/")) {
|
|
try {
|
|
metaStack.parseStringMeta(null, true, parts, 2, this.essentials);
|
|
} catch (Exception ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
}
|
|
stacks.add(metaStack.getItemStack());
|
|
}
|
|
kits.put(name, new ConversionKit(stacks, Integer.toUnsignedLong((int) this.essentials.getSettings().getKit(name).getOrDefault("delay", 0))));
|
|
}
|
|
} catch (Exception e) {
|
|
return kits;
|
|
}
|
|
return kits;
|
|
}
|
|
}
|