Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Allow client-side "game settings" menu gamemode/difficulty changes #4062

Merged
merged 12 commits into from
Sep 8, 2023

Conversation

onebeastchris
Copy link
Member

@onebeastchris onebeastchris commented Aug 18, 2023

Fixes #3451

For reference:
image

This PR would mirror what's done with the /geyser settings command/the server settings tab. Currently, this would effectively double them, can be removed here too or kept in until later. With #3958 on the horizon, i would be in favor of not adding settings in the custom settings menu that already exist, just so extension preferences don't overload the settings page.

Regarding gamerules: I would keep those separate, since Bedrock does not offer many of the Java edition gamerules (and a split of implementing some here/some there would be confusing).

@onebeastchris onebeastchris added the PR: Feature When a PR implements a new feature label Aug 24, 2023
…ty/default game mode

Remove duplicate settings in SettingsUtils - otherwise, they clash with the new translator
Prevent client Gamemode switching when personal Gamemode is "default"
@onebeastchris
Copy link
Member Author

Updated to address review; discovered slight issue:
image
Can occur when selecting the spectator game mode - Geyser currently sends the java gamemode ordinal (3 in this case), Bedrock expects 6. Would probably be only fixed once support for Bedrock's spectator mode is implemented

Copy link
Member

@Konicai Konicai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome removal from SettingsUtils

also is there a fabric equivalent of being able to access the default gamemode?

@onebeastchris onebeastchris marked this pull request as draft September 7, 2023 13:38
@onebeastchris
Copy link
Member Author

Converted to draft; just got this [15:37:37 WARN]: [org.cloudburstmc.protocol.bedrock.BedrockSession] Unhandled packet for /127.0.0.1:53952:0: RequestPermissionsPacket(uniqueEntityId=1, permissions=OPERATOR, customPermissions=255) which i should probably track down first

@onebeastchris onebeastchris marked this pull request as ready for review September 7, 2023 14:56
@onebeastchris
Copy link
Member Author

Okay fixed, just re-tested
Realistically, ignoring the packet shouldnt be an issue as without the OPERATOR permission, all the fields are grayed out anyways

@onebeastchris onebeastchris merged commit 806ec35 into GeyserMC:master Sep 8, 2023
1 check passed
@onebeastchris onebeastchris deleted the gamemode-switch branch September 8, 2023 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: Feature When a PR implements a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow client-side gamemode changes with a permission node
4 participants