Item Cube inventory populating is no longer delayed by a tick.

This commit is contained in:
sigonasr2 2016-08-14 17:13:10 -05:00
parent f45ff6bf0e
commit dd970a9b23
3 changed files with 11 additions and 10 deletions

Binary file not shown.

View File

@ -3220,7 +3220,7 @@ public class GenericFunctions {
TwosideKeeper.log("Inventory is size "+inv.getSize(),5); TwosideKeeper.log("Inventory is size "+inv.getSize(),5);
for (int i=0;i<inv.getSize();i++) { for (int i=0;i<inv.getSize();i++) {
if (inv.getItem(i)!=null) { if (inv.getItem(i)!=null) {
TwosideKeeper.log("Checking "+inv.getItem(i).toString(), 4); TwosideKeeper.log("Checking "+inv.getItem(i).toString(), 2);
UpdateItemLore(inv.getItem(i)); UpdateItemLore(inv.getItem(i));
} }
} }

View File

@ -2395,10 +2395,11 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
size=27; size=27;
} }
if (!ItemCube.isSomeoneViewingItemCube(itemcube_id,ev.getPlayer())) { if (!ItemCube.isSomeoneViewingItemCube(itemcube_id,ev.getPlayer())) {
InventoryView newinv = ev.getPlayer().openInventory(Bukkit.getServer().createInventory(ev.getPlayer(), size, "Item Cube #"+itemcube_id)); Inventory temp = Bukkit.getServer().createInventory(ev.getPlayer(), size, "Item Cube #"+itemcube_id);
openItemCubeInventory(temp);
InventoryView newinv = ev.getPlayer().openInventory(temp);
PlayerStructure pd = (PlayerStructure) playerdata.get(ev.getPlayer().getUniqueId()); PlayerStructure pd = (PlayerStructure) playerdata.get(ev.getPlayer().getUniqueId());
pd.isViewingItemCube=true; pd.isViewingItemCube=true;
openItemCubeInventory(newinv.getTopInventory(),newinv);
ev.getPlayer().playSound(ev.getPlayer().getLocation(), Sound.BLOCK_CHEST_OPEN, 1.0f, 1.0f); ev.getPlayer().playSound(ev.getPlayer().getLocation(), Sound.BLOCK_CHEST_OPEN, 1.0f, 1.0f);
} else { } else {
//ItemCube.displayErrorMessage(ev.getPlayer()); //ItemCube.displayErrorMessage(ev.getPlayer());
@ -3155,7 +3156,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
PlayerStructure pd = (PlayerStructure)playerdata.get(ev.getPlayer().getUniqueId()); PlayerStructure pd = (PlayerStructure)playerdata.get(ev.getPlayer().getUniqueId());
pd.isViewingInventory=true; pd.isViewingInventory=true;
//GenericFunctions.updateSetItemsInInventory(ev.getInventory()); //GenericFunctions.updateSetItemsInInventory(ev.getInventory());
log("Fired Event.",5);
GenericFunctions.updateSetItemsInInventory(ev.getView().getBottomInventory()); GenericFunctions.updateSetItemsInInventory(ev.getView().getBottomInventory());
GenericFunctions.updateSetItemsInInventory(ev.getView().getTopInventory()); GenericFunctions.updateSetItemsInInventory(ev.getView().getTopInventory());
} }
@ -3711,8 +3711,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.setCancelled(true); ev.setCancelled(true);
ev.setResult(Result.DENY); ev.setResult(Result.DENY);
//pd.itemcubeviews.add(p.getOpenInventory()); //pd.itemcubeviews.add(p.getOpenInventory());
InventoryView newinv = p.openInventory(Bukkit.getServer().createInventory(p, inventory_size, "Item Cube #"+idnumb)); Inventory temp = Bukkit.getServer().createInventory(p, inventory_size, "Item Cube #"+idnumb);
openItemCubeInventory(newinv.getTopInventory(),newinv); openItemCubeInventory(temp);
InventoryView newinv = p.openInventory(temp);
pd.isViewingItemCube=true; pd.isViewingItemCube=true;
p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f); p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f);
} else { } else {
@ -6646,12 +6647,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}} }}
,1);*/ ,1);*/
static public void openItemCubeInventory(Inventory inv, InventoryView inv_view) { static public void openItemCubeInventory(Inventory inv) {
//Check if this is an Item Cube inventory. //Check if this is an Item Cube inventory.
//p.sendMessage("This is an Item Cube inventory."); //p.sendMessage("This is an Item Cube inventory.");
int id = Integer.parseInt(inv.getTitle().split("#")[1]); int id = Integer.parseInt(inv.getTitle().split("#")[1]);
List<ItemStack> itemcube_contents = itemCube_loadConfig(id); List<ItemStack> itemcube_contents = itemCube_loadConfig(id);
for (int i=0;i<inv_view.getTopInventory().getSize();i++) { for (int i=0;i<inv.getSize();i++) {
if (itemcube_contents.get(i)!=null) { if (itemcube_contents.get(i)!=null) {
log("Loading item "+itemcube_contents.get(i).toString()+" in slot "+i,5); log("Loading item "+itemcube_contents.get(i).toString()+" in slot "+i,5);
if (itemcube_contents.get(i).getAmount()>0) { if (itemcube_contents.get(i).getAmount()>0) {