C:\minecraft\server\PetWolf2\src\com\javaminecraft\PetWolf2.java
package com.javaminecraft; 
 
import java.util.HashMap;
import java.util.logging.*;
import org.bukkit.*;
import org.bukkit.block.Block;
import org.bukkit.command.*;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockDispenseEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.*;
 
public class PetWolf2 extends JavaPlugin implements Listener { 
    public static final Logger LOG = Logger.getLogger("Minecraft");
    HashMap<String, Integer> one = new HashMap<String, Integer>();
    private ItemStack item;
    private ItemMeta meta;
   
    public void onEnable()
    {
      getServer().getPluginManager().registerEvents(this, this);
    }
    
    //EventHandler
    public void onPlayerJoin(PlayerJoinEvent join){
        Player player = join.getPlayer();
        one.put(player.getDisplayName(), null);
    }
    //@EventHandler
    public void onDispense(BlockDispenseEvent event) {
     event.getItem().getType();
     if (Material.LAVA_BUCKET != null) {
        event.setCancelled(true);
     }
    }
    public void onBlockBreak(BlockBreakEvent event) {
        if (event.getBlock().getType() == Material.DIAMOND_ORE) {
          getServer().broadcastMessage(ChatColor.AQUA + "Hrac " + ChatColor.GOLD + event.getPlayer().getDisplayName() + ChatColor.AQUA + " prave nasel diamanty!");
        }    
        if (event.getBlock().getType() == Material.STONE) {
          getServer().broadcastMessage(ChatColor.AQUA + "Hrac " + ChatColor.GOLD + event.getPlayer().getDisplayName() + ChatColor.AQUA + " prave nasel kameni!");
        }
        getServer().broadcastMessage(ChatColor.AQUA + "Hrac " + ChatColor.GOLD + event.getPlayer().getDisplayName() + ChatColor.AQUA + " prave nasel"+event.getBlock().getType()+" kameni!");
    }
    
    public void ItemBuilder(String name){
        item = new ItemStack( Material.STONE );
        meta = item.getItemMeta();
        if(name != null){
            meta.setDisplayName( name );
            item.setItemMeta( meta );
        }
    }
    
    public boolean onCommand(CommandSender sender, Command command, 
        String label, String[] arguments) {
         
        if (sender instanceof Player) { 
            if (label.equalsIgnoreCase("petwolf")) { 
                // get the player
                Player me = (Player) sender;
                // get the player's current location
                Location spot = me.getLocation();
                // get the game world
                World world = me.getWorld();
 
                // spawn one wolf
                Wolf wolf = world.spawn(spot, Wolf.class);
                // set the color of its collar
                wolf.setCollarColor(DyeColor.PINK);
                LOG.info("[PetWolf] Howl!");
                
                Location spot1 = me.getLocation();
                spot1.setX(spot1.getX()+2);
                Chicken chicken = world.spawn(spot1, Chicken.class);

                getServer().broadcastMessage(ChatColor.AQUA + "Hrac " + ChatColor.GOLD + me.getPlayer().getDisplayName() + ChatColor.AQUA + " prave vytvoril vlka a slepici!!");

                
                return true;
            }
            if (label.equalsIgnoreCase("wall")) { 
                // get the player
                Player me = (Player) sender;
                // get the player's current location
                Location spot = me.getLocation();
                // get the game world
                World world = me.getWorld();
 
                int spotX = spot.getBlockX();
                int spotY = spot.getBlockY()-1;
                int spotZ = spot.getBlockZ();
        
                for (int k = 0; k < 20; k++) {
                    spot.setZ(spotZ+k);
                    spot.setY(spotY);
                    for (int i = 0; i < 5; i++) {
                        spot.setX(spotX+i);
                        Block here = spot.getBlock();
                        here.setType(Material.COAL_ORE);
                    }
                    spot.setY(spotY+1);
                    for (int i = 0; i < 4; i++) {
                        spot.setX(spotX+i);
                        Block here = spot.getBlock();
                        here.setType(Material.AIR);
                    }
                    spot.setY(spotY+2);
                    for (int i = 0; i < 5; i++) {
                        spot.setX(spotX+i);
                        Block here = spot.getBlock();
                        here.setType(Material.AIR);
                    }
                    spot.setY(spotY+3);
                    for (int i = 0; i < 5; i++) {
                        spot.setX(spotX+i);
                        Block here = spot.getBlock();
                        here.setType(Material.GLASS);
                    }
                    spot.setY(spotY-1);
                    for (int i = 0; i < 5; i++) {
                        spot.setX(spotX+i);
                        Block here = spot.getBlock();
                        here.setType(Material.GLASS);
                    }

                }
                Location spot1 = me.getLocation();
                spot1.setX(spot1.getX()+2);
                spot1.setY(spot1.getY()+2);
                Chicken chicken = world.spawn(spot1, Chicken.class);
                
                Location spot2 = me.getLocation();
                spot2.setX(spot2.getX()+3);
                spot2.setY(spot2.getY()+1);
                Block here = spot2.getBlock();
                here.setType(Material.TORCH);
                here.setTypeIdAndData( Material.TORCH.getId(), (byte)1, true );
                
                spot2.setX(spot2.getX()+1);
                here = spot2.getBlock();
                here.setType(Material.WOOD);
                
                //block.setType( Material.TORCH );
                //System.out.println( block.getType() ); // prints "AIR"
                // anything done here wouldn't have an effect since the torch has already disconnected
                //b.setTypeIdAndData( Material.Torch.getId(), (byte)1, true/false ); // true/false doesn't seem to affect it
                
                getServer().broadcastMessage(ChatColor.AQUA + "Hrac " + ChatColor.GOLD + me.getPlayer().getDisplayName() + ChatColor.AQUA + " prave vytvoril slepici!!");

                
                return true;
            }
        }
        return false;
    }
}