How wuhenqiubai/pehkui-rebuilt works
Pehkui Rebuilt is a Minecraft library mod that provides entity scale data and scale-dependent behavior to mods and commands. Its main paths are direct scale changes, periodic datapack-rule application, and propagation of scale state to clients; mixins then adapt gameplay and rendering to that state. The graph also shows the public scale API and loader-specific integration. Workflow details for rule loading and command execution are based on README capabilities and the source tree; sampled excerpts confirm selected mixin, rendering, packet-handling, and configuration behavior, but not every connection.
Main entry points: ScaleData.java Scale data · data/ScaleRules.java Fabric rules · data/ScaleRules.java NeoForge rules · ScalePayload.java Scale packets
Components 25
Scale API
- Scale API
common/src/main/java/virtuoel/pehkui/api - Scale data
common/src/main/java/virtuoel/pehkui/api/ScaleData.java - Scale registries
common/src/main/java/virtuoel/pehkui/api/ScaleRegistries.java - Scale utilities
common/src/main/java/virtuoel/pehkui/util/ScaleUtils.java
Scale Inputs
- Scale commands
common/src/main/java/virtuoel/pehkui/server/command/ScaleCommand.java - Fabric rule loader
fabric/src/main/java/virtuoel/pehkui/data/ScaleRuleLoader.java - Fabric rules
fabric/src/main/java/virtuoel/pehkui/data/ScaleRules.java - NeoForge rule loader
neoforge/src/main/java/virtuoel/pehkui/neoforge/data/ScaleRuleLoader.java - NeoForge rules
neoforge/src/main/java/virtuoel/pehkui/neoforge/data/ScaleRules.java - Rule parser
common/src/main/java/virtuoel/pehkui/data/ScaleRuleParser.java - Rule applier
common/src/main/java/virtuoel/pehkui/data/ScaleRuleApplier.java
Gameplay Runtime
- Gameplay hooks
common/src/main/java/virtuoel/pehkui/mixin - Client hooks
common/src/main/java/virtuoel/pehkui/mixin/client - Render scaling
common/src/main/java/virtuoel/pehkui/mixin/client/EntityRenderManagerMixin.java - Scale packets
common/src/main/java/virtuoel/pehkui/network/ScalePayload.java
Loader Integration
- Fabric client handler
fabric/src/main/java/virtuoel/pehkui/fabric/PehkuiClientFabric.java - NeoForge packet handler
neoforge/src/main/java/virtuoel/pehkui/neoforge/network/PehkuiPacketHandler.java - NeoForge client handler
neoforge/src/main/java/virtuoel/pehkui/neoforge/PehkuiClient.java - Config handling
common/src/main/java/virtuoel/kanos_config/api/ConfigHandler.java - Fabric entrypoint
fabric/src/main/java/virtuoel/pehkui/fabric/PehkuiFabric.java - NeoForge entrypoint
neoforge/src/main/java/virtuoel/pehkui/neoforge/PehkuiNeoForge.java
Other components
- Mod developer
- Player / operator
- Datapack rules
- Minecraft
Connections 27
- Mod developer → Scale API: uses API
- Player / operator → Scale commands: runs commands
- Datapack rules → Fabric rule loader: provides rules
- Datapack rules → NeoForge rule loader: provides rules
- Scale commands → Scale data: changes scale
- Fabric rule loader → Fabric rules: loads rules
- Fabric rules → Rule parser: parses rules
- Fabric rules → Rule applier: applies rules
- NeoForge rule loader → NeoForge rules: loads rules
- NeoForge rules → Rule parser: parses rules
- NeoForge rules → Rule applier: applies rules
- Rule applier → Scale data: updates scale
- Scale API → Scale registries: registers types
- Gameplay hooks → Scale utilities: reads scale
- Client hooks → Scale utilities: reads scale
- Render scaling → Scale utilities: uses render helpers
- Scale data → Scale packets: serializes scale
- Scale packets → Fabric client handler: dispatches payload
- Scale packets → NeoForge packet handler: dispatches payload
- NeoForge packet handler → NeoForge client handler: routes payload
- Fabric client handler → Scale data: updates client state
- NeoForge client handler → Scale data: updates client state
- Minecraft → Gameplay hooks: invokes hooks
- Minecraft → Render scaling: invokes render hook
- Fabric entrypoint → Fabric rule loader: integrates loader
- NeoForge entrypoint → NeoForge rule loader: integrates loader
- Config handling → Minecraft: loads settings