// Check block state allow spawning (excludes bedrock and barriers automatically)
if (!blockBelowState.isValidSpawn(world, down, TESTING_ENTITY_TYPE.get()))
return LightOverlay.CROSS_NONE;
- if (!LightOverlay.mushroom && biome.is(Biomes.MUSHROOM_FIELDS))
+ if (!LightOverlay.mushroom && isMushroom(biome))
return LightOverlay.CROSS_NONE;
int blockLightLevel = block.getLightValue(pos);
int skyLightLevel = sky.getLightValue(pos);
LightOverlay.lowerCross : LightOverlay.CROSS_RED;
}
+ @ExpectPlatform
+ private static boolean isMushroom(Holder<Biome> biome) {
+ throw new AssertionError();
+ }
+
public static int getCrossLevel(BlockPos pos, BlockPos down, BlockGetter world, LayerLightEventListener view, CollisionContext collisionContext) {
BlockState blockBelowState = world.getBlockState(down);
BlockState blockUpperState = world.getBlockState(pos);
package me.shedaniel.lightoverlay.common.fabric;
import com.google.common.collect.ImmutableSet;
+import net.minecraft.core.Holder;
+import net.minecraft.core.Registry;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.tags.TagKey;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityDimensions;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MobCategory;
+import net.minecraft.world.level.biome.Biome;
+import net.minecraft.world.level.biome.Biomes;
public class LightOverlayTickerImpl {
+ private static final TagKey<Biome> MUSHROOM = TagKey.create(Registry.BIOME_REGISTRY, new ResourceLocation("c", "mushroom"));
+
public static void populateEntityType(EntityType<Entity> type) {
type.factory = (entityType, level) -> null;
type.category = MobCategory.MONSTER;
type.immuneTo = ImmutableSet.of();
type.dimensions = EntityDimensions.fixed(0.0F, 0.0F);
}
+
+ public static boolean isMushroom(Holder<Biome> biome) {
+ return biome.is(Biomes.MUSHROOM_FIELDS) || biome.is(MUSHROOM);
+ }
}
--- /dev/null
+package me.shedaniel.lightoverlay.common.forge;
+
+import net.minecraft.core.Holder;
+import net.minecraft.core.Registry;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.tags.TagKey;
+import net.minecraft.world.level.biome.Biome;
+import net.minecraft.world.level.biome.Biomes;
+import net.minecraftforge.common.data.ForgeBiomeTagsProvider;
+
+public class LightOverlayTickerImpl {
+ private static final TagKey<Biome> MUSHROOM = TagKey.create(Registry.BIOME_REGISTRY, new ResourceLocation("forge", "is_mushroom"));
+
+ public static boolean isMushroom(Holder<Biome> biome) {
+ return biome.is(Biomes.MUSHROOM_FIELDS) || biome.is(MUSHROOM);
+ }
+}
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
-mod_version=6.1.0
+mod_version=7.0.0
minecraft_version=1.19
architectury_version=5.6.22