Bounding box of semi-empty blocks

Open
#292 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
javascript
Domain
game-dev

Research direction

The issue names the blockShape and boundingBox properties but no files, tests, or entry points. Start by locating where those properties are defined and consumed, then review how metadata and approach direction affect doors and stairs. Done requires a decided representation for semi-empty blocks and agreement on whether boundingBox, blockShape, or a derived value should be used.

Written by the indexing model from the issue text.

Description

blocks help wanted

This issue aim to open the discussion about what we should do for block bounding boxes in general. We now have the blockShape property that is the exact representation of the block for all it's states. But this format is a bit more complex to handle than the binary "empty" / "block" representation we had before.

The applications of this data are (non-exhaustive):

  • Physic simulation (done using blockShape directly)
  • Pathfinding (done using binary info, doesn't handle well special cases, considering to use blockShape)

The questions are:

  • do we want to continue using the boundingBox property or de we move toward using blockShape or a derived value ?
  • at the moment boundingBox is either empty or block, what should we label the blocks that are neither ?

Special cases to consider:

  • some block shape depends on the state of the block (metadata), for instance doors can be open or closed
  • some block can collide depending on the direction the player is coming from (doors, stairs)
Dominant language
JavaScript
Stars
938
Forks
294
Avg merge
3d 5h
Merged PRs (30d)
25

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PrismarineJS/minecraft-data

All issues in PrismarineJS/minecraft-data

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.