BenchmarkSpreadCommand class
Пакет: com.hypixel.hytale.builtin.triggervolumes.command.benchmark
Файл: com/hypixel/hytale/builtin/triggervolumes/command/benchmark/BenchmarkSpreadCommand.java
extends: AbstractBenchmarkCommand
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
double |
GOLDEN_ANGLE |
|
double |
var11 |
|
Vector3d |
var13 |
|
int |
var7 |
|
double |
var9 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var8 = 0; var8 < var5; var8++) |
abstract |
|
spawnBox spawnBox(var2, var3, "tvbench_" + var8, var13, var6) |
abstract |
|
super super("spread", "server.commands.triggervolume.benchmark.spread.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.command.benchmark;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.TriggerVolumeManager;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class BenchmarkSpreadCommand class="kw">extends AbstractBenchmarkCommand {
class="kw">private class="kw">static class="kw">final double GOLDEN_ANGLE = Math.PI * (3.0 - Math.sqrt(5.0));
@Nonnull
class="kw">private class="kw">final RequiredArg<Integer> radiusArg = this.withRequiredArg("radius", "server.commands.triggervolume.benchmark.radius.desc", ArgTypes.INTEGER);
class="kw">public BenchmarkSpreadCommand() {
super("spread", "server.commands.triggervolume.benchmark.spread.desc");
}
@Override
class="kw">protected int spawnVolumes(@Nonnull CommandContext var1, @Nonnull TriggerVolumeManager var2, @Nonnull World var3, @Nonnull Vector3d var4, int var5, int var6) {
int var7 = Math.max(1, this.radiusArg.get(var1));
for (int var8 = 0; var8 < var5; var8++) {
double var9 = var7 * Math.sqrt((var8 + 0.5) / var5);
double var11 = var8 * GOLDEN_ANGLE;
Vector3d var13 = new Vector3d(var4.x() + var9 * Math.cos(var11), var4.y(), var4.z() + var9 * Math.sin(var11));
spawnBox(var2, var3, "tvbench_" + var8, var13, var6);
}
class="kw">return var5;
}
}