minecraft-src/net/minecraft/client/renderer/block/model/multipart/AndCondition.java
2025-07-04 02:00:41 +03:00

25 lines
918 B
Java

package net.minecraft.client.renderer.block.model.multipart;
import com.google.common.collect.Streams;
import java.util.function.Predicate;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.Util;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
@Environment(EnvType.CLIENT)
public class AndCondition implements Condition {
public static final String TOKEN = "AND";
private final Iterable<? extends Condition> conditions;
public AndCondition(Iterable<? extends Condition> conditions) {
this.conditions = conditions;
}
@Override
public Predicate<BlockState> getPredicate(StateDefinition<Block, BlockState> stateDefinition) {
return Util.allOf(Streams.stream(this.conditions).map(condition -> condition.getPredicate(stateDefinition)).toList());
}
}