4lve eb27cfa16a Generate Blocks and Properties Revamp (#613)
* Add block builder

* Implement loot tables

* chaos snapshot

* LFG

* add oak fence

* lever facing

* Add trait for CardinalDirection

* fix clippy

* fix clippy

* reimplement partial state of loottable

* Implement neighbor block updates

* add oak door

* Fix crash on invalid state

* Fixes

* Add fences

* Add doors

* Refactor how we handle block properties when implemented in many places

* Remove old loot_table, moved to block generation

* Better Block Properties

* Add fence gates

* Update block_grouper and add logs

* Build tags instead and make it easier to define variants of blocks

* Save block states

* Allow nether fences to connect with fence gates

* Move away from hardcoded property names

* Clean up property remaps

* start refactor of blocks

* refactor block compile build

* refactor name map for property groups

* Make it so fences can't connect to the air part of a fence gate

* Use extractor instead of hard coded property names

* to_value and from_value should be stripped of "L" prefix

* Prefix isn't used anymore

* use hashes to verify uniqueness

* Don't declare IntProvider twice and fix typo

* remove some comments that don't apply anymore

* Move loot table so it's shared

* Futureproof Loot Tables

* Implement BlockStateProperty condition for LootTables

* Move experience to pumpkin_utils

* Add is_liquid

---------

Co-authored-by: kralverde <github@email.kralverde.dev>
2025-03-10 18:06:44 +01:00
2025-02-20 18:42:20 +01:00
2024-10-06 12:57:47 +02:00
2024-10-14 23:56:34 +02:00
2025-01-24 17:26:09 +01:00
2024-08-02 12:33:51 +02:00
2025-02-05 23:12:16 +01:00
2025-03-04 22:19:30 +01:00
2025-02-06 18:08:56 +01:00
2025-01-01 13:05:17 +01:00
2025-03-06 16:35:54 +01:00
2024-12-04 11:37:41 +01:00
2025-02-12 16:19:26 +01:00

Pumpkin

CI Discord License: MIT Current version)

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.

2025-03-0615-45-42chunkloading

Goals

  • Performance: Leveraging multi-threading for maximum speed and efficiency.
  • Compatibility: Supports the latest Minecraft server version and adheres 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. Biomes are currently not implemented but the Terrain matches Vanilla image

Features

  • Configuration (toml)
  • Server Status/Ping
  • Networking
    • Encryption
    • Packet Compression
  • Player Configuration
    • Registries (biome types, paintings, dimensions)
    • Server Brand
    • Server Links
    • Set Resource Pack
    • Cookies
  • World
    • World Joining
    • Player Tab-list
    • Scoreboard
    • World Loading
    • World Time
    • World Borders
    • World Saving (W.I.P)
    • Lighting
    • Entity Spawning
    • Item drops (W.I.P)
    • Bossbar
    • TNT
    • Chunk Loading (Vanilla, Linear)
    • Chunk Generation
    • Chunk Saving (Vanilla, Linear)
    • Redstone
    • Liquid Physics
    • Biomes
    • Vegetation
  • Player
    • Skins
    • Client brand
    • Teleport
    • Movement
    • Animation
    • Inventory
    • Combat
    • Experience
    • Hunger
    • Off Hand
    • Advancements
    • Eating
  • Entities
    • Non-Living (Minecart, Eggs...) (W.I.P)
    • Entity Effects
    • Players
    • Mobs (W.I.P)
    • Animals (W.I.P)
    • Entity AI (W.I.P)
    • Entity Saving
    • Boss
    • Villagers
    • Mobs Inventory
  • Server
    • Plugins (W.I.P)
    • Query
    • RCON
    • Inventories
    • Particles
    • Chat
    • Commands
    • Permissions
    • Translations
  • Proxy
    • Bungeecord
    • Velocity

Check out our Github Project to see current progress

How to run

See our Quick Start Guide to get Pumpkin running

Contributions

Contributions are welcome! See CONTRIBUTING.md

Docs

The Documentation of Pumpkin can be found at https://pumpkinmc.org/

Communication

Consider joining our discord 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 my GitHub sponsors or my PayPal

Description
Languages
Rust 100%