@Override public Collection<ItemStack> getDrops(GlowBlock block, ItemStack tool) { MaterialData data = block.getState().getData(); if (data instanceof DoublePlant) { DoublePlantSpecies species = ((DoublePlant) data).getSpecies(); if (species != DoublePlantSpecies.DOUBLE_TALLGRASS && species != DoublePlantSpecies.LARGE_FERN && species != DoublePlantSpecies.PLANT_APEX) { return Collections.unmodifiableList(Arrays.asList(data.toItemStack(1))); } } else { warnMaterialData(DoublePlant.class, data); } return BlockDropless.EMPTY_STACK; }
@Override public void grow(GlowPlayer player, GlowBlock block) { MaterialData data = block.getState().getData(); if (data instanceof DoublePlant) { if (((DoublePlant) data).getSpecies() == DoublePlantSpecies.PLANT_APEX) { data = block.getRelative(BlockFace.DOWN).getState().getData(); if (!(data instanceof DoublePlant)) { return; } } DoublePlantSpecies species = ((DoublePlant) data).getSpecies(); switch (species) { case SUNFLOWER: case LILAC: case ROSE_BUSH: case PEONY: block.getWorld() .dropItemNaturally(block.getLocation(), new ItemStack(data.toItemStack(1))); break; default: break; } } else { warnMaterialData(DoublePlant.class, data); } }
public void convertEnderman(Enderman enderman, TagCompound properties) { if (enderman.getCarriedMaterial().getItemType() != Material.AIR) { ItemStack block = enderman.getCarriedMaterial().toItemStack(1); properties.getCompoundData().put("Block", MyPetApi.getPlatformHelper().itemStackToCompund(block)); } }
short durability = block.getState().getData().toItemStack(0).getDurability(); Material material = block.getType(); if ("DOUBLE_PLANT".equals(material.name())) { if (durability == 10) { durability = block.getRelative(BlockFace.DOWN).getState().getData().toItemStack(0).getDurability();
@SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockPlace(BlockPlaceEvent event) { Player player = event.getPlayer(); if (!shouldIncreaseBeTakenIntoAccountNoPermissions(player)) { return; } Block block = event.getBlock(); MultipleAchievements category = MultipleAchievements.PLACES; String blockName = block.getType().name().toLowerCase(); if (!player.hasPermission(category.toPermName() + '.' + blockName)) { return; } Set<String> foundAchievements = findAchievementsByCategoryAndName( category, blockName + ':' + block.getState().getData().toItemStack(0).getDurability()); foundAchievements.addAll(findAchievementsByCategoryAndName(category, blockName)); foundAchievements.forEach(achievement -> updateStatisticAndAwardAchievementsIfAvailable(player, category, achievement, 1)); } }
@SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockBreak(BlockBreakEvent event) { Player player = event.getPlayer(); boolean silkTouchBreak = (serverVersion >= 9 && player.getInventory().getItemInMainHand().containsEnchantment(Enchantment.SILK_TOUCH)) || serverVersion < 9 && player.getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH); if (!shouldIncreaseBeTakenIntoAccountNoPermissions(player) || disableSilkTouchBreaks && silkTouchBreak) { return; } Block block = event.getBlock(); if (disableSilkTouchOreBreaks && silkTouchBreak && isOre(block.getType().name())) { return; } MultipleAchievements category = MultipleAchievements.BREAKS; String blockName = block.getType().name().toLowerCase(); if (!player.hasPermission(category.toPermName() + '.' + blockName)) { return; } Set<String> foundAchievements = findAchievementsByCategoryAndName( category, blockName + ':' + block.getState().getData().toItemStack().getDurability()); foundAchievements.addAll(findAchievementsByCategoryAndName(category, blockName)); foundAchievements.forEach(achievement -> updateStatisticAndAwardAchievementsIfAvailable(player, category, achievement, 1)); }
MaterialData data = ingredient.getData(); if (ingredient.getData().getData() < 0) data.setData((byte) 0); ingredient = data.toItemStack(ingredient.getAmount()); MaterialData data = ingredient.getData(); if (ingredient.getData().getData() < 0) data.setData((byte) 0); ingredient = data.toItemStack(ingredient.getAmount()); MaterialData data = ingredient.getData(); if (ingredient.getData().getData() < 0) data.setData((byte) 0); ingredient = data.toItemStack(ingredient.getAmount());