Contenido generado con IA — puede contener errores.

Referenciadev

API

Los siete eventos de Bukkit que lanza ExyliaSpawners: colocar, apilar, romper, mejorar, vender, corromper y reparar.

ExyliaSpawners no tiene ningún servicio en la API de Exylia. Otros plugins reaccionan a los spawners mediante siete eventos de Bukkit en net.exylia.exyliaSpawners.event. Compila contra el jar del plugin (compileOnly) y añade ExyliaSpawners en softdepend, para que se active antes.

@EventHandler
public void onSell(SpawnerSellEvent event) {
    if (event.money().compareTo(new BigDecimal("1000000")) > 0) {
        getLogger().info(event.spawner() + " sold " + event.items() + " for " + event.money());
    }
}
 
@EventHandler(ignoreCancelled = true)
public void onPlace(SpawnerPlaceEvent event) {
    if (event.block().getWorld().getName().equals("spawn")) event.setCancelled(true);
}

Hilos

Cada evento se lanza en el hilo que hizo la acción: el hilo de la región del bloque para las acciones en el mundo (colocar, apilar, romper), el hilo en el que se completa el pago para una mejora, un temporizador asíncrono para la corrupción, y un hilo de base de datos para una venta. Un evento lanzado fuera del hilo principal es asíncrono (isAsynchronous()), así que, tanto en Paper como en Folia, toca el mundo solo a través de un scheduler. Lee de memoria, nunca bloquees.

Eventos

EventoCancelableSe lanza cuandoAccesores
SpawnerPlaceEventsíUn jugador está colocando un objeto de spawner como un bloque de spawner nuevo. Cancelarlo conserva el objeto.player(), block(), item()
SpawnerStackEventsíUn jugador está añadiendo spawners a una pila colocada. Cancelarlo conserva el objeto.player(), spawner(), added()
SpawnerBreakEventsíUnos spawners salen de una pila: picados o recogidos por un jugador, o explotados (player() es null). amount() es cuántos salen; el bloque desaparece cuando no queda ninguno. Cancelarlo los conserva.player(), spawner(), amount()
SpawnerUpgradeEventsíEl nivel de una línea de mejora está a punto de cambiar después de pagar la compra. Cancelarlo devuelve el precio y conserva el nivel.player(), spawner(), track(), from(), to()
SpawnerSellEventnoSe ha vendido el almacén, después del pago. player() es null para una venta pedida desde otro servidor. money() es lo que pagó en la moneda por defecto.player(), spawner(), items(), money()
SpawnerCorruptEventsíUn spawner está a punto de corromperse, por su temporizador o por /spawnersadmin corrupt. Cancelarlo lo mantiene sano; el temporizador vuelve a empezar.spawner()
SpawnerRepairEventsíUn jugador está a punto de purificar un spawner corrompido. Cancelarlo lo mantiene corrompido, y se devuelve cualquier coste cobrado.player(), spawner()

items() de SpawnerSellEvent asocia las claves del almacén (un nombre de material como ROTTEN_FLESH, o un objeto serializado) con las cantidades vendidas. track() es SPEED, AMOUNT, STORAGE o XP.

El spawner

Spawner es una instantánea de un bloque de spawner:

MétodoValor
id()Su UUID, estable durante toda la vida del bloque.
world(), x(), y(), z(), location(), center()Dónde está.
type(), tier(), stack()Id del tipo, tier, spawners en la pila.
owner()El UUID del dueño, o null para un spawner sin dueño.
level(Track)El nivel de una línea de mejora.
placedAt()Cuándo se colocó, en milisegundos desde epoch.

SpawnerItem (en SpawnerPlaceEvent) es el id(), type(), tier() y stack() del objeto.

Los mobs que genera un spawner CLASSIC llevan la clave de datos persistentes exyliaspawners:spawner (un string, el id del spawner).

¿Falta algo en esta página? Dínoslo en Discord