Ghasts Spawn only at low light levels. Ghast Farms broken.
Between 1.14 and 1.16, Ghasts were changed internally from being a "Mob" to being a "Monster". By default, monsters only spawn when the light level is low. (This is hardcoded in the game and cannot be changed by json-based spawning rules).
Expected Behavior: Ghasts spawn at all light levels.
Actual Behavior: Ghasts only spawn if the light level is below 8.
Consequence: Portal-based ghast farms no longer work because portals emit light.
Demo world: Press a button to switch from a netherwart block floor to a shroomlight floor.
How to fix: Add a Ghast::isDarkEnoughToSpawn() function that always returns true. Example code below. This wasn't needed before when Ghasts were Mobs, but now is needed because they are Monsters.
virtual bool Ghast::isDarkEnoughToSpawn() const override { return true; }
Linked Issues
Created Issue:
Ghasts Spawn only at low light levels. Ghast Farms broken.
Between 1.14 and 1.16, Ghasts were changed internally from being a "Mob" to being a "Monster". By default, monsters only spawn when the light level is low. (This is hardcoded in the game and cannot be changed by json-based spawning rules).
Expected Behavior: Ghasts spawn at all light levels.
Actual Behavior: Ghasts only spawn if the light level is below 8.
Consequence: Portal-based ghast farms no longer work because portals emit light.
Demo world: Press a button to switch from a netherwart block floor to a shroomlight floor.
How to fix: Add a Ghast::isDarkEnoughToSpawn() function that always returns true. Example code below. This wasn't needed before when Ghasts were Mobs, but now is needed because they are Monsters.
virtual bool Ghast::isDarkEnoughToSpawn() const override {
return true;
{{ }}}
Between 1.14 and 1.16, Ghasts were changed internally from being a "Mob" to being a "Monster". By default, monsters only spawn when the light level is low. (This is hardcoded in the game and cannot be changed by json-based spawning rules).
Expected Behavior: Ghasts spawn at all light levels.
Actual Behavior: Ghasts only spawn if the light level is below 8.
Consequence: Portal-based ghast farms no longer work because portals emit light.
Demo world: Press a button to switch from a netherwart block floor to a shroomlight floor.
How to fix: Add a Ghast::isDarkEnoughToSpawn() function that always returns true. Example code below. This wasn't needed before when Ghasts were Mobs, but now is needed because they are Monsters.
virtual bool Ghast::isDarkEnoughToSpawn() const override {
return true;
{{}}}Between 1.14 and 1.16, Ghasts were changed internally from being a "Mob" to being a "Monster". By default, monsters only spawn when the light level is low. (This is hardcoded in the game and cannot be changed by json-based spawning rules).
Expected Behavior: Ghasts spawn at all light levels.
Actual Behavior: Ghasts only spawn if the light level is below 8.
Consequence: Portal-based ghast farms no longer work because portals emit light.
Demo world: Press a button to switch from a netherwart block floor to a shroomlight floor.
How to fix: Add a Ghast::isDarkEnoughToSpawn() function that always returns true. Example code below. This wasn't needed before when Ghasts were Mobs, but now is needed because they are Monsters.
virtual bool Ghast::isDarkEnoughToSpawn() const override {
return true;
{{ } }}
Between 1.14 and 1.16, Ghasts were changed internally from being a "Mob" to being a "Monster". By default, monsters only spawn when the light level is low. (This is hardcoded in the game and cannot be changed by json-based spawning rules).
Expected Behavior: Ghasts spawn at all light levels.
Actual Behavior: Ghasts only spawn if the light level is below 8.
Consequence: Portal-based ghast farms no longer work because portals emit light.
Demo world: Press a button to switch from a netherwart block floor to a shroomlight floor.
How to fix: Add a Ghast::isDarkEnoughToSpawn() function that always returns true. Example code below. This wasn't needed before when Ghasts were Mobs, but now is needed because they are Monsters.
virtual bool Ghast::isDarkEnoughToSpawn() const override {
return true;
{{ } }}Between 1.14 and 1.16, Ghasts were changed internally from being a "Mob" to being a "Monster". By default, monsters only spawn when the light level is low. (This is hardcoded in the game and cannot be changed by json-based spawning rules).
Expected Behavior: Ghasts spawn at all light levels.
Actual Behavior: Ghasts only spawn if the light level is below 8.
Consequence: Portal-based ghast farms no longer work because portals emit light.
Demo world: Press a button to switch from a netherwart block floor to a shroomlight floor.
How to fix: Add a Ghast::isDarkEnoughToSpawn() function that always returns true. Example code below. This wasn't needed before when Ghasts were Mobs, but now is needed because they are Monsters.
virtual bool Ghast::isDarkEnoughToSpawn() const override { return true; }
is duplicated by
is duplicated by
Thank you for your report!
We're actually already tracking this issue at MCPE-85747, so I will resolve and link this ticket as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Issue Guidelines – 💬 Community Support – 📧 Customer Support – ✍️ Feedback and Suggestions – 📖 Game Wiki
Thank you for your report!
We're actually already tracking this issue at MCPE-85747, so I will resolve and link this ticket as a duplicate.
If you would like to add a vote and any extra information to the main ticket it would be appreciated.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Issue Guidelines – 💬 Community Support – 📧 Customer Support – ✍️ Feedback and Suggestions – 📖 Game Wiki
This issue was fixed in 1.16.100 (MCPE-85747).
This issue may stem from the fix to
MCPE-53383. It does not just break certain farms. It also prevents ghasts from spawning over lava oceans.Strangely, the following is in the ghast.json for both 1.14 and 1.16:
{ "family": [ "ghast", "monster", "mob" ] }"minecraft:type_family":
,
The Mob -> Monster change that I'm referring to happened at the C++ level. In 1.14, the Ghast class was derived from the Mob class. In 1.16, it is derived from the Monster class.
I agree that this bug is likely related to fixing Ghasts not despawning on Peaceful.
I just tested and 1.16.20 is affected by this bug.