1717public class DeleteHomeCommand implements BasicCommand {
1818
1919 @ Override
20- public void execute (@ NotNull CommandSourceStack stack , @ NotNull String [] args ) {
20+ public void execute (@ NotNull CommandSourceStack stack , @ NotNull String @ NonNull [] args ) {
2121 if (!(stack .getExecutor () instanceof Player player )) {
2222 stack .getSender ().sendMessage (Statements .getOnlyPlayers ());
2323 return ;
@@ -32,55 +32,72 @@ public void execute(@NotNull CommandSourceStack stack, @NotNull String[] args) {
3232 return ;
3333 }
3434
35- String HomeName = args [0 ];
36- if (!HomeAPI .getApi ().doesOwnHomeExist (player , HomeName )) {
37- if (LanguageAPI .getApi ().getLanguage (player ) == 2 ) {
38- player .sendMessage (Statements .getPrefix ().append (Component .text ("Der Home " , NamedTextColor .RED ))
39- .append (Component .text (HomeName , NamedTextColor .YELLOW ))
40- .append (Component .text (" existiert nicht!" , NamedTextColor .RED )));
41- } else {
42- player .sendMessage (Statements .getPrefix ().append (Component .text ("The home " , NamedTextColor .RED ))
43- .append (Component .text (HomeName , NamedTextColor .YELLOW ))
44- .append (Component .text (" does not exist!" , NamedTextColor .RED )));
45- }
35+ String homeName = args [0 ];
36+ boolean isAdmin = player .hasPermission ("utilsmanager.admin" );
37+ boolean homeExists = isAdmin
38+ ? HomeAPI .getApi ().doesHomeExist (homeName )
39+ : HomeAPI .getApi ().doesOwnHomeExist (player , homeName );
40+
41+ if (!homeExists ) {
42+ boolean german = LanguageAPI .getApi ().getLanguage (player ) == 2 ;
43+
44+ Component message = Statements .getPrefix ()
45+ .append (Component .text (
46+ german ? "Der Home " : "The home " ,
47+ NamedTextColor .RED ))
48+ .append (Component .text (homeName , NamedTextColor .YELLOW ))
49+ .append (Component .text (
50+ german ? " existiert nicht!" : " does not exist!" ,
51+ NamedTextColor .RED ));
52+
53+ player .sendMessage (message );
4654 return ;
4755 }
4856
57+ HomeAPI .getApi ().deleteHome (HomeAPI .getApi ().getHomeId (player , homeName ));
4958 if (LanguageAPI .getApi ().getLanguage (player ) == 2 ) {
50- player .sendMessage (Statements .getPrefix ().append (Component .text ("Du hast den Homepunkt " , NamedTextColor .YELLOW ))
51- .append (Component .text (HomeName , NamedTextColor .RED ))
59+ player .sendMessage (Statements .getPrefix ().append (Component .text ("Du hast den Home " , NamedTextColor .YELLOW ))
60+ .append (Component .text (homeName , NamedTextColor .RED ))
5261 .append (Component .text (" gelöscht!" , NamedTextColor .YELLOW )));
5362 } else {
54- player .sendMessage (Statements .getPrefix ().append (Component .text ("You've deleted the homepoint " , NamedTextColor .YELLOW ))
55- .append (Component .text (HomeName , NamedTextColor .RED ))
63+ player .sendMessage (Statements .getPrefix ().append (Component .text ("You've deleted the home " , NamedTextColor .YELLOW ))
64+ .append (Component .text (homeName , NamedTextColor .RED ))
5665 .append (Component .text ("!" , NamedTextColor .YELLOW )));
5766 }
58- HomeAPI .getApi ().deleteHome (HomeAPI .getApi ().getHomeId (player , HomeName ));
5967 }
6068
6169 @ Override
62- public @ NonNull Collection <String > suggest (final CommandSourceStack commandSourceStack , final String [] args ) {
70+ public @ NonNull Collection <String > suggest (final CommandSourceStack commandSourceStack , final String @ NonNull [] args ) {
6371 Player player = (Player ) commandSourceStack .getSender ();
64- Collection <String > homes = Objects .requireNonNullElse (HomeAPI .getApi ().getOwnHomes (player ), Collections .emptyList ());
72+ if (player .hasPermission ("utilsmanager.admin" )) {
73+ Collection <String > homes = Objects .requireNonNullElse (HomeAPI .getApi ().getAllHomes (), Collections .emptyList ());
6574
66- if (args .length == 0 ) {
67- return homes ;
68- }
69- if (args .length == 1 ) {
70- return SuggestHelper .filter (args [0 ], homes .toArray (new String [0 ]));
75+ if (args .length == 0 ) {
76+ return homes ;
77+ }
78+ if (args .length == 1 ) {
79+ return SuggestHelper .filter (args [0 ], homes .toArray (new String [0 ]));
80+ }
81+ } else {
82+ Collection <String > homes = Objects .requireNonNullElse (HomeAPI .getApi ().getOwnHomes (player ), Collections .emptyList ());
83+
84+ if (args .length == 0 ) {
85+ return homes ;
86+ }
87+ if (args .length == 1 ) {
88+ return SuggestHelper .filter (args [0 ], homes .toArray (new String [0 ]));
89+ }
7190 }
7291 return Collections .emptyList ();
7392 }
7493
75- private void sendUsage (Player sender ) {
76- if (LanguageAPI .getApi ().getLanguage (sender ) == 2 ) {
77- sender .sendMessage (Component .text ("Verwendung" , NamedTextColor .GRAY )
78- .append (Component .text (": " , NamedTextColor .DARK_GRAY ))
79- .append (Component .text ("/sethome <Name>" , NamedTextColor .BLUE )));
94+ private void sendUsage (Player player ) {
95+ if (LanguageAPI .getApi ().getLanguage (player ) == 2 ) {
96+ player .sendMessage (Statements .getUsage (player )
97+ .append (Component .text ("/deletehome <Name>" , NamedTextColor .BLUE )));
8098 } else {
81- sender .sendMessage (Component .text ("Use" , NamedTextColor .GRAY )
82- .append (Component .text (": " , NamedTextColor .DARK_GRAY ))
83- .append (Component .text ("/sethome <name>" , NamedTextColor .BLUE )));
99+ player .sendMessage (Statements .getUsage (player )
100+ .append (Component .text ("/deletehome <name>" , NamedTextColor .BLUE )));
84101 }
85102 }
86- }
103+ }
0 commit comments