本文整理了Java中net.minecraft.util.math.AxisAlignedBB.expand()
方法的一些代码示例,展示了AxisAlignedBB.expand()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AxisAlignedBB.expand()
方法的具体详情如下:
包路径:net.minecraft.util.math.AxisAlignedBB
类名称:AxisAlignedBB
方法名:expand
暂无
代码示例来源:origin: blay09/CookingForBlockheads
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) {
if (shouldBlockRenderLowered(world, pos)) {
return BOUNDING_BOX.expand(0, -0.05, 0);
}
return BOUNDING_BOX;
}
代码示例来源:origin: ldtteam/minecolonies
/**
* Fill the list of the item positions to gather.
*/
public void fillItemsList()
{
searchForItems(worker.getEntityBoundingBox()
.expand(RANGE_HORIZONTAL_PICKUP, RANGE_VERTICAL_PICKUP, RANGE_HORIZONTAL_PICKUP)
.expand(-RANGE_HORIZONTAL_PICKUP, -RANGE_VERTICAL_PICKUP, -RANGE_HORIZONTAL_PICKUP));
}
代码示例来源:origin: blay09/CookingForBlockheads
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) {
if (shouldBlockRenderLowered(world, pos)) {
return BOUNDING_BOX.expand(0, -0.05, 0);
}
return BOUNDING_BOX;
}
代码示例来源:origin: blay09/CookingForBlockheads
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) {
if (shouldBlockRenderLowered(world, pos)) {
return BOUNDING_BOX.expand(0, -0.05, 0);
}
return BOUNDING_BOX;
}
代码示例来源:origin: Mine-and-blade-admin/Battlegear2
@Nonnull
@Override
@SideOnly(Side.CLIENT)
public AxisAlignedBB getRenderBoundingBox()
{
AxisAlignedBB axisAlignedBB = new AxisAlignedBB(pos, pos.add(1, 1, 1));
if (side == 1 || side == 2) {
return axisAlignedBB.expand(0, flags.size(), 0);
}
return axisAlignedBB.expand(flags.size(), 0, 0);
}
代码示例来源:origin: Vazkii/Botania
List<Entity> list = this.world.getEntitiesWithinAABBExcludingEntity(this, this.getEntityBoundingBox().expand(this.motionX, this.motionY, this.motionZ).grow(1.0D));
double d0 = 0.0D;
boolean flag = false;
代码示例来源:origin: ValkyrienWarfare/Valkyrien-Warfare-Revamped
public List<PhysicsWrapperEntity> getNearbyPhysObjects(AxisAlignedBB toCheck) {
ArrayList<PhysicsWrapperEntity> ships = new ArrayList<PhysicsWrapperEntity>();
AxisAlignedBB expandedCheck = toCheck.expand(6, 6, 6);
for (PhysicsWrapperEntity wrapper : physicsEntities) {
if (wrapper.wrapping.getCollisionBoundingBox().intersects(expandedCheck)) {
ships.add(wrapper);
}
}
return ships;
}
代码示例来源:origin: PrinceOfAmber/Cyclic
private void updateCollection() {
//expand only goes ONE direction. so expand(3...) goes 3 in + x, but not both ways. for full boc centered at this..!! we go + and -
BlockPos center = this.getTargetCenter();
AxisAlignedBB region = new AxisAlignedBB(center).expand(size, VRADIUS, size).expand(-1 * size, -1 * VRADIUS, -1 * size);//expandXyz
List<EntityItem> items = getWorld().getEntitiesWithinAABB(EntityItem.class, region);
if (items == null) {
return;
}
for (EntityItem itemOnGround : items) {
processItemOnGround(itemOnGround);
}
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
private static Optional<Tuple<Double, Entity>> getClosestCollidedEntity(Entity excludedEntity, Vec3d playerEyesPos, Vec3d lookVector, Vec3d endVector) {
Minecraft mc = Minecraft.getMinecraft();
//noinspection ConstantConditions
List<Entity> possibleHitEntities = mc.world.getEntitiesWithinAABBExcludingEntity(mc.getRenderViewEntity(),
mc.getRenderViewEntity().getEntityBoundingBox().expand(lookVector.x * MAX_RANGE, lookVector.y * MAX_RANGE, lookVector.z * MAX_RANGE)
.grow(1, 1, 1));
return possibleHitEntities.stream().filter(e -> e != excludedEntity && e.canBeCollidedWith())
.map(e -> new Tuple<>(getDistanceToCollidedEntity(e, playerEyesPos, endVector), e)).filter(t -> t.getFirst() < Double.MAX_VALUE)
.sorted(Comparator.comparing(Tuple::getFirst)).findFirst();
}
代码示例来源:origin: JurassiCraftTeam/JurassiCraft2
@Override
protected double getAttackReachSqr(EntityLivingBase attackTarget) {
if (attackTarget.getEntityBoundingBox().intersects(this.dinosaur.getEntityBoundingBox().expand(1.3, 1.3, 1.3))) {
return 1024.0;
}
double grownWidth = this.attacker.width + 1.0;
return grownWidth * grownWidth;
}
}
代码示例来源:origin: SleepyTrousers/EnderIO
@Override
public void onUserHurt(@Nonnull EntityLivingBase user, @Nonnull Entity attacker, int level) {
if (user instanceof EntityPlayer && attacker instanceof EntityLivingBase && !EnchantmentHelper.getEnchantedItem(this, user).isEmpty()) {
if (level > getMaxLevel()) {
for (Entity e : user.world.getEntitiesWithinAABBExcludingEntity(user, user.getEntityBoundingBox().expand(level * 8, level * 4, level * 8))) {
RandomTeleportUtil.teleportEntity(e.world, e, false, false, 16 * level);
}
} else if (user.getRNG().nextFloat() < (.5f + .1f * level)) {
RandomTeleportUtil.teleportEntity(attacker.world, attacker, false, attacker instanceof EntityPlayer || user.getRNG().nextFloat() < .75f, 16 * level);
}
}
}
代码示例来源:origin: PenguinSquad/Harvest-Festival
private static boolean spawnGoddess(World world, double x, double y, double z, boolean flower, boolean move) {
List<EntityNPCGoddess> npcs = world.getEntitiesWithinAABB(EntityNPCGoddess.class, new AxisAlignedBB(x - 0.5F, y - 0.5F, z - 0.5F, x + 0.5F, y + 0.5F, z + 0.5F).expand(32D, 32D, 32D));
boolean newGoddess = npcs.size() < 1;
EntityNPCGoddess goddess = !newGoddess ? npcs.get(0) : NPCHelper.getEntityForNPC(world, (NPC) HFNPCs.GODDESS);
if (flower) goddess.setFlower();
if (move || (goddess.posX == 0 && goddess.posY == 0 && goddess.posZ == 0)) goddess.setPosition(x, y + 1, z);
if (newGoddess) {
world.spawnEntity(goddess);
}
return !newGoddess;
}
代码示例来源:origin: JurassiCraftTeam/JurassiCraft2
@Override
@SideOnly(Side.CLIENT)
public AxisAlignedBB getRenderBoundingBox() {
if (this.isSkeleton && this.entity != null) {
return this.entity.getRenderBoundingBox().expand(3.0, 3.0, 3.0).offset(this.pos);
}
return super.getRenderBoundingBox();
}
代码示例来源:origin: Mine-and-blade-admin/Battlegear2
@Override
public void update() {
if (!getWorld().isRemote && canUpdate()) {
if (getWorld().rand.nextInt(100) == 0) {
List entities = getWorld().getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(pos, pos.up()).expand(3, 0, 3));
if (entities.isEmpty())
spawnUnit();
}
} else {
//getWorld().tickableTileEntities.remove(this);
}
}
代码示例来源:origin: Silentine/GrimoireOfGaia
private void beaconMonster() {
if (!world.isRemote) {
AxisAlignedBB axisalignedbb = (new AxisAlignedBB(posX, posY, posZ, posX + 1, posY + 1, posZ + 1)).grow(6).expand(0.0D, 0.0D, 0.0D);
List<EntityLivingBase> moblist = world.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb);
for (EntityLivingBase mob : moblist) {
if (mob instanceof EntityZombie || mob instanceof EntitySkeleton) {
mob.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 300, 1, true, true));
}
}
}
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
@Override
public void startExecuting() {
lastExecuted = npc.ticksExisted;
double dist = npc.getEntityAttribute(SharedMonsterAttributes.FOLLOW_RANGE).getAttributeValue();
AxisAlignedBB bb = npc.getEntityBoundingBox().expand(dist, dist / 2, dist);
List<NpcBase> potentialTargets = npc.world.getEntitiesWithinAABB(NpcBase.class, bb, selector);
for (NpcBase npcBase : potentialTargets) {
npcBase.addPotionEffect(new PotionEffect(effect));
}
}
代码示例来源:origin: TeamWizardry/Wizardry
public Iterable<EntityLivingBase> getVictims() {
return world.getEntitiesWithinAABB(EntityLivingBase.class,
new AxisAlignedBB(center).grow(radius, 0, radius).expand(0, height, 0),
(entity) -> entity != null && entity.isEntityAlive() &&
entity.canBeHitWithPotion() && !(entity instanceof EntityZachriel) &&
entity.getDistanceSq(center) < radius * radius);
}
代码示例来源:origin: joshiejack/Mariculture
/** Returns the entities around this area **/
public static <T extends Entity> List<T> getEntities(Class<? extends T> t, World world, BlockPos pos, double size, double ySize) {
return world.getEntitiesWithinAABB(t, new AxisAlignedBB(pos.getX() - 0.5F, pos.getY() - 0.5F, pos.getZ() - 0.5F, pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F).expand(size, ySize, size));
}
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
private void renderBoundingBox(BlockPos pos, BlockPos min, BlockPos max, float r, float g, float b, float expansion) {
GlStateManager.disableLighting();
GlStateManager.color(1.f, 1.f, 1.f, 1.f);
AxisAlignedBB bb = new AxisAlignedBB(min, max.add(1, 1, 1));
if (expansion != 0.f) {
bb = bb.expand(expansion, expansion, expansion);
}
bb = bb.offset(-pos.getX(), -pos.getY(), -pos.getZ());
RenderTools.drawOutlinedBoundingBox2(bb, 1.f, 1.f, 1.f, 0.0625f);
GlStateManager.enableLighting();
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
private void renderBoundingBox(BlockPos pos, BlockPos min, BlockPos max, float r, float g, float b, float expansion) {
GlStateManager.disableLighting();
GlStateManager.color(1.f, 1.f, 1.f, 1.f);
AxisAlignedBB bb = new AxisAlignedBB(min.getX(), min.getY(), min.getZ(), max.getX() + 1, max.getY() + 1, max.getZ() + 1);
if (expansion != 0.f) {
bb = bb.expand(expansion, expansion, expansion);
}
bb = bb.offset(-pos.getX(), -pos.getY(), -pos.getZ());
RenderTools.drawOutlinedBoundingBox2(bb, 1.f, 1.f, 1.f, 0.0625f);
GlStateManager.enableLighting();
}
内容来源于网络,如有侵权,请联系作者删除!