PrismarineJS / PrismarineJS/minecraft-data
materials.json as a concept is outdated
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 938
- Forks
- 294
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 23
Description
Material information is used for computing mining speed based on other parameter, but there is one fundamental problem: recent Minecraft versions just do not use materials for anything except colors on the maps.
Instead, mining speed is handled either by the game's code (for swords and shears), or by tags (for all other tools)
Both of these handle blocks individually and independently of their materials, so it's practically impossible to judge mining speeds by block materials anymore. Even more, some blocks can be actually mined up to 3 different tools at once (for example, berry bushes are actually mineable by hoe, axe and sword, yet their material is just "plant").
My suggestion is to get rid of materials.json altogether for newer versions since it's pointless, and record mining speed multipliers directly in blocks.json as values for harvestTools object entries (since practically now information about block breaking speeds is shattered between 2 different files, and now it will be combined into one).
Additionally, boolean indicating whenever block requires tool or not should be added explicitly in this case, instead of relying on harvestTools being absent when block is harvestable by hand.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review materials.json and blocks.json to map how material data and harvestTools entries currently represent mining behavior across newer Minecraft versions. Check the issue's proposed model against the versioned data, then define completion as removing materials.json for those versions, recording mining speed multipliers in blocks.json, and explicitly representing whether a block requires a tool.
Written by the indexing model from the issue text.
Assessment
- Domain
- data
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100