MapScreen.java Broken
- Dominant language
- Java
- Stars
- 52
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
### Issue description
I can never get my MapScreens to create due to issues in the console, and under some investigation, it seems out of my control.
### To reproduce
```
session.updateScreen(); //Update the screen.
session.screen.spawnFrames(player); //Spawn the frames.
session.screen.sendMaps(true, player); //Send the maps to the player.
```
This is my code, the `session.updateScreen()` handles the screen update and `spawnFrames(player)` SHOULD spawn the frames- but it doesn't, instead it throws a null pointer saying `this.frames` is not set. I looked into your Map Screen class and it attempts to get `this.frames[x][y]` but the `this.frames` variable was never setup within the class whatsoever, so therefore it just keeps throwing errors upon attempting to create it.
### Expected behaviour
For map screens to actually show and not throw a null pointer.
### Screenshots / videos
Look into MapScreen.java to see what I mean, it's pretty self-explanatory, but here's the log as well I keep getting.
`java.lang.NullPointerException: Cannot load from object array because "this.frames" is null
at com.legacymc.legacyrp.libraries.maps.api.MapScreen.spawnFrames(MapScreen.java:191) ~[LegacyRP-0.0.1.jar:?]`
### Additional information
_No response_
Contributor guide
Research direction
Start with MapScreen.java, especially spawnFrames at line 191, and reproduce the failure using the session.updateScreen(), spawnFrames(player), and sendMaps(true, player) sequence. Trace where frames should be initialized before the this.frames[x][y] access. Done means map screens display without the reported NullPointerException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100