Working with InventoryUtil and removing NMS references.
This commit is contained in:
parent
e1687d24a6
commit
c12c1ac765
@ -2,7 +2,7 @@ package com.massivecraft.mcore.adapter;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import org.bukkit.craftbukkit.v1_5_R1.inventory.CraftInventoryCustom;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
@ -80,29 +80,11 @@ public class InventoryAdapter implements JsonDeserializer<Inventory>, JsonSerial
|
||||
itemStacks[i] = itemStack;
|
||||
}
|
||||
|
||||
Inventory ret = new CraftInventoryCustom(null, size, "items");
|
||||
Inventory ret = Bukkit.createInventory(null, size);
|
||||
ret.setContents(itemStacks);
|
||||
return ret;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// UTIL
|
||||
// -------------------------------------------- //
|
||||
|
||||
// This utility is nice to have in many cases :)
|
||||
public static boolean isInventoryEmpty(Inventory inv)
|
||||
{
|
||||
if (inv == null) return true;
|
||||
for (ItemStack stack : inv.getContents())
|
||||
{
|
||||
if (stack == null) continue;
|
||||
if (stack.getAmount() == 0) continue;
|
||||
if (stack.getTypeId() == 0) continue;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// INSTANCE
|
||||
// -------------------------------------------- //
|
||||
|
@ -3,7 +3,7 @@ package com.massivecraft.mcore.util;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.craftbukkit.v1_5_R1.inventory.CraftInventoryCustom;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@ -11,27 +11,58 @@ import org.bukkit.inventory.ItemStack;
|
||||
public class InventoryUtil
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// CREATE
|
||||
// EVENT INTERPRETATION
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static Inventory create(int size)
|
||||
public static boolean isGiving(InventoryClickEvent event)
|
||||
{
|
||||
return create(null, size, "Chest");
|
||||
// Was the upper inventory clicked?
|
||||
boolean upperClicked = event.getRawSlot() < event.getInventory().getSize();
|
||||
|
||||
boolean ret = false;
|
||||
|
||||
if (upperClicked)
|
||||
{
|
||||
ret = (event.getCursor() != null && event.getCursor().getAmount() > 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = event.isShiftClick();
|
||||
}
|
||||
|
||||
public static Inventory create(InventoryHolder owner, int size)
|
||||
{
|
||||
return create(owner, size, "Chest");
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static Inventory create(int size, String title)
|
||||
public static boolean isTaking(InventoryClickEvent event)
|
||||
{
|
||||
return create(null, size, title);
|
||||
// Was the upper inventory clicked?
|
||||
boolean upperClicked = event.getRawSlot() < event.getInventory().getSize();
|
||||
|
||||
boolean ret = false;
|
||||
|
||||
if (upperClicked)
|
||||
{
|
||||
ret = (event.getCurrentItem() != null && event.getCurrentItem().getAmount() > 0);
|
||||
}
|
||||
|
||||
public static Inventory create(InventoryHolder owner, int size, String title)
|
||||
return ret;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// IS EMPTY?
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static boolean isEmpty(Inventory inv)
|
||||
{
|
||||
return new CraftInventoryCustom(owner, size, title);
|
||||
if (inv == null) return true;
|
||||
for (ItemStack stack : inv.getContents())
|
||||
{
|
||||
if (stack == null) continue;
|
||||
if (stack.getAmount() == 0) continue;
|
||||
if (stack.getTypeId() == 0) continue;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
|
Loading…
Reference in New Issue
Block a user