@@ -22,119 +22,167 @@ public class FlySpeed implements TabExecutor {
2222
2323 @ Override
2424 public boolean onCommand (@ NotNull CommandSender sender , @ NotNull Command command , @ NotNull String s , @ NotNull String [] args ) {
25+ boolean hasOtherPermission = sender .hasPermission (Util .flyOthersPermission );
2526 switch (args .length ) {
2627 case 0 -> {
27- if (CommandUtils .checkIfPlayerAndPerms (sender , Util .flySpeedPermission )) {
28- float flyspeed = ((Player ) sender ).getFlySpeed () * 10f ;
29- Util .sendUserMessage (sender , ConfigValues .flySpeedGetOwn ,
30- String .valueOf (flyspeed ), null );
31- return true ;
32- } else {
33- return false ;
34- }
28+ getOwnFlySpeed (sender );
29+ return true ;
3530 }
3631 case 1 -> {
37- String argument = args [0 ];
38- if (argument .equalsIgnoreCase (resetArg )) {
39- if (CommandUtils .checkIfPlayerAndPerms (sender , Util .flySpeedPermission )) {
40- ((Player ) sender ).setFlySpeed (0.1f );
41- Util .sendUserMessage (sender , ConfigValues .flySpeedResetOwn );
32+ switch (args [0 ]) {
33+ case setArg -> {
34+ Util .sendUserMessage (sender , ConfigValues .notEnoughArguments );
35+ return false ;
36+ }
37+ case getArg -> {
38+ getOwnFlySpeed (sender );
4239 return true ;
4340 }
44- }
45- if (argument .equalsIgnoreCase (setArg )) {
46- Util .sendUserMessage (sender , ConfigValues .notEnoughArguments );
47- return false ;
41+ case resetArg -> {
42+ resetOwnFlySpeed (sender );
43+ return true ;
44+ }
45+ default -> Util .sendUserMessage (sender , ConfigValues .invalidCommand );
4846 }
4947 }
5048 case 2 -> {
51- String firstArgument = args [0 ];
52- String secondArgument = args [1 ];
53- float flyspeed ;
54- Player player ;
55- if (firstArgument .equalsIgnoreCase (setArg )) {
56- try {
57- flyspeed = Float .parseFloat (secondArgument );
58- 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 ))));
49+ Player player = SimpleFly .getFlyServer ().getPlayer (args [1 ]);
50+ switch (args [0 ]) {
51+ case setArg -> {
52+ if (player == null || !hasOtherPermission ) {
53+ setOwnSpeed (sender , args );
54+ return true ;
55+ } else {
56+ Util .sendUserMessage (sender , ConfigValues .notEnoughArguments );
6357 return false ;
6458 }
65- player .setFlySpeed (flyspeed / 10f );
66- Util .sendUserMessage (player , ConfigValues .flySpeedSetOwn ,
67- firstArgument , null );
68- return true ;
69- } catch (NumberFormatException e ) {
70- player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
71- if (player == null || !sender .hasPermission (Util .flySpeedOthersPermission )) {
72- Util .sendUserMessage (sender , ConfigValues .invalidNumber );
59+ }
60+ case getArg -> {
61+ if (player == null || !hasOtherPermission ) {
62+ Util .sendUserMessage (sender , ConfigValues .invalidCommand );
7363 return false ;
64+ } else {
65+ getOtherFlySpeed (sender , args );
66+ return true ;
7467 }
75- Util .sendUserMessage (sender , ConfigValues .notEnoughArguments );
76- return false ;
7768 }
78- }
79- if (firstArgument .equalsIgnoreCase (resetArg ) && sender .hasPermission (Util .flySpeedOthersPermission )) {
80- player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
81- if (player == null ) {
82- Util .sendUserMessage (sender , ConfigValues .invalidPlayer );
83- return false ;
84- }
85- player .setFlySpeed (0.1f );
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 .invalidPlayer );
96- return false ;
69+ case resetArg -> {
70+ if (player == null || !hasOtherPermission ) {
71+ Util .sendUserMessage (sender , ConfigValues .invalidCommand );
72+ return true ;
73+ } else {
74+ resetOtherFlySpeed (sender , args );
75+ return true ;
76+ }
9777 }
98- flyspeed = player .getFlySpeed () * 10f ;
99- Util .sendUserMessage (sender , ConfigValues .flySpeedGetOther ,
100- String .valueOf (flyspeed ), player );
101- return true ;
78+ default -> Util .sendUserMessage (sender , ConfigValues .invalidCommand );
10279 }
103- return false ;
10480 }
10581 case 3 -> {
106- String firstArgument = args [0 ];
107- String secondArgument = args [1 ];
108- String thirdArgument = args [2 ];
109- if (firstArgument .equalsIgnoreCase (setArg ) && sender .hasPermission (Util .flySpeedOthersPermission )) {
110- Player player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
111- if (player == null ) {
112- Util .sendUserMessage (sender , ConfigValues .invalidPlayer );
113- return false ;
114- }
115- float flyspeed ;
116- try {
117- flyspeed = Float .parseFloat (thirdArgument );
118- player .setFlySpeed (flyspeed / 10f );
119- Util .sendUserMessage (sender , ConfigValues .flySpeedSetOther ,
120- thirdArgument , player );
121- Util .sendUserMessage (player , ConfigValues .flySpeedSetByOther ,
122- thirdArgument , sender );
123- return true ;
124- } catch (NumberFormatException e ) {
125- Util .sendUserMessage (sender , ConfigValues .invalidNumber );
126- return false ;
127- }
82+ if (args [0 ].equals (setArg ) && hasOtherPermission ) {
83+ setOtherPlayerSpeed (sender , args );
84+ return true ;
12885 }
129-
86+ Util . sendUserMessage ( sender , ConfigValues . invalidCommand );
13087 }
13188 }
13289 return false ;
13390 }
13491
13592
93+ private void setOtherPlayerSpeed (CommandSender sender , String [] args ) {
94+ String firstArgument = args [0 ];
95+ String secondArgument = args [1 ];
96+ String thirdArgument = args [2 ];
97+ if (firstArgument .equalsIgnoreCase (setArg )) {
98+ Player player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
99+ if (player == null ) {
100+ Util .sendUserMessage (sender , ConfigValues .invalidPlayer );
101+ return ;
102+ }
103+ float flyspeed ;
104+ try {
105+ flyspeed = Float .parseFloat (thirdArgument );
106+ player .setFlySpeed (flyspeed / 10f );
107+ Util .sendUserMessage (sender , ConfigValues .flySpeedSetOther ,
108+ thirdArgument , player );
109+ Util .sendUserMessage (player , ConfigValues .flySpeedSetByOther ,
110+ thirdArgument , sender );
111+ } catch (NumberFormatException e ) {
112+ Util .sendUserMessage (sender , ConfigValues .invalidNumber );
113+ }
114+ }
115+ }
116+
117+ private void resetOtherFlySpeed (CommandSender sender , String [] args ) {
118+ Player player = SimpleFly .getFlyServer ().getPlayer (args [1 ]);
119+ if (player == null ) {
120+ Util .sendUserMessage (sender , ConfigValues .invalidPlayer );
121+ return ;
122+ }
123+ player .setFlySpeed (0.1f );
124+ Util .sendUserMessage (sender , ConfigValues .flySpeedResetOther ,
125+ null , player );
126+ Util .sendUserMessage (player , ConfigValues .flySpeedResetByOther ,
127+ null , sender );
128+ }
129+
130+ private void getOtherFlySpeed (CommandSender sender , String [] args ) {
131+ Player player = SimpleFly .getFlyServer ().getPlayer (args [1 ]);
132+ if (player == null ) {
133+ Util .sendUserMessage (sender , ConfigValues .invalidPlayer );
134+ return ;
135+ }
136+ float flyspeed = player .getFlySpeed () * 10f ;
137+ Util .sendUserMessage (sender , ConfigValues .flySpeedGetOther ,
138+ String .valueOf (flyspeed ), player );
139+ }
140+
141+ private void setOwnSpeed (CommandSender sender , String [] args ) {
142+ float flyspeed ;
143+ Player player ;
144+ String secondArgument = args [1 ];
145+ try {
146+ flyspeed = Float .parseFloat (secondArgument );
147+ player = (Player ) sender ;
148+ if (flyspeed > ConfigValues .maxFlySpeed || flyspeed < ConfigValues .minFlySpeed ) {
149+ player .sendMessage (miniMessage .deserialize (ConfigValues .notInRange ,
150+ Placeholder .parsed ("min" , String .valueOf (ConfigValues .minFlySpeed )),
151+ Placeholder .parsed ("max" , String .valueOf (ConfigValues .maxFlySpeed ))));
152+ return ;
153+ }
154+ player .setFlySpeed (flyspeed / 10f );
155+ Util .sendUserMessage (player , ConfigValues .flySpeedSetOwn ,
156+ secondArgument , null );
157+ } catch (NumberFormatException e ) {
158+ player = SimpleFly .getFlyServer ().getPlayer (secondArgument );
159+ if (player == null || !sender .hasPermission (Util .flySpeedOthersPermission )) {
160+ Util .sendUserMessage (sender , ConfigValues .invalidNumber );
161+ return ;
162+ }
163+ Util .sendUserMessage (sender , ConfigValues .notEnoughArguments );
164+ }
165+ }
166+
167+ private void resetOwnFlySpeed (CommandSender sender ) {
168+ if (CommandUtils .checkIfPlayerAndPerms (sender , Util .flySpeedPermission )) {
169+ ((Player ) sender ).setFlySpeed (0.1f );
170+ Util .sendUserMessage (sender , ConfigValues .flySpeedResetOwn );
171+ }
172+ }
173+
174+ private void getOwnFlySpeed (CommandSender sender ) {
175+ if (CommandUtils .checkIfPlayerAndPerms (sender , Util .flySpeedPermission )) {
176+ float flyspeed = ((Player ) sender ).getFlySpeed () * 10f ;
177+ Util .sendUserMessage (sender , ConfigValues .flySpeedGetOwn ,
178+ String .valueOf (flyspeed ), null );
179+ }
180+ }
181+
182+
136183 @ Override
137- public @ Nullable List <String > onTabComplete (@ NotNull CommandSender sender , @ NotNull Command command , @ NotNull String s , @ NotNull String [] args ) {
184+ public @ Nullable List <String > onTabComplete (@ NotNull CommandSender sender , @ NotNull Command
185+ command , @ NotNull String s , @ NotNull String [] args ) {
138186 if (sender .hasPermission (Util .flySpeedPermission ) && args .length == 1 ) {
139187 tabComplete .clear ();
140188 tabComplete .add (setArg );
0 commit comments