From b5481a76631e00ef5d036628ecc5003199e890ed Mon Sep 17 00:00:00 2001 From: Blackvein Date: Mon, 5 Nov 2012 11:35:28 -0800 Subject: [PATCH] Unstable --- src/me/blackvein/quests/PlayerListener.java | 15 +++++- src/me/blackvein/quests/Quests.java | 25 ++++++---- src/me/blackvein/quests/StageTimer.java | 52 +++++++++++---------- 3 files changed, 59 insertions(+), 33 deletions(-) diff --git a/src/me/blackvein/quests/PlayerListener.java b/src/me/blackvein/quests/PlayerListener.java index 2f2966e58..57975685f 100644 --- a/src/me/blackvein/quests/PlayerListener.java +++ b/src/me/blackvein/quests/PlayerListener.java @@ -26,6 +26,7 @@ import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerFishEvent.State; import org.bukkit.event.player.*; +import org.bukkit.inventory.CraftingInventory; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; @@ -276,7 +277,19 @@ public class PlayerListener implements Listener { if(evt.isShiftClick()){ - evt. + final int amntBefore = Quests.countInv(evt.getInventory(), evt.getCurrentItem().getType()); + final Material mat = evt.getCurrentItem().getType(); + final Inventory inv = evt.getInventory(); + plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){ + + @Override + public void run(){ + + int amntAfter = Quests.countInv(evt.getInventory(), mat); + + } + + }, 5); } diff --git a/src/me/blackvein/quests/Quests.java b/src/me/blackvein/quests/Quests.java index 595f7e205..8f41fc388 100644 --- a/src/me/blackvein/quests/Quests.java +++ b/src/me/blackvein/quests/Quests.java @@ -25,9 +25,7 @@ import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryType; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.PlayerInventory; +import org.bukkit.inventory.*; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.potion.PotionEffect; @@ -3799,10 +3797,21 @@ public class Quests extends JavaPlugin implements ConversationAbandonedListener return null; } - - public int getCraftTimes(Inventory i, Recipe r){ - - return 0; - + + public static int countInv(Inventory inv, Material m){ + + int count = 0; + + for(ItemStack i : inv.getContents()){ + + if(i != null){ + if(i.getType().equals(m)) + count += i.getAmount(); + } + + } + + return count; + } } diff --git a/src/me/blackvein/quests/StageTimer.java b/src/me/blackvein/quests/StageTimer.java index cce539dd0..32f6f9f9f 100644 --- a/src/me/blackvein/quests/StageTimer.java +++ b/src/me/blackvein/quests/StageTimer.java @@ -22,41 +22,45 @@ public class StageTimer implements Runnable{ Player player = plugin.getServer().getPlayerExact(quester.name); - if(quester.currentQuest.stages.indexOf(quester.currentStage) == (quester.currentQuest.stages.size() - 1)){ - - if(quester.currentStage.script != null) - plugin.trigger.parseQuestTaskTrigger(quester.currentStage.script, player); - if(quester.currentStage.event != null) - quester.currentStage.event.happen(player); - - quester.currentQuest.completeQuest(quester); + if(quester.currentQuest != null){ - }else { + if(quester.currentQuest.stages.indexOf(quester.currentStage) == (quester.currentQuest.stages.size() - 1)){ - quester.reset(); - player.sendMessage(plugin.parseString(quester.currentStage.finished, quester.currentQuest)); - if(quester.currentStage.script != null) - plugin.trigger.parseQuestTaskTrigger(quester.currentStage.script, player); - if(quester.currentStage.event != null) - quester.currentStage.event.happen(player); - quester.currentStage = quester.currentQuest.stages.get(quester.currentQuest.stages.indexOf(quester.currentStage) + 1); - quester.addEmpties(); - quester.delayStartTime = 0; - quester.delayTimeLeft = -1; + if(quester.currentStage.script != null) + plugin.trigger.parseQuestTaskTrigger(quester.currentStage.script, player); + if(quester.currentStage.event != null) + quester.currentStage.event.happen(player); - player.sendMessage(ChatColor.GOLD + "---(Objectives)---"); - for(String s : quester.getObjectives()){ + quester.currentQuest.completeQuest(quester); - player.sendMessage(s); + }else { + + quester.reset(); + player.sendMessage(plugin.parseString(quester.currentStage.finished, quester.currentQuest)); + if(quester.currentStage.script != null) + plugin.trigger.parseQuestTaskTrigger(quester.currentStage.script, player); + if(quester.currentStage.event != null) + quester.currentStage.event.happen(player); + quester.currentStage = quester.currentQuest.stages.get(quester.currentQuest.stages.indexOf(quester.currentStage) + 1); + quester.addEmpties(); + quester.delayStartTime = 0; + quester.delayTimeLeft = -1; + + player.sendMessage(ChatColor.GOLD + "---(Objectives)---"); + for(String s : quester.getObjectives()){ + + player.sendMessage(s); + + } } } + quester.delayOver = true; + } - quester.delayOver = true; - } }