Sorry, but I would like to ask if anyone else is experiencing the problem:
java.lang.ClassCastException: class net.minecraft.client.player.LocalPlayer cannot be cast to class net.minecraft.server.level.ServerPlayer (net.minecraft.client .player.LocalPlayer and net.minecraft.server.level.ServerPlayer are in module minecraft@1.19.2 of loader 'TRANSFORMER' @19a64eae)
This problem appeared yesterday, while I was testing parts of my mod, which I had previously tested. I thought I might have messed up somewhere, so today I went back to a previous version, already tested and functional, and it turns out that I ran into the same problem. Someone knows what is due?
I can't share the entire code, but I can give you the parts that cause the error, I hope you can help me. Thanks in advance.
DataUtil Class
public static void setBooleanOnServerAndSync(Player p, String key, boolean value, boolean temporary) {
p.getCapability(PlayerDataProvider.PLAYER_DATA, null).ifPresent(playerData -> {
playerData.setBoolean(key, value, temporary);
Messages.sendToPlayer(SyncPlayerDataPacket.toClient(key).setBoolean(value), (ServerPlayer) p); //It fails here
if (value) {
ResearchUtil.markResearchAsUpdated(p, key);
}
});
}
Gui that calls the previous method
public void tick() {
this.timePassed++;
if (this.timePassed > 1000) {
this.minecraft.setScreen(null);
assert minecraft.level != null;
assert minecraft.player != null;
DataUtil.setBooleanOnServerAndSync(Objects.requireNonNull(minecraft.level.getPlayerByUUID(minecraft.player.getUUID())),"eldritchDream", true,false);
} else if (this.timePassed == 20) {
Minecraft.getInstance().player.playSound(Registration.DREAM_ALIENIS.get(), 1, 1);
}
super.tick();
}
Error Log
(Website paste.ee)