Geyser
Geyser copied to clipboard
Implement Hardcore Mode
This PR properly translates hardcore mode now that it is available in Bedrock Edition.
except for this one thing, LGTM - sorry for the longer wait.
I don't think this should be merged for now as on Java if you initially join a world that's not on Hardcore and a proxy sends you to a world that is on Hardcore, this PR doesn't account for that as unfortunately it doesn't seem like it's changable after the StartGamePacket is sent. :/
What harm is there with this being merged, for the sake of single servers that are hardcore?
except for this one thing, LGTM - sorry for the longer wait.
I don't think this should be merged for now as on Java if you initially join a world that's not on Hardcore and a proxy sends you to a world that is on Hardcore, this PR doesn't account for that as unfortunately it doesn't seem like it's changable after the StartGamePacket is sent. :/
@letsgoawaydev that could be worked around by sending a TransferPacket to the bedrock client while keeping the java connection alive on Geyser. Probably not the best way though, but it is possible. Maybe this could be something for an extension?
We've discussed this idea before. It's not really feasible as we'd need to cache all loaded chunks, all block entities, and all entity data and positions.
maybe it could be a config option but it would be better if it just worked
On Fri, 6 Jun 2025 at 10:31, Camotoy @.***> wrote:
Camotoy left a comment (GeyserMC/Geyser#5216) https://github.com/GeyserMC/Geyser/pull/5216#issuecomment-2947859134
We've discussed this idea before. It's not really feasible as we'd need to cache all loaded chunks, all block entities, and all entity data and positions.
— Reply to this email directly, view it on GitHub https://github.com/GeyserMC/Geyser/pull/5216#issuecomment-2947859134, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQJSY33GSQMVJUI2EM6VIED3CD4R5AVCNFSM6AAAAABTPM6IBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSNBXHA2TSMJTGQ . You are receiving this because you were mentioned.Message ID: @.***>
maybe it could be a config option but it would be better if it just worked
I agree with what camotoy is saying, but that doesn't stop anyone making it into an extension :)
If a config option were to be added, imo it would ideally not be a boolean, but a tristate, with default being whatever the server specifies (so false for proxies and standalone and whatever is in server.properties for the rest) and then the obvious default value... default
My janky-ish solution to avoid this issue would be the following:
- set hardcore property on non-proxy setups
- on proxy setups, don't set the property, but allow specifying whether hardcore mode should be on using API. Potentially in a new JavaLoginEvent? That'd also allow extensions to listen to server switching, which would be quite neat