org.bukkit.util.Vector.isInAABB()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(4.2k)|赞(0)|评价(0)|浏览(78)

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

Vector.isInAABB介绍

[英]Returns whether this vector is in an axis-aligned bounding box.

The minimum and maximum vectors given must be truly the minimum and maximum X, Y and Z components.
[中]返回此向量是否位于轴对齐的边界框中。
给定的最小和最大向量必须是真正的最小和最大X、Y和Z分量。

代码示例

代码示例来源:origin: elBukkit/MagicPlugin

/**
 * Check to see if this BB contains a point
 *
 * @param p
 *            The point to check for
 * @return true if this BB contains p
 */
@Override
public boolean contains(Vector p)
{
  return p.isInAABB(min, max);
}

代码示例来源:origin: elBukkit/MagicPlugin

/**
 * Check to see if this BB contains a point
 *
 * @param p
 *            The point to check for
 * @param threshold a threshold range, for a fuzzy check
 * @return true if this BB contains p
 */
@Override
public boolean contains(Vector p, int threshold)
{
  if (threshold == 0) return contains(p);
  Vector adjustedMin = UNIT_VECTOR.clone().multiply(-threshold).add(min);
  Vector adjustedMax = UNIT_VECTOR.clone().multiply(threshold).add(max);
  return p.isInAABB(adjustedMin, adjustedMax);
}

代码示例来源:origin: eccentricdevotion/TARDIS

@EventHandler(ignoreCancelled = true)
public void onCompanionBuild(BlockPlaceEvent event) {
  UUID uuid = event.getPlayer().getUniqueId();
  ResultSetAntiBuild rs = new ResultSetAntiBuild(plugin, uuid);
  if (!rs.resultSet() || !plugin.getTrackerKeeper().getAntiBuild().containsKey(rs.getTardis_id())) {
    return;
  }
  Vector v = event.getBlock().getLocation().toVector();
  TARDISAntiBuild tab = plugin.getTrackerKeeper().getAntiBuild().get(rs.getTardis_id());
  if (v.isInAABB(tab.getMin(), tab.getMax())) {
    event.setCancelled(true);
    TARDISMessage.send(event.getPlayer(), "ANTIBUILD_TIMELORD", tab.getTimelord());
  }
}

代码示例来源:origin: eccentricdevotion/TARDIS

@EventHandler(ignoreCancelled = true)
public void onCompanionBreak(BlockBreakEvent event) {
  UUID uuid = event.getPlayer().getUniqueId();
  ResultSetAntiBuild rs = new ResultSetAntiBuild(plugin, uuid);
  if (!rs.resultSet() || !plugin.getTrackerKeeper().getAntiBuild().containsKey(rs.getTardis_id())) {
    return;
  }
  Vector v = event.getBlock().getLocation().toVector();
  TARDISAntiBuild tab = plugin.getTrackerKeeper().getAntiBuild().get(rs.getTardis_id());
  if (v.isInAABB(tab.getMin(), tab.getMax())) {
    event.setCancelled(true);
    TARDISMessage.send(event.getPlayer(), "ANTIBUILD_TIMELORD", tab.getTimelord());
  }
}

代码示例来源:origin: eccentricdevotion/TARDIS

@EventHandler(ignoreCancelled = true)
public void onCompanionEntityClick(PlayerInteractEntityEvent event) {
  UUID uuid = event.getPlayer().getUniqueId();
  ResultSetAntiBuild rs = new ResultSetAntiBuild(plugin, uuid);
  if (!rs.resultSet() || !plugin.getTrackerKeeper().getAntiBuild().containsKey(rs.getTardis_id())) {
    return;
  }
  Vector v = event.getRightClicked().getLocation().toVector();
  TARDISAntiBuild tab = plugin.getTrackerKeeper().getAntiBuild().get(rs.getTardis_id());
  if (v.isInAABB(tab.getMin(), tab.getMax())) {
    event.setCancelled(true);
    TARDISMessage.send(event.getPlayer(), "ANTIBUILD_TIMELORD", tab.getTimelord());
  }
}

代码示例来源:origin: eccentricdevotion/TARDIS

@EventHandler(ignoreCancelled = true)
public void onCompanionDamage(EntityDamageByEntityEvent event) {
  if (event.getDamager() instanceof Player) {
    Player p = (Player) event.getDamager();
    ResultSetAntiBuild rs = new ResultSetAntiBuild(plugin, p.getUniqueId());
    if (!rs.resultSet() || !plugin.getTrackerKeeper().getAntiBuild().containsKey(rs.getTardis_id())) {
      return;
    }
    Vector v = event.getEntity().getLocation().toVector();
    TARDISAntiBuild tab = plugin.getTrackerKeeper().getAntiBuild().get(rs.getTardis_id());
    if (v.isInAABB(tab.getMin(), tab.getMax())) {
      event.setCancelled(true);
      TARDISMessage.send(p, "ANTIBUILD_TIMELORD", tab.getTimelord());
    }
  }
}

代码示例来源:origin: eccentricdevotion/TARDIS

@EventHandler(ignoreCancelled = true)
  public void onCompanionPaint(HangingBreakByEntityEvent event) {
    if (event.getRemover() instanceof Player) {
      Player p = (Player) event.getRemover();
      ResultSetAntiBuild rs = new ResultSetAntiBuild(plugin, p.getUniqueId());
      if (!rs.resultSet() || !plugin.getTrackerKeeper().getAntiBuild().containsKey(rs.getTardis_id())) {
        return;
      }
      Vector v = event.getEntity().getLocation().toVector();
      TARDISAntiBuild tab = plugin.getTrackerKeeper().getAntiBuild().get(rs.getTardis_id());
      if (v.isInAABB(tab.getMin(), tab.getMax())) {
        event.setCancelled(true);
        TARDISMessage.send(p, "ANTIBUILD_TIMELORD", tab.getTimelord());
      }
    }
  }
}

相关文章