DroplistCommand class

Пакет: com.hypixel.hytale.server.core.asset.type.item

Файл: com/hypixel/hytale/server/core/asset/type/item/DroplistCommand.java

extends: CommandBase

Поля (5)

МодификаторыТипИмя
Message var12
String var2
ItemDropList var3
int var4
LinkedHashMap var5

Методы (3)

МодификаторыВозвратСигнатура
for for(int var6 = 0; var6 < var4; var6++)
if if(var3 == null)
abstract super super("droplist", "server.commands.droplist.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.item;

class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.ItemDropList;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.OptionalArg;
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.CommandBase;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.core.modules.item.ItemModule;
class="kw">import java.util.LinkedHashMap;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;

class="kw">public class DroplistCommand class="kw">extends CommandBase {
   @Nonnull
   class="kw">private class="kw">final RequiredArg<String> itemDroplistArg = this.withRequiredArg("droplist", "server.commands.droplist.set.droplist.desc", ArgTypes.STRING);
   class="kw">private class="kw">final OptionalArg<Integer> countArg = this.withOptionalArg("count", "server.commands.droplist.set.count.desc", ArgTypes.INTEGER)
      .addValidator(Validators.greaterThan(0));

   class="kw">public DroplistCommand() {
      super("droplist", "server.commands.droplist.desc");
      this.setPermissionGroups("hytale:WorldEditor");
   }

   @Override
   class="kw">protected void executeSync(@Nonnull CommandContext var1) {
      String var2 = this.itemDroplistArg.get(var1);
      ItemDropList var3 = ItemDropList.getAssetMap().getAsset(var2);
      if (var3 == null) {
         var1.sendMessage(Message.translation("server.commands.droplist.notFound").param("droplistId", var2));
      } else {
         int var4 = this.countArg.provided(var1) ? this.countArg.get(var1) : 1;
         LinkedHashMap var5 = new LinkedHashMap<>();

         for (int var6 = 0; var6 < var4; var6++) {
            for (ItemStack var9 : ItemModule.get().getRandomItemDrops(var2)) {
               var5.merge(var9.getItemId(), var9.getQuantity(), Integer::sum);
            }
         }

         if (var5.isEmpty()) {
            var1.sendMessage(Message.translation("server.commands.droplist.empty").param("droplistId", var2));
         } else {
            var1.sendMessage(Message.translation("server.commands.droplist.result").param("droplistId", var2));

            for (Entry var11 : var5.entrySet()) {
               Message var12 = Message.translation("server.commands.droplist.result.item")
                  .param("itemName", var11.getKey())
                  .param("itemQuantity", var11.getValue());
               var1.sendMessage(var12);
            }
         }
      }
   }
}