net.minecraft.util.EnumFacing.getFacingFromVector()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(64)

本文整理了Java中net.minecraft.util.EnumFacing.getFacingFromVector()方法的一些代码示例,展示了EnumFacing.getFacingFromVector()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。EnumFacing.getFacingFromVector()方法的具体详情如下:
包路径:net.minecraft.util.EnumFacing
类名称:EnumFacing
方法名:getFacingFromVector

EnumFacing.getFacingFromVector介绍

暂无

代码示例

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

/**
 * Re-calculates the Orientation of this quad,
 * optionally the normal vector.
 *
 * @param setNormal If the normal vector should be updated.
 */
public void calculateOrientation( boolean setNormal )
{
  this.v1.set( this.vertices[3].vec );
  this.t.set( this.vertices[1].vec );
  this.v1.sub( this.t );
  this.v2.set( this.vertices[2].vec );
  this.t.set( this.vertices[0].vec );
  this.v2.sub( this.t );
  this.normal.cross( this.v2, this.v1 );
  this.normal.normalize();
  if( this.format.hasNormal && setNormal)
  {
    for( Vertex vertex : this.vertices )
    {
      vertex.normal[0] = this.normal.x;
      vertex.normal[1] = this.normal.y;
      vertex.normal[2] = this.normal.z;
      vertex.normal[3] = 0;
    }
  }
  this.orientation = EnumFacing.getFacingFromVector( this.normal.x, this.normal.y, this.normal.z );
}

代码示例来源:origin: ldtteam/minecolonies

/**
 * Check if a certain vector matches two directions.
 *
 * @param directionX the direction x.
 * @param directionZ the direction z.
 * @param vector     the vector.
 * @return true if so.
 */
private static boolean isInDirection(final EnumFacing directionX, final EnumFacing directionZ, final BlockPos vector)
{
  return EnumFacing.getFacingFromVector(vector.getX(), 0, 0) == directionX && EnumFacing.getFacingFromVector(0, 0, vector.getZ()) == directionZ;
}

代码示例来源:origin: thraaawn/CompactMachines

public static EnumFacing getFacingFromEntity(BlockPos clickedBlock, EntityLivingBase entity) {
  return EnumFacing.getFacingFromVector(
      (float) (entity.posX - clickedBlock.getX()),
      0.0f,
      (float) (entity.posZ - clickedBlock.getZ())).getOpposite();
}

代码示例来源:origin: SleepyTrousers/EnderCore

public static void addBakedQuads(@Nonnull List<BakedQuad> quads, @Nonnull Collection<Vertex> vertices, @Nonnull TextureAtlasSprite tex,
  @Nullable Vector4f color) {
 Iterator<Vertex> it = vertices.iterator();
 while (it.hasNext()) {
  EnumFacing face = EnumFacing.DOWN;
  UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(Attributes.DEFAULT_BAKED_FORMAT);
  for (int i = 0; i < 4; i++) {
   Vertex v = it.next();
   if (i == 0) {
    face = EnumFacing.getFacingFromVector(v.nx(), v.ny(), v.nz());
    builder.setQuadOrientation(face);
    builder.setTexture(tex);
   }
   v.color = color;
   putVertexData(builder, v, face.getDirectionVec(), tex);
  }
  quads.add(builder.build());
 }
}

代码示例来源:origin: McJtyMods/ModTutorials

public static EnumFacing getFacingFromEntity(BlockPos clickedBlock, EntityLivingBase entity) {
  return EnumFacing.getFacingFromVector((float) (entity.posX - clickedBlock.getX()), (float) (entity.posY - clickedBlock.getY()), (float) (entity.posZ - clickedBlock.getZ()));
}

代码示例来源:origin: McJtyMods/ModTutorials

public static EnumFacing getFacingFromEntity(BlockPos clickedBlock, EntityLivingBase entity) {
  return EnumFacing.getFacingFromVector((float) (entity.posX - clickedBlock.getX()), (float) (entity.posY - clickedBlock.getY()), (float) (entity.posZ - clickedBlock.getZ()));
}

代码示例来源:origin: ldtteam/minecolonies

/**
 * Checks if the destination has been reached.
 * Meaning that the avoid distance has been reached.
 *
 * @param n Node to test.
 * @return true if so.
 */
@Override
protected boolean isAtDestination(@NotNull final Node n)
{
  final BlockPos vector = n.pos.subtract(avoid);
  final double nodeResult = getNodeResultScore(n);
  final int avoidSq = (avoidDistance * avoidDistance);
  return nodeResult >= avoidSq && (EnumFacing.getFacingFromVector(vector.getX(), 0, vector.getZ()).equals(direction) || nodeResult > avoidSq * avoidDistance);
}

代码示例来源:origin: iLexiconn/LLibrary

private static EnumFacing transform(EnumFacing facing, Vec3i vec3i, Vec3i vec3i1, Vec3i vec3i2) {
  BlockPos vec = transform(facing.getDirectionVec(), vec3i, vec3i1, vec3i2);
  return EnumFacing.getFacingFromVector(vec.getX(), vec.getY(), vec.getZ());
}

代码示例来源:origin: Vazkii/Psi

@Override
public Object execute(SpellContext context) throws SpellRuntimeException {
  Entity e = this.getParamValue(context, target);
  if(e == null)
    throw new SpellRuntimeException(SpellRuntimeException.NULL_TARGET);
  Vec3d look = e.getLook(1F);
  EnumFacing facing = EnumFacing.getFacingFromVector((float) look.x, (float) look.y, (float) look.z);
  return new Vector3(facing.getFrontOffsetX(), facing.getFrontOffsetY(), facing.getFrontOffsetZ());
}

代码示例来源:origin: Lunatrius/Schematica

final EnumFacing facing = EnumFacing.getFacingFromVector(viewVector.x, viewVector.y, viewVector.z).getOpposite();
visibleSides.remove(facing);

代码示例来源:origin: ldtteam/minecolonies

final EnumFacing facingX = EnumFacing.getFacingFromVector(relativePos.getX(), 0, 0);
final EnumFacing facingZ = EnumFacing.getFacingFromVector(0, 0, relativePos.getZ());
desc = relativePos.getX() + " " + facingX + " " + relativePos.getZ() + " " + facingZ;

代码示例来源:origin: WayofTime/BloodMagic

public static boolean canEntitySeeBlock(World world, Entity entity, BlockPos pos) {
  Vec3d relativePosition = new Vec3d(entity.posX - pos.getX() - 0.5, entity.posY + (double) entity.getEyeHeight() - pos.getY() - 0.5, entity.posZ - pos.getZ() - 0.5);
  EnumFacing dir = EnumFacing.getFacingFromVector((float) relativePosition.x, (float) relativePosition.y, (float) relativePosition.z);
  RayTraceResult result = world.rayTraceBlocks(new Vec3d(entity.posX, entity.posY + (double) entity.getEyeHeight(), entity.posZ), new Vec3d(pos.getX() + 0.5 + dir.getFrontOffsetX() * 0.4, pos.getY() + 0.5 + dir.getFrontOffsetY() * 0.4, pos.getZ() + 0.5 + dir.getFrontOffsetZ() * 0.4), false, true, true);
  return result == null || pos.equals(result.getBlockPos());
}

代码示例来源:origin: Vazkii/Quark

@SubscribeEvent
@SideOnly(Side.CLIENT)
public void onKeyInput(KeyInputEvent event) {
  Minecraft mc = Minecraft.getMinecraft();
  boolean down = ModKeybinds.lockKey.isKeyDown();
  if(mc.inGameHasFocus && down) {
    LockProfile newProfile;
    RayTraceResult result = mc.objectMouseOver;
    
    if(result != null && result.typeOfHit == Type.BLOCK) {
      int half = (int) ((result.hitVec.y - (int) result.hitVec.y) * 2);
      if(result.sideHit.getAxis() == Axis.Y)
        half = -1;
      
      newProfile = new LockProfile(result.sideHit.getOpposite(), half);
    } else {
      Vec3d look = mc.player.getLookVec();
      newProfile = new LockProfile(EnumFacing.getFacingFromVector((float) look.x, (float) look.y, (float) look.z), -1);
    }
    
    if(clientProfile != null && clientProfile.equals(newProfile))
      clientProfile = null;
    else clientProfile = newProfile;
    NetworkHandler.INSTANCE.sendToServer(new MessageSetLockProfile(clientProfile));
  }
}

代码示例来源:origin: TeamWizardry/Wizardry

RayTraceResult.Type.BLOCK,
lookVec,
EnumFacing.getFacingFromVector((float) lookVec.x, (float) lookVec.y, (float) lookVec.z),
new BlockPos(lookVec));

代码示例来源:origin: TeamWizardry/Wizardry

(adjPos.z + subPos.z) / 2.0);
Vec3d sub = subPos.subtract(adjPos);
EnumFacing adjSubFacing = EnumFacing.getFacingFromVector((float) sub.x, (float) sub.y, (float) sub.z);
Vec3d cross = new Vec3d(adjSubFacing.getDirectionVec()).crossProduct(new Vec3d(facing.getDirectionVec())).normalize().scale(0.5);

代码示例来源:origin: iLexiconn/LLibrary

normal.normalize();
UnpackedBakedQuad.Builder quadBuilder = new UnpackedBakedQuad.Builder(format);
EnumFacing quadFacing = EnumFacing.getFacingFromVector(normal.x, normal.y, normal.z);
quadBuilder.setQuadOrientation(quadFacing);
quadBuilder.setTexture(sprite);

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

normal.normalize();
UnpackedBakedQuad.Builder quadBuilder = new UnpackedBakedQuad.Builder(format);
EnumFacing quadFacing = EnumFacing.getFacingFromVector(normal.x, normal.y, normal.z);
quadBuilder.setQuadOrientation(quadFacing);
quadBuilder.setTexture(sprite);

代码示例来源:origin: TeamWizardry/Wizardry

spellData.processBlock(getPosition(), EnumFacing.getFacingFromVector((float) look.x, (float) look.y, (float) look.z), getPositionVector());
goBoom(spellRing, spellData);
return;

代码示例来源:origin: ldtteam/minecolonies

final EnumFacing facing = EnumFacing.getFacingFromVector(vector.getX(), vector.getY(), vector.getZ()).getOpposite();

相关文章