Class PilaMensajes
- java.lang.Object
-
- io.github.alextmjugador.khron.gestorbarraaccion.PilaMensajes
-
final class PilaMensajes extends Object
Representa una pila de mensajes a mostrar en la barra de acciones de un jugador, ordenada de mayor a menor prioridad (de manera que el mensaje de mayor prioridad está en la cima de la pila). Solamente soporta la operación de añadir elementos, pues quitarlos se hace automáticamente (véase el método mostrar). Debido a la ordenación de los elementos, se comporta como una estructura LIFO si y solo si los elementos insertados tienen mayor prioridad que los presentes en la pila.- Author:
- AlexTMjugador
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
PilaMensajes.MostrarSig
Modela una tarea para mostrar todos los mensajes en la pila al jugador deseado.
-
Field Summary
Fields Modifier and Type Field Description private Stack<Mensaje>
pila
La pila que contiene los mensajes a mostrar.private org.bukkit.scheduler.BukkitTask
tareaMostrarSig
La tarea de Bukkit encargada de mostrar los mensajes de la pila.
-
Constructor Summary
Constructors Constructor Description PilaMensajes()
Crea una nueva pila de mensajes vacía.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
empty()
Vacía la pila y para cualquier tarea para visualizar mensajes de ella.int
empty(org.bukkit.plugin.Plugin plugin)
Vacía la pila de mensajes generados por un determinado plugin.boolean
mostrando()
Comprueba si se está mostrando la pila o no.void
mostrar(org.bukkit.entity.Player jugador, org.bukkit.plugin.Plugin plugin)
Muestra todos los mensajes en esta pila.void
parar()
Para cualquier tarea para visualizar futuros mensajes de esta pila.void
push(Mensaje msg)
Inserta un mensaje en la pila.void
push(List<Mensaje> mensajes)
Inserta los mensajes contenidos en una lista en la pila.
-
-
-
Method Detail
-
push
public void push(Mensaje msg) throws IllegalArgumentException
Inserta un mensaje en la pila.- Parameters:
msg
- El mensaje a insertar en la pila.- Throws:
IllegalArgumentException
- Si el mensaje es nulo.
-
push
public void push(List<Mensaje> mensajes) throws IllegalArgumentException
Inserta los mensajes contenidos en una lista en la pila.- Parameters:
mensajes
- La lista de mensajes a insertar en la pila.- Throws:
IllegalArgumentException
- Si la lista o algún mensaje es nulo.
-
empty
public void empty()
Vacía la pila y para cualquier tarea para visualizar mensajes de ella.
-
empty
public int empty(org.bukkit.plugin.Plugin plugin)
Vacía la pila de mensajes generados por un determinado plugin. No afecta a la visualización de los mensajes que puedan quedar.- Parameters:
plugin
- El plugin al nombre del cual se han creado los mensajes.- Returns:
- El número de mensajes generados por el plugin especificado que han sido borrados de la pila.
-
mostrar
public void mostrar(org.bukkit.entity.Player jugador, org.bukkit.plugin.Plugin plugin) throws EmptyStackException, IllegalArgumentException
Muestra todos los mensajes en esta pila. Si ya se están mostrando, sobreescribe la tarea interna que se encarga de ello. Esto muestra el siguiente mensaje antes de tiempo si el jugador especificado es el mismo que el de la anterior llamada a este método. Si no es el mismo, solamente se le mostrarán los siguientes mensajes al nuevo jugador, empezando en el momento presente con el siguiente.- Parameters:
jugador
- El jugador al que mostrar los mensajes.plugin
- El plugin responsable por mostrar los mensajes.- Throws:
EmptyStackException
- Si la pila está vacía; es decir, no hay mensajes que mostrar.IllegalArgumentException
- Si el jugador es nulo o está desconectado, o bien si el plugin es nulo o no se está ejecutando en el servidor.
-
mostrando
public boolean mostrando()
Comprueba si se está mostrando la pila o no.- Returns:
- Verdadero si la pila se está mostrando a un jugador, falso si no.
-
parar
public void parar()
Para cualquier tarea para visualizar futuros mensajes de esta pila. El jugador seguirá viendo los mensajes que le hayan sido enviados, hasta que su duración expire.
-
-