PlayerViewRadiusSetCommand class
Пакет: com.hypixel.hytale.server.core.command.commands.player.viewradius
Файл: com/hypixel/hytale/server/core/command/commands/player/viewradius/PlayerViewRadiusSetCommand.java
extends: AbstractTargetPlayerCommand
Поля (12)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
return |
|
boolean |
var10 |
|
boolean |
var11 |
|
int |
var12 |
|
|
var12 |
|
|
var12 |
|
int |
var13 |
|
int |
var14 |
|
int |
var16 |
|
Player |
var7 |
|
EntityTrackerSystems.EntityViewer |
var8 |
|
String |
var9 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var12 > var16 && !var11) |
abstract |
|
super super("set", "server.commands.player.viewradius.set.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.player.viewradius;
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.FlagArg;
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.AbstractTargetPlayerCommand;
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.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class PlayerViewRadiusSetCommand class="kw">extends AbstractTargetPlayerCommand {
@Nonnull
class="kw">private class="kw">final RequiredArg<String> radiusArg = this.withRequiredArg("radius", "server.commands.player.viewradius.set.radius.desc", ArgTypes.STRING);
@Nonnull
class="kw">private class="kw">final FlagArg blocksArg = this.withFlagArg("blocks", "server.commands.player.viewradius.set.blocks.desc");
@Nonnull
class="kw">private class="kw">final FlagArg bypassArg = this.withFlagArg("bypass", "server.commands.player.viewradius.set.bypass.desc");
class="kw">public PlayerViewRadiusSetCommand() {
super("set", "server.commands.player.viewradius.set.desc");
}
@Override
class="kw">protected void execute(
@Nonnull CommandContext var1,
@Nullable Ref<EntityStore> var2,
@Nonnull Ref<EntityStore> var3,
@Nonnull PlayerRef var4,
@Nonnull World var5,
@Nonnull Store<EntityStore> var6
) {
Player var7 = var6.getComponent(var3, Player.getComponentType());
assert var7 != null;
EntityTrackerSystems.EntityViewer var8 = var6.getComponent(var3, EntityTrackerSystems.EntityViewer.getComponentType());
assert var8 != null;
String var9 = this.radiusArg.get(var1);
boolean var10 = this.blocksArg.get(var1);
boolean var11 = this.bypassArg.get(var1);
int var12;
if ("class="kw">default".equalsIgnoreCase(var9)) {
var12 = 32;
} else {
try {
int var13 = Integer.parseInt(var9);
var12 = var10 ? (int)Math.ceil(var13 / 32.0F) : var13;
} catch (NumberFormatException var15) {
var1.sendMessage(Message.translation("server.commands.player.viewradius.set.invalidNumber").param("value", var9));
class="kw">return;
}
}
int var16 = HytaleServer.get().getConfig().getMaxViewRadius();
if (var12 > var16 && !var11) {
var1.sendMessage(Message.translation("server.commands.player.viewradius.set.noHigherThan").param("radius", var16));
} else {
int var14 = var12 * 32;
var7.setClientViewRadius(var12);
var8.viewRadiusBlocks = var14;
var4.getPacketHandler().writeNoCache(new ViewRadius(var14));
var1.sendMessage(Message.translation("server.commands.player.viewradius.set.success").param("radius", var12).param("radiusBlocks", var14));
}
}
}