AbstractMapMarkerDiscoveryCommand class
Пакет: com.hypixel.hytale.server.core.command.commands.utility.worldmap.marker
Файл: com/hypixel/hytale/server/core/command/commands/utility/worldmap/marker/AbstractMapMarkerDiscoveryCommand.java
extends: AbstractTargetPlayerCommand
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
BlockMarkerLookup.Match |
var10 |
|
boolean |
var11 |
|
Player |
var7 |
|
String |
var8 |
|
List |
var9 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract abstract |
boolean |
applyboolean apply(@Nonnull Player var1, @Nonnull String var2) |
abstract |
|
super super(var1, var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.utility.worldmap.marker;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
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.basecommands.AbstractTargetPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
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 java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">abstract class AbstractMapMarkerDiscoveryCommand class="kw">extends AbstractTargetPlayerCommand {
@Nonnull
class="kw">private class="kw">final RequiredArg<String> markerArg = this.withRequiredArg(
"marker", "server.commands.worldmap.markers.marker.desc", BlockMarkerIdArgumentType.INSTANCE
);
@Nonnull
class="kw">private class="kw">final String messageKeyPrefix;
class="kw">protected AbstractMapMarkerDiscoveryCommand(@Nonnull String var1, @Nonnull String var2, @Nonnull String var3) {
super(var1, var2);
this.messageKeyPrefix = var3;
}
class="kw">protected class="kw">abstract boolean apply(@Nonnull Player var1, @Nonnull String var2);
@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;
String var8 = this.markerArg.get(var1);
List var9 = BlockMarkerLookup.findByIdPrefix(var5, var8);
if (var9.isEmpty()) {
var1.sendMessage(Message.translation("server.commands.worldmap.markers.notFound").param("marker", var8));
} else if (var9.size() > 1) {
var1.sendMessage(Message.translation("server.commands.worldmap.markers.ambiguous").param("marker", var8).param("count", var9.size()));
} else {
BlockMarkerLookup.Match var10 = var9.getFirst();
if (!var10.data().isDiscoverable()) {
var1.sendMessage(Message.translation("server.commands.worldmap.markers.notDiscoverable").param("marker", var10.data().getMarkerId()));
} else {
boolean var11 = this.apply(var7, var10.data().getMarkerId());
var1.sendMessage(
Message.translation(this.messageKeyPrefix + (var11 ? ".success" : ".noChange"))
.param("marker", var10.data().getMarkerId())
.param("player", var4.getUsername())
);
}
}
}
}