Open
Description
I think it's important to get a basic survival demo working, and to then incrementally build on top of that with basic features. If we try to have everything implemented before starting survival, it will be impossible to complete (and will kill motivation). Thus, I propose implementing the most basic features first.
For basic survival, we need:
- Update to latest version (1.21.5 branch; previously Update Minestom to 1.21.5 #57 (thanks flux))
- World
- World loading (like 3 lines of code so no use assigning)
- Chunk generation moved to "Later features"
- Block breaking & placing
- Loot tables (assigned to @GoldenStack )
- Datapack loading (loading the JAR + file extraction utilities)
- Block experience (technically not loot tables, but still)
- Block placement rules (most importantly for doors & beds) (assigned to @Garrett-EMS)
- Would be considered solved by blocks-and-stuff, but still considering
- (optional) Block hardness calculations (so you can't mine diamonds with your fist)
- Loot tables (assigned to @GoldenStack )
- Crafting (assigned to @GoldenStack )
- (optional) Special recipes like dying leather
Bugs:
- Inventory click inaccuracy
- Block placement
- Placing blocks over overridable blocks (e.g. logs on grass)
- Placing blocks in the air
- Crafting
- Recipe book doesn't work
- Re-add smithing, cooking, etc. (should be relatively simple)
- Fix clicks being weird (might need custom handling for shift clicks, etc.)
- Return items to inventory or drop them on crafting table exit
- Kick player out of crafting table if too far away
Later features:
- Experience (points & levels)
- Block updates (important)
- Random ticks
- Farming (crops)
- Commands
- Fluids
- Smelting
- Mobs
- Mob loading (from anvil)
- Mob spawning
- Mob pathfinding
- Damage & Combat
- Projectiles
- Fall damage
- Enchanting
- Consumables
- Food
- Potions
- World generation
- Structures
Note: I'm not going to be removing any existing VRI code until I'm confident that this survival implementation is of higher quality than it, and those features have been amalgamated into this impl. This means that survival exists on a few new modules, which I'll list here:
survival
datapack
loot-table
crafting
Metadata
Metadata
Assignees
Labels
No labels