forked from cpw/ironchest
-
Notifications
You must be signed in to change notification settings - Fork 87
/
IronChestCatSitOnBlockGoal.java
33 lines (27 loc) · 1.1 KB
/
IronChestCatSitOnBlockGoal.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.progwml6.ironchest.common.ai;
import com.progwml6.ironchest.common.block.regular.AbstractIronChestBlock;
import com.progwml6.ironchest.common.block.regular.entity.AbstractIronChestBlockEntity;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.entity.ai.goal.CatSitOnBlockGoal;
import net.minecraft.world.entity.animal.Cat;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
public class IronChestCatSitOnBlockGoal extends CatSitOnBlockGoal {
public IronChestCatSitOnBlockGoal(Cat cat, double p_i50330_2_) {
super(cat, p_i50330_2_);
}
@Override
protected boolean isValidTarget(LevelReader worldIn, BlockPos pos) {
if (!worldIn.isEmptyBlock(pos.above())) {
return false;
} else {
BlockState blockstate = worldIn.getBlockState(pos);
Block block = blockstate.getBlock();
if (block instanceof AbstractIronChestBlock) {
return AbstractIronChestBlockEntity.getOpenCount(worldIn, pos) < 1;
}
return super.isValidTarget(worldIn, pos);
}
}
}