Open Archengius opened 3 years ago
Do you have a way to retrieve the block speeds in newer versions ? If yes, could you compare the values you get that way with what prismarine-block digTime computes ?
On Sun, Jun 13, 2021, 21:16 Archengius @.***> wrote:
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.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/PrismarineJS/minecraft-data/issues/412, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAR437U3VAJ7PV2VHMNFTK3TST7ZBANCNFSM46UALANA .
Yeah, I have a way to retrieve block speeds in new versions, specifically 1.17. But I cannot do the comparison because there's simply no minecraft-data for 1.17 to use for prismarine-block.
I could use the data I PR in #411, but comparison would be pointless in that case, since material data I'm PRing is actually based on mining speed categories and not actual materials, to basically have correct mining times without rewriting prismarine-block
Sorry, accidentally closed it. Continuing on my last comment, there's also no practical way to retrieve mining speed data on material basis at all in latest version, just because materials are NOT used for it, and you would just get incorrect values for some blocks
the choices for materials are
the burger path may require to redefine the definition of material / define a new field in blocks.json like "base dig time" the goal of materials is only to get https://github.com/PrismarineJS/prismarine-block/blob/master/index.js#L266 to work any alternative property is fine as long as we can backport it to older versions
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.