Honor Ore.blob() vein size in nether/end ore generation#106
Merged
Conversation
The blob size carried by each Ore was never read: BLOB_SIZE was hardcoded to 1 and the x/z loops shared a single offset, so every nether/end ore vein collapsed to a 1-4 block speck regardless of its configured size. pasteBlob now scatters o.blob() blocks around an independently-chosen centre, over a radius derived from the cube root of the vein size, bounded by the configured world depth and a max-attempts guard. The unused BLOB_SIZE constant is removed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the three guard 'continue' statements with combined boolean conditions so the loop has no break/continue, resolving the SonarCloud code smell on new_maintainability_rating. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Fixes issue #1 from the #105 review.
Problem
NewMaterialPopulatornever read theblob(vein size) field ofOre:BLOB_SIZEwas hardcoded to1, and thex/zloops shared a singleoffset. Every nether/end ore vein collapsed to a 1–4 block speck along the chunk diagonal regardless of its configured size (values up to 33), andOre.blob()was dead.Fix
pasteBlobnow scatterso.blob()blocks around an independently-chosen(centreX, centreZ, y)centre, over a radius derived fromcbrt(blobSize)so a vein of N blocks occupies a roughly N-block volume. It is bounded by the configured world depth and a max-attempts guard so sparse regions cannot loop forever. The unusedBLOB_SIZEconstant is removed.🤖 Generated with Claude Code