Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nuevo plugin para utilidades varias #16

Open
MiguelDreamer opened this issue Jun 17, 2020 · 5 comments
Open

Nuevo plugin para utilidades varias #16

MiguelDreamer opened this issue Jun 17, 2020 · 5 comments
Assignees
Labels
propuesta Propone cambios, pero sin implementarlos. Aplicable de no haber otra etiqueta más específica.

Comments

@MiguelDreamer
Copy link
Member

MiguelDreamer commented Jun 17, 2020

Estaría bien que un nuevo plugin (podría llamarse UtilidadesVarias) pueda hacer lo siguiente:

A) Reproduzca sonidos mediante las siguientes acciones:

  • La conexión de un jugador
  • Un nuevo mensaje en el chat
  • Cambiar de objeto en la hotbar
  • Mensaje del servidor con /say (sonido especial)

Estos sonidos serían del resource pack del servidor o del juego.

B) Ejecutar comandos cada ciertos minutos, dependiendo del tiempo especificado (como reproducir sonidos de ambiente en cierto lugar cada minuto)

C) "Vincular" mundos/teletransportación al llegar a cierta coordenada: en este caso, en el mapa de Aren, cuando el jugador caiga y esté en la capa Y=0, será teletransportado en las mismas coordenadas X, Z en las que cayó en el mapa de Khron, en la capa Y=500, y viceversa. Para compensar el viaje de Khron a Aren, el jugador puede recibir un impulso al llegar a Aren para no caer instantáneamente.

D) Mandar frases (escritas en JSON) cada 15 minutos desde la apertura del servidor y eligiendo una frase aleatoria de todas las disponibles.

E) Que al usar determinados Custom Models de la Enciclopedia (knowledge book) pasen distintas acciones (por ejemplo, que al abrir una bolsa de monedas de oro de entre 500 y 1000 monedas al jugador)

F) Detectar jugadores que no hayan descargado el paquete de recursos e indicarles que lo descarguen.

@MiguelDreamer MiguelDreamer added the propuesta Propone cambios, pero sin implementarlos. Aplicable de no haber otra etiqueta más específica. label Jun 17, 2020
@MiguelDreamer MiguelDreamer changed the title Sonidos en diferentes eventos/acciones Nuevo plugin para utilidades varias Jun 20, 2020
@MiguelDreamer MiguelDreamer added this to the UtilidadesVarias 1.0.0 milestone Jun 20, 2020
@AlexTMjugador
Copy link
Member

Creo que estaría bien dividir estas funcionalidades en plugins separados, pues normalmente un plugin de "cajón de sastre" es malo desde un punto de vista de diseño y flexibilidad: las actualizaciones del plugin serían más disruptivas (afectan a más funcionalidades que tendrían a interrelacionarse más), el fichero de configuración podría volverse grande y complejo y, lo que quizás sea peor, al añadir nuevas características seguramente acabe siendo un despropósito.

Por lo demás, las ideas están bien. Quizás añadiría un punto F) para detectar jugadores que no hayan descargado el paquete de recursos e indicarles que lo descarguen.

@MiguelDreamer
Copy link
Member Author

Me parece bien todo lo que has dicho. Dije de hacerlo todo en el mismo plugin porque todo son funcionalidades pequeñas y pensaba que tener un plugin para cada función perjudicaría al rendimiento del servidor al tener tantos. El punto F) lo acabo de añadir en la incidencia :)

@AlexTMjugador
Copy link
Member

La carga de memoria adicional de tener varios plugins respecto a uno solo con muchas clases (para un no programador, puede entenderse una clase de Java como una unidad mínima de funcionalidad completa) es despreciable para propósitos prácticos una vez que el servidor está ya inicializado. Donde creo que podría notarse algo sería durante el arranque del servidor, ya que tiene que descomprimir más JAR, pero estamos hablando de décimas de segundo en un caso relativamente "grave". Antes que preocuparme por tener muchos plugins, me preocuparía porque los plugins fuesen eficientes (p. ej., como te enseñé hace tiempo, el plugin que usábamos para mostrar texto aleatorio periódicamente en el chat era extremadamente ineficiente).

@AlexTMjugador
Copy link
Member

B) y D) ya se pueden hacer satisfactoriamente con datapacks (y con mucha flexibilidad), así que las quitamos de la lista 👍

@MiguelDreamer
Copy link
Member Author

Sigo pensando que para D) es necesario un plugin, puesto que añadir frases con datapacks puede resultar bastante tedioso cuando haya demasiadas (se perdería mucho tiempo en cambiar las probabilidades de todos los archivos cada vez que se quiera añadir una nueva). Temporalmente, a corto plazo puede servir el datapack con 10 (0.1 chance) o 20 frases (0.05 chance) que no se cambien y sean permanentes hasta que se haga el plugin, pero entonces la prioridad de hacer este plugin sería más alta para que las frases no se acabasen repitiendo tanto entre los jugadores y haya un buen sistema de frases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
propuesta Propone cambios, pero sin implementarlos. Aplicable de no haber otra etiqueta más específica.
Projects
None yet
Development

No branches or pull requests

2 participants