use of cn.nukkit.item.enchantment.Enchantment in project Nukkit by Nukkit.
the class CraftingDataPacket method writeEnchantList.
private static int writeEnchantList(EnchantmentList list, BinaryStream stream) {
stream.putByte((byte) list.getSize());
for (int i = 0; i < list.getSize(); ++i) {
EnchantmentEntry entry = list.getSlot(i);
stream.putUnsignedVarInt(entry.getCost());
stream.putUnsignedVarInt(entry.getEnchantments().length);
for (Enchantment enchantment : entry.getEnchantments()) {
stream.putUnsignedVarInt(enchantment.getId());
stream.putUnsignedVarInt(enchantment.getLevel());
}
stream.putString(entry.getRandomName());
}
return CraftingDataPacket.ENTRY_ENCHANT_LIST;
}
use of cn.nukkit.item.enchantment.Enchantment 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.enchantment.Enchantment 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.enchantment.Enchantment 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.enchantment.Enchantment in project Nukkit by Nukkit.
the class BlockOreDiamond 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 ItemDiamond(0, count) };
} else {
return new Item[0];
}
}
Aggregations