MaxViewRadiusCommand class
Пакет: com.hypixel.hytale.server.core.command.commands.server
Файл: com/hypixel/hytale/server/core/command/commands/server/MaxViewRadiusCommand.java
extends: CommandBase
Поля (10)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private final RequiredArg<Integer> |
radiusArg |
|
int |
var2 |
|
Store |
var2 |
|
int |
var2 |
|
int |
var2 |
|
int |
var3 |
|
ObjectArrayList |
var4 |
|
Ref |
var5 |
|
Player |
var6 |
|
EntityTrackerSystems.EntityViewer |
var7 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
MaxViewRadiusResetCommand MaxViewRadiusResetCommand() |
|
|
MaxViewRadiusSetCommand MaxViewRadiusSetCommand() |
|
protected CompletableFuture<Void> |
executeAsyncprotected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1) |
|
protected CompletableFuture<Void> |
executeAsyncprotected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1) |
|
|
if if(var6 != null && var7 != null) |
|
|
if if(var2 < 1) |
abstract |
|
super super("maxviewradius", "server.commands.maxviewradius.desc") |
abstract |
|
super super("reset", "server.commands.maxviewradius.reset.desc") |
abstract |
|
super super("server.commands.maxviewradius.set.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.server;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.packets.setup.ViewRadius;
class="kw">import com.hypixel.hytale.server.core.HytaleServer;
class="kw">import com.hypixel.hytale.server.core.Message;
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.command.system.basecommands.AbstractAsyncCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.modules.entity.tracker.EntityTrackerSystems;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import javax.annotation.Nonnull;
class="kw">public class MaxViewRadiusCommand class="kw">extends CommandBase {
class="kw">public MaxViewRadiusCommand() {
super("maxviewradius", "server.commands.maxviewradius.desc");
this.addUsageVariant(new MaxViewRadiusCommand.MaxViewRadiusSetCommand());
this.addSubCommand(new MaxViewRadiusCommand.MaxViewRadiusResetCommand());
}
@Override
class="kw">protected void executeSync(@Nonnull CommandContext var1) {
int var2 = HytaleServer.get().getConfig().getMaxViewRadius();
var1.sendMessage(Message.translation("server.commands.maxviewradius.get").param("radius", var2));
}
@Nonnull
class="kw">private class="kw">static CompletableFuture<Void> applyMaxViewRadius(@Nonnull AbstractAsyncCommand var0, @Nonnull CommandContext var1, int var2) {
HytaleServer.get().getConfig().setMaxViewRadius(var2);
int var3 = var2 * 32;
ObjectArrayList var4 = new ObjectArrayList();
for (World var6 : Universe.get().getWorlds().values()) {
var4.add(var0.runAsync(var1, () -> {
Store var2 = var6.getEntityStore().getStore();
for (PlayerRef var4 : var6.getPlayerRefs()) {
Ref var5 = var4.getReference();
if (var5 != null && var5.isValid()) {
Player var6 = var2.getComponent(var5, Player.getComponentType());
EntityTrackerSystems.EntityViewer var7 = var2.getComponent(var5, EntityTrackerSystems.EntityViewer.getComponentType());
if (var6 != null && var7 != null) {
var7.viewRadiusBlocks = var6.getViewRadius() * 32;
var4.getPacketHandler().writeNoCache(new ViewRadius(var3));
}
}
}
}, var6));
}
class="kw">return CompletableFuture.allOf((CompletableFuture<?>[])var4.toArray(new CompletableFuture[0]));
}
class="kw">private class="kw">static class MaxViewRadiusResetCommand class="kw">extends AbstractAsyncCommand {
MaxViewRadiusResetCommand() {
super("reset", "server.commands.maxviewradius.reset.desc");
}
@Nonnull
@Override
class="kw">protected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1) {
int var2 = 32;
var1.sendMessage(Message.translation("server.commands.maxviewradius.reset").param("radius", 32));
class="kw">return MaxViewRadiusCommand.applyMaxViewRadius(this, var1, 32);
}
}
class="kw">private class="kw">static class MaxViewRadiusSetCommand class="kw">extends AbstractAsyncCommand {
@Nonnull
class="kw">private class="kw">final RequiredArg<Integer> radiusArg = this.withRequiredArg("radius", "server.commands.maxviewradius.radius.desc", ArgTypes.INTEGER);
MaxViewRadiusSetCommand() {
super("server.commands.maxviewradius.set.desc");
}
@Nonnull
@Override
class="kw">protected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1) {
int var2 = this.radiusArg.get(var1);
if (var2 < 1) {
var1.sendMessage(Message.translation("server.commands.maxviewradius.mustBePositive"));
class="kw">return CompletableFuture.completedFuture(null);
} else if (var2 > 32) {
var1.sendMessage(Message.translation("server.commands.maxviewradius.noHigherThan").param("max", 32));
class="kw">return CompletableFuture.completedFuture(null);
} else {
var1.sendMessage(Message.translation("server.commands.maxviewradius.set").param("radius", var2));
class="kw">return MaxViewRadiusCommand.applyMaxViewRadius(this, var1, var2);
}
}
}
}