Events

Events are an essential part of the Bukkit API. The Sve Bukkit Interface contains one function for events, registereventhandler.

registereventhandler(eventgroup, eventname, callback)

A Sve program contains usually one event group named after the program. An event group can contain only one handler for every event.

reh = registereventhandler

## text will be printed twice
reh("group1", "block.BlockPlaceEvent", def (e) { print::"block placed" })
reh("group2", "block.BlockPlaceEvent", def (e) { print::"block placed" })

## text will be printed only once
reh("group", "block.BlockPlaceEvent", def (e) { print::"block placed" })
reh("group", "block.BlockPlaceEvent", def (e) { print::"block placed" })

Event name is the name of the event class. If event is in package org.bukkit.event that can be left out. In other words, if event is not found it is assumed to be in the org.bukkit.event package. Subpackage has to be still declared.

Callback takes one argument, the event.

Examples

The code below prevents placing stone.

material = static("org.bukkit.Material")

registereventhandler("example.sve", "block.BlockPlaceEvent", def (e) {
	if: e.getBlock().getType() == material.STONE {
		e.setCancelled(true)
	}
})

Comments

Posts Quoted:
Reply
Clear All Quotes