How valiec/deepercaves works
DeeperCaves is a Forge mod that adds successive cave dimensions beneath the Overworld. The principal workflow is exploration: player-height thresholds trigger transfers between configured layers, whose providers and biome/chunk-generation code create distinct underground worlds. The mod also supplies cave blocks, items, structures and hostile mobs, plus a sculk vibration-and-activation feature with client effects. The README documents the multi-level-cave goal; the sampled excerpts confirm dimension transfers and parts of sculk and client behavior, but do not expose all registration and generation wiring.
Main entry points: DeeperCaves.java Mod entry point · DeeperDimensionHandler.java Dimension handler · WorldProviderDeeperBase.java World providers · DeeperSculkManager.java Vibration events
Components 23
Dimensions and terrain
- Dimension handler
src/main/java/com/kpabr/DeeperCore/dimstack/DeeperDimensionHandler.java - Dimension layers
src/main/java/com/kpabr/DeeperCore/dimstack/DeeperLayer.java - Layer teleporter
src/main/java/com/kpabr/DeeperCore/dimstack/DeeperTeleporter.java - World providers
src/main/java/com/kpabr/DeeperCore/world/WorldProviderDeeperBase.java - Chunk generation
src/main/java/com/kpabr/DeeperCore/world/chunk/ChunkProviderDeeperBase.java - Biome selection
src/main/java/com/kpabr/DeeperCore/world/WorldChunkManagerDeeper.java - Biome layers
src/main/java/com/kpabr/DeeperCore/world/GenLayerDeeperCaves.java - Biome decoration
src/main/java/com/kpabr/DeeperCore/world/biome/DeeperBaseDecorator.java - Cave dimensions
src/main/java/com/kpabr/DeeperCaves/DeeperWorldgen.java
Cave content
- Cave biomes
src/main/java/com/kpabr/DeeperCaves/world/biome - Cave villages
src/main/java/com/kpabr/DeeperCaves/structure/cavevillage/CaveVillage.java - Blocks and fluids
src/main/java/com/kpabr/DeeperCaves/DeeperBlocks.java - Items and charms
src/main/java/com/kpabr/DeeperCaves/DeeperItems.java - Cave creatures
src/main/java/com/kpabr/DeeperCaves/DeeperMobs.java
Sculk interactions
- Sculk blocks
src/main/java/com/kpabr/DeeperCaves/block/BlockSculkSensor.java - Vibration events
src/main/java/com/kpabr/DeeperCaves/DeeperSculkManager.java - Sculk activation
src/main/java/com/kpabr/DeeperCaves/SculkActivation.java - Sculk packets
src/main/java/com/kpabr/DeeperCaves/network/PacketSculkActivationS2C.java
Mod runtime
- Player effects
src/main/java/com/kpabr/DeeperCaves/DeeperEventHandler.java - Client effects
src/main/java/com/kpabr/DeeperCaves/client/ClientProxy.java - Mod entry point
src/main/java/com/kpabr/DeeperCaves/DeeperCaves.java
Other components
- Player
- Forge runtime
Connections 22
- Player → Dimension handler: crosses layer thresholds
- Dimension handler → Dimension layers: checks layer rules
- Dimension handler → Layer teleporter: transfers player
- Dimension layers → Cave dimensions: configures dimensions
- Cave dimensions → World providers: provides worlds
- World providers → Chunk generation: generates chunks
- World providers → Biome selection: selects biomes
- Biome selection → Biome layers: queries biome IDs
- Cave biomes → Biome selection: supplies biome set
- Chunk generation → Biome decoration: decorates terrain
- Cave villages → Blocks and fluids: places structures
- Forge runtime → Dimension handler: dispatches events
- Forge runtime → Player effects: dispatches events
- Player effects → Items and charms: checks charm inventory
- Sculk blocks → Vibration events: posts vibrations
- Vibration events → Sculk activation: broadcasts activation
- Vibration events → Sculk packets: sends activation packet
- Sculk packets → Client effects: delivers client effect
- Mod entry point → Cave dimensions: initializes worldgen
- Mod entry point → Blocks and fluids: registers content
- Mod entry point → Items and charms: registers content
- Mod entry point → Cave creatures: registers creatures