minecraft-src/net/minecraft/world/entity/variant/SpawnPrioritySelectors.java
2025-07-04 03:45:38 +03:00

19 lines
858 B
Java

package net.minecraft.world.entity.variant;
import com.mojang.serialization.Codec;
import java.util.List;
public record SpawnPrioritySelectors(List<PriorityProvider.Selector<SpawnContext, SpawnCondition>> selectors) {
public static final SpawnPrioritySelectors EMPTY = new SpawnPrioritySelectors(List.of());
public static final Codec<SpawnPrioritySelectors> CODEC = PriorityProvider.Selector.<SpawnContext, SpawnCondition>codec(SpawnCondition.CODEC)
.listOf()
.xmap(SpawnPrioritySelectors::new, SpawnPrioritySelectors::selectors);
public static SpawnPrioritySelectors single(SpawnCondition condition, int priority) {
return new SpawnPrioritySelectors(PriorityProvider.single(condition, priority));
}
public static SpawnPrioritySelectors fallback(int priority) {
return new SpawnPrioritySelectors(PriorityProvider.alwaysTrue(priority));
}
}