Skip to content

💻 架构与 Mixin 解析 (Minecraft 26.2) ​

📌 仓库源码免责声明:本 Wiki 中的文档反映了仓库中的当前源代码状态,可能包含领先于 CurseForge 和 Modrinth 上公开版本的近期未发布提交或开发特性。


📋 Architectural Infobox ​

ComponentTechnical Details
Package Rootnet.vanillaoutsider.creativeflyspeed
Main Mod Initializer[CreativeFlySpeedFabric.java](file:///Creative%20Fly%20Speed/src/main/java/net/vanillaoutsider/creativeflyspeed/CreativeFlySpeedFabric.java)
GameRule Registry[CreativeFlySpeedRules.java](file:///Creative%20Fly%20Speed/src/main/java/net/vanillaoutsider/creativeflyspeed/CreativeFlySpeedRules.java)
Mixin Target Classnet.minecraft.server.level.ServerPlayer
Bytecode Injector@Inject(method = "tick", at = @At("HEAD"))
Library Dependencynet.dasik:dasik-library:1.6.9+build.14

🏗️ Architectural Flow & Package Hierarchy ​

net.vanillaoutsider.creativeflyspeed/
├── CreativeFlySpeedFabric.java        # Mod initialization & GameRule registration
├── CreativeFlySpeedFabricClient.java  # Client-side lifecycle stub
├── CreativeFlySpeedRules.java         # Dynamic GameRule constants and registration
└── mixin/
    └── ServerPlayerMixin.java         # Per-tick abilities evaluation & epsilon sync

Flow Diagram ​

[ ServerPlayer.tick() ]
           │
           ▼
[ ServerPlayerMixin.onTick() ]
           │
           ├── Check gameMode (CREATIVE / SPECTATOR)
           ├── Compute targetSpeed = 0.05f * (permille / 1000f)
           │
           ▼
[ Epsilon Guard: |current - target| > 1e-6f ? ]
           ├── NO  ──> (Zero packets sent, return immediately)
           └── YES ──> abilities.setFlyingSpeed(targetSpeed)
                       player.onUpdateAbilities() (Dispatches sync packet)

Official documentation & web portal for Dasik Igaijinn mods.