use of cn.nukkit.item.Item in project Nukkit by Nukkit.
the class InventoryContentPacket method encode.
@Override
public void encode() {
this.reset();
this.putUnsignedVarInt(this.inventoryId);
this.putUnsignedVarInt(this.slots.length);
for (Item slot : this.slots) {
this.putSlot(slot);
}
}
use of cn.nukkit.item.Item in project Nukkit by Nukkit.
the class BlockOreEmerald method getDrops.
@Override
public Item[] getDrops(Item item) {
if (item.isPickaxe() && item.getTier() >= ItemTool.TIER_IRON) {
int count = 1;
Enchantment fortune = item.getEnchantment(Enchantment.ID_FORTUNE_DIGGING);
if (fortune != null && fortune.getLevel() >= 1) {
int i = ThreadLocalRandom.current().nextInt(fortune.getLevel() + 2) - 1;
if (i < 0) {
i = 0;
}
count = i + 1;
}
return new Item[] { new ItemEmerald(0, count) };
} else {
return new Item[0];
}
}
use of cn.nukkit.item.Item in project Nukkit by Nukkit.
the class BlockOreQuartz method getDrops.
@Override
public Item[] getDrops(Item item) {
if (item.isPickaxe() && item.getTier() >= ItemTool.TIER_WOODEN) {
int count = 1;
Enchantment fortune = item.getEnchantment(Enchantment.ID_FORTUNE_DIGGING);
if (fortune != null && fortune.getLevel() >= 1) {
int i = ThreadLocalRandom.current().nextInt(fortune.getLevel() + 2) - 1;
if (i < 0) {
i = 0;
}
count = i + 1;
}
return new Item[] { new ItemQuartz(0, count) };
} else {
return new Item[0];
}
}
use of cn.nukkit.item.Item in project Nukkit by Nukkit.
the class BlockOreRedstone method getDrops.
@Override
public Item[] getDrops(Item item) {
if (item.isPickaxe() && item.getTier() >= ItemTool.TIER_IRON) {
int count = new Random().nextInt(2) + 4;
Enchantment fortune = item.getEnchantment(Enchantment.ID_FORTUNE_DIGGING);
if (fortune != null && fortune.getLevel() >= 1) {
count += new Random().nextInt(fortune.getLevel() + 1);
}
return new Item[] { new ItemRedstone(0, count) };
} else {
return new Item[0];
}
}
use of cn.nukkit.item.Item in project Nukkit by Nukkit.
the class BlockItemFrame method getDrops.
@Override
public Item[] getDrops(Item item) {
BlockEntity blockEntity = this.getLevel().getBlockEntity(this);
BlockEntityItemFrame itemFrame = (BlockEntityItemFrame) blockEntity;
int chance = new Random().nextInt(100) + 1;
if (itemFrame != null && chance <= (itemFrame.getItemDropChance() * 100)) {
return new Item[] { toItem(), Item.get(itemFrame.getItem().getId(), itemFrame.getItem().getDamage(), 1) };
} else {
return new Item[] { toItem() };
}
}
Aggregations