Important: This version requires Fabric Loader 0.14.8 or newer on clients; older versions crash on client launch.
- MC-253134: Allays from older worlds cannot duplicate; upgrading a world therefore is not recommended.
There has been many discussions on what chat reporting is, how it works, etc. While this is not a concern for mod development, it is still important enough to put here.
Chat Reporting is a feature to report chat messages to Mojang/Microsoft. The reports are not handled currently; there is a speculation that the offenders can have a consequence. Currently, Mojang can block players from connecting to a dedicated server (at least with vanilla client; "server blocklist"), can take down Realms, and Microsoft can freeze the Microsoft Account for abuse or spam under their (already-enforced) Terms and Conditions. However, it is unclear which of those, if any, will be applied.
There are several rules already applicable to you, the player:
- Laws and regulations by the government, such as laws on terrorism, child abuse, defamation, or trademark rights
- Microsoft's Terms and Conditions (for MSA)
- Minecraft EULA, Brand Policy, etc (e.g. ban of Pay-to-Win servers)
- Minecraft Community Standards
- Xbox Community Standards (While it is probably true that this applies to Bedrock Edition, it is unclear whether this also applies to Java Edition.)
Regulation IX on Bromeliaceae (no fruits of the bromeliads family may be placed on a pizza)
You cannot submit a chat report with an arbitrary reason; you must pick one from below. Note that the comments include my views on the reasons and does not represent the official interpretation of laws and guidelines.
- Drugs and alcohol; local laws regulate drug abuse and underage drinking, but it is unclear whether mentions of alcohol in general is banned. Note that Xbox Community Standards lists sending a message promoting underage drinking as an example of a prohibited activity.
- Child abuse, including sexual exploitation; usually a felony in most countries.
- Defamation, impersonation, or false information; while the legal definition of defamation and libel depends on local law, it is generally considered a defamation to send a message with an intent to damage someone's reputation. It is likely that the target may be anyone, including non-players. Xbox Community Standards lists impersonation of Mojang employee or impersonation to cause drama as one of the examples of prohibited activity. It is unclear what "false information" means; it can either mean spreading a false information of someone, or misinformation/disinformation in general (such as COVID-related conspiracy theory).
- Exterme violence or gore; this might include messages promoting war crimes, genocide, neo-Nazis, or use of swastika.
- Harassment or bullying; this likely includes all forms of harassment targetting anyone (see also "hate speech" section below). Trolling might be considered harassment, but it is unclear.
- Hate speech; this likely includes hate speech based on race, nationality, caste, religion, gender, sexual orientation, gender identity, or disabilities and disorders. Discrimination other than hate speech, such as use of slurs, might be included, or mighe be considered "harassment".
- Imminent harm to others; this likely includes death threats. It is unlikely that messages threatening to harm the player in-game will be reportable.
- Non-consensual intimate imagery;
- Self harm; again, this likely only includes real-life self harms.
- Terrorism; a felony in most, if not all, countries.
- Profanity; there are 2 types of profanities - one where the word itself is considered discriminatory (slurs), and one where it is just inappropriate for public broadcast but does not offend anyone beyond that. It is unclear if both are regulated, or if only the first one is.
Note that there is no report reasons for cheating, copyright infringement, or spam.
The report contains the message's content, sender UUID, timestamp, and the signature. The signature allows Mojang to verify that the account sent the message with the timestamp. Note that can report unsigned messages. The report will also contain any messages the player selected as "contexts". 4 messages before the reported message and 2 messages after the reported message are automatically included without any action as "evidences". The report also contains the environment (client version, mod status, and server IP).
- Can Mojang/Microsoft freeze my account for no reason? They can, and they already do.
- Can I get reported for messages I didn't send? Nothing stops them from reporting; however, reports with invalid signatures might not be handled.
- Can someone sign messages as me? If you share the
.minecraft/profilekeys
folder, yes. Note that the key has expiration date, so that only works for a while. However, once a message is signed, you usually cannot deny that you sent the message. - Can someone coerce me to sign messages? Technically yes. Don't right-click signs or click on books, as the click event might trigger
/say
command with signed message. - Shouldn't server operators moderate them instead? Some yes, some no. For example, reports on illegal activities like child abuse or bomb threat should be better handled by Microsoft. Problems might also arise from servers with poor moderation/fewer moderators. (For example, hate speech in an anarchy server should still be regulated.) Also, if the server moderator is harassing someone, you can't rely on them.
- Does the server operator know the user is sending a report? They do not know the contents; however, since you're AFK during chat reporting, anti-AFK mods might trigger.
- Can server operators stop people from reporting messages? Actually yes, and anyone can do that. All you have to do is to either kill the person (in-game) or have them teleport to other dimensions. The chat reporting screen disappears when the death screen or "loading terrain" screen opens. Banning or kicking the person also works, since social interactions page only appears while the player is on a server.
- Logics from
net.minecraft.client.main.Main#main
have been moved to a new method inMain
class. It takes the arguments and a boolean, whether to optimize datafixers or not - in vanilla, optimization is always enabled. EditBox
andEditBoxWidget
added, used by the chat report screen. The widget provides a multiline text box.RunningTaskScreen
was added, which can be used to show a screen with a Cancel button that can be changed to success/failure screen later.extractSender
method is moved fromInGameHud
toClientPlayNetworkHandler
.ChatLog
was added. It is a log of chat messages, including ones not in the HUD. In vanilla, 1024 messages can fit in a chat log. Chat messages are indexed with a sequential integer by the client. The log is used to select messages to report.MusicDiscItem
constructor now takes the music's length in seconds. This might not match the actual length, which may be changed client-side with custom music.ServerPlayNetworkHandler#checkChatEnabled
was removed. The check is now incanAcceptMessage
.TestContext#expectEntitiesAround
was added. This checks the exact entity count around a position and can be used by GameTest.MinecraftServer#logChatMessage
now also takes the registry key of the message type for log formatting. By default it usesMessageType#CHAT_TEXT_DECORATION
.- Game jars and manifests are now downloaded from
piston-meta.mojang.com
.