当前位置: 首页 > 知识库问答 >
问题:

(Bukkit)(Java)有没有办法在一个范围内产生随机的暴民,例如距离玩家32个街区,但有一点延迟?

锺离正祥
2023-03-14

例如,我想在rando地点每隔5秒(距离玩家地点32个街区)召唤一群暴徒。如果可能的话,会不会造成太多滞后?它会一直处于活动状态吗?

共有1个答案

袁翔
2023-03-14

是的,你可以得到他们的位置得到他们的X和Z,然后用随机数随机增加,然后产生暴徒。在一个新线程或bukkit中运行,否则会导致延迟(不确定该部分)

示例代码:

new Thread(() -> {

    int newX = p.getLocation().getX() + new Random().nextInt(32)+1;
    int newZ = p.getLocation().getZ() + new Random().nextInt(32)+1;
    int newY = /* find out the y value of the area */

    Location spawnLoc = new Location(Bukkit.getWorld("world_name"), newX, newY, newZ);

    spawnMob(spawnLoc);

}).start();
 类似资料:
  • 我还没有找到一个函数来生成给定长度的随机浮点数数组。 我已经看过随机抽样,但似乎没有函数可以满足我的需求。 random.uniform很接近,但它只返回一个元素,而不是一个特定的数字。 这就是我所追求的: 这将返回一个由50个随机非唯一浮点数(即:允许重复)组成的数组,这些浮点数均匀分布在范围内。 有这样的功能吗

  • 比方说,如果我想在和之间生成一个无偏随机数,我会这样做: 但是,如果我想生成一个介于和之间的随机数,但更偏向于一个介于和之间的值的程度呢?最好用概率曲线来说明:

  • 问题内容: 我知道如何在Python范围内生成随机数。 我知道我可以将其循环生成n个数量的这些数字 但是,我需要确保该列表中的每个数字都是唯一的。除了大量的条件语句之外,还有一种直接的方法可以生成n个唯一的随机数吗? 重要的是列表中的每个数字都不同。 所以 [12,5,6,1] =好 但 [12,5,5,1] =不好,因为数字5出现两次。 问题答案: 如果您只需要采样而无需更换: random.s

  • Go的范围可以在地图和切片上迭代,但我想知道是否有一种方法可以在一系列数字上迭代,比如: 或者有没有一种方法来表示Go中的整数范围,就像Ruby对类范围所做的那样?

  • 编者注:此代码示例来自Rust 1.0之前的版本,在语法上不是有效的Rust 1.0代码。此代码的更新版本会产生不同的错误,但答案仍然包含有价值的信息。 我遇到了下面的例子,说明了如何使用Rust生成一个随机数,但它似乎不起作用。这个例子没有显示它适用于哪个版本的Rust,所以可能它已经过时了,或者可能我搞错了什么。 当我试图编译此文件时,会出现以下错误: 在同一页(上面)上还有另一个例子(如下所

  • 接受的答案建议使用以下公式,用于在给定的和之间生成一个随机整数,其中和包括在范围内: 但它也说 这仍然是稍微偏向较低的数字...也可以扩展它,这样它就可以消除这种偏向。