use of net.minecraft.world.level.block.state.BlockState in project MyPet by xXKeyleXx.
the class PlatformHelper method getBlockBBsInBB.
public List getBlockBBsInBB(net.minecraft.world.level.Level world, AABB axisalignedbb) {
UnsafeList unsafeList = new UnsafeList();
int minX = Mth.floor(axisalignedbb.minX);
int maxX = (int) Math.ceil(axisalignedbb.maxX);
int minY = Mth.floor(axisalignedbb.minY);
int maxY = (int) Math.ceil(axisalignedbb.maxY);
int minZ = Mth.floor(axisalignedbb.minZ);
int maxZ = (int) Math.ceil(axisalignedbb.maxZ);
VoxelShape vec3d;
boolean isEmpty;
for (int x = minX; x <= maxX; x++) {
for (int z = minZ; z <= maxZ; z++) {
if (((ServerChunkCache) world.getChunkSource()).hasChunk(x >> 4, z >> 4)) {
for (int y = minY - 1; y <= maxY; y++) {
BlockPos bp = new BlockPos(x, y, z);
BlockState blockData = world.getBlockState(bp);
if (blockData != null && blockData.getMaterial().isSolid()) {
vec3d = blockData.getCollisionShape(world, bp);
isEmpty = vec3d.isEmpty();
if (!isEmpty) {
for (AABB bb : vec3d.toAabbs()) {
if (bb.move(bp).intersects(axisalignedbb)) {
unsafeList.add(bb);
}
}
}
}
}
}
}
}
return unsafeList;
}
use of net.minecraft.world.level.block.state.BlockState in project MyPet by xXKeyleXx.
the class EntityMyDonkey method playStepSound.
@Override
public void playStepSound(BlockPos blockposition, BlockState blockdata) {
if (!blockdata.getMaterial().isLiquid()) {
BlockState blockdataUp = this.level.getBlockState(blockposition.up());
SoundType soundeffecttype = blockdata.getSoundType();
if (blockdataUp.getBlock() == Blocks.SNOW) {
soundeffecttype = blockdata.getSoundType();
}
if (this.isVehicle()) {
++this.soundCounter;
if (this.soundCounter > 5 && this.soundCounter % 3 == 0) {
this.playSound(SoundEvents.HORSE_GALLOP, soundeffecttype.getVolume() * 0.16F, soundeffecttype.getPitch());
} else if (this.soundCounter <= 5) {
this.playSound(SoundEvents.HORSE_STEP_WOOD, soundeffecttype.getVolume() * 0.16F, soundeffecttype.getPitch());
}
} else if (!blockdata.getMaterial().isLiquid()) {
this.soundCounter += 1;
playSound(SoundEvents.HORSE_STEP_WOOD, soundeffecttype.getVolume() * 0.16F, soundeffecttype.getPitch());
} else {
playSound(SoundEvents.HORSE_STEP, soundeffecttype.getVolume() * 0.16F, soundeffecttype.getPitch());
}
}
}
use of net.minecraft.world.level.block.state.BlockState in project MyPet by xXKeyleXx.
the class EntityMyEnderman method updateVisuals.
@Override
public void updateVisuals() {
Optional<BlockState> block;
if (getMyPet().getBlock() != null) {
BlockState data = CraftMagicNumbers.getBlock(getMyPet().getBlock().getData());
block = Optional.ofNullable(data);
} else {
block = Optional.empty();
}
getEntityData().set(BLOCK_WATCHER, block);
getEntityData().set(SCREAMING_WATCHER, getMyPet().isScreaming());
}
use of net.minecraft.world.level.block.state.BlockState in project MyPet by xXKeyleXx.
the class EntityMyEnderman method updateVisuals.
@Override
public void updateVisuals() {
Optional<BlockState> block;
if (getMyPet().getBlock() != null) {
BlockState data = CraftMagicNumbers.getBlock(getMyPet().getBlock().getData());
block = Optional.ofNullable(data);
} else {
block = Optional.empty();
}
getEntityData().set(BLOCK_WATCHER, block);
getEntityData().set(SCREAMING_WATCHER, getMyPet().isScreaming());
}
use of net.minecraft.world.level.block.state.BlockState in project MyPet by xXKeyleXx.
the class EntityMyHorse method playStepSound.
@Override
public void playStepSound(BlockPos blockposition, BlockState blockdata) {
if (!blockdata.getMaterial().isLiquid()) {
BlockState blockdataUp = this.level.getBlockState(blockposition.above());
SoundType soundeffecttype = blockdata.getSoundType();
if (blockdataUp.getBlock() == Blocks.SNOW) {
soundeffecttype = blockdata.getSoundType();
}
if (this.isVehicle()) {
++this.soundCounter;
if (this.soundCounter > 5 && this.soundCounter % 3 == 0) {
this.playSound(SoundEvents.HORSE_GALLOP, soundeffecttype.getVolume() * 0.15F, soundeffecttype.getPitch());
} else if (this.soundCounter <= 5) {
this.playSound(SoundEvents.HORSE_STEP_WOOD, soundeffecttype.getVolume() * 0.15F, soundeffecttype.getPitch());
}
} else if (!blockdata.getMaterial().isLiquid()) {
this.soundCounter += 1;
playSound(SoundEvents.HORSE_STEP_WOOD, soundeffecttype.getVolume() * 0.15F, soundeffecttype.getPitch());
} else {
playSound(SoundEvents.HORSE_STEP, soundeffecttype.getVolume() * 0.15F, soundeffecttype.getPitch());
}
}
}
Aggregations