【发布时间】:2020-11-30 05:43:34
【问题描述】:
我正在尝试遍历列表以满足布尔条件,然后最终将其附加到数组中。我不确定是否有另一种方法可以做到这一点,但我完全陷入困境,无法真正找到关于我的问题的任何信息。这是代码的sn-p:
所以我想要做的是说如果isCryDamage 是true 对于任何entities 我想将BlockPos 附加到filteredPositions。我会知道如何在 py 中做到这一点,但我真的不知道在 Java 中这个谓词业务发生了什么。目前它的说法 CrystalUtils.GetPlayerPosFloored(entity)) 需要是谓词类型。
List<EntityPlayer> entities = mc.world.playerEntities;
List<BlockPos> sufficientBlocks = CrystalUtils.findCrystalBlocks((int) range.getValDouble());
List<BlockPos> filteredPositions = new ArrayList<>();
for (EntityPlayer entity : entities) {
sufficientBlocks.stream().filter(isCryDamageSufficient(CrystalUtils.GetPlayerPosFloored(entity))).forEach(filteredPositions::add);
}
public static boolean isCryDamageSufficient(final BlockPos enemy){
return calculateDamage(enemy.getX(), enemy.getY(), enemy.getZ(), mc.player) > minDam.getValDouble();
}
【问题讨论】: