1414
1515public class FlySpeed implements TabExecutor {
1616
17- private static MiniMessage miniMessage = SimpleFly .getMiniMessage ();
17+ private static final MiniMessage miniMessage = SimpleFly .getMiniMessage ();
1818 private static final ArrayList <String > tabComplete = new ArrayList <>();
1919 private static final String setArg = "set" ;
2020 private static final String resetArg = "reset" ;
21+ private static final String getArg = "get" ;
2122
2223 @ Override
2324 public boolean onCommand (@ NotNull CommandSender sender , @ NotNull Command command , @ NotNull String s , @ NotNull String [] args ) {
2425 switch (args .length ) {
2526 case 0 -> {
2627 if (CommandUtils .checkIfPlayerAndPerms (sender , Util .flySpeedPermission )) {
2728 float flyspeed = ((Player ) sender ).getFlySpeed () * 10f ;
28- sender .sendMessage (miniMessage .deserialize (
29- ConfigValues .flySpeedOwn ,
30- Placeholder .parsed ("value" , String .valueOf (flyspeed ))
31- ));
29+ Util .sendUserMessage (sender , ConfigValues .flySpeedOwn ,
30+ String .valueOf (flyspeed ), null );
3231 return true ;
3332 } else {
3433 return false ;
@@ -39,48 +38,66 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
3938 if (argument .equalsIgnoreCase (resetArg )) {
4039 if (CommandUtils .checkIfPlayerAndPerms (sender , Util .flySpeedPermission )) {
4140 ((Player ) sender ).setFlySpeed (0.1f );
42- sender . sendRichMessage ( ConfigValues .flySpeedReset );
41+ Util . sendUserMessage ( sender , ConfigValues .flySpeedReset );
4342 return true ;
4443 }
4544 }
4645 if (argument .equalsIgnoreCase (setArg )) {
47- sender . sendRichMessage ( ConfigValues .notEnoughArguments );
46+ Util . sendUserMessage ( sender , ConfigValues .notEnoughArguments );
4847 return false ;
4948 }
5049 }
5150 case 2 -> {
5251 String firstArgument = args [0 ];
5352 String secondArgument = args [1 ];
54- Float flyspeed ;
53+ float flyspeed ;
5554 Player player ;
5655 if (firstArgument .equalsIgnoreCase (setArg )) {
5756 try {
5857 flyspeed = Float .parseFloat (secondArgument );
5958 player = (Player ) sender ;
59+ if (flyspeed > ConfigValues .maxFlySpeed || flyspeed < ConfigValues .minFlySpeed ) {
60+ player .sendMessage (miniMessage .deserialize (ConfigValues .notInRange ,
61+ Placeholder .parsed ("min" , String .valueOf (ConfigValues .minFlySpeed )),
62+ Placeholder .parsed ("max" , String .valueOf (ConfigValues .maxFlySpeed ))));
63+ return false ;
64+ }
6065 player .setFlySpeed (flyspeed / 10f );
61- sender .sendRichMessage (ConfigValues .flySpeedSet );
66+ Util .sendUserMessage (player , ConfigValues .flySpeedSet ,
67+ firstArgument , null );
6268 return true ;
6369 } catch (NumberFormatException e ) {
6470 player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
6571 if (player == null || !sender .hasPermission (Util .flySpeedOthersPermission )) {
66- sender . sendRichMessage ( ConfigValues .notANumber );
72+ Util . sendUserMessage ( sender , ConfigValues .notANumber );
6773 return false ;
6874 }
69- sender . sendRichMessage ( ConfigValues .notEnoughArguments );
75+ Util . sendUserMessage ( sender , ConfigValues .notEnoughArguments );
7076 return false ;
7177 }
7278 }
7379 if (firstArgument .equalsIgnoreCase (resetArg ) && sender .hasPermission (Util .flySpeedOthersPermission )) {
7480 player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
7581 if (player == null ) {
76- sender . sendRichMessage ( ConfigValues .notAPlayer );
82+ Util . sendUserMessage ( sender , ConfigValues .notAPlayer );
7783 return false ;
7884 }
7985 player .setFlySpeed (0.1f );
80- sender .sendMessage (miniMessage .deserialize (ConfigValues .flySpeedResetOther ,
81- Placeholder .component ("player" , player .displayName ())));
82- player .sendMessage (miniMessage .deserialize (ConfigValues .flySpeedResetByOther ,
83- Placeholder .component ("initiator" , sender .name ())));
86+ Util .sendUserMessage (sender , ConfigValues .flySpeedResetOther ,
87+ null , player );
88+ Util .sendUserMessage (player , ConfigValues .flySpeedResetByOther ,
89+ null , sender );
90+ return true ;
91+ }
92+ if (firstArgument .equalsIgnoreCase (getArg ) && sender .hasPermission (Util .flySpeedOthersPermission )) {
93+ player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
94+ if (player == null ) {
95+ Util .sendUserMessage (sender , ConfigValues .notAPlayer );
96+ return false ;
97+ }
98+ flyspeed = player .getFlySpeed () * 10f ;
99+ Util .sendUserMessage (sender , ConfigValues .flySpeedOther ,
100+ String .valueOf (flyspeed ), player );
84101 return true ;
85102 }
86103 return false ;
@@ -92,19 +109,20 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
92109 if (firstArgument .equalsIgnoreCase (setArg ) && sender .hasPermission (Util .flySpeedOthersPermission )) {
93110 Player player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
94111 if (player == null ) {
95- sender . sendRichMessage ( ConfigValues .notAPlayer );
112+ Util . sendUserMessage ( sender , ConfigValues .notAPlayer );
96113 return false ;
97114 }
98- Float flyspeed ;
115+ float flyspeed ;
99116 try {
100117 flyspeed = Float .parseFloat (thirdArgument );
101118 player .setFlySpeed (flyspeed / 10f );
102- sender .sendRichMessage (ConfigValues .flySpeedSetOther );
103- player .sendMessage (miniMessage .deserialize (ConfigValues .flySpeedSetByOther ,
104- Placeholder .component ("initiator" , sender .name ())));
119+ Util .sendUserMessage (sender , ConfigValues .flySpeedSetOther ,
120+ thirdArgument , player );
121+ Util .sendUserMessage (player , ConfigValues .flySpeedSetByOther ,
122+ thirdArgument , sender );
105123 return true ;
106124 } catch (NumberFormatException e ) {
107- sender . sendRichMessage ( ConfigValues .notANumber );
125+ Util . sendUserMessage ( sender , ConfigValues .notANumber );
108126 return false ;
109127 }
110128 }
@@ -115,13 +133,15 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
115133 }
116134
117135
118-
119136 @ Override
120- public @ Nullable List <String > onTabComplete (@ NotNull CommandSender commandSender , @ NotNull Command command , @ NotNull String s , @ NotNull String [] args ) {
121- if (commandSender .hasPermission (Util .flySpeedPermission )) {
137+ public @ Nullable List <String > onTabComplete (@ NotNull CommandSender sender , @ NotNull Command command , @ NotNull String s , @ NotNull String [] args ) {
138+ if (sender .hasPermission (Util .flySpeedPermission ) && args . length == 1 ) {
122139 tabComplete .clear ();
123140 tabComplete .add (setArg );
124141 tabComplete .add (resetArg );
142+ if (sender .hasPermission (Util .flySpeedOthersPermission )) {
143+ tabComplete .add (getArg );
144+ }
125145 return tabComplete ;
126146 }
127147 return null ;
0 commit comments