Minor refactor to coord command and fix tests
This commit is contained in:
parent
f8b75c0781
commit
c7c344730b
|
@ -4,16 +4,14 @@ import co.aikar.commands.BukkitCommandIssuer;
|
|||
import co.aikar.commands.annotation.CommandAlias;
|
||||
import co.aikar.commands.annotation.CommandPermission;
|
||||
import co.aikar.commands.annotation.Description;
|
||||
import co.aikar.commands.annotation.Flags;
|
||||
import co.aikar.commands.annotation.Subcommand;
|
||||
import com.onarandombox.MultiverseCore.api.LocationManipulation;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorld;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.commandtools.MVCommandManager;
|
||||
import com.onarandombox.MultiverseCore.commandtools.MultiverseCommand;
|
||||
import com.onarandombox.MultiverseCore.utils.MVCorei18n;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jvnet.hk2.annotations.Service;
|
||||
|
@ -22,39 +20,32 @@ import org.jvnet.hk2.annotations.Service;
|
|||
@CommandAlias("mv")
|
||||
public class CoordinatesCommand extends MultiverseCommand {
|
||||
|
||||
private final MVWorldManager worldManager;
|
||||
private final LocationManipulation locationManipulation;
|
||||
|
||||
@Inject
|
||||
public CoordinatesCommand(@NotNull MVCommandManager commandManager, @NotNull MVWorldManager worldManager, @NotNull LocationManipulation locationManipulation) {
|
||||
public CoordinatesCommand(
|
||||
@NotNull MVCommandManager commandManager,
|
||||
@NotNull LocationManipulation locationManipulation
|
||||
) {
|
||||
super(commandManager);
|
||||
|
||||
this.worldManager = worldManager;
|
||||
this.locationManipulation = locationManipulation;
|
||||
}
|
||||
|
||||
@Subcommand("coordinates|coord|coords|co")
|
||||
@Subcommand("coordinates|coords|coord|co")
|
||||
@CommandPermission("multiverse.core.coord")
|
||||
@Description("{@@mv-core.coordinates.description}")
|
||||
public void onCoordinatesCommand(BukkitCommandIssuer issuer) {
|
||||
if (!issuer.isPlayer()) { // Players only
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_ERRORPLAYERSONLY);
|
||||
return;
|
||||
}
|
||||
public void onCoordinatesCommand(BukkitCommandIssuer issuer,
|
||||
|
||||
Player player = issuer.getPlayer();
|
||||
|
||||
if (!this.worldManager.isMVWorld(player.getWorld().getName())) { // MV Worlds only
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_ERROR_MULTIVERSEWORLDONLY);
|
||||
return;
|
||||
}
|
||||
World world = player.getWorld();
|
||||
MVWorld mvworld = this.worldManager.getMVWorld(world.getName());
|
||||
@Flags("resolve=issuerOnly")
|
||||
Player player,
|
||||
|
||||
@Flags("resolve=issuerOnly")
|
||||
MVWorld world
|
||||
) {
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_INFO_TITLE);
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_INFO_WORLD, "{world}", world.getName());
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_INFO_ALIAS, "{alias}", mvworld.getColoredWorldString());
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_INFO_WORLDSCALE, "{scale}", String.valueOf(mvworld.getScaling()));
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_INFO_ALIAS, "{alias}", world.getColoredWorldString());
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_INFO_WORLDSCALE, "{scale}", String.valueOf(world.getScaling()));
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_INFO_COORDINATES, "{coordinates}", locationManipulation.strCoords(player.getLocation()));
|
||||
issuer.sendInfo(MVCorei18n.COORDINATES_INFO_DIRECTION, "{direction}", locationManipulation.getDirection(player.getLocation()));
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ class InjectionTest : TestWithMockBukkit() {
|
|||
fun `Commands are available as services`() {
|
||||
val commands = multiverseCore.getAllServices(MultiverseCommand::class.java)
|
||||
// TODO come up with a better way to test this like via actually testing the effect of calling each command
|
||||
assertEquals(18, commands.size)
|
||||
assertEquals(19, commands.size)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Reference in New Issue