minecraft-src/net/minecraft/world/level/block/SuspiciousEffectHolder.java
2025-07-04 01:41:11 +03:00

31 lines
1.1 KiB
Java

package net.minecraft.world.level.block;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.component.SuspiciousStewEffects;
import net.minecraft.world.level.ItemLike;
import org.jetbrains.annotations.Nullable;
public interface SuspiciousEffectHolder {
SuspiciousStewEffects getSuspiciousEffects();
static List<SuspiciousEffectHolder> getAllEffectHolders() {
return (List<SuspiciousEffectHolder>)BuiltInRegistries.ITEM
.stream()
.map(SuspiciousEffectHolder::tryGet)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Nullable
static SuspiciousEffectHolder tryGet(ItemLike item) {
if (item.asItem() instanceof BlockItem blockItem && blockItem.getBlock() instanceof SuspiciousEffectHolder suspiciousEffectHolder) {
return suspiciousEffectHolder;
} else {
return item.asItem() instanceof SuspiciousEffectHolder suspiciousEffectHolder2 ? suspiciousEffectHolder2 : null;
}
}
}