use of org.bukkit.craftbukkit.v1_12_R1.entity.CraftItem in project MyPet by xXKeyleXx.
the class CustomInventory method addItem.
public int addItem(org.bukkit.inventory.ItemStack itemAdd) {
if (itemAdd == null) {
return 0;
}
itemAdd = itemAdd.clone();
for (int i = 0; i < this.getSize(); i++) {
CraftItemStack craftItem = CraftItemStack.asCraftMirror(getItem(i));
if (ItemStackComparator.compareItem(itemAdd, craftItem)) {
if (craftItem.getAmount() >= craftItem.getMaxStackSize()) {
continue;
}
while (craftItem.getAmount() < craftItem.getMaxStackSize() && itemAdd.getAmount() > 0) {
craftItem.setAmount(craftItem.getAmount() + 1);
itemAdd.setAmount(itemAdd.getAmount() - 1);
}
if (itemAdd.getAmount() == 0) {
break;
}
}
}
if (itemAdd.getAmount() > 0) {
for (int i = 0; i < this.getSize(); i++) {
if (getItem(i) == ItemStack.a) {
if (itemAdd.getAmount() <= itemAdd.getMaxStackSize()) {
setItem(i, CraftItemStack.asNMSCopy(itemAdd.clone()));
itemAdd.setAmount(0);
break;
} else {
CraftItemStack itemStack = (CraftItemStack) itemAdd.clone();
itemStack.setAmount(itemStack.getMaxStackSize());
setItem(i, CraftItemStack.asNMSCopy(itemStack));
itemAdd.setAmount(itemAdd.getAmount() - itemStack.getMaxStackSize());
}
if (itemAdd.getAmount() == 0) {
break;
}
}
}
}
return itemAdd.getAmount();
}
use of org.bukkit.craftbukkit.v1_12_R1.entity.CraftItem in project Magma by magmafoundation.
the class CraftWorld method dropItem.
public Item dropItem(Location loc, ItemStack item) {
Validate.notNull(item, "Cannot drop a Null item.");
Validate.isTrue(item.getTypeId() != 0, "Cannot drop AIR.");
EntityItem entity = new EntityItem(world, loc.getX(), loc.getY(), loc.getZ(), CraftItemStack.asNMSCopy(item));
entity.pickupDelay = 10;
world.spawnEntity(entity, SpawnReason.CUSTOM);
// However, this entity is not at the moment backed by a server entity class so it may be left.
return new CraftItem(world.getServer(), entity);
}
use of org.bukkit.craftbukkit.v1_12_R1.entity.CraftItem in project MyPet by MyPetORG.
the class CustomInventory method addItem.
public int addItem(org.bukkit.inventory.ItemStack itemAdd) {
if (itemAdd == null) {
return 0;
}
itemAdd = itemAdd.clone();
for (int i = 0; i < this.getSize(); i++) {
CraftItemStack craftItem = CraftItemStack.asCraftMirror(getItem(i));
if (ItemStackComparator.compareItem(itemAdd, craftItem)) {
if (craftItem.getAmount() >= craftItem.getMaxStackSize()) {
continue;
}
while (craftItem.getAmount() < craftItem.getMaxStackSize() && itemAdd.getAmount() > 0) {
craftItem.setAmount(craftItem.getAmount() + 1);
itemAdd.setAmount(itemAdd.getAmount() - 1);
}
if (itemAdd.getAmount() == 0) {
break;
}
}
}
if (itemAdd.getAmount() > 0) {
for (int i = 0; i < this.getSize(); i++) {
if (getItem(i) == ItemStack.a) {
if (itemAdd.getAmount() <= itemAdd.getMaxStackSize()) {
setItem(i, CraftItemStack.asNMSCopy(itemAdd.clone()));
itemAdd.setAmount(0);
break;
} else {
CraftItemStack itemStack = (CraftItemStack) itemAdd.clone();
itemStack.setAmount(itemStack.getMaxStackSize());
setItem(i, CraftItemStack.asNMSCopy(itemStack));
itemAdd.setAmount(itemAdd.getAmount() - itemStack.getMaxStackSize());
}
if (itemAdd.getAmount() == 0) {
break;
}
}
}
}
return itemAdd.getAmount();
}
Aggregations