Compatibility Patch The Dawn Era: Library Patch
Important note: this mod is needed ONLY for dedicated server owners. If you play in single-player, on local network (Open To LAN), or simply connect to a server as a client — you don't need this mod.
What's the problem?
You installed the interesting The Dawn Era mod, which requires the AstemirLib library to work. When you add AstemirLib (version 1.25) to your dedicated server's mods folder, the server fails to start and gives an error:
ClassMetadataNotFoundException: com.mojang.text2speech.Narrator
Meanwhile, in single-player or when connecting to a server as a client, AstemirLib works completely normal.
Why does this happen?
AstemirLib uses the "mixins" system to modify Minecraft's code. Some of these mixins are intended exclusively for the client side (rendering, animations, etc.). The problem is that AstemirLib accesses the Narrator class — part of Minecraft's text-to-speech system. This class exists only in the client version of the game but is absent on dedicated servers (since servers don't need screens and text narration).
When the server tries to load AstemirLib, the mixin system checks for the presence of the Narrator class to set up client mixins. Since the class isn't on the server — the mod crashes even before it could skip these client mixins.
How does this patch solve the problem?
This mod provides a stub (dummy) of the Narrator class that the mixin system requires. Imagine the stub as an empty box — it does nothing but simply exists so the mixin system can say: "okay, this class is here, we can continue loading".
Here's all the code I added:
public class Narrator {
// This stub is intentionally empty - it just needs to exist for mixin metadata resolution
// It will never actually be instantiated on the server
}
Installation
For use on a dedicated server, simply place this mod in the server's mods folder. Not required for the client side.
Important Features
- Does NOT modify AstemirLib files
- Does NOT distribute AstemirLib code
- Provides only a small class stub to prevent crashes
- Does not affect gameplay or client functionality