diff --git a/.gitignore b/.gitignore index b63da45..aba87d1 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ build/ .idea/modules.xml .idea/jarRepositories.xml .idea/compiler.xml +.idea/uiDesigner.xml .idea/libraries/ *.iws *.iml diff --git a/src/main/java/com/alttd/custommobs/commands/subcommands/Spawn.java b/src/main/java/com/alttd/custommobs/commands/subcommands/Spawn.java index 584779a..a109ad4 100644 --- a/src/main/java/com/alttd/custommobs/commands/subcommands/Spawn.java +++ b/src/main/java/com/alttd/custommobs/commands/subcommands/Spawn.java @@ -14,6 +14,7 @@ import org.bukkit.World; import org.bukkit.command.CommandSender; import org.bukkit.entity.*; +import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -122,7 +123,15 @@ public class Spawn extends SubCommand { @Override public List getTabComplete(CommandSender commandSender, String[] args) { - return List.of(); + return switch (args.length) { + case 2 -> MobTypes.MOB_TYPES.getAllMobTypes(); + case 3 -> Arrays.stream(EntityType.values()).map(EntityType::name).toList(); + case 4 -> Bukkit.getWorlds().stream().map(World::getName).toList(); + case 5 -> commandSender instanceof Player player ? List.of(String.valueOf(player.getX())) : List.of("0"); + case 6 -> commandSender instanceof Player player ? List.of(String.valueOf(player.getY())) : List.of("0"); + case 7 -> commandSender instanceof Player player ? List.of(String.valueOf(player.getZ())) : List.of("0"); + default -> List.of(); + }; } @Override diff --git a/src/main/java/com/alttd/custommobs/config/Messages.java b/src/main/java/com/alttd/custommobs/config/Messages.java index bfd18e8..0c8298d 100644 --- a/src/main/java/com/alttd/custommobs/config/Messages.java +++ b/src/main/java/com/alttd/custommobs/config/Messages.java @@ -28,7 +28,7 @@ public class Messages extends AbstractConfig { public static String HELP_MESSAGE_WRAPPER = "Main help:\n"; public static String HELP_MESSAGE = "Show this menu: /cm help"; - public static String SPAWN = "Spawn a mob of a specific type: /cm spawn [ ]"; + public static String SPAWN = "Spawn a mob of a specific type: /cm spawn [ ]"; @SuppressWarnings("unused") private static void load() { diff --git a/src/main/java/com/alttd/custommobs/config/MobTypes.java b/src/main/java/com/alttd/custommobs/config/MobTypes.java index edeab8f..7643868 100644 --- a/src/main/java/com/alttd/custommobs/config/MobTypes.java +++ b/src/main/java/com/alttd/custommobs/config/MobTypes.java @@ -43,6 +43,10 @@ public class MobTypes extends AbstractConfig { return Optional.of(MOB_TYPES.get(name)); } + public static List getAllMobTypes() { + return MobTypes.MOB_TYPES.MOB_TYPES.keySet().stream().toList(); + } + @SuppressWarnings("unused") private static void load() { MOB_TYPES.clear();