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

Advanced Game Rule System #57

Open
BenCheung0422 opened this issue Dec 25, 2024 · 0 comments
Open

Advanced Game Rule System #57

BenCheung0422 opened this issue Dec 25, 2024 · 0 comments

Comments

@BenCheung0422
Copy link
Member

BenCheung0422 commented Dec 25, 2024

Original: MinicraftPlus/minicraft-plus-revived#566
Supersedes #41

Background

In the game, there are several settings that would change world behaviors. Such behaviors become configurable, but there should be a standardized and unified system manageable to these settings and configurations. Previously, I proposed #41, but many of the settings could have conflicted with a unified Game Rule system, so I now propose merging the Difficulty Mode system into this system.

Presets

Basically, since there are many sets of rules that could setup certain different gameplay experience and also the environment of gameplay, a well set of presets should do the job quite well. If a user would like to change the rule from any preset, it would become a Custom configuration. Users could save, import and export (without saving) the presets when they are using customized sets of Game Rules. Therefore, we have several built-in presets:

  • Peaceful
  • Easy
  • Normal
  • Hard
  • Hardcore
  • Ultra Hardcore

The specific configuration sets could be referred from the Minecraft Wiki for Difficulties, Hardcore, and even Ultra Hardcore.

Menu

By default, the preset is set as Normal (each time entering) in the world generation menu, but users could change the preset by pressing the button and choosing the desired one from the select menu. Users could also go to Advanced settings to browse all the available Game Rules and change any rules. If any rule is changed, the preset is set to "Custom", so the user can change it to other presets if needed; if the user wanted to change, a warning about changes not being saved is popped up. The style of button for Custom is special, because it is not any known preset; locally or imported customized presets would be shown with a mark on the button, since styling would be supported.

Game Rules

Apart from referring to Minecraft, there would also be some rules defined from the Difficulties and also the Hardcore Mode. These rules, by definition, are not taken into account during world generation, but immediately the game update ticks after the initialization.

For idea collection for the Game Rules, please head over #58.

See Also

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment