Skip to content

❓ Solução de Problemas e Perguntas Frequentes (FAQ) ​

📌 Isenção de Responsabilidade do Código-Fonte do Repositório: A documentação nesta Wiki reflete o estado atual do código-fonte no repositório, que pode incluir commits recentes não lançados ou recursos de desenvolvimento à frente das versões públicas no CurseForge e Modrinth.


🔍 Frequently Asked Questions ​

Q1: Why does my flight speed feel vanilla even after installing the mod? ​

A: By default, Creative Fly Speed initializes both GameRules to 1000 (permille), which equals exactly $1.0\times$ (vanilla flight speed: $0.05\text{ blocks/tick}$). To adjust speed:

mcfunction
/gamerule vo_creative_fly_speed 2500

This instantly increases Creative flight speed to $2.5\times$ ($0.125\text{ blocks/tick}$).


Q2: Does changing the GameRule affect players in Survival or Adventure mode? ​

A: No. The engine contains an explicit early-return guard:

java
final float targetSpeed = switch (gameType) {
    case CREATIVE -> calculateSpeed(rules.get(CreativeFlySpeedRules.CREATIVE_FLY_SPEED));
    case SPECTATOR -> calculateSpeed(rules.get(CreativeFlySpeedRules.SPECTATOR_FLY_SPEED));
    default -> -1.0F; // Survival / Adventure bypassed
};
if (targetSpeed < 0) return;

Players in Survival or Adventure modes are never modified and retain their vanilla movement physics.


Q3: How does the mod prevent network lag and packet spam? ​

A: Vanilla Minecraft transmits ClientboundPlayerAbilitiesPacket every time player.onUpdateAbilities() is executed. If a mod unconditionally sends this packet every server tick (20 times per second per player), bandwidth saturates and clients experience movement stutter.

Creative Fly Speed implements a strict Floating-Point Epsilon Drift Guard: $$\Delta = |\text{abilities.getFlyingSpeed}() - \text{targetSpeed}|$$ Only when $\Delta > 10^{-6}\text{ F}$ does the server mutate the player's abilities and issue a network sync packet:

java
if (Math.abs(abilities.getFlyingSpeed() - targetSpeed) > 1e-6F) {
    abilities.setFlyingSpeed(targetSpeed);
    player.onUpdateAbilities();
}

Under normal flight, once the speed is set, the delta is $0$, resulting in 0 network packets dispatched during steady-state ticks.


Q4: Are GameRule settings saved across server restarts and world reloads? ​

A: Yes. Because the mod registers standard Minecraft GameRule<Integer> instances via DasikLibrary's DynamicGameRuleManager, all values are serialized directly into the world's level.dat NBT structure under GameRules. No third-party configuration files can desynchronize from the save data.


Q5: What happens if I set the GameRule to extreme values like 50,000 or 100,000? ​

A: In accordance with the Player Agency & Anti-Nanny Invariant, Creative Fly Speed sets the upper rule bound to 100000 ($100\times$ speed, or $5.0\text{ blocks/tick} = 100\text{ blocks/second}$).

  • At extreme speeds ($>20,000$), chunks may fail to load fast enough on slower storage or servers with low tick rates.
  • Server movement checks in server.properties may flag players if anti-cheat is active. Ensure server.properties allows high movement speeds or configure anti-cheat plugins accordingly.

🛠️ Diagnostic & Troubleshooting Matrix ​

SymptomProbable CauseDiagnostic Command / CheckResolution
Speed resets when switching gamemodesIntended designCheck current gamemode with /gamemodeSwitching from Creative to Spectator automatically transitions from vo_creative_fly_speed to vo_spectator_fly_speed.
Commands do not show autocompletePermission level insufficientVerify operator level (>=2)Run /op <player> or verify server permission levels. Dynamic GameRules require level 2 permission.
Speed changes on server but client feels jitteryPacket drop or high client latencyPress F3 to observe client TPS and pingVerify that player.onUpdateAbilities() packet is received; check for conflicting client movement mods.
GameRule value rejected when typing negative numberMinimum bound validationCheck rule bounds [1, 100000]Permille values must be $\ge 1$. Negative speeds or $0$ are rejected by the registration range guard to prevent engine divide-by-zero or backward flight reversal glitches.

Official documentation & web portal for Dasik Igaijinn mods.