mirror of
https://github.com/Pumpkin-MC/Pumpkin.git
synced 2026-08-30 20:14:23 +00:00
69e3ff7c7c59395d8e1f090a0aa45168d5379702
`ProtoChunk::new` took its height from the noise settings while
`Chunk::build_level_sections` builds and reads back `dimension.height / 16`
sections. The End and the Nether are the two dimensions taller than their noise
settings (256 vs 128), so their proto chunks held 8 sections for the 16 the
level chunk asks for and `get_block_state_raw` indexed past the end of
`flat_block_map`, panicking on every generation thread. The same mismatch left
light data covering half the column and dropped features placed above y = 128.
A chunk spans its dimension, as in vanilla's `LevelHeightAccessor`; the noise
settings only bound the vertical window the generator writes into. `ProtoChunk`
now carries both, storage sized by the dimension plus a generation window built
with `GenerationShapeConfig::trim_height`, so surface rules, carver height
providers and feature placement keep resolving against y < 128 there.
The panic quoted in the issue (`chunk_density_function.rs`, len 99 index 129)
was the same conflation in `populate_noise` and is already fixed by 3c43f971.
Pumpkin is a Minecraft server built entirely in Rust, offering a fast, efficient, and customizable experience. It prioritizes performance and player enjoyment while adhering to the core mechanics of the game.
Goals
- Performance: Leveraging multi-threading for maximum speed and efficiency.
- Compatibility: Supports the latest Java & Bedrock Minecraft server version while adhering to Vanilla game mechanics.
- Security: Prioritizes security by preventing known security exploits.
- Flexibility: Highly configurable, with the ability to disable unnecessary features.
- Extensibility: Provides a foundation for plugin development.
Important
Pumpkin is currently under heavy development.
Features
- Configuration (toml)
- Tracking: Protocol
- Server Status/Ping
- Encryption
- Packet Compression
- Java Edition
- Bedrock Edition (W.I.P)
- ...
- Tracking: World
- Player Tab-list
- Scoreboard
- World Loading
- World Time
- World Borders
- World Saving
- Lighting
- Entity Spawning
- Bossbar
- Chunk Loading (Vanilla, Linear, Pump)
- Chunk Generation
- Chunk Saving (Vanilla, Linear, Pump)
- Redstone
- Liquid Physics
- ...
- Tracking: Player
- Skins
- Teleport
- Movement
- Animation
- Inventory
- Combat
- Experience
- Hunger
- Off Hand
- Advancements (W.I.P)
- Eating
- ...
- Entities
- Non-Living (Minecart, Eggs...) (W.I.P)
- Entity Effects
- Players
- Mobs (W.I.P)
- Animals (W.I.P)
- Entity AI
- Boss (W.I.P)
- Villagers (W.I.P)
- Entity Saving
- Server
- Proxy
- Bungeecord
- Velocity
How to run
See our Quick Start guide to get Pumpkin running.
Contributions
Contributions are welcome! See CONTRIBUTING.md
Docs
Pumpkin's documentation can be found at https://pumpkinmc.org/
Communication
Consider joining our Discord server to stay up-to-date on events, updates, and connect with other members.
Funding
If you want to fund me and help the project, check out the Donation Page.
Description
Empowering everyone to host fast and efficient Minecraft servers.
dockergame-servergamedevminecraftminecraft-bedrock-editionminecraft-protocolminecraft-servernetworkingrustserver
Readme
GPL-3.0
250 MiB
Languages
Rust
100%
