File tree Expand file tree Collapse file tree
java/ru/contentforge/formconstructor Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66import cn .nukkit .event .player .PlayerFormRespondedEvent ;
77import cn .nukkit .plugin .PluginBase ;
88import ru .contentforge .formconstructor .form .Form ;
9- import ru .contentforge .formconstructor .task .FormHandlingAsyncTask ;
9+ import ru .contentforge .formconstructor .task .FormHandlingTask ;
1010
1111public class FormConstructor extends PluginBase implements Listener {
1212
@@ -19,11 +19,15 @@ public void onEnable() {
1919 void onFormResponded (PlayerFormRespondedEvent event ){
2020 if (!(event .getWindow () instanceof Form )) return ;
2121
22- getServer ().getScheduler ().scheduleAsyncTask (this , new FormHandlingAsyncTask (
22+ Form form = (Form ) event .getWindow ();
23+ FormHandlingTask handler = new FormHandlingTask (
2324 event .getResponse (),
2425 (Form ) event .getWindow (),
2526 event .getPlayer ()
26- ));
27+ );
28+
29+ if (form .isAsync ()) getServer ().getScheduler ().scheduleAsyncTask (this , handler );
30+ else handler .onRun ();
2731 }
2832
2933}
Original file line number Diff line number Diff line change 22
33import cn .nukkit .Player ;
44import cn .nukkit .form .window .FormWindow ;
5+ import lombok .Getter ;
56
67abstract public class Form extends FormWindow {
78
9+ @ Getter protected transient boolean async = false ;
10+
811 public void send (Player player ){
12+ async = false ;
13+ player .showFormWindow (this );
14+ }
15+
16+ public void sendAsync (Player player ){
17+ async = true ;
918 player .showFormWindow (this );
1019 }
1120
Original file line number Diff line number Diff line change 1010import ru .contentforge .formconstructor .form .response .ModalFormResponse ;
1111import ru .contentforge .formconstructor .form .response .SimpleFormResponse ;
1212
13- public class FormHandlingAsyncTask extends AsyncTask {
13+ public class FormHandlingTask extends AsyncTask {
1414
1515 private final FormResponse response ;
1616 private final Form form ;
1717 private final Player player ;
1818
19- public FormHandlingAsyncTask (FormResponse response , Form form , Player player ){
19+ public FormHandlingTask (FormResponse response , Form form , Player player ){
2020 this .response = response ;
2121 this .form = form ;
2222 this .player = player ;
Original file line number Diff line number Diff line change 11name : FormConstructor
22author : qPexLegendary
3- version : 1.1.2
3+ version : 1.1.3
44description : " Library for easy creating and handling of forms"
55api : 1.0.9
66main : ru.contentforge.formconstructor.FormConstructor
You can’t perform that action at this time.
0 commit comments