public void onEnable()
	{
		this.logger = getLoggerSafely();

		plugin = this;

		this.persist = new BlockPersistence(this);
		getServer().getScheduler().runTask(plugin, new Runnable()
		{
			public void run()
			{
				for (Iterator<World> worlds = BlockAPI.this.getServer().getWorlds().iterator(); worlds.hasNext(); BlockAPI.this.persist.load((World)worlds.next()));
				String s = "Loaded custom blocks (" + BlockAPI.this.customBlocks.size() + ") : ";
				for (Iterator<CustomBlock> blocks = BlockAPI.this.customBlocks.iterator(); blocks.hasNext(); ) {
					CustomBlock cblock = (CustomBlock)blocks.next();
					s = s + cblock.getName() + ", ";
				}
				if (s.endsWith(", "))
					s = s.substring(0, s.lastIndexOf(", "));
				BlockAPI.this.logger.info(s);
			}
		});
		plugin.getServer().getPluginManager().registerEvents(this.persist, this);

		plugin.getServer().getPluginManager().registerEvents(new RenderBlockItem(this), this);

		plugin.getServer().getPluginManager().registerEvents(new BlockEventDelayer(this), this);

		addMyCustomBlocks(BlockLoader.load(plugin));

		this.logger.info("has been enabled");
	}