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);
}
}
}
}
}