Update README.md

This commit is contained in:
lax1dude 2024-05-31 21:58:49 -07:00
parent 0cc28819dc
commit c4622e6bbd

View File

@ -1,10 +1,10 @@
# EaglerMOTD for EaglercraftXBungee 1.8 # EaglerMOTD for EaglercraftXBungee and EaglercraftXVelocity 1.8
### This plugin can add animated MOTDs to your EaglercraftXBungee server ### This plugin can add animated MOTDs to your EaglercraftXBungee or EaglercraftXVelocity server
### This is a port of the EaglerMOTD plugin for 1.5.2, it is fully compatible with old 1.5.2 config files. ### This is a port of the EaglerMOTD plugin for 1.5.2, it is fully compatible with old 1.5.2 config files.
### WARNING: EaglercraftXBungee version 1.2.0 and EaglercraftX 1.8 u30 are required for this plugin to work properly! ### WARNING: EaglercraftXBungee version 1.2.0 or EaglercraftXVelocity version 1.0.4 and EaglercraftX 1.8 u30 are required for this plugin to work properly!
![EaglerMOTD Sample](https://i.gyazo.com/4e0105720c866990c82b221fe82f7cc9.gif) ![EaglerMOTD Sample](https://i.gyazo.com/4e0105720c866990c82b221fe82f7cc9.gif)
@ -12,9 +12,9 @@
## How to Install ## How to Install
**Download [EaglerMOTD.jar](https://github.com/lax1dude/eaglercraft-motd-1.8/raw/main/EaglerMOTD.jar) and place it in your BungeeCord '/plugins' directory. Then, restart BungeeCord** **Download [EaglerMOTD.jar](https://github.com/lax1dude/eaglercraft-motd-1.8/raw/main/EaglerMOTD.jar) and place it in your BungeeCord/Velocity '/plugins' directory. Then, restart BungeeCord/Velocity**
You will find a new 'EaglerMOTD' folder in the plugins folder you put the jar in, once you finish restarting your server. This contains the plugin's configuration files, you can edit any of them and then type `motd-reload` in the BungeeCord console to reload all the variables. You will find a new 'EaglerMOTD' folder in the plugins folder you put the jar in, once you finish restarting your server. This contains the plugin's configuration files, you can edit any of them and then type `motd-reload` in the BungeeCord/Velocity console to reload all the variables.
## Configuration Guide ## Configuration Guide
@ -60,7 +60,7 @@ You will find a new 'EaglerMOTD' folder in the plugins folder you put the jar in
- `all` Defines the list of possible messages to display on all listeners - `all` Defines the list of possible messages to display on all listeners
- To define a list for a specific listener, type the hostname of the listener. The default host defined in a fresh default `config.yml` in EaglercraftBungee is `0.0.0.0:25565` so to define a list of messages for that specific listener you would use `"0.0.0.0:25565"` instead of `"all"` to add the messages. Messages defined as `"all"` will be added to the list of messages for all listeners. - To define a list for a specific listener, type the hostname of the listener. The default host defined in a fresh default `listeners.yml` in EaglercraftXBungee/EaglercraftXVelocity is `0.0.0.0:8081` so to define a list of messages for that specific listener you would use `"0.0.0.0:8081"` instead of `"all"` to add the messages. Messages defined as `"all"` will be added to the list of messages for all listeners.
- The list contains a set of JSON objects each containing these fields: - The list contains a set of JSON objects each containing these fields:
- `name` *(Optional)* Defines the name of the message, used for specifying a `next` property in a different message to jump to this message once it has timed out - `name` *(Optional)* Defines the name of the message, used for specifying a `next` property in a different message to jump to this message once it has timed out
@ -135,7 +135,7 @@ You will find a new 'EaglerMOTD' folder in the plugins folder you put the jar in
- `players` *(Optional)* Changes the list of players shown when the mouse is hovering over the online/max count in the multiplayer screen. use `"default"` to reset it and show the real list of players instead of spoofing it - `players` *(Optional)* Changes the list of players shown when the mouse is hovering over the online/max count in the multiplayer screen. use `"default"` to reset it and show the real list of players instead of spoofing it
- `icon` *(Optional)* A JPEG/PNG/BMP/GIF to display as the server icon. The icon must be at least 64x64 pixels. **Transparency is supported.** The top left 64x64 pixels of the image are displayed if the image is larger than 64x64 pixels. **Animated GIF files are not supported, they load but only display the first frame.** Setting the icon resets the values of `icon_spriteX`, `icon_spriteY`, `icon_color`, `icon_tint`, `icon_flipX`, `icon_flipY`, and `icon_rotate` **to their default values.** Setting to `"none"` will reset everything and set the icon to be black and 100% transparent. **The icon's file name is relative to the folder EaglercraftBungee is currently running in**, not the folder where the JSON file is stored. - `icon` *(Optional)* A JPEG/PNG/BMP/GIF to display as the server icon. The icon must be at least 64x64 pixels. **Transparency is supported.** The top left 64x64 pixels of the image are displayed if the image is larger than 64x64 pixels. **Animated GIF files are not supported, they load but only display the first frame.** Setting the icon resets the values of `icon_spriteX`, `icon_spriteY`, `icon_color`, `icon_tint`, `icon_flipX`, `icon_flipY`, and `icon_rotate` **to their default values.** Setting to `"none"` will reset everything and set the icon to be black and 100% transparent. **The icon's file name is relative to the folder the server is currently running in**, not the folder where the JSON file is stored.
- `icon_spriteX` *(Optional)* defines the X coordinate to read a 64x64 pixel portion of the current `"icon"` file, if the file is larger than 64x64. The value is multiplied by 64 to get the exact pixel coordinate in the image to read from. `"icon_spriteX": 2` will read a 64x64 pixel portion of a larger image beginning at 128 pixels X and 0 pixels Y of the current `"icon"` file. Default is 0 - `icon_spriteX` *(Optional)* defines the X coordinate to read a 64x64 pixel portion of the current `"icon"` file, if the file is larger than 64x64. The value is multiplied by 64 to get the exact pixel coordinate in the image to read from. `"icon_spriteX": 2` will read a 64x64 pixel portion of a larger image beginning at 128 pixels X and 0 pixels Y of the current `"icon"` file. Default is 0
- `icon_spriteY` *(Optional)* defines the Y coordinate to read a 64x64 pixel portion of the current `"icon"` file, if the file is larger than 64x64. The value is multiplied by 64 to get the exact pixel coordinate in the image to read from. `"icon_spriteY": 2` will read a 64x64 pixel portion of a larger image beginning at 0 pixels X and 128 pixels Y of the current `"icon"` file. Default is 0. Setting, for example, `"icon_spriteX": 1` and `"icon_spriteY": 2` will read a 64x64 pixel portion of the current `"icon"` file beginning at 64 pixels X and 128 pixels Y. - `icon_spriteY` *(Optional)* defines the Y coordinate to read a 64x64 pixel portion of the current `"icon"` file, if the file is larger than 64x64. The value is multiplied by 64 to get the exact pixel coordinate in the image to read from. `"icon_spriteY": 2` will read a 64x64 pixel portion of a larger image beginning at 0 pixels X and 128 pixels Y of the current `"icon"` file. Default is 0. Setting, for example, `"icon_spriteX": 1` and `"icon_spriteY": 2` will read a 64x64 pixel portion of the current `"icon"` file beginning at 64 pixels X and 128 pixels Y.
@ -157,7 +157,7 @@ You will find a new 'EaglerMOTD' folder in the plugins folder you put the jar in
**This has nothing to do with MOTD, skip this part if you're just trying to add an animated MOTD** **This has nothing to do with MOTD, skip this part if you're just trying to add an animated MOTD**
**This file allows you to configure custom** `Accept:` **handlers to EaglercraftXBungee to provide more custom statistics to 3rd party server lists and crawlers** **This file allows you to configure custom** `Accept:` **handlers to EaglercraftXBungee/EaglercraftXVelocity to provide more custom statistics to 3rd party server lists and crawlers**
```json ```json
{ {
@ -208,9 +208,9 @@ You will find a new 'EaglerMOTD' folder in the plugins folder you put the jar in
"type": "<type here>", "type": "<type here>",
"data": "<data here>", "data": "<data here>",
"vers": "0.1.0", "vers": "0.1.0",
"name": "EaglercraftBungee Server", "name": "EaglercraftXBungee Server",
"time": 1648946954405, "time": 1648946954405,
"brand": "Eagtek", "brand": "lax1dude",
"cracked": true "cracked": true
} }
``` ```
@ -234,23 +234,25 @@ To add or edit an entry in queries.json, you need to define:
Then, you must define **one** of: Then, you must define **one** of:
- `json` *(object)* A JSON object to send as `"data"` in the response - `json` *(object)* A JSON object to send as `"data"` in the response
- `json` *(string)* A path to a file (relative to your EaglercraftBungee folder) to parse as a JSON object and send as JSON as `"data"` in the response - `json` *(string)* A path to a file (relative to your server's folder) to parse as a JSON object and send as JSON as `"data"` in the response
- `txt` A path to a text file (relative to your EaglercraftBungee folder) to send as a string as `"data"` in the response - `txt` A path to a text file (relative to your server's folder) to send as a string as `"data"` in the response
- `string` A string to send as `"data"` in the response - `string` A string to send as `"data"` in the response
Optionally, you can define: Optionally, you can define:
- `file` A path to an additional binary file (relative to your EaglercraftBungee folder) to send as a binary WebSocket packet after sending the first JSON response containing the `"data"` from the required `json`, `txt`, or `string` value. This file is also reloaded automatically - `file` A path to an additional binary file (relative to your server's folder) to send as a binary WebSocket packet after sending the first JSON response containing the `"data"` from the required `json`, `txt`, or `string` value. This file is also reloaded automatically
**Use** `motd-reload` **to reload queries.json** **Use** `motd-reload` **to reload queries.json**
## Compiling and Contributing ## Compiling and Contributing
First, download the latest BungeeCord and EaglercraftXBungee jar This part is a little fucked, unfortunately I'm not a fan of actually developing plugins for BungeeCord and Velocity the way their respective developers want me to.
**Make a new java project in Eclipse/IDEA/etc and add 'src' folder in this repository as the source code folder** First, download the latest BungeeCord, Velocity, EaglercraftXBungee, and EaglercraftXVelocity jar
**Then, add your BungeeCord and EaglercraftXBungee jar to the java project's Build Path and refresh** **Make a new java project in Eclipse/IDEA/etc and link the 'src/main/java' and 'src/main/resources' folders in this repository as the source code folders**
Export the contents of 'src' folder of the project to a JAR file to compile the plugin **Then, add your BungeeCord, Velocity, EaglercraftXBungee, and EaglercraftXVelocity jar to the java project's Build Path and refresh**
Export the contents of 'src/main/java' and 'src/main/resources' folders of the project to a JAR file to compile the plugin
**For a PR:** Tabs, not spaces, and format the code like the Eclipse auto format tool on factory settings. **For a PR:** Tabs, not spaces, and format the code like the Eclipse auto format tool on factory settings.