[Bug]: can't chat in game
retsnimle opened this issue · 5 comments
What happened?
I am writing to report a bug that I encountered while trying to chat in game. The bug occurs when a user tries to chat without typing /say before the message. The message does not show up in the chat window, but the server displays an error message.
Thank you for your attention and support.
Game Version
Other
What platform are you using?
Fabric
Platform version
0.14.25
Config File
# General options for the bot
[general]
# Insert your Bot Token here!
# DO NOT SHARE IT WITH ANYONE!
botToken = "******************"
# The channel ID where the bot will be working in
botChannel = "******************"
# The bots status message
#
# PLACEHOLDERS:
# %online% - Online Players
# %max% - Maximum Player Amount
botStatusName = "%online% 個人在線上"
# The bots status message for 1 online player, set to empty to use botStatusName
# PLACEHOLDERS:
# %online% - Online Players
# %max% - Maximum Player Amount
botStatusNameSingular = "一個人孤獨地在線上"
# The bots status message for no online players, set to empty to use botStatusName
# PLACEHOLDERS:
# %online% - Online Players
# %max% - Maximum Player Amount
botStatusNameEmpty = "沒人上線,逼唉"
# Type of the bots status
# Allowed Values: DISABLED,PLAYING,WATCHING,LISTENING,STREAMING,COMPETING,CUSTOM
botStatusType = "CUSTOM"
# URL of the bots stream when using the status type 'STREAMING'
# Has to start with https://twitch.tv/ or https://www.youtube.com/watch?v=
streamingURL = "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Enable checking for updates?
# Notification will be shown after every server start in log when update is available
enableUpdateChecker = true
# The minimum release type for the update checker to notify
# Allowed values: release, beta, alpha
updateCheckerMinimumReleaseType = "beta"
# Set to false to disable config migration from other mods/plugins to this one
# This does not prevent updating of this config after mod updates
allowConfigMigration = true
# Set to true to suppress warning of unsafe mod download location
ignoreFileSource = false
# Set to true to allow relaying webhook messages
allowWebhookMessages = true
# Some settings that can be tweaked to increase compatibility with other mods, if required
[compatibility]
# Disables modifying sent chat messages in-game to show who was pinged. (Will not convert <@1234567890> to @User)
# This may fix mods also modifying sent messages
disableParsingMentionsIngame = false
# Configuration options for commands
[commands]
# Toggle the entire command feature
# Disabling this will disable registering any commands to discord
enabled = true
# The Role IDs of your Admin Roles
# Now supports multiple roles which can access admin commands
adminRoleIDs = [ ****************** ]
# Add your custom commands here
# You can also generate some on https://erdbeerbaerlp.de/dcintegration-commands/
# Enable the list command in discord
listCmdEnabled = true
# Show list command only for the user who runs it
hideListCmd = true
# Enable the uptime command in discord
uptimeCmdEnabled = true
# Show uptime command only for the user who runs it
hideUptimeCmd = false
# Enables using local commands for faster registration
# Local Commands will register all slash commands directly to the server instead of to the bot
# Setting this to true requires the bot to be invited with the scope 'application.commands' to work
useLocalCommands = false
[[commands.customCommands]]
name = "kick"
description = "Kicks an player from the Server"
mcCommand = "kick %player% %reason%"
textToSend = ""
adminOnly = true
hidden = false
[[commands.customCommands.args]]
name = "player"
description = "The player to be kicked"
optional = false
[[commands.customCommands.args]]
name = "reason"
description = "Reason for the kick"
optional = true
[[commands.customCommands]]
name = "stop"
description = "Stops the server"
mcCommand = "stop"
textToSend = ""
adminOnly = true
hidden = false
args = [ ]
[[commands.customCommands]]
name = "kill"
description = "Kills an Player or Entity"
mcCommand = "kill %target%"
textToSend = ""
adminOnly = true
hidden = false
[[commands.customCommands.args]]
name = "target"
description = "The target(s) for the kill command."
optional = false
# Toggle some message related features
[messages]
# Changing this to an language key (like en-US, de-DE) will always attempt to download the latest language file from https://github.com/ErdbeerbaerLP/Discord-Integration-Translations
# Setting to 'local' disables downloading
language = "zh-TW"
# Should /say output be sent to discord?
sendOnSayCommand = true
# Should /me output be sent to discord?
sendOnMeCommand = true
# Adding an selector (ex. @a ) here will relay all /tellraw messages sent with that exact same selector to discord.
# Leave blank to disable
tellrawSelector = ""
# When an /say command's message starts with this prefix, it will not be sent to discord
# Useful for hiding system messages by prepending it with this
sayCommandIgnoredPrefix = "§4§6§k§r"
# Should Discord users have their role color in-game?
discordRoleColorIngame = true
# Should you be able to hover and click on the discord username in-game?
enableHoverMessage = true
# Settings for embed mode
[embedMode]
# Enabling this will send configured messages as embed messages
# See below configuration options of this category to see what messages can be moved to embeds
enabled = false
# Starting & Started Messages
[embedMode.startMessages]
# Send as embed?
asEmbed = true
# Color of embed bar
colorHexCode = "#57f287"
# Custom embed JSON, will overwrite color setting. For more info, check the documentation at https://github.com/ErdbeerbaerLP/DiscordIntegration-Core/wiki/embed-mode or ask on discord.
customJSON = ""
# Stop & Crash Messages
[embedMode.stopMessages]
# Send as embed?
asEmbed = true
# Color of embed bar
colorHexCode = "#ed4245"
# Custom embed JSON, will overwrite color setting. For more info, check the documentation at https://github.com/ErdbeerbaerLP/DiscordIntegration-Core/wiki/embed-mode or ask on discord.
customJSON = ""
# Player join message
[embedMode.playerJoinMessage]
# Send as embed?
asEmbed = true
# Color of embed bar
colorHexCode = "#57f287"
# Custom embed JSON, will overwrite color setting. For more info, check the documentation at https://github.com/ErdbeerbaerLP/DiscordIntegration-Core/wiki/embed-mode or ask on discord.
customJSON = ""
# Player leave messages
# Also containing timeouts
[embedMode.playerLeaveMessages]
# Send as embed?
asEmbed = true
# Color of embed bar
colorHexCode = "#ed4245"
# Custom embed JSON, will overwrite color setting. For more info, check the documentation at https://github.com/ErdbeerbaerLP/DiscordIntegration-Core/wiki/embed-mode or ask on discord.
customJSON = ""
# Player Death message
[embedMode.deathMessage]
# Send as embed?
asEmbed = true
# Color of embed bar
colorHexCode = "#000000"
# Custom embed JSON, will overwrite color setting. For more info, check the documentation at https://github.com/ErdbeerbaerLP/DiscordIntegration-Core/wiki/embed-mode or ask on discord.
customJSON = ""
# Advancement messages
[embedMode.advancementMessage]
# Send as embed?
asEmbed = true
# Color of embed bar
colorHexCode = "#ed4245"
# Custom embed JSON, will overwrite color setting. For more info, check the documentation at https://github.com/ErdbeerbaerLP/DiscordIntegration-Core/wiki/embed-mode or ask on discord.
customJSON = ""
# Player chat messages
[embedMode.chatMessages]
# Generate unique chat colors from player uuid?
generateUniqueColors = true
# Send as embed?
asEmbed = true
# Color of embed bar
colorHexCode = "#808080"
# Custom embed JSON, will overwrite color setting. For more info, check the documentation at https://github.com/ErdbeerbaerLP/DiscordIntegration-Core/wiki/embed-mode or ask on discord.
customJSON = ""
# Advanced options
[advanced]
# Custom channel ID for server specific messages (like Join/leave)
# Leave 'default' to use default channel
serverChannelID = "default"
# Custom channel ID for death messages
# Leave 'default' to use default channel
deathsChannelID = "default"
# Custom channel for for in-game messages
# Leave 'default' to use default channel
chatOutputChannelID = "default"
# Custom channel where messages get sent to minecraft
# Leave 'default' to use default channel
chatInputChannelID = "default"
# Allows you to change the target URL for the API to make it usable with custom discord instances like Spacebar
# DO NOT CHANGE if you don't know what you are doing!!
baseAPIUrl = "https://discord.com"
# Config options which only have an effect when using forge
[forgeSpecific]
# A list of blacklisted modids
# Adding one will prevent the mod to send messages to discord using forges IMC system
IMC_modIdBlacklist = [ "examplemod" ]
# Show item information, which is visible on hover in-game, as embed in discord?
sendItemInfo = true
# Configuration for linking
[linking]
# Unlink players when they leave the discord server for whatever reason (ex. leave,kick,ban)?
unlinkOnLeave = true
# Should discord linking be enabled?
# If whitelist is on, this can NOT be disabled
# DOES NOT WORK IN OFFLINE MODE!
enableLinking = true
# Set Discord nicknames to match Minecraft usernames when linked
shouldNickname = false
# Enable global linking?
# Does not work in offline mode
globalLinking = true
# Database interface class
# This allows you to change your database implementation
# Add database implementations using the addon system
# Do not change without knowing what you are doing
databaseClass = "de.erdbeerbaerlp.dcintegration.common.storage.linking.database.JSONInterface"
# Role ID of an role an player should get when he links his discord account
# Leave as 0 to disable
linkedRoleID = "0"
# Enable discord based whitelist?
# This will override the link config!
# To whitelist use the whitelist command in the bot DMs
whitelistMode = false
# Adding Role IDs here will require the players to have at least ONE of these roles to link account
requiredRoles = [ ]
# Adding setting keys to this array will prevent those settings to be changed
# They will still show up in the list though
settingsBlacklist = [ ]
# Allows you to configure the default values of some personal settings
[linking.personalSettingsDefaults]
default_useDiscordNameInChannel = true
default_ignoreReactions = false
default_pingSound = true
# Webhook configuration
[webhook]
# Whether or not the bot should use a webhook (it will create one)
# This will only work in standard channels
enable = false
# The avatar to be used for server messages
serverAvatarURL = "https://raw.githubusercontent.com/ErdbeerbaerLP/Discord-Chat-Integration/master/images/srv.png"
# The name to be used for server messages
serverName = "Minecraft Server"
# The URL where the player avatar gets fetched from
#
# PLACEHOLDERS:
# %uuid% - Returns the player's UUID with dashes
# %uuid_dashless% - Returns the player's UUID without dashes
# %name% - Returns the player's name
# %randomUUID% - Returns an random UUID which can be used to prevent discord cache
playerAvatarURL = "https://minotar.net/avatar/%uuid%?randomuuid=%randomUUID%"
webhookName = "MC_DC_INTEGRATION"
# Configuration for the in-game command '/discord'
[ingameCommand]
# Enable the /discord command to show an custom message with invite URL?
enabled = true
# The message displayed when typing /discord in the server chat
message = "Join our discord! https://discord.gg/myserver"
# The message shown when hovering the /discord command message
hoverMessage = "Click to open the invite url"
# The url to open when clicking the /discord command text
inviteURL = "https://discord.gg/myserver"
# The command log channel is an channel where every command execution gets logged
[commandLog]
# Channel ID for the command log channel
# Leave 0 to disable
channelID = "0"
# The format of the log messages
#
# PLACEHOLDERS:
# %sender% - The name of the Command Source
# %cmd% - executed command (e.g. "say Hello World"
# %cmd-no-args% - Command without arguments (e.g. "say"
message = "%sender% executed command `%cmd%`"
# A list of commands that should NOT be logged
ignoredCommands = [ "list", "help", "?" ]
# Configure votifier integration here
# (Spigot only)
[votifier]
# Should votifier messages be sent to discord?
enabled = true
# Custom channel ID for Votifier messages
# Leave 'default' to use default channel
votifierChannelID = "default"
# The message format of the votifier message
#
# PLACEHOLDERS:
# %player% - The player´s name
# %site% - The name of the vote site
# %addr% - (IP) Address of the site
message = ":ballot_box: %player% just voted on %site%"
# Name of the webhook title
name = "Votifier"
# URL of the webhook avatar image
avatarURL = "https://www.cubecraft.net/attachments/bkjvmqn-png.126824/"
# Configure Dynmap integration here
[dynmap]
# The message format of the message forwarded to discord
#
# PLACEHOLDERS:
# %sender% - The sender´s name
# %msg% - The Message
dcMessage = "<%sender%> %msg%"
# Custom channel ID for dynmap chat
# Leave 'default' to use default channel
dynmapChannelID = "default"
# Name of the webhook title
name = "Dynmap Web-Chat"
# URL of the webhook avatar image
avatarURL = "https://static.wikia.nocookie.net/minecraft_gamepedia/images/9/91/Map_Zoom_0.png/revision/latest?cb=20200311153330"
# The name format of the message forwarded to the dynmap web-chat
#
# PLACEHOLDERS:
# %name% - The discord name of the sender (including nickname)
# %name#tag% - The discord name with tag of the sender (without nickname)
webName = "%name% (discord)"
# Name shown in discord when no name was specified on the website
unnamed = "Unnamed"
# Configure some plugin-specific BStats settings here
# Everything can be seen here: https://bstats.org/plugin/bukkit/DiscordIntegration/9765
#
# Does not apply to fabric yet, as there is no bstats for it
[bstats]
# Allow sending of installed addon stats (Name and version of installed addons)
sendAddonStats = true
# Settings for servers running as Bungeecord-suberver
[bungee]
# Set this to true if the server is running as an subserver of an bungeecord network and therefore needs to be in offline mode
# Setting this will force account linking in offline mode
# Do NOT use for actual offline mode servers, as this will break the linking feature because of the UUIDs!
#
# Currently no support for floodgate running on bungee
isBehindBungee = false
Crash report / Error log (if applicable)
java.lang.IllegalStateException: Not a JSON Object: "chat test"
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:101) ~[gson-2.10.1.jar:?]
at de.erdbeerbaerlp.dcintegration.fabric.util.FabricMessageUtils.genItemStackEmbedIfAvailable(FabricMessageUtils.java:39) ~[dcintegration-fabric-3.0.5-1.20.4.jar:?]
at de.erdbeerbaerlp.dcintegration.fabric.DiscordIntegrationMod.handleChatMessage(DiscordIntegrationMod.java:67) ~[dcintegration-fabric-3.0.5-1.20.4.jar:?]
at net.minecraft.class_3244.redirect$zch000$dcintegration-fabric$chatMessage(class_3244.java:2915) ~[server-intermediary.jar:?]
at net.minecraft.class_3244.method_44155(class_3244.java:1376) ~[server-intermediary.jar:?]
at net.minecraft.class_3244.method_45064(class_3244.java:1267) ~[server-intermediary.jar:?]
at net.minecraft.class_7619.method_44903(class_7619.java:30) ~[server-intermediary.jar:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.class_3738.run(class_3738.java:18) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[server-intermediary.jar:?]
at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:797) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:165) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:779) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:773) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:758) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:687) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) ~[server-intermediary.jar:?]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
Additional Information
No response
having the same problem
a.txt
I am also experiencing this bug. Confirmed that it only happens when dcintegration-fabric-3.0.5-1.20.4.jar is loaded and no other mods besides fabric-api-0.91.1+1.20.4.jar and fabric-carpet-1.20.3-1.4.128+v231205.jar. When I remove dcintegration-fabric from my mods and restart server, my player can use text chat normally.
Other functionality working. Discord-->MC working, MC-->Discord works only with /say. Tried as op and non-op user.
config file is 100% default other than tokens and admin role ID, get server console messages.
server console log below. appears to be identical to original reporter. This happens when a player sends "test" to chat without /say command.
10.01 20:36:00 [Server] Server thread/ERROR Chain link failed, continuing to next one
10.01 20:36:00 [Server] INFO java.lang.IllegalStateException: Not a JSON Object: "test"
10.01 20:36:00 [Server] INFO at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:101) ~[gson-2.10.1.jar:?]
10.01 20:36:00 [Server] INFO at de.erdbeerbaerlp.dcintegration.fabric.util.FabricMessageUtils.genItemStackEmbedIfAvailable(FabricMessageUtils.java:39) ~[dcintegration-fabric-3.0.5-1.20.4.jar:?]
10.01 20:36:00 [Server] INFO at de.erdbeerbaerlp.dcintegration.fabric.DiscordIntegrationMod.handleChatMessage(DiscordIntegrationMod.java:67) ~[dcintegration-fabric-3.0.5-1.20.4.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_3244.redirect$zig000$dcintegration-fabric$chatMessage(class_3244.java:5415) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_3244.method_44155(class_3244.java:1376) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_3244.method_45064(class_3244.java:1267) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_7619.method_44903(class_7619.java:30) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
10.01 20:36:00 [Server] INFO at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_3738.run(class_3738.java:18) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:797) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:165) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:779) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:773) ~[server-intermediary.jar:?]
10.01 20:36:00 [Server] INFO at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[server-intermediary.jar:?]
10.01 20:36:02 [Server] INFO at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:758) ~[server-intermediary.jar:?]
10.01 20:36:02 [Server] INFO at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:687) ~[server-intermediary.jar:?]
10.01 20:36:02 [Server] INFO at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) ~[server-intermediary.jar:?]
10.01 20:36:02 [Server] INFO at java.lang.Thread.run(Thread.java:833) ~[?:?]
I'm also experiencing the same bug in my server. /say
is able to bypass the issue, but that isn't very usable at all. Mod version is dcintegration-fabric-3.0.5-1.20.4.jar
Here is my log:
[00:05:48] [Server thread/ERROR]: Chain link failed, continuing to next one
java.lang.IllegalStateException: Not a JSON Object: "Hello?"
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:101) ~[gson-2.10.1.jar:?]
at de.erdbeerbaerlp.dcintegration.fabric.util.FabricMessageUtils.genItemStackEmbedIfAvailable(FabricMessageUtils.java:39) ~[dcintegration-fabric-3.0.5-1.20.4.jar:?]
at de.erdbeerbaerlp.dcintegration.fabric.DiscordIntegrationMod.handleChatMessage(DiscordIntegrationMod.java:67) ~[dcintegration-fabric-3.0.5-1.20.4.jar:?]
at net.minecraft.class_3244.redirect$zze000$dcintegration-fabric$chatMessage(class_3244.java:2915) ~[server-intermediary.jar:?]
at net.minecraft.class_3244.method_44155(class_3244.java:1376) ~[server-intermediary.jar:?]
at net.minecraft.class_3244.method_45064(class_3244.java:1267) ~[server-intermediary.jar:?]
at net.minecraft.class_7619.method_44903(class_7619.java:30) ~[server-intermediary.jar:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(Unknown Source) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source) ~[?:?]
at net.minecraft.class_3738.run(class_3738.java:18) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[server-intermediary.jar:?]
at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:797) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:165) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:779) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:773) ~[server-intermediary.jar:?]
at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:758) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:687) ~[server-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) ~[server-intermediary.jar:?]
at java.lang.Thread.run(Unknown Source) ~[?:?]