public boolean commandUse(CommandSender sender, String[] args) {
Variables var = Necessities.getVar();
if (sender instanceof Player) {
Material mat;
Player p = (Player) sender;
if (args.length == 0) {
p.sendMessage(var.getEr() + "Error: " + var.getErMsg() + "You must enter an item to craft.");
return true;
}
mat = Material.fromString(args[0]);
if (Bukkit.getRecipesFor(mat.getBukkitMaterial().toItemStack(1)).isEmpty()) {
p.sendMessage(var.getEr() + "Error: " + var.getErMsg() + "There are no recipes to craft that item.");
return true;
}
HashMap<ItemStack, Integer> items = new HashMap<>();
Recipe r = Bukkit.getRecipesFor(mat.getBukkitMaterial().toItemStack(1)).get(0);
if (r instanceof ShapedRecipe) {
ShapedRecipe s = (ShapedRecipe) r;
for (Character c : s.getIngredientMap().keySet())
if (s.getIngredientMap().get(c) != null)
items.put(s.getIngredientMap().get(c), items.containsKey(s.getIngredientMap().get(c)) ? items.get(s.getIngredientMap().get(c)) + 1 : 1);
} else if (r instanceof ShapelessRecipe)
for (ItemStack i : ((ShapelessRecipe) r).getIngredientList())
items.put(i, items.containsKey(i) ? items.get(i) + 1 : 1);
for (Map.Entry<ItemStack, Integer> itemStackIntegerEntry : items.entrySet())
Bukkit.broadcastMessage(itemStackIntegerEntry.getValue() + " " + itemStackIntegerEntry.getKey().getType().toString());
Bukkit.broadcastMessage("results in " + r.getResult().getAmount() + ' ' + r.getResult().getType().toString());
} else
sender.sendMessage(var.getEr() + "Error: " + var.getErMsg() + "You must be a player to craft items.");
return true;
}
CmdCraft.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:Necessities
作者:
评论列表
文章目录