Giter VIP home page Giter VIP logo

xujiayao / discord-mc-chat Goto Github PK

View Code? Open in Web Editor NEW
54.0 2.0 28.0 10.89 MB

Discord-MC-Chat (DMCC), formerly known as MC-Discord-Chat and MCDiscordChat (MCDC), is a practical and powerful Fabric and Quilt Minecraft <> Discord chat bridge inspired by BRForgers/DisFabric

Home Page: https://blog.xujiayao.com/posts/4ba0a17a/

License: MIT License

Java 100.00%
minecraft java discord fabric fabricmc mod server discord-bot minecraft-mod minecraft-fabric

discord-mc-chat's Introduction

Language: English 中文

Discord-MC-Chat

License Release jsDelivr Hits (Very Old) jsDelivr Hits (Old) jsDelivr Hits (New) GitHub Downloads Modrinth Downloads CurseForge Downloads Versions Supported

Discord-MC-Chat (DMCC), formerly known as MC-Discord-Chat and MCDiscordChat (MCDC), is a practical and powerful Fabric and Quilt Minecraft <> Discord chat bridge inspired by BRForgers/DisFabric

More information + Docs: Discord-MC-Chat Docs | Xujiayao's Blog

Introduction

Discord-MC-Chat (DMCC), formerly known as MC-Discord-Chat and MCDiscordChat (MCDC), is a practical and powerful Fabric and Quilt Minecraft <> Discord chat bridge inspired by BRForgers/DisFabric.

0001.png

001.png

Download

All releases can be downloaded at the following sites:

You can find the latest build JAR files at GitHub Actions.

Support

If there is a bug or suggestion, or something you don't understand, you can submit an issue on GitHub.

Contributing

You are welcome to contribute to DMCC!

If you are interested in contributing to DMCC, you can submit a pull request on GitHub.

For code contributions, the build file is located in the /build/ folder.

For translation contributions, language files are located in the /wrapper/src/main/resources/lang/ folder. Copy en_us.json and rename the new one to your language code to get started. Please provide translations for the entire file for all keys.

Features

  • Full multi-language support
  • Support multi-server mode (running more than one Minecraft server with DMCC in the same Discord guild)
  • Minecraft <> Discord cross server chat
    • Support disabling Discord and in-game chat broadcasts
    • Support displaying server status using Discord channel topic feature
    • Support displaying server player count in bot activity status
    • Support Discord Webhook feature
      • Dynamic-created DMCC Webhook
      • Customizable Webhook Avatar API
      • Use the bot itself to send chat messages when Webhook is disabled
    • Support in-game Markdown parsing
    • Support highlighting and using default Unicode and server custom emoji in-game
    • Support highlighting stickers in-game
    • Support highlighting and mentions (@) in-game
      • Customizable scope of allowed mentions (@) in-game
      • Support disabling mentions (@) in-game
    • Support highlighting and opening hyperlinks and GIFs in-game
    • Support disabling all parsing
    • Support in-game display of Discord user role colour
    • Support in-game display of response messages
    • Support limiting the number of newlines for Discord messages
    • Broadcast player command execution
      • Players who execute commands can also see the commands themselves
      • Exclude broadcasts for execution of specific commands
    • Send all console log messages to Discord
  • Discord Commands available
    • Use Discord to manage channels that can execute DMCC commands
    • Notify in-game players when someone executes an DMCC command
    • /console command supports Minecraft command auto-completion
    • Normal Commands
      • /help | Get a list of available commands
      • /info | Query server running status
      • /stats <type> <name> | Query the scoreboard of a statistic
      • /update | Check for update
    • Admin Commands
      • /console <command> | Execute a command in the server console (admin only)
      • /log <file> | Get the specified server log (admin only)
      • /reload | Reload Discord-MC-Chat config file (admin only)
      • /stop | Stop the server (admin only)
    • Commands with Adjustable Permissions
      • /whitelist <player> | Add a player to the server whitelist
  • Minecraft Commands available
    • Admin-only commands require a level 4 operator at minimum
    • Normal Commands
      • /dmcc help | Get a list of available commands
      • /dmcc info | Query server running status
      • /dmcc stats <type> <name> | Query the scoreboard of a statistic
      • /dmcc update | Check for update
    • Admin Commands
      • /dmcc reload | Reload Discord-MC-Chat config file (admin only)
    • Commands with Adjustable Permissions
      • /dmcc whitelist <player> | Add a player to the server whitelist
  • Fully customizable message format
    • Sending specific server messages to Discord can be disabled
    • In-game
      • Chat messages from Discord
      • Response messages from Discord
      • Messages from other DMCC servers
    • Discord
      • Server started
      • Server stopped
      • Player joined server
      • Player left server
      • Player reached a progress / achieved a goal / completed a challenge
        • Multilingual support
        • Support displaying descriptions for task/challenge/goal messages
      • Player died
        • Multilingual support
      • Server MSPT is higher than a certain value
  • Use admin list to configure user permissions to use special commands
  • Support Hot Reloading of the config file
    • Backup every time the config file is loaded
  • Check for updates regularly
    • Push DMCC version updates accurately by checking server Minecraft version compatibility
    • Customizable update notification channel
    • Check for updates can be disabled

Languages currently available:

Code Language
de_de Deutsch (Deutschland)
en_us English (US)
fr_fr Français (France)
ko_kr 한국어(대한민국)
no_no Norsk Bokmål (Norge)
pl_pl Polski (Polska)
ru_ru Русский (Россия)
zh_cn 简体中文(**大陆)
zh_hk 繁體中文(香港特別行政區)
zh_tw 繁體中文(台灣)

Contributors

Contributors

Stargazers over time

Stargazers over time

License

This project is licensed under the MIT license.

Exceptionally, the src/main/java/com/xujiayao/discord_mc_chat/utils/MarkdownParser.java file was obtained from BRForgers/DisFabric on December 31, 2020, licensed under the Mozilla Public License 2.0 (MPL-2.0).

More details of the src/main/java/com/xujiayao/discord_mc_chat/utils/MarkdownParser.java file:

Author: allanf181 (Allan Fernando)

Link to the original source: https://github.com/BRForgers/DisFabric/blob/e0c7601405ee1b3f1de3c3168bc4ddd520501565/src/main/java/br/com/brforgers/mods/disfabric/utils/MarkdownParser.java

Link to the license: https://github.com/BRForgers/DisFabric/blob/e0c7601405ee1b3f1de3c3168bc4ddd520501565/LICENSE

Note that the "Don't Be a Jerk" license used in the newly created project BRForgers/DisFabric-and-DisForge is separate from the old project BRForgers/DisFabric.

  • Any recent changes in the project name and license do not retroactively affect the license terms of the code obtained at a specific moment before, that is, December 31, 2020.
  • Any files obtained from BRForgers/DisFabric continue to be subject to the terms of the MPL-2.0 license only.

Link to the "Don't Be a Jerk" license: https://github.com/BRForgers/DisFabric-and-DisForge/blob/d1468a6c9b50ba24a250ec370cf645d58dccdfd1/LICENSE.md

discord-mc-chat's People

Contributors

aria1th avatar blissfulalloy79 avatar bocz3k avatar clem-fern avatar firenh avatar jimchen5209 avatar kire2oo2 avatar lesekater avatar lofiturtle avatar meowonlong avatar notlin4 avatar svr333 avatar vocatis avatar xujiayao avatar zetthunder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

discord-mc-chat's Issues

[Bug] Application commands are not registered

Simplest Environment Tested

  • I confirm that this problem still exists with only MCDiscordChat and Fabric API installed.

Minecraft Version

1.18.2

MCDiscordChat Version

2.0.0-alpha1

Description

You need to register slash commands for them to be usable in the server, if you don't register them you can't use them

To Reproduce

Make a new bot and try using this mod

Log

None

Config

I dont think its necessary

[Enhancement] Discord to Minecraft chat options - Colors, Prefix, ...

Existing Issues Searched

Description

image

https://i.imgur.com/PuDPyM6.png

I would love the option to Modify the
[Discord]<Username>Message
string to custom stuff.
Furthermore like you might see in the image, we have very long nicknames, so perhaps the option to use the user Name instead of the Nickname would be a great addition too.

And perhaps finally the ability to ignore the discord roles alltogether and use a predefined color or simply white then.
(
Note: The the option to define custom color codes might be useful, and could be concidered to be the variable.

/tellraw @p {"text":"This color is illegal!","color":"#FF0095"}
)

[Enhancement] Not spam us in public chat with new versions.

Checks

Description

Would it be possible to not spam us with updates? I restart the server once per day, I do not want 23 spam messages saying there is a new version in our in-game chat. If it was in the console for admins I would get it, you can announce it once every 12 hours there. But once every hour in the in-game chat is not ok.

[Bug] 1.18.X Server not showing messages on discord

Simplest Environment Tested

  • I confirm that this problem still exists with only MCDiscordChat and Fabric API installed.

Minecraft Version

1.18.1

MCDiscordChat Version

1.12.1

Description

Hello! I have a rather large modpack and put your mod in my server. When I load it up I see the startup message and all server messages. However, when I type anything from MC it will not sure up on discord, It will show up if I type from discord to MC. Also when I do commands like creative mode from either FTB or a command it shows up.

To Reproduce

Install my modpack Bolt's Crazzzy Adventure on CurseForge. Use your mod for a server and try to chat.

Log

Here is my modlist: https://pastebin.com/AfiSshvZ

Config

https://pastebin.com/KZDkD1BW

[Enhancement] Execute MCDC commands in-game

Checks

Description

PR #80 adds the ability to execute MCDC commands in-game. As of the time the PR was merged, the available commands are as follows:

Command Description
/mcdc info Query server running status
/mcdc help Get a list of available commands
/mcdc update Check for update
/mcdc stats Query the scoreboard of a statistic
/mcdc reload Reload MCDiscordChat config file (admin only)
/mcdc console Execute a command in the server console (admin only)
/mcdc log Get the specified server log (admin only)
/mcdc stop Stop the server (admin only)

Strikethrough commands are not implemented because they are redundant or impossible to implement in-game.

Admin-only commands require a level 4 operator at minimum, i.e. players with OP permission level 4 or the server console.

[Bug] Chat messages are not sent to chat channel

I was doing a server restart a few days ago, and after restarting, the MCDC has stopped sending in-game chat messages to Discord. However, it still sends messages like "Server Started" and " joined the game/left the game". The logs channel, however, properly receives chat messages. This is shown in the below two images:

image
image

The mods I have installed are:
anti-xray 1.1.0, blast 1.8.1, Dynmap 3.3.2, entity-view-distance 1.0.0, factions (my fork, at this link: https://github.com/LFC6times/factions), FatExperienceOrbs 1.0.1, FerriteCore 3.1.0, Hydrogen 0.3, LazyDFU 0.1.2, Lithium 0.7.5, MCDC 1.12.1, recipecache 0.2.1, Starlight 1.0.0, and SimpleVoiceChat 2.2.24

Fabric Loader is 0.13.3, and Fabric API is 0.45.0
I have tested without Hydrogen, and without the factions mod. This mod has worked with my factions fork and I believe the factions mod is the only mod with mixins into the chat. My config file is the default except ./msg is an excluded command, and a changed MSPT limit.

[Bug] MCDC is incompatible with StyledChat

Simplest Environment Tested

  • I confirm that this problem still exists with only MCDiscordChat and Fabric API installed.

Minecraft Version

1.18.2

MCDiscordChat Version

2.0.0-alpha.1

Description

When trying to do a Styled Chat emoji you just get the text you inputted, so if you do :table: it just says :table: instead of (╯°□°)╯︵ ┻━┻ because it tries to check if the emoji exists on Discord. There should be a way to disable this

To Reproduce

Try using Styled Chat emojis while having this mod on

Log

None

Config

None

[Bug] Server does not properly shut down when Mod is enabled

Checks

  • I confirm that I have searched for existing issues before reporting to avoid duplicate reporting.
  • I confirm that this problem still exists with only MCDiscordChat and Fabric API installed.
  • I confirm that I followed the MCDC Docs and read the Changelog, but this problem still exists.

Java Version

17

Minecraft Version

1.19

MCDiscordChat Version

2.0.0 Alpha 3

Description

Server does not properly shut down when Mod is loaded.
says all chunks and dimensions are saved, but it never stops

failed shutdown
)

To Reproduce

Setup server start.
run for 30 seconds no one logs in.
The discord bot says server started.
shut down MC server.
hangs in this state.

Log

[Pterodactyl Daemon]: Updating process configuration files...
[Pterodactyl Daemon]: Ensuring file permissions are set correctly, this could take a few seconds...
container@pterodactyl~ Server marked as starting...
[Pterodactyl Daemon]: Pulling Docker container image, this could take a few minutes to complete...
[Pterodactyl Daemon]: Finished pulling Docker container image
container@pterodactyl~ java -version
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-86)
OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
container@pterodactyl~ java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs/ -Daikars.new.flags=true -Dterminal.jline=false -Dterminal.ansi=true -jar fabric-server-launch.jar nogui
Starting net.fabricmc.loader.impl.game.minecraft.BundlerClassPathCapture
[13:03:11] [main/INFO]: Loading Minecraft 1.19 with Fabric Loader 0.14.7
[13:03:11] [main/INFO]: Loading 53 mods:
- com_fasterxml_jackson_core_jackson-annotations 2.13.3 via mcdiscordchat
- com_fasterxml_jackson_core_jackson-core 2.13.3 via mcdiscordchat
- com_fasterxml_jackson_core_jackson-databind 2.13.3 via mcdiscordchat
- com_google_code_gson_gson 2.9.0 via mcdiscordchat
- com_neovisionaries_nv-websocket-client 2.14 via mcdiscordchat
- com_squareup_okhttp3_okhttp 4.9.3 via mcdiscordchat
- com_squareup_okio_okio 2.10.0 via mcdiscordchat
- com_vdurmont_emoji-java 5.1.1 via mcdiscordchat
- fabric 0.56.0+1.19
- fabric-api-base 0.4.9+e62f51a3a9 via fabric
- fabric-api-lookup-api-v1 1.6.7+9ff28f40a9 via fabric
- fabric-biome-api-v1 9.0.13+b2a4a624a9 via fabric
- fabric-command-api-v1 1.2.5+f71b366fa9 via fabric
- fabric-command-api-v2 2.1.1+cda9839ba9 via fabric
- fabric-commands-v0 0.2.22+df3654b3a9 via fabric
- fabric-containers-v0 0.1.27+df3654b3a9 via fabric
- fabric-content-registries-v0 3.1.0+4a3ec384a9 via fabric
- fabric-convention-tags-v1 1.0.8+37622d24a9 via fabric
- fabric-crash-report-info-v1 0.2.3+bd0a0d4aa9 via fabric
- fabric-data-generation-api-v1 5.0.1+2a5b9210a9 via fabric
- fabric-dimensions-v1 2.1.27+72da3b3da9 via fabric
- fabric-entity-events-v1 1.4.16+9ff28f40a9 via fabric
- fabric-events-interaction-v0 0.4.26+9ff28f40a9 via fabric
- fabric-events-lifecycle-v0 0.2.25+df3654b3a9 via fabric
- fabric-game-rule-api-v1 1.0.19+18990361a9 via fabric
- fabric-item-api-v1 1.5.4+767db26ea9 via fabric
- fabric-item-groups-v0 0.3.23+9ff28f40a9 via fabric
- fabric-lifecycle-events-v1 2.1.0+33fbc738a9 via fabric
- fabric-loot-api-v2 1.0.1+9e7660c6a9 via fabric
- fabric-loot-tables-v1 1.1.1+9e7660c6a9 via fabric
- fabric-message-api-v1 1.0.1+513f4a59a9 via fabric
- fabric-mining-level-api-v1 2.1.8+33fbc738a9 via fabric
- fabric-networking-api-v1 1.0.27+7fe97409a9 via fabric
- fabric-networking-v0 0.3.14+df3654b3a9 via fabric
- fabric-object-builder-api-v1 4.0.5+9ff28f40a9 via fabric
- fabric-particles-v1 1.0.8+dc39553aa9 via fabric
- fabric-registry-sync-v0 0.9.16+92cf9a3ea9 via fabric
- fabric-rendering-data-attachment-v1 0.3.12+9ff28f40a9 via fabric
- fabric-rendering-fluids-v1 3.0.5+9ff28f40a9 via fabric
- fabric-resource-conditions-api-v1 2.0.9+e62f51a3a9 via fabric
- fabric-resource-loader-v0 0.5.3+9e7660c6a9 via fabric
- fabric-screen-handler-api-v1 1.2.6+9ff28f40a9 via fabric
- fabric-transfer-api-v1 2.0.9+e62f51a3a9 via fabric
- fabric-transitive-access-wideners-v1 1.1.1+9e7660c6a9 via fabric
- fabricloader 0.14.7
- java 17
- mcdiscordchat 1.19-2.0.0-alpha.3
- minecraft 1.19
- net_dv8tion_jda 5.0.0-alpha.12 via mcdiscordchat
- net_sf_trove4j_trove4j 3.0.3 via mcdiscordchat
- org_apache_commons_commons-collections4 4.4 via mcdiscordchat
- org_jetbrains_kotlin_kotlin-stdlib 1.7.0 via mcdiscordchat
- org_json_json 20220320 via mcdiscordchat
[13:03:11] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/home/container/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar Service=Knot/Fabric Env=SERVER
[13:03:11] [main/INFO]: Compatibility level set to JAVA_16
[13:03:12] [main/INFO]: Compatibility level set to JAVA_17
[13:03:16] [main/INFO]: Building unoptimized datafixer
[13:03:18] [main/INFO]: -----------------------------------------
[13:03:18] [main/INFO]: MCDiscordChat (MCDC) 2.0.0-alpha.3
[13:03:18] [main/INFO]: By Xujiayao
[13:03:18] [main/INFO]:
[13:03:18] [main/INFO]: More information + Docs:
[13:03:18] [main/INFO]: https://blog.xujiayao.top/posts/4ba0a17a/
[13:03:18] [main/INFO]: -----------------------------------------
[13:03:19] [main/INFO]: Login Successful!
[13:03:19] [JDA MainWS-WriteThread/INFO]: Connected to WebSocket
[13:03:19] [JDA MainWS-ReadThread/INFO]: Finished Loading!
[13:03:19] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[13:03:21] [main/INFO]: [fabric-registry-sync] Loaded registry data [file 1/4]
[13:03:25] [main/INFO]: Loaded 7 recipes
[13:03:26] [main/WARN]: Found validation problem in {minecraft:entities/ender_dragon}.pools[0].entries[0]: Unknown loot table called minecraft:entities/reference/extra/ender_dragon
[13:03:26] [main/WARN]: Found validation problem in {minecraft:entities/bat}.pools[2].entries[0]: Unknown loot table called minecraft:entities/reference/extra/bat
[13:03:26] [main/INFO]: Loaded 1346 advancements
[13:03:27] [main/WARN]: Failed to parse level-type default, defaulting to minecraft:normal
[13:03:27] [main/INFO]: Applied 0 biome modifications to 0 of 63 new biomes in 1.727 ms
[13:03:27] [Server thread/INFO]: Starting minecraft server version 1.19
[13:03:27] [Server thread/INFO]: Loading properties
[13:03:27] [Server thread/INFO]: Default game type: SURVIVAL
[13:03:27] [Server thread/INFO]: Generating keypair
[13:03:27] [Server thread/INFO]: Starting Minecraft server on 0.0.0.0:25593
[13:03:27] [Server thread/INFO]: Using epoll channel type
[13:03:27] [Server thread/INFO]: Preparing level "Atlascraft"
[13:03:40] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
say test
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:46] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:47] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[13:03:48] [Worker-Main-1/INFO]: Preparing spawn area: 24%
[13:03:48] [Worker-Main-1/INFO]: Preparing spawn area: 24%
[13:03:48] [Worker-Main-1/INFO]: Preparing spawn area: 69%
[13:03:49] [Server thread/INFO]: Time elapsed: 9503 ms
[13:03:49] [Server thread/INFO]: Done (22.216s)! For help, type "help"
container@pterodactyl~ Server marked as running...
[13:03:51] [Server thread/INFO]: test
[13:03:52] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2040ms or 40 ticks behind
[13:04:26] [JDA MainWS-ReadThread/INFO]: [Discord] test
test
[13:04:30] [Server thread/INFO]: Unknown or incomplete command, see below for error
[13:04:30] [Server thread/INFO]: test<--[HERE]
say test
[13:04:34] [Server thread/INFO]: test
container@pterodactyl~ Server marked as stopping...
stop
[13:04:41] [Server thread/INFO]: Stopping the server
[13:04:41] [Server thread/INFO]: Stopping server
[13:04:41] [Server thread/INFO]: Saving players
[13:04:41] [Server thread/INFO]: Saving worlds
[13:04:43] [Server thread/INFO]: Saving chunks for level 'ServerLevel[Atlascraft]'/minecraft:overworld
[13:04:49] [Server thread/INFO]: Saving chunks for level 'ServerLevel[Atlascraft]'/minecraft:the_end
[13:04:49] [Server thread/INFO]: Saving chunks for level 'ServerLevel[Atlascraft]'/minecraft:the_nether
[13:04:49] [Server thread/INFO]: ThreadedAnvilChunkStorage (Atlascraft): All chunks are saved
[13:04:49] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[13:04:49] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[13:04:49] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved

Config

{
"generic": {
"useEngInsteadOfChin": true,
"botToken": "",
"botPlayingStatus": "Minecraft",
"botListeningStatus": "",
"webhookUrl": "",
"channelId": "981778683570303049",
"consoleLogChannelId": "",
"useUuidInsteadOfName": true,
"avatarApi": "https://mc-heads.net/avatar/%player%.png",
"broadcastCommandExecution": true,
"allowMentions": true,
"modifyChatMessages": true,
"useServerNickname": true,
"announceHighMspt": true,
"msptCheckInterval": 5000,
"msptLimit": 50,
"mentionAdmins": true,
"updateChannelTopic": true,
"channelTopicUpdateInterval": 600000,
"excludedCommands": [
"/tell"
],
"adminsIds": [
"863952714538418178"
]
},
"multiServer": {
"enable": false,
"host": "127.0.0.1",
"port": 5000,
"name": "SMP",
"botIds": []
},
"textsZH": {
"unformattedResponseMessage": " ┌──── <%name%> %message%",
"unformattedChatMessage": "[%server%] <%name%> %message%",
"unformattedOtherMessage": "[%server%] %message%",
"formattedResponseMessage": [
{
"text": " ┌──── ",
"bold": true,
"color": "dark_gray"
},
{
"text": "<%name%> ",
"bold": false,
"color": "%roleColor%"
},
{
"text": "%message%",
"bold": false,
"color": "dark_gray"
}
],
"formattedChatMessage": [
{
"text": "[%server%] ",
"bold": true,
"color": "blue"
},
{
"text": "<%name%> ",
"bold": false,
"color": "%roleColor%"
},
{
"text": "%message%",
"bold": false,
"color": "gray"
}
],
"formattedOtherMessage": [
{
"text": "[%server%] ",
"bold": true,
"color": "blue"
},
{
"text": "%message%",
"bold": false,
"color": "gray"
}
],
"serverStarted": "服务器已启动!",
"serverStopped": "服务器已关闭!",
"joinServer": "%playerName% 加入了服务器",
"leftServer": "%playerName% 离开了服务器",
"deathMessage": "%deathMessage%",
"advancementTask": "%playerName% 达成了进度 [%advancement%]",
"advancementChallenge": "%playerName% 完成了挑战 [%advancement%]",
"advancementGoal": "%playerName% 达成了目标 [%advancement%]",
"highMspt": "服务器 MSPT (%mspt%) 高于 %msptLimit%!",
"consoleLogMessage": "[%time%] [INFO] %message%",
"offlineChannelTopic": ":x: 服务器离线 | 最后更新于:<t:%lastUpdateTime%:f>",
"onlineChannelTopic": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% 位玩家在线 | 服务器玩家总数:%uniquePlayerCount% | 服务器于 <t:%serverStartedTime%:R> 启动 | 最后更新于:<t:%lastUpdateTime%:f>",
"onlineChannelTopicForMultiServer": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% 位玩家在线 | 服务器玩家总数:%uniquePlayerCount% | %onlineServerCount% 个服务器在线 [%onlineServerList%] | 服务器于 <t:%serverStartedTime%:R> 启动 | 最后更新于:<t:%lastUpdateTime%:f>"
},
"textsEN": {
"unformattedResponseMessage": " ┌──── <%name%> %message%",
"unformattedChatMessage": "[%server%] <%name%> %message%",
"unformattedOtherMessage": "[%server%] %message%",
"formattedResponseMessage": [
{
"text": " ┌──── ",
"bold": true,
"color": "dark_gray"
},
{
"text": "<%name%> ",
"bold": false,
"color": "%roleColor%"
},
{
"text": "%message%",
"bold": false,
"color": "dark_gray"
}
],
"formattedChatMessage": [
{
"text": "[%server%] ",
"bold": true,
"color": "blue"
},
{
"text": "<%name%> ",
"bold": false,
"color": "%roleColor%"
},
{
"text": "%message%",
"bold": false,
"color": "gray"
}
],
"formattedOtherMessage": [
{
"text": "[%server%] ",
"bold": true,
"color": "blue"
},
{
"text": "%message%",
"bold": false,
"color": "gray"
}
],
"serverStarted": "Server started!",
"serverStopped": "Server stopped!",
"joinServer": "%playerName% joined the game",
"leftServer": "%playerName% left the game",
"deathMessage": "%deathMessage%",
"advancementTask": "%playerName% has made the advancement [%advancement%]",
"advancementChallenge": "%playerName% has completed the challenge [%advancement%]",
"advancementGoal": "%playerName% has reached the goal [%advancement%]",
"highMspt": "Server MSPT (%mspt%) is above %msptLimit%!",
"consoleLogMessage": "[%time%] [INFO] %message%",
"offlineChannelTopic": ":x: Server offline | Last updated: <t:%lastUpdateTime%:f>",
"onlineChannelTopic": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% player(s) online | %uniquePlayerCount% unique player(s) ever joined | Server started <t:%serverStartedTime%:R> | Last updated: <t:%lastUpdateTime%:f>",
"onlineChannelTopicForMultiServer": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% player(s) online | %uniquePlayerCount% unique player(s) ever joined | %onlineServerCount% server(s) online [%onlineServerList%] | Server started <t:%serverStartedTime%:R> | Last updated: <t:%lastUpdateTime%:f>"
}
}

[Enhancement] Make Discord commands available in separate text channel

Checks

Description

be able to select what channels one can use slash commands in.
for example in my case I would really like to be able to have the ability to not only use commands in the #chat channel on my server, but also in my #console-log channel, or perhaps in only a separate #commands channel.
so if there was a feature to whitelist the channels one can use commands in then that would be perfect :D

[Enhancement] Automatically Updating Channel Topic

Could you please add the option to change the channel theme depending on server Staus, Player Count, uptime and similar stuff?

✅ 5/6969 players online | 102 unique players ever joined | Server online for 30 minutes

image

For the Relative time i suggest this or sth similar:
https://v8.dev/features/intl-relativetimeformat

It might be a good idea to also enable custom user interval ( every 5 minutes would be totally fine),
as well as using a player Join event as a update trigger to keep the player count up2date.

It might be also nice to integrate rich presence then:
:white_check_mark: %playerCount%/%maxPlayers% players online | %uniquePlayers% unique players ever joined | Server online for %uptime%

[Question] How to use MCDC commands

Checks

Description

I looked through the issues and followed the setup guide but I feel like there is something I'm missing.
I tried using commands via DMing the bot and by summing commands via the text-channel in my server. I'm not sure where your supposed to send commands from. The only response I get is when I DM the bot but it send back the error "You can only use this command on the correct channel!" Am I missing anything?

[Enhancement] Make webhooks optional

Checks

Description

What new feature or change do you want?

The ability to have webhookUrl set to null or empty, making the bot send messages as itself, instead of utilizing webhooks.

What does it improve?

Prevents the chance of hitting webhook ratelimits (they are more restrictive than bots), and removes the requirement of avatarApi. It can also be a personal preference for those who want to limit using integrations within the server, or making things more minimal in a sense. (e.g. having the bot output messages as itself, instead of it making an entirely new "identity" per user. [see image for example])


Slightly modified DiscordSRV (Spigot plugin) example:
image

[Enhancement] Option to disable update messages

Checks

Description

Hello!
The mod sending an "update is available" message in the discord channel every time the server restarts is quite annoying, and an option to disable that in the configs would be greatly appreciated!
Updating to the newest version isn't always possible, especially because the newest release (in 1.18.2) is causing a server crash and deadlock for us.

[Enhancement] Toggle formatting of Discord emotes

Checks

Description

Hi, sorry to bother you but I am the author of issue #50.

While the support for unicode emojis is nice, I was actually referring to Discord server emotes. I apologize for the confusion.

The added feature correctly does not format unicode emojis, but it still adds yellow formatting to Discord server emotes in messages received from the Discord server.

As previously mentioned, it would be good to have a toggle to disable this function.

Thanks for your time.

[Enhancement] Ability to disable mentioning from MC

Existing Issues Searched

Description

Currently, it is fully possible to mention users via either @Username or @everyone/@here, I have tried the latest build from the Actions page and disabled modifyChatMessages and it still persists

I suggest a config option that disables this, making @everyone, @here, and @Username not function when sent from Minecraft, maybe allowMentions?

Image of me mentioning with modifyChatMessages set to false
image

[Question] Some details regarding MCDC installation

Description

I just had a quick question. I have a 1.18.1 modpack/server. I see the version is 1.18.X does this mean it should work for my server? Also is this server side only or do I need to include it in my modpack. Thanks!

[Bug] Advancements does not send correctly

Existing Issues Searched

Simplest Environment Tested

  • I confirm that this problem still exists with only MCDiscordChat and Fabric API installed.

Docs and Changelog Read

  • I confirm that I followed the MCDC Docs and read the Changelog, but this problem still exists.

Java Version

17.0.2

Minecraft Version

1.18.2

MCDiscordChat Version

MCDiscordChat 2.0.0-alpha.1

Description

First time making a bug report, forgive me if there are any deficiencies.

Advancements are not sending correctly to the Discord chat. Advancement announcement is being sent of the Discord chat when player hasn't made the advancement in-game. The thing being picked up by the mod is presumably the player adding requirements towards reaching the advancement (in our case, players were setting foot in biomes they haven't found before):
image

Upon editing the config file by removing the message completely from "advancementChallenge", the server then crashes whenever the mod presumably wants to send a message but finds no text to send and causes and entity ticking crashes. An example (this was the first crash) :
crash-2022-04-17_14.47.18-server.txt

Currently removed the mod from the server to stop the crashes and also because it was sending advancements wrongly.

If possible, I hope there is a way to choose what messages are to be sent to which Discord channel and which ones we can disable. I realize that simply removing the messages completely from the config file causes crashes (config attached is from the one that caused crashes).

To Reproduce

Do actions that will add requirements towards a game advancement and compare the in game advancement announcement vs the Discord chat advancement announcement.

Log

Unfortunately there is no longer any log from the day the advancement issue happened, my apologies.

Config

{
  "generic": {
    "useEngInsteadOfChin": true,
    "botToken": "",
    "botPlayingStatus": "Minecraft",
    "botListeningStatus": "",
    "webhookUrl": "",
    "channelId": "",
    "consoleLogChannelId": "",
    "useUuidInsteadOfName": true,
    "avatarApi": "https://mc-heads.net/avatar/%player%.png",
    "broadcastCommandExecution": true,
    "announceHighMspt": false,
    "msptLimit": 50,
    "excludedCommands": [
      "/tell"
    ],
    "adminsIds": []
  },
  "multiServer": {
    "enable": false,
    "host": "127.0.0.1",
    "port": 5000,
    "name": "SMP"
  },
  "textsZH": {
    "serverStarted": "**服务器已启动!**",
    "serverStopped": "**服务器已关闭!**",
    "joinServer": "**%playerName% 加入了服务器**",
    "leftServer": "**%playerName% 离开了服务器**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% 达成了进度 [%advancement%]**",
    "advancementChallenge": "**%playerName% 完成了挑战 [%advancement%]**",
    "advancementGoal": "**%playerName% 达成了目标 [%advancement%]**",
    "highMspt": "**服务器 MSPT (%mspt%) 高于 %msptLimit%!**",
    "consoleLogMessage": "[%time%] [INFO] %message%"
  },
  "textsEN": {
    "serverStarted": "**Server started**",
    "serverStopped": "**Server stopped**",
    "joinServer": "**%playerName% joined the game**",
    "leftServer": "**%playerName% left the game**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% has made the advancement [%advancement%]**",
    "advancementChallenge": "",
    "advancementGoal": "**%playerName% has reached the goal [%advancement%]**",
    "highMspt": "**Server MSPT (%mspt%) is above %msptLimit%!**",
    "consoleLogMessage": "[%time%] %message%"
  }
}

[Bug] Server stuck on startup without any log messages after installing mod

image

As soon as i install the mod, the Server refuses to start and ist stuck in a whered state. I set the bot token, webhook, channel id and world name correctly, but the bot still refuses to start and is shown offline in discord.

The worst thing is: i dont even get a chat log why it is not launching or what is wrong.

[Bug] /info message missing line breaks when at least two players are online

Checks

Java Version

17.0.2

Minecraft Version

1.18.2

MCDiscordChat Version

2.0.0-alpha.1

Description

The /info command message has no line breaks for Online players when at least two players are online.

image

I think this happens because I forgot to add a line break (\n) to this line of code when MCDC was rewritten:

https://github.com/Xujiayao/MCDiscordChat/blob/a62328a0082eead4b06d16818b1857379676cbf2/src/main/java/top/xujiayao/mcdiscordchat/utils/Utils.java#L125

To Reproduce

Use the /info command when at least two players are online.

Log

latest.log

Config

{
  "generic": {
    "useEngInsteadOfChin": true,
    "botToken": "hidden",
    "botPlayingStatus": "Minecraft",
    "botListeningStatus": "",
    "webhookUrl": "hidden",
    "channelId": "792407823295184906",
    "consoleLogChannelId": "",
    "useUuidInsteadOfName": true,
    "avatarApi": "https://mc-heads.net/avatar/%player%.png",
    "broadcastCommandExecution": true,
    "announceHighMspt": true,
    "msptLimit": 50,
    "excludedCommands": [
      "/tell"
    ],
    "adminsIds": [
      "664857360602365990",
      "769470378073653269"
    ]
  },
  "multiServer": {
    "enable": true,
    "host": "127.0.0.1",
    "port": 5000,
    "name": "SMP"
  },
  "textsZH": {
    "serverStarted": "**服务器已启动!**",
    "serverStopped": "**服务器已关闭!**",
    "joinServer": "**%playerName% 加入了服务器**",
    "leftServer": "**%playerName% 离开了服务器**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% 达成了进度 [%advancement%]**",
    "advancementChallenge": "**%playerName% 完成了挑战 [%advancement%]**",
    "advancementGoal": "**%playerName% 达成了目标 [%advancement%]**",
    "highMspt": "**服务器 MSPT (%mspt%) 高于 %msptLimit%!**",
    "consoleLogMessage": "[%time%] [INFO] %message%"
  },
  "textsEN": {
    "serverStarted": "**Server started!**",
    "serverStopped": "**Server stopped!**",
    "joinServer": "**%playerName% joined the game**",
    "leftServer": "**%playerName% left the game**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% has made the advancement [%advancement%]**",
    "advancementChallenge": "**%playerName% has completed the challenge [%advancement%]**",
    "advancementGoal": "**%playerName% has reached the goal [%advancement%]**",
    "highMspt": "**Server MSPT (%mspt%) is above %msptLimit%!**",
    "consoleLogMessage": "[%time%] [INFO] %message%"
  }
}

[Enhancement] Channel Topic only updating when necessarry

Checks

Description

image

Jayyy it works...
but i realized you are changing the channel topic over and over again to the same one:
image

Please add if possible (especially with only 1 server) the feature to only update on change/when nesessary.

This should also remove the delay on shutdown if not needed.

[Question] Crash on start

Disabled all my other mods to look for an incompatibility, and found none.

MCDiscordChat is stopping the server from starting at all, the only other mod being installed is the required fabric-api

Minecraft: 1.18.1
MCDiscordChat: 1.18-1.11.3
fabric-loader: 0.12.12
fabric-api: 0.45.0+1.18

No crash report generated, here is the error from console:

https://pastebin.com/KXCaTfZu

DisFabric works fine. Its a shame I can't get this to work, I was looking forward to being able to ping people in discord from in-game with @.

[Enhancement] Make it not spam channels

Checks

Description

When you run a command like /carpet, the command will output a big multiline response. When you have the console logging on, it will spam that channel with messages line by line, which will result in the bot getting rate limited by discord. It would be better if it would put all the lines into one message so the bot wouldn't get rate limited. This would also be nice for chat messages in general since a player can get the bot rate limited by spamming the chat a few times.

[Enhancement] Allow bot messages to be visible from Minecraft

Existing Issues Searched

Description

Currently, whenever a bot sends a message, its not viewable from Minecraft

I suggest a config option that allows bots to have their messages be visible from Minecraft, potentially showBotMessages?

You might want to make sure to ignore webhooks, as they could cause the server to read its own messages

Images showing a bot not being visible from Minecraft
image
image

[Bug] Custom advancements are not translated

Checks

  • I confirm that I have searched for existing issues before reporting to avoid duplicate reporting.
  • I confirm that this problem still exists with the latest build version of MCDiscordChat.
  • I confirm that this problem still exists with only MCDiscordChat and Fabric API installed.
  • I confirm that I followed the MCDC Docs and read the Changelog, but this problem still exists.

Java Version

17.0.3

Minecraft Version

1.18.2

MCDiscordChat Version

2.0.0-alpha.2

Description

Screen Shot 2022-05-25 at 8 13 50 AM

The image is pretty self explanatory. When a player gets a modded advancement, the advancement text will not translate, but instead will just send the translation ID.

I also have checked the box stating that the issue only exists with the mod and fapi, but I did that just so I could submit the issue. There needs to be other mods installed for the bug to occur.

To Reproduce

load up any mod with advancements, then achieve them.

Log

https://paste.ee/p/3S5L9

Config

{
  "generic": {
    "useEngInsteadOfChin": true,
    "botToken": "",
    "botPlayingStatus": "Minecraft",
    "botListeningStatus": "",
    "webhookUrl": "",
    "channelId": "978302263380557884",
    "consoleLogChannelId": "",
    "useUuidInsteadOfName": true,
    "avatarApi": "https://mc-heads.net/avatar/%player%.png",
    "broadcastCommandExecution": true,
    "allowMentions": true,
    "modifyChatMessages": true,
    "useServerNickname": true,
    "announceHighMspt": true,
    "msptCheckInterval": 5000,
    "msptLimit": 50,
    "mentionAdmins": true,
    "updateChannelTopic": true,
    "channelTopicUpdateInterval": 600000,
    "excludedCommands": [
      "/tell"
    ],
    "adminsIds": []
  },
  "multiServer": {
    "enable": false,
    "host": "127.0.0.1",
    "port": 5000,
    "name": "SMP",
    "botIds": []
  },
  "textsZH": {
    "unformattedResponseMessage": "    ┌──── <%name%> %message%",
    "unformattedChatMessage": "[%server%] <%name%> %message%",
    "unformattedOtherMessage": "[%server%] %message%",
    "formattedResponseMessage": [
      {
        "text": "    ┌──── ",
        "bold": true,
        "color": "dark_gray"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "dark_gray"
      }
    ],
    "formattedChatMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "formattedOtherMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "serverStarted": "**服务器已启动!**",
    "serverStopped": "**服务器已关闭!**",
    "joinServer": "**%playerName% 加入了服务器**",
    "leftServer": "**%playerName% 离开了服务器**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% 达成了进度 [%advancement%]**",
    "advancementChallenge": "**%playerName% 完成了挑战 [%advancement%]**",
    "advancementGoal": "**%playerName% 达成了目标 [%advancement%]**",
    "highMspt": "**服务器 MSPT (%mspt%) 高于 %msptLimit%!**",
    "consoleLogMessage": "[%time%] [INFO] %message%",
    "offlineChannelTopic": ":x: 服务器离线 | 最后更新于:<t:%lastUpdateTime%:f>",
    "onlineChannelTopic": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% 位玩家在线 | 服务器玩家总数:%uniquePlayerCount% | 服务器于 <t:%serverStartedTime%:R> 启动 | 最后更新于:<t:%lastUpdateTime%:f>",
    "onlineChannelTopicForMultiServer": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% 位玩家在线 | 服务器玩家总数:%uniquePlayerCount% | %onlineServerCount% 个服务器在线 [%onlineServerList%] | 服务器于 <t:%serverStartedTime%:R> 启动 | 最后更新于:<t:%lastUpdateTime%:f>"
  },
  "textsEN": {
    "unformattedResponseMessage": "    ┌──── <%name%> %message%",
    "unformattedChatMessage": "[%server%] <%name%> %message%",
    "unformattedOtherMessage": "[%server%] %message%",
    "formattedResponseMessage": [
      {
        "text": "    ┌──── ",
        "bold": true,
        "color": "dark_gray"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "dark_gray"
      }
    ],
    "formattedChatMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "formattedOtherMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "serverStarted": "**Server started!**",
    "serverStopped": "**Server stopped!**",
    "joinServer": "**%playerName% joined the game**",
    "leftServer": "**%playerName% left the game**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% has made the advancement [%advancement%]**",
    "advancementChallenge": "**%playerName% has completed the challenge [%advancement%]**",
    "advancementGoal": "**%playerName% has reached the goal [%advancement%]**",
    "highMspt": "**Server MSPT (%mspt%) is above %msptLimit%!**",
    "consoleLogMessage": "[%time%] [INFO] %message%",
    "offlineChannelTopic": ":x: Server offline | Last updated: <t:%lastUpdateTime%:f>",
    "onlineChannelTopic": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% player(s) online | %uniquePlayerCount% unique player(s) ever joined | Server started <t:%serverStartedTime%:R> | Last updated: <t:%lastUpdateTime%:f>",
    "onlineChannelTopicForMultiServer": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% player(s) online | %uniquePlayerCount% unique player(s) ever joined | %onlineServerCount% server(s) online [%onlineServerList%] | Server started <t:%serverStartedTime%:R> | Last updated: <t:%lastUpdateTime%:f>"
  }

[Question] Failed to start server after installing MCDiscordChat

[17:45:02] [main/INFO]: Loading Minecraft 1.18.1 with Fabric Loader 0.12.12
[17:45:02] [main/WARN]: Warnings were found!
 - Mod 'Fabric Rendering Fluids (v1)' (fabric-rendering-fluids-v1) 0.1.18+3ac43d95c8 recommends any version of fabric-textures-v0, which is disabled for this environment (client/server only)!
	 - You should install any version of fabric-textures-v0 for the optimal experience.
 - Mod 'Textile Backup' (textile_backup) 2.3.0-1.18 recommends any version of modmenu, which is missing!
	 - You should install any version of modmenu for the optimal experience.
[17:45:02] [main/INFO]: Loading 117 mods:
	- adventure-platform-fabric 5.0.0 via minimotd-fabric
	- cardinal-components-base 4.0.0 via fabricwarps
	- cardinal-components-world 4.0.0 via fabricwarps
	- carpet 1.4.56
	- cloth-basic-math 0.6.0 via cloth-config
	- cloth-config 6.1.48
	- cloud 1.6.0 via tabtps-fabric
	- cloud_commandframework_cloud-brigadier_ 1.6.0 via cloud
	- cloud_commandframework_cloud-core_ 1.6.0 via cloud
	- cloud_commandframework_cloud-minecraft-extras 1.6.0 via tabtps-fabric
	- cloud_commandframework_cloud-services_ 1.6.0 via cloud
	- com_fasterxml_jackson_core_jackson-annotations 2.13.1 via mcdiscordchat
	- com_fasterxml_jackson_core_jackson-core 2.13.1 via mcdiscordchat
	- com_fasterxml_jackson_core_jackson-databind 2.13.1 via mcdiscordchat
	- com_fasterxml_jackson_dataformat_jackson-dataformat-yaml 2.12.4 via speed-carts
	- com_github_shevek_parallelgzip af5f5c297e735f3f2df7aa4eb0e19a5810b8aff6 via textile_backup
	- com_konghq_unirest-java_standalone 3.13.4 via mcdiscordchat
	- com_neovisionaries_nv-websocket-client 2.14 via mcdiscordchat
	- com_squareup_okhttp3_okhttp 3.14.9 via mcdiscordchat
	- com_squareup_okio_okio 1.17.5 via mcdiscordchat
	- com_typesafe_config 1.4.1 via tabtps-fabric
	- com_vdurmont_emoji-java 5.1.1 via mcdiscordchat
	- com_velocitypowered_velocity-native 1.1.0-SNAPSHOT via krypton
	- config2brigadier 1.0.2 via healthcare
	- fabric 0.44.0+1.18
	- fabric-api-base 0.4.1+b4f4f6cdc8 via fabric
	- fabric-api-lookup-api-v1 1.4.0+16d92c47c8 via fabric
	- fabric-biome-api-v1 6.0.1+ded849a9c8 via fabric
	- fabric-command-api-v1 1.1.6+3ac43d95c8 via fabric
	- fabric-commands-v0 0.2.5+b4f4f6cdc8 via fabric
	- fabric-containers-v0 0.1.18+d154e2c6c8 via fabric
	- fabric-content-registries-v0 0.4.5+6f53a73dc8 via fabric
	- fabric-crash-report-info-v1 0.1.8+3ac43d95c8 via fabric
	- fabric-dimensions-v1 2.1.7+43d29571c8 via fabric
	- fabric-entity-events-v1 1.4.5+6b21378ac8 via fabric
	- fabric-events-interaction-v0 0.4.16+bfa23f17c8 via fabric
	- fabric-events-lifecycle-v0 0.2.6+b4f4f6cdc8 via fabric
	- fabric-game-rule-api-v1 1.0.10+3ac43d95c8 via fabric
	- fabric-item-api-v1 1.3.0+691a79b5c8 via fabric
	- fabric-item-groups-v0 0.3.3+3ac43d95c8 via fabric
	- fabric-language-kotlin 1.7.0+kotlin.1.6.0
	- fabric-lifecycle-events-v1 1.4.10+c15ca335c8 via fabric
	- fabric-loot-tables-v1 1.0.8+3ac43d95c8 via fabric
	- fabric-mining-level-api-v1 1.0.3+3ac43d95c8 via fabric
	- fabric-mining-levels-v0 0.1.7+b4f4f6cdc8 via fabric
	- fabric-networking-api-v1 1.0.18+3ac43d95c8 via fabric
	- fabric-networking-v0 0.3.5+b4f4f6cdc8 via fabric
	- fabric-object-builder-api-v1 1.11.0+3b82842ec8 via fabric
	- fabric-object-builders-v0 0.7.8+3ac43d95c8 via fabric
	- fabric-particles-v1 0.2.9+526dc1acc8 via fabric
	- fabric-permissions-api-v0 0.1-SNAPSHOT via invview
	- fabric-registry-sync-v0 0.8.5+3ac43d95c8 via fabric
	- fabric-rendering-data-attachment-v1 0.3.4+7242e9d7c8 via fabric
	- fabric-rendering-fluids-v1 0.1.18+3ac43d95c8 via fabric
	- fabric-resource-loader-v0 0.4.11+3ac43d95c8 via fabric
	- fabric-screen-handler-api-v1 1.1.11+3ac43d95c8 via fabric
	- fabric-structure-api-v1 2.0.8+295197a7c8 via fabric
	- fabric-tag-extensions-v0 1.2.5+3ac43d95c8 via fabric
	- fabric-tool-attribute-api-v1 1.3.4+7de09f55c8 via fabric
	- fabric-transfer-api-v1 1.5.5+b4f4f6cdc8 via fabric
	- fabricloader 0.12.12
	- fabricwarps 2.1.0
	- fastfurnace 1.18-4
	- ferritecore 4.0.0
	- flycommand 1.18-1.0.0
	- healthcare 1.0.10
	- invview 1.4.7-1.18-rc3+
	- io_leangen_geantyref_geantyref 1.3.13 via cloud
	- java 17
	- krypton 0.1.6
	- lazydfu 0.1.2
	- ledger 1.2.0
	- lithium 0.7.7
	- mcdiscordchat 1.18-1.11.4
	- minecraft 1.18.1
	- minimotd-fabric 2.0.5
	- more_codecs 0.1.4 via player_roles
	- net_dv8tion_jda 5.0.0-alpha.4 via mcdiscordchat
	- net_kyori_adventure-api 4.9.3 via adventure-platform-fabric
	- net_kyori_adventure-key 4.9.3 via adventure-platform-fabric
	- net_kyori_adventure-platform-api 4.0.0 via adventure-platform-fabric
	- net_kyori_adventure-serializer-configurate4 4.9.3 via tabtps-fabric
	- net_kyori_adventure-text-feature-pagination 4.0.0-SNAPSHOT via tabtps-fabric
	- net_kyori_adventure-text-minimessage 4.2.0-SNAPSHOT via minimotd-fabric
	- net_kyori_adventure-text-serializer-gson 4.9.3 via adventure-platform-fabric
	- net_kyori_adventure-text-serializer-legacy 4.9.3 via tabtps-fabric
	- net_kyori_adventure-text-serializer-plain 4.9.3 via adventure-platform-fabric
	- net_kyori_examination-api 1.3.0 via adventure-platform-fabric
	- net_kyori_examination-string 1.3.0 via adventure-platform-fabric
	- net_sf_trove4j_trove4j 3.0.3 via mcdiscordchat
	- org_apache_commons_commons-collections4 4.4 via mcdiscordchat
	- org_apache_commons_commons-compress 1.19 via textile_backup
	- org_jetbrains_kotlin_kotlin-reflect 1.6.0 via fabric-language-kotlin
	- org_jetbrains_kotlin_kotlin-stdlib 1.6.0 via fabric-language-kotlin
	- org_jetbrains_kotlin_kotlin-stdlib-jdk7 1.6.0 via fabric-language-kotlin
	- org_jetbrains_kotlin_kotlin-stdlib-jdk8 1.6.0 via fabric-language-kotlin
	- org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm 1.5.2 via fabric-language-kotlin
	- org_jetbrains_kotlinx_kotlinx-coroutines-jdk8 1.5.2 via fabric-language-kotlin
	- org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm 1.3.1 via fabric-language-kotlin
	- org_jetbrains_kotlinx_kotlinx-serialization-core-jvm 1.3.1 via fabric-language-kotlin
	- org_jetbrains_kotlinx_kotlinx-serialization-json-jvm 1.3.1 via fabric-language-kotlin
	- org_json_json 20210307 via mcdiscordchat
	- org_spongepowered_configurate-core 4.1.2 via tabtps-fabric
	- org_spongepowered_configurate-hocon 4.1.2 via tabtps-fabric
	- org_tukaani_xz 1.9 via textile_backup
	- org_yaml_snakeyaml 1.27 via speed-carts
	- packet_tweaker 0.2.0+1.18-pre1 via server_translations_api
	- player_roles 1.5.0
	- player_roles_api 1.5.0 via player_roles
	- server_translations_api 1.4.8+1.18-pre1 via ledger
	- servux 0.1.0
	- sgui 1.0.0-rc6+1.18-pre5 via invview
	- speed-carts 1.3.1
	- starlight 1.0.0+fabric.d0a3220
	- tabtps-fabric 1.3.11
	- textile_backup 2.3.0-1.18
	- worldedit 7.2.8+6008-1246d61
[17:45:03] [main/WARN]: Mod `com_github_shevek_parallelgzip` (af5f5c297e735f3f2df7aa4eb0e19a5810b8aff6) does not respect SemVer - comparison support is limited.
[17:45:03] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.4 Source=file:/C:/Users/12345/Desktop/lmt%202/libraries/net/fabricmc/sponge-mixin/0.10.7+mixin.0.8.4/sponge-mixin-0.10.7+mixin.0.8.4.jar Service=Knot/Fabric Env=SERVER
[17:45:03] [main/INFO]: Compatibility level set to JAVA_16
[17:45:03] [main/INFO]: Compatibility level set to JAVA_17
[17:45:03] [main/INFO]: Loaded configuration file for Lithium: 88 options available, 1 override(s) found
[17:45:03] [main/WARN]: Force-disabling mixin 'world.player_chunk_tick.ThreadedAnvilChunkStorageMixin' as rule 'mixin.world.player_chunk_tick' (added by mods [krypton]) disables it and children
[17:45:03] [main/WARN]: [carpet] detected, disabling UPDATE mixin com.sk89q.worldedit.fabric.mixin.MixinLevelChunkSetBlockHook
[17:45:05] [main/WARN]: Method overwrite conflict for getLanguage in worldedit.mixins.json:MixinServerPlayer, previously written by carpet.mixins.ServerPlayerEntity_scarpetEventMixin. Skipping method.
[17:45:07] [main/WARN]: @Inject(@At("INVOKE")) Shift.BY=3 on fabric-lifecycle-events-v1.mixins.json:server.WorldChunkMixin::handler$zle000$onLoadBlockEntity exceeds the maximum allowed value: 0. Increase the value of maxShiftBy to suppress this warning.
[17:45:08] [main/INFO]: Loaded C2B lib.
[17:45:08] [main/INFO]: Initializing...
[17:45:08] [main/INFO]: Compression will use Java 11, encryption will use Java
[17:45:08] [main/INFO]: Done initializing MiniMOTD
[17:45:08] [main/INFO]: [STDOUT]: Speed Carts initialized.
[17:45:08] [main/INFO]: Done initializing TabTPS.
[17:45:08] [main/INFO]: [Textile Backup] Starting Textile Backup by Szum123321
[17:45:09] [main/INFO]: Got request to register class com.sk89q.worldedit.fabric.FabricPlatform with WorldEdit [com.sk89q.worldedit.extension.platform.PlatformManager@6e7e60bb]
[17:45:09] [main/INFO]: WorldEdit for Fabric (version 7.2.8+6008-1246d61) is loaded
[17:45:09] [main/INFO]: Krypton is now accelerating your Minecraft server's networking stack ?
[17:45:09] [main/INFO]: Initializing Ledger 1.2.0
[17:45:10] [main/INFO]: [STDERR]: javax.security.auth.login.LoginException: The provided token is invalid!
[17:45:10] [main/INFO]: [STDERR]: 	at net.dv8tion.jda.internal.JDAImpl.verifyToken(JDAImpl.java:384)
[17:45:10] [main/INFO]: [STDERR]: 	at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:304)
[17:45:10] [main/INFO]: [STDERR]: 	at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:271)
[17:45:10] [main/INFO]: [STDERR]: 	at net.dv8tion.jda.api.JDABuilder.build(JDABuilder.java:1782)
[17:45:10] [main/INFO]: [STDERR]: 	at top.xujiayao.mcdiscordchat.Main.onInitializeServer(Main.java:44)
[17:45:10] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47)
[17:45:10] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35)
[17:45:10] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:63)
[17:45:10] [main/INFO]: [STDERR]: 	at net.minecraft.server.Main.main(Main.java:106)
[17:45:10] [main/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[17:45:10] [main/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[17:45:10] [main/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[17:45:10] [main/INFO]: [STDERR]: 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[17:45:10] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:608)
[17:45:10] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77)
[17:45:10] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)
[17:45:10] [main/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[17:45:10] [main/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[17:45:10] [main/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[17:45:10] [main/INFO]: [STDERR]: 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[17:45:10] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66)
[17:45:11] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[17:45:11] [main/FATAL]: Failed to start the minecraft server
java.nio.channels.ClosedByInterruptException: null
	at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:199) ~[?:?]
	at sun.nio.ch.FileChannelImpl.endBlocking(FileChannelImpl.java:168) ~[?:?]
	at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:290) ~[?:?]
	at net.minecraft.class_5125.method_26803(class_5125.java:40) ~[server-intermediary.jar:?]
	at net.minecraft.class_32$class_5143.<init>(class_32.java:289) ~[server-intermediary.jar:?]
	at net.minecraft.class_32.method_27002(class_32.java:277) ~[server-intermediary.jar:?]
	at net.minecraft.server.Main.main(Main.java:132) [server-intermediary.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:608) [fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.12.12.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.12.12.jar:?]

yep and the server will stuck here

[Question] How to use /stats?

Existing Issues Searched

Description

Hi, I can't get /stats to work.
I have the objective 'Deaths' displayed on the sidebar but I don't know how to use /stats to display it in discord.
I put Death for Name but I don't know what to put at type, I tried objective but it didn't work.

[Enhancement] Toggle formatting of unicode emoji

Checks

Description

Currently, MCDiscordChat formats emoji markdown (such as 😄) in a yellow color. Unlike the other formatting options, this is not configurable or able to be turned off.

This creates an incompatbility with mods like AOF Emotes which detect and replace emoji markdown with the image of the emoji.

Additionally, it would be a nice QoL feature to be able to change the color of the formatting or disable it.

Suggestion

Add a separate config option for emoji formatting, allowing players to change the color or disable formatting completely.

[Bug] NoSuchFileException when a fresh server starts

Checks

  • I confirm that I have searched for existing issues before reporting to avoid duplicate reporting.
  • I confirm that this problem still exists with the latest build version of MCDiscordChat.
  • I confirm that this problem still exists with only MCDiscordChat and Fabric API installed.
  • I confirm that I followed the MCDC Docs and read the Changelog, but this problem still exists.

Java Version

17.0.3

Minecraft Version

1.19

MCDiscordChat Version

Latest build

Description

https://github.com/Xujiayao/MCDiscordChat/blob/6f5ef9e9d48b2f4b5f3283388aa53d11703d612c/src/main/java/top/xujiayao/mcdiscordchat/utils/Utils.java#L245

If there is no "world/stats", It will crash.

To Reproduce

Make a new world, and run it with MCDiscordChat.
Keep updateChannelTopic on, and it will throw java.nio.file.NoSuchFileException: world/stats.

Log

Starting net.fabricmc.loader.impl.game.minecraft.BundlerClassPathCapture
[18:35:12] [main/INFO]: Loading Minecraft 1.19 with Fabric Loader 0.14.7
[18:35:12] [main/INFO]: Loading 53 mods:
        - com_fasterxml_jackson_core_jackson-annotations 2.13.3 via mcdiscordchat
        - com_fasterxml_jackson_core_jackson-core 2.13.3 via mcdiscordchat
        - com_fasterxml_jackson_core_jackson-databind 2.13.3 via mcdiscordchat
        - com_google_code_gson_gson 2.9.0 via mcdiscordchat
        - com_neovisionaries_nv-websocket-client 2.14 via mcdiscordchat
        - com_squareup_okhttp3_okhttp 4.9.3 via mcdiscordchat
        - com_squareup_okio_okio 2.10.0 via mcdiscordchat
        - com_vdurmont_emoji-java 5.1.1 via mcdiscordchat
        - fabric 0.55.3+1.19
        - fabric-api-base 0.4.9+e62f51a3a9 via fabric
        - fabric-api-lookup-api-v1 1.6.6+9ff28f40a9 via fabric
        - fabric-biome-api-v1 9.0.12+e62f51a3a9 via fabric
        - fabric-command-api-v1 1.2.5+f71b366fa9 via fabric
        - fabric-command-api-v2 2.1.1+cda9839ba9 via fabric
        - fabric-commands-v0 0.2.22+df3654b3a9 via fabric
        - fabric-containers-v0 0.1.27+df3654b3a9 via fabric
        - fabric-content-registries-v0 3.0.16+9ff28f40a9 via fabric
        - fabric-convention-tags-v1 1.0.8+37622d24a9 via fabric
        - fabric-crash-report-info-v1 0.2.3+bd0a0d4aa9 via fabric
        - fabric-data-generation-api-v1 5.0.1+2a5b9210a9 via fabric
        - fabric-dimensions-v1 2.1.27+72da3b3da9 via fabric
        - fabric-entity-events-v1 1.4.16+9ff28f40a9 via fabric
        - fabric-events-interaction-v0 0.4.26+9ff28f40a9 via fabric
        - fabric-events-lifecycle-v0 0.2.24+df3654b3a9 via fabric
        - fabric-game-rule-api-v1 1.0.19+18990361a9 via fabric
        - fabric-item-api-v1 1.5.4+767db26ea9 via fabric
        - fabric-item-groups-v0 0.3.23+9ff28f40a9 via fabric
        - fabric-lifecycle-events-v1 2.0.9+21a5acaaa9 via fabric
        - fabric-loot-api-v2 1.0.1+9e7660c6a9 via fabric
        - fabric-loot-tables-v1 1.1.1+9e7660c6a9 via fabric
        - fabric-message-api-v1 1.0.1+513f4a59a9 via fabric
        - fabric-mining-level-api-v1 2.1.7+9ff28f40a9 via fabric
        - fabric-networking-api-v1 1.0.27+7fe97409a9 via fabric
        - fabric-networking-v0 0.3.14+df3654b3a9 via fabric
        - fabric-object-builder-api-v1 4.0.5+9ff28f40a9 via fabric
        - fabric-particles-v1 1.0.8+dc39553aa9 via fabric
        - fabric-registry-sync-v0 0.9.16+92cf9a3ea9 via fabric
        - fabric-rendering-data-attachment-v1 0.3.12+9ff28f40a9 via fabric
        - fabric-rendering-fluids-v1 3.0.5+9ff28f40a9 via fabric
        - fabric-resource-conditions-api-v1 2.0.9+e62f51a3a9 via fabric
        - fabric-resource-loader-v0 0.5.3+9e7660c6a9 via fabric
        - fabric-screen-handler-api-v1 1.2.6+9ff28f40a9 via fabric
        - fabric-transfer-api-v1 2.0.8+e62f51a3a9 via fabric
        - fabric-transitive-access-wideners-v1 1.1.1+9e7660c6a9 via fabric
        - fabricloader 0.14.7
        - java 17
        - mcdiscordchat 1.19-2.0.0-alpha.3
        - minecraft 1.19
        - net_dv8tion_jda 5.0.0-alpha.12 via mcdiscordchat
        - net_sf_trove4j_trove4j 3.0.3 via mcdiscordchat
        - org_apache_commons_commons-collections4 4.4 via mcdiscordchat
        - org_jetbrains_kotlin_kotlin-stdlib 1.7.0 via mcdiscordchat
        - org_json_json 20220320 via mcdiscordchat
[18:35:12] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/home/minecraft/server/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar Service=Knot/Fabric Env=SERVER
[18:35:12] [main/INFO]: Compatibility level set to JAVA_16
[18:35:12] [main/INFO]: Compatibility level set to JAVA_17
[18:35:16] [main/INFO]: Building unoptimized datafixer
[18:35:17] [main/INFO]: -----------------------------------------
[18:35:17] [main/INFO]: MCDiscordChat (MCDC) 2.0.0-alpha.3
[18:35:17] [main/INFO]: By Xujiayao
[18:35:17] [main/INFO]:
[18:35:17] [main/INFO]: More information + Docs:
[18:35:17] [main/INFO]: https://blog.xujiayao.top/posts/4ba0a17a/
[18:35:17] [main/INFO]: -----------------------------------------
[18:35:18] [main/INFO]: Login Successful!
[18:35:18] [JDA MainWS-WriteThread/INFO]: Connected to WebSocket
[18:35:20] [JDA MainWS-ReadThread/INFO]: Finished Loading!
[18:35:20] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[18:35:22] [main/INFO]: Loaded 7 recipes
[18:35:22] [main/INFO]: Loaded 1179 advancements
[18:35:23] [main/INFO]: Applied 0 biome modifications to 0 of 63 new biomes in 1.857 ms
[18:35:23] [Server thread/INFO]: Starting minecraft server version 1.19
[18:35:23] [Server thread/INFO]: Loading properties
[18:35:23] [Server thread/INFO]: Default game type: SURVIVAL
[18:35:23] [Server thread/INFO]: Generating keypair
[18:35:23] [Server thread/INFO]: Starting Minecraft server on *:25565
[18:35:23] [Server thread/INFO]: Using epoll channel type
[18:35:23] [Server thread/INFO]: Preparing level "world"
[18:35:25] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[18:35:25] [Server thread/INFO]: Preparing spawn area: 0%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-1/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-3/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-3/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:37] [Worker-Main-2/INFO]: Preparing spawn area: 1%
[18:35:38] [Worker-Main-3/INFO]: Preparing spawn area: 86%
[18:35:38] [Worker-Main-3/INFO]: Preparing spawn area: 86%
[18:35:39] [Worker-Main-1/INFO]: Preparing spawn area: 86%
[18:35:39] [Worker-Main-2/INFO]: Preparing spawn area: 86%
[18:35:40] [Worker-Main-3/INFO]: Preparing spawn area: 86%
[18:35:40] [Worker-Main-1/INFO]: Preparing spawn area: 86%
[18:35:41] [Worker-Main-2/INFO]: Preparing spawn area: 86%
[18:35:41] [Worker-Main-2/INFO]: Preparing spawn area: 86%
[18:35:42] [Worker-Main-2/INFO]: Preparing spawn area: 86%
[18:35:42] [Worker-Main-3/INFO]: Preparing spawn area: 86%
[18:35:43] [Worker-Main-2/INFO]: Preparing spawn area: 86%
[18:35:43] [Worker-Main-3/INFO]: Preparing spawn area: 86%
[18:35:44] [Worker-Main-2/INFO]: Preparing spawn area: 87%
[18:35:44] [Worker-Main-3/INFO]: Preparing spawn area: 89%
[18:35:45] [Worker-Main-2/INFO]: Preparing spawn area: 90%
[18:35:45] [Worker-Main-1/INFO]: Preparing spawn area: 93%
[18:35:46] [Worker-Main-2/INFO]: Preparing spawn area: 96%
[18:35:46] [Worker-Main-3/INFO]: Preparing spawn area: 98%
[18:35:46] [Server thread/INFO]: Time elapsed: 21829 ms
[18:35:46] [Server thread/INFO]: Done (23.308s)! For help, type "help"
[18:35:47] [Timer-2/ERROR]: Uncaught exception in thread "Timer-2"
java.io.UncheckedIOException: world/stats
        at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:2153) ~[commons-io-2.11.0.jar:?]
        at top.xujiayao.mcdiscordchat.utils.Utils$2.run(Utils.java:245) ~[MCDiscordChat-1.19-2.0.0-alpha.3.jar:?]
        at java.util.TimerThread.mainLoop(Timer.java:566) ~[?:?]
        at java.util.TimerThread.run(Timer.java:516) ~[?:?]
Caused by: java.nio.file.NoSuchFileException: world/stats
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) ~[?:?]
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) ~[?:?]
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
        at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55) ~[?:?]
        at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:148) ~[?:?]
        at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99) ~[?:?]
        at java.nio.file.Files.readAttributes(Files.java:1851) ~[?:?]
        at java.nio.file.FileTreeWalker.getAttributes(FileTreeWalker.java:226) ~[?:?]
        at java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:277) ~[?:?]
        at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:323) ~[?:?]
        at java.nio.file.FileTreeIterator.<init>(FileTreeIterator.java:71) ~[?:?]
        at java.nio.file.Files.walk(Files.java:3918) ~[?:?]
        at org.apache.commons.io.file.PathUtils.walk(PathUtils.java:1044) ~[commons-io-2.11.0.jar:?]
        at org.apache.commons.io.FileUtils.streamFiles(FileUtils.java:2971) ~[commons-io-2.11.0.jar:?]
        at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:2151) ~[commons-io-2.11.0.jar:?]
        ... 3 more

Config

{
  "generic": {
    "useEngInsteadOfChin": false,
    "botToken": "",
    "botPlayingStatus": "Minecraft",
    "botListeningStatus": "",
    "webhookUrl": "",
    "channelId": "",
    "consoleLogChannelId": "",
    "useUuidInsteadOfName": true,
    "avatarApi": "https://mc-heads.net/avatar/%player%.png",
    "broadcastCommandExecution": true,
    "allowMentions": true,
    "modifyChatMessages": true,
    "useServerNickname": true,
    "announceHighMspt": true,
    "msptCheckInterval": 5000,
    "msptLimit": 50,
    "mentionAdmins": true,
    "updateChannelTopic": true,
    "channelTopicUpdateInterval": 600000,
    "excludedCommands": [
      "/tell"
    ],
    "adminsIds": [""]
  },
  "multiServer": {
    "enable": false,
    "host": "127.0.0.1",
    "port": 5000,
    "name": "SMP",
    "botIds": []
  },
  "textsZH": {
    "unformattedResponseMessage": "    ┌──── <%name%> %message%",
    "unformattedChatMessage": "[%server%] <%name%> %message%",
    "unformattedOtherMessage": "[%server%] %message%",
    "formattedResponseMessage": [
      {
        "text": "    ┌──── ",
        "bold": true,
        "color": "dark_gray"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "dark_gray"
      }
    ],
    "formattedChatMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "formattedOtherMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "serverStarted": "**伺服器已啟動!**",
    "serverStopped": "**伺服器已關閉!**",
    "joinServer": "**%playerName% 加入了遊戲**",
    "leftServer": "**%playerName% 離開了遊戲**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% 達成了進度 [%advancement%]**",
    "advancementChallenge": "**%playerName% 完成了挑戰 [%advancement%]**",
    "advancementGoal": "**%playerName% 達成了目標 [%advancement%]**",
    "highMspt": "**伺服器 MSPT (%mspt%) 高於 %msptLimit%!**",
    "consoleLogMessage": "[%time%] [INFO] %message%",
    "offlineChannelTopic": ":x: 伺服器關閉 | 最後更新於:<t:%lastUpdateTime%:f>",
    "onlineChannelTopic": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% 位玩家遊玩中 | 伺服器玩家總數:%uniquePlayerCount% | 伺服器於 <t:%serverStartedTime%:R> 啟動 | 最後更新於:<t:%lastUpdateTime%:f>",
    "onlineChannelTopicForMultiServer": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% 位玩家遊玩中 | 伺服器玩家總數:%uniquePlayerCount% | %onlineServerCount% 個伺服器啟動 [%onlineServerList%] | 伺服器於 <t:%serverStartedTime%:R> 啟動 | 最後更新於:<t:%lastUpdateTime%:f>"
  },
  "textsEN": {
    "unformattedResponseMessage": "    ┌──── <%name%> %message%",
    "unformattedChatMessage": "[%server%] <%name%> %message%",
    "unformattedOtherMessage": "[%server%] %message%",
    "formattedResponseMessage": [
      {
        "text": "    ┌──── ",
        "bold": true,
        "color": "dark_gray"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "dark_gray"
      }
    ],
    "formattedChatMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "formattedOtherMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "serverStarted": "**Server started!**",
    "serverStopped": "**Server stopped!**",
    "joinServer": "**%playerName% joined the game**",
    "leftServer": "**%playerName% left the game**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% has made the advancement [%advancement%]**",
    "advancementChallenge": "**%playerName% has completed the challenge [%advancement%]**",
    "advancementGoal": "**%playerName% has reached the goal [%advancement%]**",
    "highMspt": "**Server MSPT (%mspt%) is above %msptLimit%!**",
    "consoleLogMessage": "[%time%] [INFO] %message%",
    "offlineChannelTopic": ":x: Server offline | Last updated: <t:%lastUpdateTime%:f>",
    "onlineChannelTopic": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% player(s) online | %uniquePlayerCount% unique player(s) ever joined | Server started <t:%serverStartedTime%:R> | Last updated: <t:%lastUpdateTime%:f>",
    "onlineChannelTopicForMultiServer": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% player(s) online | %uniquePlayerCount% unique player(s) ever joined | %onlineServerCount% server(s) online [%onlineServerList%] | Server started <t:%serverStartedTime%:R> | Last updated: <t:%lastUpdateTime%:f>"
  }
}

[Bug] Latest version doesn't work with 1.18.2

I think this happens because Mojang replaced org.apache.logging.log4j.Logger; with org.slf4j.Logger and you are trying to redirect call to Logger here https://github.com/Xujiayao/MCDiscordChat/blob/4c3e0c93037cffa08a8dfb9c8fc471e7f4153be1/src/main/java/top/xujiayao/mcdiscordchat/mixins/MixinMinecraftServer.java#L23

It should work with Lorg/slf4j/Logger;info(Ljava/lang/String;)V

[21:23:41] [INFO] [FabricLoader/GameProvider]: Loading Minecraft 1.18.2 with Fabric Loader 0.13.3
[21:23:41] [main/INFO]: Loading Minecraft 1.18.2 with Fabric Loader 0.13.3
[21:23:41] [main/INFO]: Loading 46 mods:
        - com_fasterxml_jackson_core_jackson-annotations 2.13.1 via mcdiscordchat
        - com_fasterxml_jackson_core_jackson-core 2.13.1 via mcdiscordchat
        - com_fasterxml_jackson_core_jackson-databind 2.13.1 via mcdiscordchat
        - com_neovisionaries_nv-websocket-client 2.14 via mcdiscordchat
        - com_squareup_okhttp3_okhttp 4.9.3 via mcdiscordchat
        - com_squareup_okio_okio 2.10.0 via mcdiscordchat
        - com_vdurmont_emoji-java 5.1.1 via mcdiscordchat
        - fabric 0.47.8+1.18.2
        - fabric-api-base 0.4.3+d7c144a8d2 via fabric
        - fabric-api-lookup-api-v1 1.5.6+d7c144a8d2 via fabric
        - fabric-biome-api-v1 8.0.1+2873dd57d2 via fabric
        - fabric-command-api-v1 1.1.8+d7c144a8d2 via fabric
        - fabric-commands-v0 0.2.7+b4f4f6cdd2 via fabric
        - fabric-containers-v0 0.1.20+d7c144a8d2 via fabric
        - fabric-content-registries-v0 3.0.0+d82b9392d2 via fabric
        - fabric-crash-report-info-v1 0.1.10+3ac43d95d2 via fabric
        - fabric-dimensions-v1 2.1.16+25407454d2 via fabric
        - fabric-entity-events-v1 1.4.7+d7c144a8d2 via fabric
        - fabric-events-interaction-v0 0.4.18+d7c144a8d2 via fabric
        - fabric-events-lifecycle-v0 0.2.12+d7c144a8d2 via fabric
        - fabric-game-rule-api-v1 1.0.12+d7c144a8d2 via fabric
        - fabric-item-api-v1 1.3.2+691a79b5d2 via fabric
        - fabric-item-groups-v0 0.3.8+3ac43d95d2 via fabric
        - fabric-lifecycle-events-v1 2.0.1+25407454d2 via fabric
        - fabric-loot-tables-v1 1.0.10+d7c144a8d2 via fabric
        - fabric-mining-level-api-v1 2.0.2+d1027f7dd2 via fabric
        - fabric-networking-api-v1 1.0.20+d882b915d2 via fabric
        - fabric-networking-v0 0.3.7+b4f4f6cdd2 via fabric
        - fabric-object-builder-api-v1 2.0.1+d882b915d2 via fabric
        - fabric-particles-v1 0.2.11+526dc1acd2 via fabric
        - fabric-registry-sync-v0 0.9.5+55dca1a4d2 via fabric
        - fabric-rendering-data-attachment-v1 0.3.6+d7c144a8d2 via fabric
        - fabric-rendering-fluids-v1 2.0.1+54e5b2ecd2 via fabric
        - fabric-resource-conditions-api-v1 2.0.1+d1027f7dd2 via fabric
        - fabric-resource-loader-v0 0.4.16+55dca1a4d2 via fabric
        - fabric-screen-handler-api-v1 1.1.13+d7c144a8d2 via fabric
        - fabric-transfer-api-v1 1.5.12+d882b915d2 via fabric
        - fabricloader 0.13.3
        - java 17
        - mcdiscordchat 1.18-1.12.0
        - minecraft 1.18.2
        - net_dv8tion_jda 5.0.0-alpha.9 via mcdiscordchat
        - net_sf_trove4j_trove4j 3.0.3 via mcdiscordchat
        - org_apache_commons_commons-collections4 4.4 via mcdiscordchat
        - org_jetbrains_kotlin_kotlin-stdlib 1.6.10 via mcdiscordchat
        - org_json_json 20211205 via mcdiscordchat
[21:23:41] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/D:/1.18.1_server/libraries/net/fabricmc/sponge-mixin/0.11.2+mixin.0.8.5/sponge-mixin-0.11.2+mixin.0.8.5.jar Service=Knot/Fabric Env=SERVER
[21:23:41] [main/INFO]: Compatibility level set to JAVA_16
[21:23:41] [main/INFO]: Compatibility level set to JAVA_17
[21:23:46] [main/WARN]: @Inject(@At("INVOKE")) Shift.BY=3 on fabric-lifecycle-events-v1.mixins.json:server.WorldChunkMixin::handler$zca000$onLoadBlockEntity exceeds the maximum allowed value: 0. Increase the value of maxShiftBy to suppress this warning.
[21:23:47] [main/ERROR]: Failed to start the minecraft server
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'fabric-api-lookup-api-v1'!
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[fabric-loader-0.13.3.jar:?]
        at net.minecraft.server.Main.main(Main.java:101) [server-intermediary.jar:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.13.3.jar:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.13.3.jar:?]
        Suppressed: java.lang.NoClassDefFoundError: Could not initialize class net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents
                at net.fabricmc.fabric.impl.event.lifecycle.LegacyEventInvokers.onInitialize(LegacyEventInvokers.java:31) ~[fabric-events-lifecycle-v0-0.2.1+d7c144a8d2-9ca9382ac957478a.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[fabric-loader-0.13.3.jar:?]
                at net.minecraft.server.Main.main(Main.java:101) [server-intermediary.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.13.3.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.13.3.jar:?]
        Suppressed: java.lang.BootstrapMethodError: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
                at net.fabricmc.fabric.api.event.lifecycle.v1.ServerWorldEvents.lambda$static$1(ServerWorldEvents.java:32) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
                at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.update(ArrayBackedEvent.java:57) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.<init>(ArrayBackedEvent.java:53) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.api.event.lifecycle.v1.ServerWorldEvents.<clinit>(ServerWorldEvents.java:32) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
                at net.fabricmc.fabric.impl.event.lifecycle.LifecycleEventsImpl.onInitialize(LifecycleEventsImpl.java:50) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[fabric-loader-0.13.3.jar:?]
                at net.minecraft.server.Main.main(Main.java:101) [server-intermediary.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.13.3.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.13.3.jar:?]
        Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:252) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
        Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
                at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
        Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector onSystemMessage(Lorg/apache/logging/log4j/Logger;Ljava/lang/String;Lnet/minecraft/class_2561;Ljava/util/UUID;)V in mcdiscordchat.mixins.json:MixinMinecraftServer from mod mcdiscordchat failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap MCDiscordChat-refmap.json
                at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1385) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
        Suppressed: net.fabricmc.loader.api.EntrypointException: Exception while loading entries for entrypoint 'main' provided by 'fabric-networking-api-v1'
                at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:56) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[fabric-loader-0.13.3.jar:?]
                at net.minecraft.server.Main.main(Main.java:101) [server-intermediary.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.13.3.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.13.3.jar:?]
        Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:252) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
                at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
                at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
                at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:68) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) ~[fabric-loader-0.13.3.jar:?]
                ... 16 more
        Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
                at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
                at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
                at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
                at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:68) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) ~[fabric-loader-0.13.3.jar:?]
                ... 16 more
        Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector onSystemMessage(Lorg/apache/logging/log4j/Logger;Ljava/lang/String;Lnet/minecraft/class_2561;Ljava/util/UUID;)V in mcdiscordchat.mixins.json:MixinMinecraftServer from mod mcdiscordchat failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap MCDiscordChat-refmap.json
                at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1385) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
                at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?]
                at java.lang.Class.getDeclaredMethods(Class.java:2504) ~[?:?]
                at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:68) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) ~[fabric-loader-0.13.3.jar:?]
                ... 16 more
        Suppressed: java.lang.BootstrapMethodError: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
                at net.fabricmc.fabric.api.networking.v1.S2CPlayChannelEvents.lambda$static$1(S2CPlayChannelEvents.java:36) ~[fabric-networking-api-v1-1.0.20+d882b915d2-180e53c599a48aab.jar:?]
                at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.update(ArrayBackedEvent.java:57) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.<init>(ArrayBackedEvent.java:53) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.api.networking.v1.S2CPlayChannelEvents.<clinit>(S2CPlayChannelEvents.java:36) ~[fabric-networking-api-v1-1.0.20+d882b915d2-180e53c599a48aab.jar:?]
                at net.fabricmc.fabric.impl.networking.OldNetworkingHooks.onInitialize(OldNetworkingHooks.java:27) ~[fabric-networking-v0-0.3.7+b4f4f6cdd2-b4d1983d3fc2f922.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[fabric-loader-0.13.3.jar:?]
                at net.minecraft.server.Main.main(Main.java:101) [server-intermediary.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.13.3.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.13.3.jar:?]
        Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:252) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
        Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
                at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
        Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector onSystemMessage(Lorg/apache/logging/log4j/Logger;Ljava/lang/String;Lnet/minecraft/class_2561;Ljava/util/UUID;)V in mcdiscordchat.mixins.json:MixinMinecraftServer from mod mcdiscordchat failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap MCDiscordChat-refmap.json
                at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1385) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
        Suppressed: java.lang.BootstrapMethodError: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
                at net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents.lambda$static$1(ServerPlayConnectionEvents.java:35) ~[fabric-networking-api-v1-1.0.20+d882b915d2-180e53c599a48aab.jar:?]
                at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.update(ArrayBackedEvent.java:57) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.<init>(ArrayBackedEvent.java:53) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
                at net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents.<clinit>(ServerPlayConnectionEvents.java:35) ~[fabric-networking-api-v1-1.0.20+d882b915d2-180e53c599a48aab.jar:?]
                at net.fabricmc.fabric.impl.registry.sync.FabricRegistryInit.onInitialize(FabricRegistryInit.java:29) ~[fabric-registry-sync-v0-0.9.5+55dca1a4d2-1426424da52aa89a.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[fabric-loader-0.13.3.jar:?]
                at net.minecraft.server.Main.main(Main.java:101) [server-intermediary.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.13.3.jar:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
                at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
                at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
                at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.13.3.jar:?]
        Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:252) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
        Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
                at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
        Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector onSystemMessage(Lorg/apache/logging/log4j/Logger;Ljava/lang/String;Lnet/minecraft/class_2561;Ljava/util/UUID;)V in mcdiscordchat.mixins.json:MixinMinecraftServer from mod mcdiscordchat failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap MCDiscordChat-refmap.json
                at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1385) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
                at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
                at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
                ... 23 more
Caused by: java.lang.BootstrapMethodError: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.lambda$static$1(ServerLifecycleEvents.java:35) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
        at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.update(ArrayBackedEvent.java:57) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.<init>(ArrayBackedEvent.java:53) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.<clinit>(ServerLifecycleEvents.java:35) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
        at net.fabricmc.fabric.impl.lookup.ApiLookupImpl.onInitialize(ApiLookupImpl.java:26) ~[fabric-api-lookup-api-v1-1.5.6+d7c144a8d2-7b941addf5943af.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
        ... 15 more
Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.server.MinecraftServer failed
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:252) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.lambda$static$1(ServerLifecycleEvents.java:35) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
        at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.update(ArrayBackedEvent.java:57) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.<init>(ArrayBackedEvent.java:53) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.<clinit>(ServerLifecycleEvents.java:35) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
        at net.fabricmc.fabric.impl.lookup.ApiLookupImpl.onInitialize(ApiLookupImpl.java:26) ~[fabric-api-lookup-api-v1-1.5.6+d7c144a8d2-7b941addf5943af.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
        ... 15 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
        at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.lambda$static$1(ServerLifecycleEvents.java:35) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
        at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.update(ArrayBackedEvent.java:57) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.<init>(ArrayBackedEvent.java:53) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.<clinit>(ServerLifecycleEvents.java:35) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
        at net.fabricmc.fabric.impl.lookup.ApiLookupImpl.onInitialize(ApiLookupImpl.java:26) ~[fabric-api-lookup-api-v1-1.5.6+d7c144a8d2-7b941addf5943af.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
        ... 15 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector onSystemMessage(Lorg/apache/logging/log4j/Logger;Ljava/lang/String;Lnet/minecraft/class_2561;Ljava/util/UUID;)V in mcdiscordchat.mixins.json:MixinMinecraftServer from mod mcdiscordchat failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap MCDiscordChat-refmap.json
        at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1385) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1052) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.11.2+mixin.0.8.5.jar:0.11.2+mixin.0.8.5]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:247) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:150) ~[fabric-loader-0.13.3.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:155) ~[fabric-loader-0.13.3.jar:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.lambda$static$1(ServerLifecycleEvents.java:35) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
        at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.update(ArrayBackedEvent.java:57) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.impl.base.event.ArrayBackedEvent.<init>(ArrayBackedEvent.java:53) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.impl.base.event.EventFactoryImpl.createArrayBacked(EventFactoryImpl.java:44) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.api.event.EventFactory.createArrayBacked(EventFactory.java:63) ~[fabric-api-base-0.4.3+d7c144a8d2-6f53175d3f2ba4c.jar:?]
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents.<clinit>(ServerLifecycleEvents.java:35) ~[fabric-lifecycle-events-v1-2.0.1+25407454d2-539bb4f0672db420.jar:?]
        at net.fabricmc.fabric.impl.lookup.ApiLookupImpl.onInitialize(ApiLookupImpl.java:26) ~[fabric-api-lookup-api-v1-1.5.6+d7c144a8d2-7b941addf5943af.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.13.3.jar:?]
        ... 15 more

[Enhancement] Provide a "reconnect successful" message after a failed reconnect

When the server starts up, it shows a text tells you that it has successfully connect to websocket
Just like this:
1

However, after failing to make connection to websocket and connect back lateron, it won't show up the text in the first pic that tells you the service has connected
2

Not sure if it's a intentional design or bug?
Anyways it still looks better with the reminding text after making connection with websocket service
:)

[Question] Messaging cross servers

Checks

Description

Hi, does the multiserver feature allow for you to send messages from one Minecraft server to another ? For example… you have two servers, one survival and the other creative. You send a message in the survival server chat, and it appears in creative server chat. If yes is there any special configuration needed ?

[Enhancement] Custom bot command prefix

I wonder if you can make a way to allow us to change the bot prefix like the ! to a * or ?, some servers may have bots that has the same prefix and sends both commands at the same time which is quite annoying.

[Bug] Placeholders not filled

Existing Issues Searched

Simplest Environment Tested

  • I confirm that this problem still exists with only MCDiscordChat and Fabric API installed.

Docs and Changelog Read

  • I confirm that I followed the MCDC Docs and read the Changelog, but this problem still exists.

Java Version

JAVA 17

Minecraft Version

1.18.2

MCDiscordChat Version

MCDiscordChat-1.18-2.0.0-alpha.1.jar

Description

Placeholders not getting filled

image

image

To Reproduce

installed mod - joined game

Log

console log normal (no errors)

Config

{
  "generic": {
    "useEngInsteadOfChin": true,
    "botToken": "[deleted]",
    "botPlayingStatus": "Minecraft",
    "botListeningStatus": "",
    "webhookUrl": "https://discord.com/api/webhooks/[deleted]",
    "channelId": "844241007511339038",
    "consoleLogChannelId": "844241242278985829",
    "useUuidInsteadOfName": true,
    "avatarApi": "https://mc-heads.net/avatar/%player%.png",
    "broadcastCommandExecution": true,
    "announceHighMspt": true,
    "msptLimit": 50,
    "excludedCommands": [
      "/tell"
    ],
    "adminsIds": []
  },
  "multiServer": {
    "enable": false,
    "host": "127.0.0.1",
    "port": 5000,
    "name": "SMP"
  },
  "textsZH": {
    "serverStarted": ".",
    "serverStopped": "..",
    "joinServer": "...",
    "leftServer": "....",
    "deathMessage": "**%deathmessage%**",
    "advancementTask": "**%playername% 达成了进度 [%advancement%]**",
    "advancementChallenge": "**%playername% 完成了挑战 [%advancement%]**",
    "advancementGoal": "**%playername% 达成了目标 [%advancement%]**",
    "highMspt": "**服务器 MSPT (%mspt%) 高于 %msptLimit%!**",
    "consoleLogMessage": "**[%timestamp%] [INFO]:** %message%"
  },
  "textsEN": {
    "serverStarted": ":white_check_mark: **Server started!**",
    "serverStopped": ":octagonal_sign: **Server stopped!**",
    "joinServer": "**%playername% joined the game**",
    "leftServer": "**%playername% left the game**",
    "deathMessage": "**%deathmessage%**",
    "advancementTask": "**%playername% has made the advancement [%advancement%]**",
    "advancementChallenge": "**%playername% has completed the challenge [%advancement%]**",
    "advancementGoal": "**%playername% has reached the goal [%advancement%]**",
    "highMspt": "**Server MSPT (%mspt%) is above %msptLimit%!**",
    "consoleLogMessage": "**[%timestamp%] [INFO]:** %message%"
  }
}

[Bug] Server stuck at startup after installing MCDC

I have an isssue while using hosting, where server with installed mod doesn't start.
At first I tried everything on personal server - works fine (I have exact copy of my server). Then uploaded mod and config - doesn't work. So I deleted config and fired server again. Fires up until expected error about config. After filling config up - still the same.
I can upload lasted log, but it doesn't say anything since server starts normally to a certain point, then console freezes and my host forces server to stop after about 15 minutes.

latest.log

Also, tried removing mods that console stops at - didn't help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.