diff --git a/TwosideKeeper.jar b/TwosideKeeper.jar index 8ecd005..aefe7e1 100644 Binary files a/TwosideKeeper.jar and b/TwosideKeeper.jar differ diff --git a/src/sig/plugin/TwosideKeeper/HelperStructures/ItemCube.java b/src/sig/plugin/TwosideKeeper/HelperStructures/ItemCube.java index 5a7e6b7..790df6d 100644 --- a/src/sig/plugin/TwosideKeeper/HelperStructures/ItemCube.java +++ b/src/sig/plugin/TwosideKeeper/HelperStructures/ItemCube.java @@ -1,5 +1,7 @@ package sig.plugin.TwosideKeeper.HelperStructures; +import java.util.Arrays; + import org.bukkit.Bukkit; import org.bukkit.Sound; import org.bukkit.entity.Player; @@ -32,6 +34,7 @@ public class ItemCube { for (Player p : Bukkit.getOnlinePlayers()) { if (checker==null || !p.equals(checker)) { if (p.getOpenInventory()!=null && p.getOpenInventory().getTitle().contains("Item Cube #"+id)) { + TwosideKeeper.log("Updating inventory for player "+p.getName()+"; Inventory "+p.getOpenInventory().getTitle(), 0); //This is an item cube. Check if it's the same number. return p.getOpenInventory().getTopInventory(); } @@ -39,41 +42,6 @@ public class ItemCube { } return null; //Didn't find anything. } - /** - * @deprecated Redundant and unnecessary. - */ - @Deprecated - public static void addItemCubeToAllViewerGraphs(int id, ItemStack cursor, Player checker) { - for (Player p : Bukkit.getOnlinePlayers()) { - if (checker==null || !p.equals(checker)) { - if (p.getOpenInventory()!=null && p.getOpenInventory().getTitle().contains("Item Cube #"+id) && - ItemCubeUtils.isItemCube(cursor)) { - int itemcubeID = ItemCubeUtils.getItemCubeID(cursor); - PlayerStructure pd = PlayerStructure.GetPlayerStructure(p); - TwosideKeeper.itemCubeGraph.addVertex(itemcubeID); - DefaultEdge edge = TwosideKeeper.itemCubeGraph.addEdge(id, itemcubeID); - TwosideKeeper.log("Added edge "+edge+" for player "+p.getName(), 0); - } - } - } - } - /** - * @deprecated Redundant and unnecessary. - */ - @Deprecated - public static void removeItemCubeFromAllViewerGraphs(int id, ItemStack cursor, Player checker) { - for (Player p : Bukkit.getOnlinePlayers()) { - if (checker==null || !p.equals(checker)) { - if (p.getOpenInventory()!=null && p.getOpenInventory().getTitle().contains("Item Cube #"+id) && - ItemCubeUtils.isItemCube(cursor)) { - int itemcubeID = ItemCubeUtils.getItemCubeID(cursor); - PlayerStructure pd = PlayerStructure.GetPlayerStructure(p); - DefaultEdge edge = TwosideKeeper.itemCubeGraph.removeEdge(id, itemcubeID); - TwosideKeeper.log("Removed edge "+edge+" for player "+p.getName(), 0); - } - } - } - } public static void displayErrorMessage(Player p) { SoundUtils.playLocalSound(p, Sound.BLOCK_NOTE_PLING, 0.6f, 4.0f); p.sendMessage("Someone is currently using this Item Cube! Please wait for them to finish."); @@ -82,6 +50,7 @@ public class ItemCube { public static void addToViewersOfItemCube(int idnumb, ItemStack cursor, Player check) { Inventory inv = getViewingItemCubeInventory(idnumb, check); if (inv!=null && cursor!=null) { + //TwosideKeeper.log("Adding items "+cursor+" to Inventory "+inv.getTitle(), 0); inv.addItem(cursor); } } @@ -90,6 +59,7 @@ public class ItemCube { Inventory inv = getViewingItemCubeInventory(idnumb, check); cursor = InventoryUtils.RemoveAllNullItems(cursor); if (inv!=null) { + //TwosideKeeper.log("Adding items "+Arrays.toString(cursor)+" to Inventory "+inv.getTitle(), 0); inv.addItem(cursor); } } diff --git a/src/sig/plugin/TwosideKeeper/HelperStructures/Utils/InventoryUtils.java b/src/sig/plugin/TwosideKeeper/HelperStructures/Utils/InventoryUtils.java index 96593d8..92eff82 100644 --- a/src/sig/plugin/TwosideKeeper/HelperStructures/Utils/InventoryUtils.java +++ b/src/sig/plugin/TwosideKeeper/HelperStructures/Utils/InventoryUtils.java @@ -72,9 +72,9 @@ public class InventoryUtils { Inventory collectionOfItems = AddItemsThatHaveBeenAddedToOurInventoryForOtherVacuumCubeViewers(p, remaining, itemCubeContents, remainingitems); - if (remainingitems.size()==0) { + /*if (remainingitems.size()==0) { ItemCubeUtils.addItemCubeToGraphFromCube(id,remaining[0],p); - } + }*/ //TwosideKeeper.log(Arrays.toString(collectionOfItems.getContents()), 0); ItemCube.addToViewersOfItemCube(id,collectionOfItems.getContents(),null); @@ -144,6 +144,7 @@ public class InventoryUtils { virtualinventory.setItem(i, itemCubeContents.get(i)); } } + //TwosideKeeper.log("This item has a filter cube for ID "+id+". Item: "+remaining[j], 0); //THIS IS WHERE YOU DO THE FILTERING. HashMap remainingitems = ItemCubeUtils.AttemptingToAddItemToFilterCube(id,virtualinventory,remaining); @@ -286,7 +287,7 @@ public class InventoryUtils { public static String getInventoryHash(Inventory destination) { return destination.getLocation().getX()+destination.getLocation().getY()+destination.getLocation().getZ()+destination.getLocation().getWorld().getName(); } - + /* public static int getInventoryNumberHash(Inventory destination) { InventoryHolder holder = destination.getHolder(); int id=-99; @@ -307,7 +308,7 @@ public class InventoryUtils { } public static int getEntityNegativeHash(Entity e) { return Math.min(e.getUniqueId().hashCode(), -e.getUniqueId().hashCode()); - } + }*/ public static ItemStack[] RemoveAllNullItems(ItemStack[] contents) { List items = new ArrayList(); diff --git a/src/sig/plugin/TwosideKeeper/HelperStructures/Utils/ItemCubeUtils.java b/src/sig/plugin/TwosideKeeper/HelperStructures/Utils/ItemCubeUtils.java index 5e518a6..e3e05d0 100644 --- a/src/sig/plugin/TwosideKeeper/HelperStructures/Utils/ItemCubeUtils.java +++ b/src/sig/plugin/TwosideKeeper/HelperStructures/Utils/ItemCubeUtils.java @@ -3,6 +3,7 @@ package sig.plugin.TwosideKeeper.HelperStructures.Utils; import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -65,9 +66,16 @@ public class ItemCubeUtils { Hopper h = getFilterCubeHopper(id); Inventory inv = h.getInventory(); HashMap reject_items = new HashMap(); + List itemcubecontentslist = new ArrayList(); + for (int i=0;i extras = cube_inv.addItem(it); if (extras.size()==0) { List itemslist = new ArrayList(); @@ -88,13 +96,13 @@ public class ItemCubeUtils { } } } - ItemCube.addToViewersOfItemCube(id,remaining,null); + //ItemCube.addToViewersOfItemCube(id,origitem,null); if (!testing) { TwosideKeeper.itemCube_saveConfig(id, itemslist); TwosideKeeper.itemcube_updates.put(id, itemcube_list);//This Item Cube can be saved. } - ItemCubeUtils.addItemCubeToGraphFromCube(id, it, (Player)cube_inv.getHolder()); + //ItemCubeUtils.addItemCubeToGraphFromCube(id, it, (Player)cube_inv.getHolder()); } else { for (ItemStack i : extras.values()) { reject_items.put(reject_items.size(), i); @@ -122,6 +130,10 @@ public class ItemCubeUtils { } } } + Inventory collectionOfItems = InventoryUtils.AddItemsThatHaveBeenAddedToOurInventoryForOtherVacuumCubeViewers(null, + remaining, itemcubecontentslist, extras); + + ItemCube.addToViewersOfItemCube(id,collectionOfItems.getContents(),null); } else { reject_items.put(reject_items.size(), it); } @@ -420,6 +432,7 @@ public class ItemCubeUtils { } TwosideKeeper.itemcube_updates.put(ItemCubeUtils.getItemCubeID(item), itemcube_list); } + /* public static void populateItemCubeGraph(Player p) { PlayerStructure pd = PlayerStructure.GetPlayerStructure(p); UndirectedGraph graph = TwosideKeeper.itemCubeGraph; @@ -576,7 +589,7 @@ public class ItemCubeUtils { graph.removeEdge(edge); } - } + }*/ /*public static void removeItemCubeFromGraph(int sourceCubeID, ItemStack item, Player p) { @@ -594,6 +607,7 @@ public class ItemCubeUtils { } } }*/ + /* public static boolean isConnectedToRootNode(Graph g, Integer vertex) { return isConnectedToRootNode(g,vertex,new ArrayList()); } @@ -616,7 +630,7 @@ public class ItemCubeUtils { } } return false; - } + }*/ public static int ParseItemCubeInventoryID(Inventory destination) { return Integer.parseInt(destination.getTitle().split("#")[1]); } diff --git a/src/sig/plugin/TwosideKeeper/TwosideKeeper.java b/src/sig/plugin/TwosideKeeper/TwosideKeeper.java index 108729f..c923f50 100644 --- a/src/sig/plugin/TwosideKeeper/TwosideKeeper.java +++ b/src/sig/plugin/TwosideKeeper/TwosideKeeper.java @@ -180,9 +180,6 @@ import org.bukkit.potion.PotionEffectTypeWrapper; import org.bukkit.potion.PotionType; import org.bukkit.util.Vector; import org.inventivetalent.glow.GlowAPI; -import org.jgrapht.UndirectedGraph; -import org.jgrapht.graph.DefaultEdge; -import org.jgrapht.graph.SimpleGraph; import com.google.common.collect.ImmutableSet; @@ -570,8 +567,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener { boolean lamps_are_turned_on = false; public static boolean PLAYERJOINTOGGLE=false; - - public static UndirectedGraph itemCubeGraph = new SimpleGraph<>(DefaultEdge.class); private final class GivePlayerPurchasedItems implements Runnable { @@ -1236,8 +1231,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener { int ite2 = GetFullStructureMap("ite"); int las = GetFullStructureMap("las"); int blo2 = GetFullStructureMap("blo2"); - int graphedge = itemCubeGraph.edgeSet().size(); - int graphvert = itemCubeGraph.vertexSet().size(); DecimalFormat df = new DecimalFormat("0.00"); sender.sendMessage(ChatColor.WHITE+"TPS: "+GetTPSColor(tps)+df.format(tps)); sender.sendMessage(ChatColor.WHITE+Display("SNO",sno)+Display("PLA",pla)+Display("LIV",liv)); @@ -1251,7 +1244,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener { sender.sendMessage(ChatColor.WHITE+Display("ITE",ite)+Display("PRI",pri)+Display("P-OPE",ope)); sender.sendMessage(ChatColor.WHITE+Display("P-DEA",dea)+Display("P-HIT",hit)+Display("P-ITE2",ite2)); sender.sendMessage(ChatColor.WHITE+Display("P-LAS",las)+Display("P-BLO2",blo2)+Display("P-DAM",dam)); - sender.sendMessage(ChatColor.WHITE+Display("G-EDG",graphedge)+Display("G-VERT",graphvert)); sender.sendMessage(ChatColor.WHITE+DisplayPlayerBar()); sender.sendMessage(ChatColor.WHITE+"To view a specific player's usage, use "+ChatColor.GREEN+"\"/debugreport \""); sender.sendMessage(ChatColor.WHITE+"To view specific entities' usage, use "+ChatColor.GREEN+"\"/debugreport ALLENTS\""); @@ -2539,7 +2531,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener { ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setPrefix(GenericFunctions.PlayerModePrefix(ev.getPlayer())); ev.getPlayer().getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0d); - ItemCubeUtils.populateItemCubeGraph(ev.getPlayer()); + //ItemCubeUtils.populateItemCubeGraph(ev.getPlayer()); } public static void AnnounceDealOfTheDay(Player p) { @@ -4881,42 +4873,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener { ev.setCancelled(true); } } - - if (ItemCubeUtils.isItemCube(ev.getItemDrop().getItemStack())) { - //ItemCubeUtils.removeAndUpdateAllEdgesDroppedItem(ItemCubeUtils.getItemCubeID(ev.getItemDrop().getItemStack()),ev.getPlayer()); - //ItemCubeUtils.DestroyAllTargetEdges(ItemCubeUtils.getItemCubeID(ev.getItemDrop().getItemStack()), TwosideKeeper.itemCubeGraph); - int cubeid = ItemCubeUtils.getItemCubeID(ev.getItemDrop().getItemStack()); - if (ev.getPlayer().getOpenInventory()!=null && - ev.getPlayer().getOpenInventory().getTitle()!=null && - ev.getPlayer().getOpenInventory().getTitle().contains("Item Cube #") && - PlayerStructure.GetPlayerStructure(ev.getPlayer()).isViewingItemCube) { - //We are viewing an item cube. Update it. - int id = Integer.parseInt(ev.getPlayer().getOpenInventory().getTitle().split("#")[1]); - //ItemCubeUtils.removeAndUpdateAllEdges(id,ev.getPlayer()); - DefaultEdge edge = TwosideKeeper.itemCubeGraph.removeEdge(id, cubeid); - if (edge!=null) { - TwosideKeeper.log("Removed edge "+edge, TwosideKeeper.GRAPH_DEBUG); - } else - edge = TwosideKeeper.itemCubeGraph.removeEdge(PlayerStructure.getPlayerNegativeHash(ev.getPlayer()), cubeid); - if (edge!=null) { - TwosideKeeper.log("Removed edge "+edge, TwosideKeeper.GRAPH_DEBUG); - } - } else { - int id = InventoryUtils.getInventoryNumberHash(ev.getPlayer().getOpenInventory().getTopInventory()); - DefaultEdge edge = TwosideKeeper.itemCubeGraph.removeEdge(id, cubeid); - if (edge!=null) { - TwosideKeeper.log("Removed edge "+edge, TwosideKeeper.GRAPH_DEBUG); - } else - edge = TwosideKeeper.itemCubeGraph.removeEdge(PlayerStructure.getPlayerNegativeHash(ev.getPlayer()), cubeid); - if (edge!=null) { - TwosideKeeper.log("Removed edge "+edge, TwosideKeeper.GRAPH_DEBUG); - } - } - - /* else { - ItemCubeUtils.removeAndUpdateAllEdges(InventoryUtils.getInventoryNumberHash(ev.getPlayer().getOpenInventory().getTopInventory()),ev.getPlayer()); - }*/ - } /*if (ItemCubeUtils.isItemCube(ev.getItemDrop().getItemStack())) { if (ev.getPlayer().getOpenInventory()!=null && ev.getPlayer().getOpenInventory().getTitle()!=null && @@ -4941,18 +4897,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener { //GenericFunctions.updateSetItemsInInventory(ev.getInventory()); GenericFunctions.updateSetItemsInInventory(ev.getView().getBottomInventory()); GenericFunctions.updateSetItemsInInventory(ev.getView().getTopInventory()); - ItemCubeUtils.setupGraphForChest(ev.getInventory()); - showAllIncomingEdges(ev.getInventory()); + //ItemCubeUtils.setupGraphForChest(ev.getInventory()); } - private void showAllIncomingEdges(Inventory inventory) { - int invID = InventoryUtils.getInventoryNumberHash(inventory); - TwosideKeeper.log("===============", TwosideKeeper.GRAPH_DEBUG2); - for (DefaultEdge edge : TwosideKeeper.itemCubeGraph.edgesOf(invID)) { - TwosideKeeper.log(edge.toString(), TwosideKeeper.GRAPH_DEBUG2); - } - } - @EventHandler(priority=EventPriority.LOW,ignoreCancelled = true) public void onInventoryClose(InventoryCloseEvent ev) { if (ev.getPlayer() instanceof Player) { @@ -5023,7 +4970,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener { CubeType cub = p.getOpenInventory().getTopInventory().getSize()==9?CubeType.NORMAL:p.getOpenInventory().getTopInventory().getSize()==54?CubeType.VACUUM:CubeType.LARGE; SoundUtils.playLocalSound(p, Sound.BLOCK_CHEST_CLOSE, 1.0f, 1.0f); itemCube_saveConfig(id,itemcube_contents,cub); - ItemCubeUtils.removeAndUpdateAllEdges(id,p); + //ItemCubeUtils.removeAndUpdateAllEdges(id,p); itemcube_updates.put(id, itemcube_list);//This Item Cube can be saved. if (!pd.opened_another_cube) { ItemCubeWindow.removeAllItemCubeWindows(p); @@ -5523,7 +5470,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener { //We clicked an item cube. Check its ID. int clicked_id = Integer.parseInt(ev.getCurrentItem().getItemMeta().getLore().get(i).split("#")[1]); log("ID is "+clicked_id+" and we are viewing "+itemcubeid,5); - /*if (clicked_id==itemcubeid) { + if (clicked_id==itemcubeid) { //The inventory we are viewing is the same as the item cube we have clicked on! //Stop this before the player does something dumb! //Player p = ((Player)ev.getWhoClicked()); @@ -5531,7 +5478,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener { //TwosideKeeper.log("In here Item Cubes..", 0); ev.setCancelled(true); return; - }*/ + } } } } @@ -5621,14 +5568,14 @@ public class TwosideKeeper extends JavaPlugin implements Listener { int id = ItemCubeUtils.getItemCubeID(ev.getCursor()); //TwosideKeeper.itemCubeGraph.addEdge(idnumb, id); //Does this make a root connection? - if (!ItemCubeUtils.isConnectedToRootNode(TwosideKeeper.itemCubeGraph, idnumb)) { + /*if (!ItemCubeUtils.isConnectedToRootNode(TwosideKeeper.itemCubeGraph, idnumb)) { //This is not allowed! TwosideKeeper.log("No ROOT NODE found! Do not allow this.", 0); //TwosideKeeper.itemCubeGraph.removeEdge(idnumb, id); ev.setCursor(ev.getCursor()); ev.setCancelled(true); return; - } + }*/ } /*if (cub==CubeType.VACUUM) { @@ -5664,11 +5611,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener { if (result.size()>0) { ev.setCursor((ItemStack)result.get(0)); } else { - if (ItemCubeUtils.isItemCube(ev.getCursor())) { - int id = ItemCubeUtils.getItemCubeID(ev.getCursor()); - DefaultEdge edge = TwosideKeeper.itemCubeGraph.addEdge(idnumb, id); - TwosideKeeper.log("Added edge "+edge, 0); - } ev.setCursor(new ItemStack(Material.AIR)); log("Cursor should be air.",5); } @@ -5705,11 +5647,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener { if (result.size()>0) { ev.setCursor((ItemStack)result.get(0)); } else { - if (ItemCubeUtils.isItemCube(ev.getCursor())) { - int id = ItemCubeUtils.getItemCubeID(ev.getCursor()); - DefaultEdge edge = TwosideKeeper.itemCubeGraph.addEdge(idnumb, id); - TwosideKeeper.log("Added edge "+edge, 0); - } ev.setCursor(new ItemStack(Material.AIR)); } List itemslist = new ArrayList(); @@ -5814,313 +5751,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener { } } } - - if (ev.getClickedInventory()!=null && - ev.getInventory().getType()!=InventoryType.CRAFTING) { - Player p = (Player)ev.getWhoClicked(); - if ((ev.getAction()==InventoryAction.HOTBAR_SWAP || ev.getAction()==InventoryAction.HOTBAR_MOVE_AND_READD)) { - Inventory clickedinv = p.getOpenInventory().getTopInventory(); - if (clickedinv!=null && ev.getRawSlot()=clickedinv.getSize()) { - int clickedid = ItemCubeUtils.getItemCubeID(item); - try { - DefaultEdge edge = TwosideKeeper.itemCubeGraph.addEdge(PlayerStructure.getPlayerNegativeHash(p), clickedid); - TwosideKeeper.log("Added edge "+edge, TwosideKeeper.GRAPH_DEBUG); - } catch (IllegalArgumentException ex) { - ev.setCancelled(true); - ev.setCursor(ev.getCursor()); - return; - } - } else { - int clickedid = ItemCubeUtils.getItemCubeID(item); - try { - DefaultEdge edge = TwosideKeeper.itemCubeGraph.addEdge(InventoryUtils.getInventoryNumberHash(clickedinv), clickedid); - TwosideKeeper.log("Added edge "+edge, TwosideKeeper.GRAPH_DEBUG); - } catch (IllegalArgumentException ex) { - ev.setCancelled(true); - ev.setCursor(ev.getCursor()); - return; - } - } - } - } - } - } - } - - - public void PerformVacuumCubeChecks(InventoryClickEvent ev) { if (((ev.getInventory().getType()!=InventoryType.WORKBENCH && ev.getRawSlot()>=0) || (ev.getInventory().getType()==InventoryType.WORKBENCH && ev.getRawSlot()>9)) && ev.getCurrentItem()!=null) { @@ -8181,7 +7813,25 @@ public class TwosideKeeper extends JavaPlugin implements Listener { /** * MUST BE HANDLED AFTER EVERYTHING ELSE. */ - + + //TwosideKeeper.log("(1)Item is "+ev.getItem().getItemStack(), 0); + if (InventoryUtils.isCarryingFilterCube(p)) { + //Try to insert it into the Filter cube. + //TwosideKeeper.log("(2)Item is "+ev.getItem().getItemStack(), 0); + ItemStack[] remaining = InventoryUtils.insertItemsInFilterCube(p, ev.getItem().getItemStack()); + //TwosideKeeper.log("(3)Item is "+ev.getItem().getItemStack(), 0); + if (remaining.length==0) { + ev.setCancelled(true); + SoundUtils.playGlobalSound(ev.getPlayer().getLocation(), Sound.ENTITY_ITEM_PICKUP, 0.6f, SoundUtils.DetermineItemPitch(ev.getItem().getItemStack())); + PlayPickupParticle(ev.getPlayer(),ev.getItem()); + ev.getItem().remove(); + return; + } else { + ev.getItem().setItemStack(remaining[0]); + } + } + + //TwosideKeeper.log("(1)Item is "+ev.getItem().getItemStack(), 0); if (ev.getItem().getItemStack().getType().isBlock() && InventoryUtils.isCarryingVacuumCube(p)) { //Try to insert it into the Vacuum cube. ItemStack[] remaining = InventoryUtils.insertItemsInVacuumCube(p, ev.getItem().getItemStack()); @@ -8196,21 +7846,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener { } } - if (InventoryUtils.isCarryingFilterCube(p)) { - //Try to insert it into the Filter cube. - ItemStack[] remaining = InventoryUtils.insertItemsInFilterCube(p, ev.getItem().getItemStack()); - if (remaining.length==0) { - ev.setCancelled(true); - SoundUtils.playGlobalSound(ev.getPlayer().getLocation(), Sound.ENTITY_ITEM_PICKUP, 0.6f, SoundUtils.DetermineItemPitch(ev.getItem().getItemStack())); - PlayPickupParticle(ev.getPlayer(),ev.getItem()); - ev.getItem().remove(); - return; - } else { - ev.getItem().setItemStack(remaining[0]); - } - } - - ItemCubeUtils.pickupAndAddItemCubeToGraph(ev.getItem().getItemStack(), p); + //ItemCubeUtils.pickupAndAddItemCubeToGraph(ev.getItem().getItemStack(), p); ev.setCancelled(true); ItemStack givenitem = ev.getItem().getItemStack().clone(); diff --git a/src/sig/plugin/TwosideKeeper/runServerHeartbeat.java b/src/sig/plugin/TwosideKeeper/runServerHeartbeat.java index b6f62b4..6ad4432 100644 --- a/src/sig/plugin/TwosideKeeper/runServerHeartbeat.java +++ b/src/sig/plugin/TwosideKeeper/runServerHeartbeat.java @@ -631,10 +631,14 @@ final class runServerHeartbeat implements Runnable { if (ent instanceof Item && GenericFunctions.itemCanBeSuckedUp((Item)ent,p)) { Item it = (Item)ent; if (it.getPickupDelay()<=0) { + TwosideKeeper.log("(1)Item is "+it.getItemStack(), 0); events.PlayerManualPickupItemEvent ev = new events.PlayerManualPickupItemEvent(p, it.getItemStack()); Bukkit.getPluginManager().callEvent(ev); + TwosideKeeper.log("(2)Item is "+it.getItemStack(), 0); if (!ev.isCancelled()) { + TwosideKeeper.log("(3)Item is "+it.getItemStack(), 0); boolean handled = TwosideKeeper.AutoEquipItem(it.getItemStack(), p); + TwosideKeeper.log("(4)Item is "+it.getItemStack(), 0); if (!handled) { ItemStack[] remaining = InventoryUtils.insertItemsInFilterCube(p, it.getItemStack()); if (remaining.length==0) { @@ -723,6 +727,11 @@ final class runServerHeartbeat implements Runnable { return; } count++; + if (ent.isValid()) { + if (ignoredItems.contains(ent.getUniqueId())) { + pd.ignoreItemsList.add(ent.getUniqueId()); + } + } if (count>8) { return; } @@ -732,11 +741,6 @@ final class runServerHeartbeat implements Runnable { ent.setVelocity(new Vector(xvel,yvel,zvel)); } } - if (ent.isValid()) { - if (ignoredItems.contains(ent.getUniqueId())) { - pd.ignoreItemsList.add(ent.getUniqueId()); - } - } /*if (ent.getLocation().getX()