Convert grass from tile type to pickable entity#306
Closed
Copilot wants to merge 2 commits intofeat/server-clientfrom
Closed
Convert grass from tile type to pickable entity#306Copilot wants to merge 2 commits intofeat/server-clientfrom
Copilot wants to merge 2 commits intofeat/server-clientfrom
Conversation
Co-authored-by: dmccoystephenson <21204351+dmccoystephenson@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Transition to Spring Boot server and Pygame client
Convert grass from tile type to pickable entity
Feb 2, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR converts grass from a tile biome type to an interactive pickable entity, restoring functionality from the original prototype where players could gather and place grass.
Changes:
- Created new
Grassentity class following the established pattern for collectible resources - Added grass entity spawning to world generation with 80% coverage rate
- Updated player controller to support placing grass from inventory
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| server/src/main/java/com/preponderous/roam/model/entity/Grass.java | New entity class for grass with quantity tracking, non-solid property, and persistence support |
| server/src/main/java/com/preponderous/roam/service/EntityManager.java | Added grass spawning logic with 80% spawn rate (320 entities per room) to match original implementation |
| server/src/main/java/com/preponderous/roam/controller/PlayerController.java | Updated entity creation to return Grass instance instead of null when placing grass from inventory |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Grass was implemented as a tile biome rather than an interactive entity, preventing players from gathering and placing it like in the original prototype.
Changes
Grassentity class following Wood/Stone pattern (non-solid, has quantity, usesgrass.pngtexture)EntityManagerwith 80% spawn rate to match original implementation coveragePlayerController.createEntityFromItemName()to returnnew Grass()instead ofnullClient already had complete
Grassentity support with texture mapping. Players can now gather, carry, and place grass as expected.✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.