mirror of
https://github.com/PikaMug/Quests.git
synced 2025-02-02 05:31:33 +01:00
Workaround for SPIGOT-1009, fixes #788
This commit is contained in:
parent
59b5d61ae2
commit
bb2f8caf3d
@ -508,6 +508,7 @@ public class PlayerListener implements Listener {
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@EventHandler
|
||||
public void onCraftItem(CraftItemEvent evt) {
|
||||
if (evt.getWhoClicked() instanceof Player) {
|
||||
@ -515,7 +516,24 @@ public class PlayerListener implements Listener {
|
||||
Quester quester = plugin.getQuester(evt.getWhoClicked().getUniqueId());
|
||||
for (Quest quest : quester.getCurrentQuests().keySet()) {
|
||||
if (quester.containsObjective(quest, "craftItem")) {
|
||||
quester.craftItem(quest, evt.getCurrentItem());
|
||||
ItemStack result = evt.getRecipe().getResult();
|
||||
int numberOfItems = result.getAmount();
|
||||
if (evt.isShiftClick()) {
|
||||
int itemsChecked = 0;
|
||||
for (ItemStack item : evt.getInventory().getMatrix()) {
|
||||
if (item != null && !item.getType().equals(Material.AIR)) {
|
||||
if (itemsChecked == 0) {
|
||||
numberOfItems = item.getAmount();
|
||||
} else {
|
||||
numberOfItems = Math.min(numberOfItems, item.getAmount());
|
||||
itemsChecked++;
|
||||
}
|
||||
}
|
||||
}
|
||||
quester.craftItem(quest, new ItemStack(result.getType(), numberOfItems, result.getDurability()));
|
||||
} else {
|
||||
quester.craftItem(quest, evt.getCurrentItem());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user