DarkZmaj 4012bdd60b chore(lints): resolve the pre-existing clippy::unused_async_trait_impl wall (#3014)
Every trait method wasmtime's bindgen! generates must be `async fn`
regardless of whether a given implementation needs to await anything,
so clippy::unused_async_trait_impl fired 578 times across the WASM
plugin bridge (crates/pumpkin/src/plugin/loader/wasm/wasm_host/wit/v0_1)
plus a handful of similarly-shaped trait impls elsewhere (redstone
pressure plates, several plant blocks, the pathfinder, three Entity
setter methods). This blocks "Run lints (debug/release)" CI on every
branch regardless of what it actually changes.

Allow the lint at the module level for wasm_host's submodules (one
attribute per module covers every impl inside it) and per-function for
the scattered non-WASM occurrences, rather than restructuring any of
the affected code.

Also fixes three unrelated pre-existing lint failures uncovered once
the above stopped masking them:
- pumpkin-macros::count_placeholders needed to be a const fn
  (clippy::missing_const_for_fn) - this alone was blocking every other
  lint check from ever running, since pumpkin-macros failing to
  compile takes the whole workspace down with it.
- `Result<_, ()>` in Plugin::send_message (clippy::result_unit_err).
- `.ok().is_some_and(..)` that clippy::manual_is_variant_and wants as
  `.is_ok_and(..)`.

Verified with `cargo clippy --all-targets --all-features` (debug and
release) and `cargo test -p pumpkin --lib` (257 passed).
2026-08-22 12:25:51 +02:00
2026-08-17 12:33:05 +02:00
2026-08-22 10:49:06 +02:00
2026-08-22 10:49:06 +02:00
2026-08-06 13:10:57 +02:00
2025-05-10 12:46:42 +02:00
2026-08-08 13:46:17 +02:00
2026-08-06 12:56:40 +02:00
2026-08-21 16:24:22 +02:00
2026-08-21 16:24:22 +02:00
2025-08-11 20:45:55 +02:00
2026-08-06 13:10:57 +02:00
2026-08-17 12:33:05 +02:00
2026-08-17 12:33:05 +02:00
2026-08-06 12:56:40 +02:00
2026-08-21 16:24:22 +02:00
2024-12-04 11:37:41 +01:00
2026-08-06 12:56:40 +02:00

Pumpkin

CI Discord License: GPL

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.

Pumpkin Chunk Loading

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.

See what needs to be done before the 1.0.0 Release

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
    • Plugins
    • Query
    • RCON
    • Inventories
    • Particles
    • Chat
    • Commands
    • Permissions
    • Translations
  • 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.

License & Attribution

  • Pumpkin Server: Licensed under the GNU General Public License v3.0 (GPLv3).
  • Plugin API (pumpkin-plugin-api & pumpkin-plugin-wit): Dual-licensed under MIT OR Apache-2.0 for maximum flexibility when writing plugins.
  • Third-Party Assets & Data: Bedrock mappings, protocol conversion data, and Minecraft assets are subject to their respective licenses and attribution terms. See assets/NOTICE.md for full details.
Description
Languages
Rust 100%