InventorySeeCommand class

Пакет: com.hypixel.hytale.server.core.command.commands.player.inventory

Файл: com/hypixel/hytale/server/core/command/commands/player/inventory/InventorySeeCommand.java

extends: AbstractPlayerCommand

Поля (10)

МодификаторыТипИмя
final PermissionQuery MODIFY
World var10
Player var6
CombinedItemContainer var6
PlayerRef var7
ItemContainer var7
var7
Ref var8
DelegateItemContainer var8
Store var9

Методы (1)

МодификаторыВозвратСигнатура
abstract super super("see", "server.commands.inventorysee.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.player.inventory;

class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.Page;
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.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.windows.ContainerWindow;
class="kw">import com.hypixel.hytale.server.core.inventory.InventoryComponent;
class="kw">import com.hypixel.hytale.server.core.inventory.container.CombinedItemContainer;
class="kw">import com.hypixel.hytale.server.core.inventory.container.DelegateItemContainer;
class="kw">import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
class="kw">import com.hypixel.hytale.server.core.inventory.container.filter.FilterType;
class="kw">import com.hypixel.hytale.server.core.permissions.HytalePermissions;
class="kw">import com.hypixel.hytale.server.core.permissions.PermissionQuery;
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">public class InventorySeeCommand class="kw">extends AbstractPlayerCommand {
   class="kw">private class="kw">static class="kw">final PermissionQuery MODIFY = PermissionQuery.of(HytalePermissions.fromCommand("invsee", "modify"));
   class="kw">public class="kw">static class="kw">final Message MESSAGE_COMMANDS_ERRORS_PLAYER_NOT_IN_WORLD = Message.translation("server.commands.errors.playerNotInWorld");
   @Nonnull
   class="kw">private class="kw">final RequiredArg<PlayerRef> targetPlayerArg = this.withRequiredArg("player", "server.commands.inventorysee.player.desc", ArgTypes.PLAYER_REF);

   class="kw">public InventorySeeCommand() {
      super("see", "server.commands.inventorysee.desc");
      this.setPermissionGroups("hytale:ServerEditor");
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
   ) {
      Player var6 = var2.getComponent(var3, Player.getComponentType());
      assert var6 != null;
      PlayerRef var7 = this.targetPlayerArg.get(var1);
      Ref var8 = var7.getReference();
      if (var8 != null && var8.isValid()) {
         Store var9 = var8.getStore();
         World var10 = var9.getExternalData().getWorld();
         var10.execute(() -> {
            if (!var8.isValid()) {
               var1.sendMessage(MESSAGE_COMMANDS_ERRORS_PLAYER_NOT_IN_WORLD);
            } else {
               CombinedItemContainer var6 = InventoryComponent.getCombined(var9, var8, InventoryComponent.HOTBAR_FIRST);
               ItemContainer var7 = var6;
               if (!var1.sender().hasPermission(MODIFY)) {
                  DelegateItemContainer var8 = new DelegateItemContainer<>(var6);
                  var8.setGlobalFilter(FilterType.DENY_ALL);
                  var7 = var8;
               }

               var6.getPageManager().setPageWithWindows(var3, var2, Page.Bench, true, new ContainerWindow(var7));
            }
         });
      } else {
         var1.sendMessage(MESSAGE_COMMANDS_ERRORS_PLAYER_NOT_IN_WORLD);
      }
   }
}