1414import cn .nukkit .form .window .FormWindowCustom ;
1515import cn .nukkit .form .window .FormWindowModal ;
1616import cn .nukkit .form .window .FormWindowSimple ;
17+ import ru .nukkitx .forms .CustomFormResponse ;
1718import ru .nukkitx .forms .Form ;
19+ import ru .nukkitx .forms .ModalFormResponse ;
20+ import ru .nukkitx .forms .SimpleFormResponse ;
1821
1922import java .util .ArrayList ;
23+ import java .util .List ;
2024
2125public class EventListener implements Listener {
2226
27+ @ SuppressWarnings ("deprecation" )
2328 @ EventHandler (priority = EventPriority .HIGH )
2429 public void formResponded (PlayerFormRespondedEvent event ) {
2530 Player player = event .getPlayer ();
@@ -35,27 +40,49 @@ public void formResponded(PlayerFormRespondedEvent event) {
3540 Object data ;
3641
3742 if (event .wasClosed ()) {
38- data = null ;
39- temp .handle (player , window , data , Form .paramsForm .get (player .getName ()));
43+ if (temp instanceof CustomFormResponse ){
44+ ((CustomFormResponse ) temp ).handle (player , window , null );
45+
46+ }else if (temp instanceof ModalFormResponse ) {
47+ ((ModalFormResponse ) temp ).handle (player , window , -1 );
48+
49+ }else if (temp instanceof SimpleFormResponse ){
50+ ((SimpleFormResponse ) temp ).handle (player , window , -1 );
51+
52+ }else temp .handle (player , window , null , Form .paramsForm .get (player .getName ()));
53+
4054 return ;
4155 }
4256
4357 if (window instanceof FormWindowSimple ) {
4458 data = ((FormResponseSimple ) response ).getClickedButtonId ();
45- temp .handle (player , window , data , Form .paramsForm .get (player .getName ()));
59+
60+ if (temp instanceof SimpleFormResponse )
61+ ((SimpleFormResponse ) temp ).handle (player , window , (int ) data );
62+ else
63+ temp .handle (player , window , data , Form .paramsForm .get (player .getName ()));
64+
4665 return ;
4766 }
4867
4968 if (window instanceof FormWindowCustom ) {
5069 data = new ArrayList <>(((FormResponseCustom ) response ).getResponses ().values ());
51- temp .handle (player , window , data , Form .paramsForm .get (player .getName ()));
70+
71+ if (temp instanceof CustomFormResponse )
72+ ((CustomFormResponse ) temp ).handle (player , window , (List <Object >)data );
73+ else
74+ temp .handle (player , window , data , Form .paramsForm .get (player .getName ()));
75+
5276 return ;
5377 }
5478
5579 if (window instanceof FormWindowModal ) {
5680 data = ((FormResponseModal ) response ).getClickedButtonId ();
57- temp .handle (player , window , data , Form .paramsForm .get (player .getName ()));
58- return ;
81+
82+ if (temp instanceof ModalFormResponse )
83+ ((ModalFormResponse ) temp ).handle (player , window , (int ) data );
84+ else
85+ temp .handle (player , window , data , Form .paramsForm .get (player .getName ()));
5986 }
6087 }
6188 }
0 commit comments