Skip to content

⚙️ Configuration & Dynamic GameRules (Minecraft 26.2) ​

📌 Repository Source Disclaimer: The documentation in this Wiki reflects the current source code state in the repository, which may include recent unreleased commits or developmental features ahead of public release builds on CurseForge and Modrinth.


1. Official-Style Infobox ​

PropertyTechnical Details
Category Identifiervo_creative_fly_speed:fly_speed
Registration EngineDynamicGameRuleManager (via DasikLibrary)
Storage ArchitectureNBT persistence inside level.dat (Data.GameRules)
Permission Level RequiredLevel 2 (Server Operator / Dedicated Host)
Permille Value BoundsMin: 1 ($0.001\times$) | Max: 100000 ($100.0\times$)
Hot-Reload SupportInstantaneous; updates take effect on the next server tick
Translation Keysgamerule.category.vo_creative_fly_speed.fly_speed, gamerule.minecraft.vo_creative_fly_speed, gamerule.minecraft.vo_spectator_fly_speed

2. Step-by-Step Player & Operator Workflow ​

Changing Creative Flying Speed in Real-Time ​

  1. Ensure you have operator privileges (Permission Level 2 or singleplayer cheats enabled).
  2. Open the in-game chat interface (T or /).
  3. Type the command with autocomplete assistance:
    mcfunction
    /gamerule vo_creative_fly_speed 3000
  4. Press Enter. The chat will display confirmation: Game rule vo_creative_fly_speed has been updated to 3000
  5. All players currently in Creative mode immediately fly at $3.0\times$ speed.

Changing Spectator Flying Speed for Camera Work ​

  1. For slow, cinematic observation pans, enter:
    mcfunction
    /gamerule vo_spectator_fly_speed 250
  2. Spectators now navigate at $0.25\times$ speed ($0.0125\text{ blocks/tick}$), eliminating erratic camera jerks.

Restoring Defaults ​

mcfunction
/gamerule vo_creative_fly_speed 1000
/gamerule vo_spectator_fly_speed 1000

3. Mathematical Range Constraints & Anti-Nanny Invariant ​

In compliance with the Player Agency & Anti-Nanny Invariant, Creative Fly Speed never caps player velocity at arbitrary low limits. The valid range covers:

$$P \in [1, 100000] \subset \mathbb{Z}^+$$

Where the lower bound of $1$ prevents catastrophic JVM floating-point division by zero or backward momentum inversions, while the upper bound of $100000$ permits speeds up to $100\times$ baseline velocity:

$$S_{\text{min} = 0.05 \times \frac{1}{1000} = 0.00005\text{ blocks/tick}$$

$$S_{\text{max} = 0.05 \times \frac{100000}{1000} = 5.0\text{ blocks/tick} \quad (100.0\text{ m/s} = 360\text{ km/h})$$


4. Visual Command Tree & Autocomplete Hierarchy ​

/gamerule
   |
   +-- vo_creative_fly_speed
   |        |
   |        +-- <integer [1..100000]> (Sets Creative flight multiplier)
   |
   +-- vo_spectator_fly_speed
            |
            +-- <integer [1..100000]> (Sets Spectator flight multiplier)

5. Storage Schema: World Save level.dat NBT ​

Because the rules are registered directly with the Minecraft GameRules registry via DynamicGameRuleManager, they serialize into standard vanilla world data:

snbt
{
    "Data": {
        "GameRules": {
            "vo_creative_fly_speed": "2500",
            "vo_spectator_fly_speed": "1000",
            "doDaylightCycle": "true",
            "keepInventory": "false"
        },
        "LevelName": "Creative Sandbox",
        "version": 19133
    }
}

6. Exhaustive GameRules Reference Table ​

GameRule KeyData TypeDefaultValid RangeCategoryPurpose & In-Game Behavior
vo_creative_fly_speedInteger10001 .. 100000vo_creative_fly_speed:fly_speedFlight speed multiplier for players in Creative mode. $1000 = 1.0\times$ ($0.05\text{ blocks/tick}$).
vo_spectator_fly_speedInteger10001 .. 100000vo_creative_fly_speed:fly_speedFlight speed multiplier for players in Spectator mode. $1000 = 1.0\times$ ($0.05\text{ blocks/tick}$).

Localization Strings (assets/vo_creative_fly_speed/lang/en_us.json) ​

  • gamerule.category.vo_creative_fly_speed.fly_speed: "Creative Fly Speed"
  • gamerule.minecraft.vo_creative_fly_speed: "Creative Flight Speed Multiplier (%)"
  • gamerule.minecraft.vo_creative_fly_speed.description: "Multiplier for the player's flying speed while in Creative mode. Default is 1000 (1.0x). Use higher values like 2500 for 2.5x speed. Takes effect instantly for Creative players."
  • gamerule.minecraft.vo_spectator_fly_speed: "Spectator Flight Speed Multiplier (%)"
  • gamerule.minecraft.vo_spectator_fly_speed.description: "Multiplier for flying speed in Spectator mode. Default is 1000 (1.0x). Slow it down for cinematic precision or crank it up to traverse your world at high velocity!"

7. Developer & Datapack Integration ​

Datapack Function Automation ​

Server administrators and map creators can adjust speeds dynamically during cutscenes or specific areas via MCFunction scripts:

mcfunction
# Function: cutscene:enter_observatory.mcfunction
gamerule vo_spectator_fly_speed 200
title @a actionbar {"text":"Cinematic Camera Mode Activated","color":"aqua"}

# Function: cutscene:exit_observatory.mcfunction
gamerule vo_spectator_fly_speed 1000

Java Registration Architecture ​

java
CATEGORY = DynamicGameRuleManager.registerCategory(
        Identifier.fromNamespaceAndPath("vo_creative_fly_speed", "fly_speed")
);

CREATIVE_FLY_SPEED = DynamicGameRuleManager.integerRule("vo_creative_fly_speed", CATEGORY, 1000)
        .range(1, 100000)
        .name("Creative Fly Speed")
        .description("Multiplier for flying speed in Creative mode. Default is 1000 (1.0x).")
        .register();

Official documentation & web portal for Dasik Igaijinn mods.