下面列出了怎么用org.bukkit.Keyed的API类实例代码及写法,或者点击链接到github查看源代码。
@EventHandler
public void onJoin(PlayerJoinEvent event) {
if (generalConf.isCraftingEnabled()) {
List<NamespacedKey> keys = new ArrayList<>();
for (BaseDuctType bdt : ductRegister.baseDuctTypes()) {
for (Object type : bdt.ductTypes()) {
DuctType dt = (DuctType) type;
if (dt.getDuctRecipe() != null) {
NamespacedKey key = ((Keyed) dt.getDuctRecipe()).getKey();
keys.add(key);
}
}
if (bdt.is("pipe")) {
keys.add(((PipeManager) bdt.getDuctManager()).getWrenchRecipe().getKey());
}
}
event.getPlayer().discoverRecipes(keys);
}
}
public static String getRecipeKey(org.bukkit.inventory.Recipe rec, boolean dur){
if(rec instanceof Keyed){
return ((Keyed)rec).getKey().getKey();
}else{
return "nonkeyed:" + rec.getResult().getType().toString() + (dur ? rec.getResult().getDurability() : "");
}
}