Java Code Examples for org.bukkit.Material#SAPLING

The following examples show how to use org.bukkit.Material#SAPLING . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PotBlock.java    From askyblock with GNU General Public License v2.0 4 votes vote down vote up
public boolean prep(Map<String, Tag> tileData) {
    // Initialize as default
    potItem = Material.AIR;
    potItemData = 0;
    try {
        if(tileData.containsKey("Item")){

            // Get the item in the pot
            if (tileData.get("Item") instanceof IntTag) {
                // Item is a number, not a material
                int id = ((IntTag) tileData.get("Item")).getValue();
                potItem = Material.getMaterial(id);
                // Check it's a viable pot item
                if (!potItemList.containsValue(potItem)) {
                    // No, so reset to AIR
                    potItem = Material.AIR;
                }
            } else if (tileData.get("Item") instanceof StringTag) {
                // Item is a material
                String itemName = ((StringTag) tileData.get("Item")).getValue();
                if (potItemList.containsKey(itemName)){
                    // Check it's a viable pot item
                    if (potItemList.containsKey(itemName)) {
                        potItem = potItemList.get(itemName);
                    }
                }
            }

            if(tileData.containsKey("Data")){
                int dataTag = ((IntTag) tileData.get("Data")).getValue();
                // We should check data for each type of potItem 
                if(potItem == Material.RED_ROSE){
                    if(dataTag >= 0 && dataTag <= 8){
                        potItemData = dataTag;
                    } else {
                        // Prevent hacks
                        potItemData = 0;
                    }
                } else if(potItem == Material.YELLOW_FLOWER ||
                        potItem == Material.RED_MUSHROOM ||
                        potItem == Material.BROWN_MUSHROOM ||
                        potItem == Material.CACTUS){
                    // Set to 0 anyway
                    potItemData = 0;
                } else if(potItem == Material.SAPLING){
                    if(dataTag >= 0 && dataTag <= 4){
                        potItemData = dataTag;
                    } else {
                        // Prevent hacks
                        potItemData = 0;
                    }
                } else if(potItem == Material.LONG_GRASS){
                    // Only 0 or 2
                    if(dataTag == 0 || dataTag == 2){
                        potItemData = dataTag;
                    } else {
                        potItemData = 0;
                    }
                } else {
                    // ERROR ?
                    potItemData = 0;
                }
            }
            else {
                potItemData = 0;
            }
        }
        //Bukkit.getLogger().info("Debug: flowerpot item = " + potItem.toString());
        //Bukkit.getLogger().info("Debug: flowerpot item data = " + potItemData);
        //Bukkit.getLogger().info("Debug: flowerpot materialdata = " + new MaterialData(potItem,(byte) potItemData).toString());
    } catch (Exception e) {
        e.printStackTrace();
    }
    return true;
}
 
Example 2
Source File: Sapling.java    From Kettle with GNU General Public License v3.0 2 votes vote down vote up
/**
 * Constructs a sapling of the given tree species and if is it instant
 * growable
 *
 * @param species           the species of the tree block
 * @param isInstantGrowable true if the Sapling should grow when next ticked with bonemeal
 */
public Sapling(TreeSpecies species, boolean isInstantGrowable) {
    this(Material.SAPLING, species, isInstantGrowable);
}