From 009c197959f32441592e73d922aec59ebcf6cd39 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Sun, 18 Apr 2021 09:21:15 +0200 Subject: [PATCH] Add TraceCommand tabCompletion for ShowModeParameterType --- .../features/tracer/TraceCommand.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceCommand.java b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceCommand.java index fda628cf..44d0fcd3 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceCommand.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/tracer/TraceCommand.java @@ -31,8 +31,15 @@ import de.steamwar.bausystem.features.tracer.show.mode.TraceEntityShowMode; import de.steamwar.bausystem.linkage.LinkageType; import de.steamwar.bausystem.linkage.Linked; import de.steamwar.command.SWCommand; +import de.steamwar.command.SWCommandUtils; +import de.steamwar.command.TypeMapper; import org.bukkit.entity.Player; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Linked(LinkageType.COMMAND) public class TraceCommand extends SWCommand { @@ -40,6 +47,40 @@ public class TraceCommand extends SWCommand { super("trace", "trail"); } + @ClassMapper(value = ShowModeParameterType.class, local = true) + public TypeMapper showModeParameterTypesTypeMapper() { + Map showModeParameterTypesMap = new HashMap<>(); + showModeParameterTypesMap.put("-water", ShowModeParameterType.WATER); + + showModeParameterTypesMap.put("-interpolatey", ShowModeParameterType.INTERPOLATE_Y); + showModeParameterTypesMap.put("-interpolate-y", ShowModeParameterType.INTERPOLATE_Y); + showModeParameterTypesMap.put("-interpolate_y", ShowModeParameterType.INTERPOLATE_Y); + showModeParameterTypesMap.put("-y", ShowModeParameterType.INTERPOLATE_Y); + + showModeParameterTypesMap.put("-interpolatex", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-interpolate-x", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-interpolate_x", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-x", ShowModeParameterType.INTERPOLATE_XZ); + + showModeParameterTypesMap.put("-interpolatez", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-interpolate-z", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-interpolate_z", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-z", ShowModeParameterType.INTERPOLATE_XZ); + + showModeParameterTypesMap.put("-interpolatexz", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-interpolate-xz", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-interpolate_xz", ShowModeParameterType.INTERPOLATE_XZ); + showModeParameterTypesMap.put("-xz", ShowModeParameterType.INTERPOLATE_XZ); + + showModeParameterTypesMap.put("-advanced", ShowModeParameterType.ADVANCED); + showModeParameterTypesMap.put("-a", ShowModeParameterType.ADVANCED); + showModeParameterTypesMap.put("advanced", ShowModeParameterType.ADVANCED); + showModeParameterTypesMap.put("a", ShowModeParameterType.ADVANCED); + + List tabCompletes = new ArrayList<>(showModeParameterTypesMap.keySet()); + return SWCommandUtils.createMapper(s -> showModeParameterTypesMap.getOrDefault(s, null), s -> tabCompletes); + } + @Register(help = true) public void genericHelp(Player p, String... args) { p.sendMessage(ColorConfig.OTHER + "/" + ColorConfig.HIGHLIGHT + "trace start" + ColorConfig.OTHER + " - " + ColorConfig.BASE + "Startet die Aufnahme aller TNT-Positionen");