Advanced-Rocketry / AdvancedRocketry

Space mod for minecraft
http://arwiki.dmodoomsirius.me/
MIT License
215 stars 273 forks source link

[BUG] 1.12.2 Crash if Microwave Receiver is used on Space Stations #2333

Open Water-Moon opened 1 year ago

Water-Moon commented 1 year ago

Version of Advanced Rocketry

2.0.0-13

Have you verified this is an issue in the latest unstable build

Version of LibVulpes

0.4.2-25

Version of Minecraft

1.12.2

Does this occur without other mods installed

Crash report or log or visualVM (if applicable)

Crash Report ``` Description: Ticking block entity java.lang.NullPointerException: Ticking block entity at zmaster587.advancedRocketry.util.AstronomicalBodyHelper.getStellarBrightness(AstronomicalBodyHelper.java:114) at zmaster587.advancedRocketry.dimension.DimensionProperties.getPeakInsolationMultiplierWithoutAtmosphere(DimensionProperties.java:848) at zmaster587.advancedRocketry.stations.SpaceStationObject.getInsolationMultiplier(SpaceStationObject.java:131) at zmaster587.advancedRocketry.tile.multiblock.energy.TileMicrowaveReciever.func_73660_a(TileMicrowaveReciever.java:141) at net.minecraft.world.World.func_72939_s(World.java:1838) at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767) at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) at java.lang.Thread.run(Thread.java:745) ```

Description of the problem

The game will crash if a microwave receiver is placed in space

In DimensionManager#getDimensionProperties(), the code will return a new DimensionProperties object if the requested dim ID is a star ID given by a space station. However, the constructor of DimensionProperties does not specify the star field of it. Then, when the microwave receiver attempt to use that property object to get star brightness data, it will crash due to the star field being null.