json-rpc-api-schema.json
edited
1{
2 "components": {
3 "schemas": {
4 "incoming_ip_ban": {
5 "type": "object",
6 "properties": {
7 "expires": {
8 "type": "string"
9 },
10 "ip": {
11 "type": "string"
12 },
13 "player": {
14 "$ref": "#/components/schemas/player"
15 },
16 "reason": {
17 "type": "string"
18 },
19 "source": {
20 "type": "string"
21 }
22 }
23 },
24 "ip_ban": {
25 "type": "object",
26 "properties": {
27 "expires": {
28 "type": "string"
29 },
30 "ip": {
31 "type": "string"
32 },
33 "reason": {
34 "type": "string"
35 },
36 "source": {
37 "type": "string"
38 }
39 }
40 },
41 "kick_player": {
42 "type": "object",
43 "properties": {
44 "message": {
45 "$ref": "#/components/schemas/message"
46 },
47 "players": {
48 "type": "array",
49 "items": {
50 "$ref": "#/components/schemas/player"
51 }
52 }
53 }
54 },
55 "message": {
56 "type": "object",
57 "properties": {
58 "literal": {
59 "type": "string"
60 },
61 "translatable": {
62 "type": "string"
63 },
64 "translatableParams": {
65 "type": "array",
66 "items": {
67 "type": "string"
68 }
69 }
70 }
71 },
72 "operator": {
73 "type": "object",
74 "properties": {
75 "bypassesPlayerLimit": {
76 "type": "boolean"
77 },
78 "permissionLevel": {
79 "type": "integer"
80 },
81 "player": {
82 "$ref": "#/components/schemas/player"
83 }
84 }
85 },
86 "player": {
87 "type": "object",
88 "properties": {
89 "id": {
90 "type": "string"
91 },
92 "name": {
93 "type": "string"
94 }
95 }
96 },
97 "server_state": {
98 "type": "object",
99 "properties": {
100 "players": {
101 "type": "array",
102 "items": {
103 "$ref": "#/components/schemas/player"
104 }
105 },
106 "started": {
107 "type": "boolean"
108 },
109 "version": {
110 "$ref": "#/components/schemas/version"
111 }
112 }
113 },
114 "system_message": {
115 "type": "object",
116 "properties": {
117 "message": {
118 "$ref": "#/components/schemas/message"
119 },
120 "overlay": {
121 "type": "boolean"
122 },
123 "receivingPlayers": {
124 "type": "array",
125 "items": {
126 "$ref": "#/components/schemas/player"
127 }
128 }
129 }
130 },
131 "typed_game_rule": {
132 "type": "object",
133 "properties": {
134 "type": {
135 "type": "string",
136 "enum": [
137 "integer",
138 "boolean"
139 ]
140 },
141 "key": {
142 "type": "string"
143 },
144 "value": {
145 "type": "string"
146 }
147 }
148 },
149 "untyped_game_rule": {
150 "type": "object",
151 "properties": {
152 "key": {
153 "type": "string"
154 },
155 "value": {
156 "type": "string"
157 }
158 }
159 },
160 "user_ban": {
161 "type": "object",
162 "properties": {
163 "expires": {
164 "type": "string"
165 },
166 "player": {
167 "$ref": "#/components/schemas/player"
168 },
169 "reason": {
170 "type": "string"
171 },
172 "source": {
173 "type": "string"
174 }
175 }
176 },
177 "version": {
178 "type": "object",
179 "properties": {
180 "name": {
181 "type": "string"
182 },
183 "protocol": {
184 "type": "integer"
185 }
186 }
187 }
188 }
189 },
190 "info": {
191 "title": "Minecraft Server JSON-RPC",
192 "version": "1.0.0"
193 },
194 "methods": [
195 {
196 "description": "Get the allowlist",
197 "name": "minecraft:allowlist",
198 "params": [],
199 "result": {
200 "name": "allowlist",
201 "schema": {
202 "type": "array",
203 "items": {
204 "$ref": "#/components/schemas/player"
205 }
206 }
207 }
208 },
209 {
210 "description": "Set the allowlist",
211 "name": "minecraft:allowlist/set",
212 "params": [
213 {
214 "name": "players",
215 "required": true,
216 "schema": {
217 "type": "array",
218 "items": {
219 "$ref": "#/components/schemas/player"
220 }
221 }
222 }
223 ],
224 "result": {
225 "name": "allowlist",
226 "schema": {
227 "type": "array",
228 "items": {
229 "$ref": "#/components/schemas/player"
230 }
231 }
232 }
233 },
234 {
235 "description": "Add players to allowlist",
236 "name": "minecraft:allowlist/add",
237 "params": [
238 {
239 "name": "add",
240 "required": true,
241 "schema": {
242 "type": "array",
243 "items": {
244 "$ref": "#/components/schemas/player"
245 }
246 }
247 }
248 ],
249 "result": {
250 "name": "allowlist",
251 "schema": {
252 "type": "array",
253 "items": {
254 "$ref": "#/components/schemas/player"
255 }
256 }
257 }
258 },
259 {
260 "description": "Remove players from allowlist",
261 "name": "minecraft:allowlist/remove",
262 "params": [
263 {
264 "name": "remove",
265 "required": true,
266 "schema": {
267 "type": "array",
268 "items": {
269 "$ref": "#/components/schemas/player"
270 }
271 }
272 }
273 ],
274 "result": {
275 "name": "allowlist",
276 "schema": {
277 "type": "array",
278 "items": {
279 "$ref": "#/components/schemas/player"
280 }
281 }
282 }
283 },
284 {
285 "description": "Clear all players in allowlist",
286 "name": "minecraft:allowlist/clear",
287 "params": [],
288 "result": {
289 "name": "allowlist",
290 "schema": {
291 "type": "array",
292 "items": {
293 "$ref": "#/components/schemas/player"
294 }
295 }
296 }
297 },
298 {
299 "description": "Get the ban list",
300 "name": "minecraft:bans",
301 "params": [],
302 "result": {
303 "name": "banlist",
304 "schema": {
305 "type": "array",
306 "items": {
307 "$ref": "#/components/schemas/user_ban"
308 }
309 }
310 }
311 },
312 {
313 "description": "Set the banlist",
314 "name": "minecraft:bans/set",
315 "params": [
316 {
317 "name": "bans",
318 "required": true,
319 "schema": {
320 "type": "array",
321 "items": {
322 "$ref": "#/components/schemas/user_ban"
323 }
324 }
325 }
326 ],
327 "result": {
328 "name": "banlist",
329 "schema": {
330 "type": "array",
331 "items": {
332 "$ref": "#/components/schemas/user_ban"
333 }
334 }
335 }
336 },
337 {
338 "description": "Add players to ban list",
339 "name": "minecraft:bans/add",
340 "params": [
341 {
342 "name": "add",
343 "required": true,
344 "schema": {
345 "type": "array",
346 "items": {
347 "$ref": "#/components/schemas/user_ban"
348 }
349 }
350 }
351 ],
352 "result": {
353 "name": "banlist",
354 "schema": {
355 "type": "array",
356 "items": {
357 "$ref": "#/components/schemas/user_ban"
358 }
359 }
360 }
361 },
362 {
363 "description": "Remove players from ban list",
364 "name": "minecraft:bans/remove",
365 "params": [
366 {
367 "name": "remove",
368 "required": true,
369 "schema": {
370 "type": "array",
371 "items": {
372 "$ref": "#/components/schemas/player"
373 }
374 }
375 }
376 ],
377 "result": {
378 "name": "banlist",
379 "schema": {
380 "type": "array",
381 "items": {
382 "$ref": "#/components/schemas/user_ban"
383 }
384 }
385 }
386 },
387 {
388 "description": "Clear all players in ban list",
389 "name": "minecraft:bans/clear",
390 "params": [],
391 "result": {
392 "name": "banlist",
393 "schema": {
394 "type": "array",
395 "items": {
396 "$ref": "#/components/schemas/user_ban"
397 }
398 }
399 }
400 },
401 {
402 "description": "Get the ip ban list",
403 "name": "minecraft:ip_bans",
404 "params": [],
405 "result": {
406 "name": "banlist",
407 "schema": {
408 "type": "array",
409 "items": {
410 "$ref": "#/components/schemas/player"
411 }
412 }
413 }
414 },
415 {
416 "description": "Set the ip banlist",
417 "name": "minecraft:ip_bans/set",
418 "params": [
419 {
420 "name": "banlist",
421 "required": true,
422 "schema": {
423 "type": "array",
424 "items": {
425 "$ref": "#/components/schemas/ip_ban"
426 }
427 }
428 }
429 ],
430 "result": {
431 "name": "banlist",
432 "schema": {
433 "type": "array",
434 "items": {
435 "$ref": "#/components/schemas/ip_ban"
436 }
437 }
438 }
439 },
440 {
441 "description": "Add ip to ban list",
442 "name": "minecraft:ip_bans/add",
443 "params": [
444 {
445 "name": "add",
446 "required": true,
447 "schema": {
448 "type": "array",
449 "items": {
450 "$ref": "#/components/schemas/incoming_ip_ban"
451 }
452 }
453 }
454 ],
455 "result": {
456 "name": "banlist",
457 "schema": {
458 "type": "array",
459 "items": {
460 "$ref": "#/components/schemas/ip_ban"
461 }
462 }
463 }
464 },
465 {
466 "description": "Remove ip from ban list",
467 "name": "minecraft:ip_bans/remove",
468 "params": [
469 {
470 "name": "ip",
471 "required": true,
472 "schema": {
473 "type": "array",
474 "items": {
475 "type": "string"
476 }
477 }
478 }
479 ],
480 "result": {
481 "name": "banlist",
482 "schema": {
483 "type": "array",
484 "items": {
485 "$ref": "#/components/schemas/ip_ban"
486 }
487 }
488 }
489 },
490 {
491 "description": "Clear all ips in ban list",
492 "name": "minecraft:ip_bans/clear",
493 "params": [],
494 "result": {
495 "name": "banlist",
496 "schema": {
497 "type": "array",
498 "items": {
499 "$ref": "#/components/schemas/ip_ban"
500 }
501 }
502 }
503 },
504 {
505 "description": "Get all connected players",
506 "name": "minecraft:players",
507 "params": [],
508 "result": {
509 "name": "players",
510 "schema": {
511 "type": "array",
512 "items": {
513 "$ref": "#/components/schemas/player"
514 }
515 }
516 }
517 },
518 {
519 "description": "Kick players",
520 "name": "minecraft:players/kick",
521 "params": [
522 {
523 "name": "kick",
524 "required": true,
525 "schema": {
526 "type": "array",
527 "items": {
528 "$ref": "#/components/schemas/kick_player"
529 }
530 }
531 }
532 ],
533 "result": {
534 "name": "kicked",
535 "schema": {
536 "type": "array",
537 "items": {
538 "$ref": "#/components/schemas/player"
539 }
540 }
541 }
542 },
543 {
544 "description": "Get all oped players",
545 "name": "minecraft:operators",
546 "params": [],
547 "result": {
548 "name": "operators",
549 "schema": {
550 "type": "array",
551 "items": {
552 "$ref": "#/components/schemas/operator"
553 }
554 }
555 }
556 },
557 {
558 "description": "Set all oped players",
559 "name": "minecraft:operators/set",
560 "params": [
561 {
562 "name": "operators",
563 "required": true,
564 "schema": {
565 "type": "array",
566 "items": {
567 "$ref": "#/components/schemas/operator"
568 }
569 }
570 }
571 ],
572 "result": {
573 "name": "operators",
574 "schema": {
575 "type": "array",
576 "items": {
577 "$ref": "#/components/schemas/operator"
578 }
579 }
580 }
581 },
582 {
583 "description": "Op players",
584 "name": "minecraft:operators/add",
585 "params": [
586 {
587 "name": "add",
588 "required": true,
589 "schema": {
590 "type": "array",
591 "items": {
592 "$ref": "#/components/schemas/operator"
593 }
594 }
595 }
596 ],
597 "result": {
598 "name": "operators",
599 "schema": {
600 "type": "array",
601 "items": {
602 "$ref": "#/components/schemas/operator"
603 }
604 }
605 }
606 },
607 {
608 "description": "Deop players",
609 "name": "minecraft:operators/remove",
610 "params": [
611 {
612 "name": "remove",
613 "required": true,
614 "schema": {
615 "type": "array",
616 "items": {
617 "$ref": "#/components/schemas/player"
618 }
619 }
620 }
621 ],
622 "result": {
623 "name": "operators",
624 "schema": {
625 "type": "array",
626 "items": {
627 "$ref": "#/components/schemas/operator"
628 }
629 }
630 }
631 },
632 {
633 "description": "Deop all players",
634 "name": "minecraft:operators/clear",
635 "params": [],
636 "result": {
637 "name": "operators",
638 "schema": {
639 "type": "array",
640 "items": {
641 "$ref": "#/components/schemas/operator"
642 }
643 }
644 }
645 },
646 {
647 "description": "Get server status",
648 "name": "minecraft:server/status",
649 "params": [],
650 "result": {
651 "name": "status",
652 "schema": {
653 "$ref": "#/components/schemas/server_state"
654 }
655 }
656 },
657 {
658 "description": "Save server state",
659 "name": "minecraft:server/save",
660 "params": [
661 {
662 "name": "flush",
663 "required": true,
664 "schema": {
665 "type": "boolean"
666 }
667 }
668 ],
669 "result": {
670 "name": "saving",
671 "schema": {
672 "type": "boolean"
673 }
674 }
675 },
676 {
677 "description": "Stop server",
678 "name": "minecraft:server/stop",
679 "params": [],
680 "result": {
681 "name": "stopping",
682 "schema": {
683 "type": "boolean"
684 }
685 }
686 },
687 {
688 "description": "Send a system message",
689 "name": "minecraft:server/system_message",
690 "params": [
691 {
692 "name": "message",
693 "required": true,
694 "schema": {
695 "$ref": "#/components/schemas/system_message"
696 }
697 }
698 ],
699 "result": {
700 "name": "sent",
701 "schema": {
702 "type": "boolean"
703 }
704 }
705 },
706 {
707 "description": "Get whether automatic world saving is enabled on the server",
708 "name": "minecraft:serversettings/autosave",
709 "params": [],
710 "result": {
711 "name": "enabled",
712 "schema": {
713 "type": "boolean"
714 }
715 }
716 },
717 {
718 "description": "Enable or disable automatic world saving on the server",
719 "name": "minecraft:serversettings/autosave/set",
720 "params": [
721 {
722 "name": "enable",
723 "required": true,
724 "schema": {
725 "type": "boolean"
726 }
727 }
728 ],
729 "result": {
730 "name": "enabled",
731 "schema": {
732 "type": "boolean"
733 }
734 }
735 },
736 {
737 "description": "Get the current difficulty level of the server",
738 "name": "minecraft:serversettings/difficulty",
739 "params": [],
740 "result": {
741 "name": "difficulty",
742 "schema": {
743 "type": "string"
744 }
745 }
746 },
747 {
748 "description": "Set the difficulty level of the server",
749 "name": "minecraft:serversettings/difficulty/set",
750 "params": [
751 {
752 "name": "difficulty",
753 "required": true,
754 "schema": {
755 "type": "string"
756 }
757 }
758 ],
759 "result": {
760 "name": "difficulty",
761 "schema": {
762 "type": "string"
763 }
764 }
765 },
766 {
767 "description": "Get whether allowlist enforcement is enabled (kicks players immediately when removed from allowlist)",
768 "name": "minecraft:serversettings/enforce_allowlist",
769 "params": [],
770 "result": {
771 "name": "enforced",
772 "schema": {
773 "type": "boolean"
774 }
775 }
776 },
777 {
778 "description": "Enable or disable allowlist enforcement (when enabled, players are kicked immediately upon removal from allowlist)",
779 "name": "minecraft:serversettings/enforce_allowlist/set",
780 "params": [
781 {
782 "name": "enforce",
783 "required": true,
784 "schema": {
785 "type": "boolean"
786 }
787 }
788 ],
789 "result": {
790 "name": "enforced",
791 "schema": {
792 "type": "boolean"
793 }
794 }
795 },
796 {
797 "description": "Get whether the allowlist is enabled on the server",
798 "name": "minecraft:serversettings/use_allowlist",
799 "params": [],
800 "result": {
801 "name": "used",
802 "schema": {
803 "type": "boolean"
804 }
805 }
806 },
807 {
808 "description": "Enable or disable the allowlist on the server (controls whether only allowlisted players can join)",
809 "name": "minecraft:serversettings/use_allowlist/set",
810 "params": [
811 {
812 "name": "use",
813 "required": true,
814 "schema": {
815 "type": "boolean"
816 }
817 }
818 ],
819 "result": {
820 "name": "used",
821 "schema": {
822 "type": "boolean"
823 }
824 }
825 },
826 {
827 "description": "Get the maximum number of players allowed to connect to the server",
828 "name": "minecraft:serversettings/max_players",
829 "params": [],
830 "result": {
831 "name": "max",
832 "schema": {
833 "type": "integer"
834 }
835 }
836 },
837 {
838 "description": "Set the maximum number of players allowed to connect to the server",
839 "name": "minecraft:serversettings/max_players/set",
840 "params": [
841 {
842 "name": "max",
843 "required": true,
844 "schema": {
845 "type": "integer"
846 }
847 }
848 ],
849 "result": {
850 "name": "max",
851 "schema": {
852 "type": "integer"
853 }
854 }
855 },
856 {
857 "description": "Get the number of seconds before the game is automatically paused when no players are online",
858 "name": "minecraft:serversettings/pause_when_empty_seconds",
859 "params": [],
860 "result": {
861 "name": "seconds",
862 "schema": {
863 "type": "integer"
864 }
865 }
866 },
867 {
868 "description": "Set the number of seconds before the game is automatically paused when no players are online",
869 "name": "minecraft:serversettings/pause_when_empty_seconds/set",
870 "params": [
871 {
872 "name": "seconds",
873 "required": true,
874 "schema": {
875 "type": "integer"
876 }
877 }
878 ],
879 "result": {
880 "name": "seconds",
881 "schema": {
882 "type": "integer"
883 }
884 }
885 },
886 {
887 "description": "Get the number of seconds before idle players are automatically kicked from the server",
888 "name": "minecraft:serversettings/player_idle_timeout",
889 "params": [],
890 "result": {
891 "name": "seconds",
892 "schema": {
893 "type": "integer"
894 }
895 }
896 },
897 {
898 "description": "Set the number of seconds before idle players are automatically kicked from the server",
899 "name": "minecraft:serversettings/player_idle_timeout/set",
900 "params": [
901 {
902 "name": "seconds",
903 "required": true,
904 "schema": {
905 "type": "integer"
906 }
907 }
908 ],
909 "result": {
910 "name": "seconds",
911 "schema": {
912 "type": "integer"
913 }
914 }
915 },
916 {
917 "description": "Get whether flight is allowed for players in Survival mode",
918 "name": "minecraft:serversettings/allow_flight",
919 "params": [],
920 "result": {
921 "name": "allowed",
922 "schema": {
923 "type": "boolean"
924 }
925 }
926 },
927 {
928 "description": "Allow or disallow flight for players in Survival mode",
929 "name": "minecraft:serversettings/allow_flight/set",
930 "params": [
931 {
932 "name": "allow",
933 "required": true,
934 "schema": {
935 "type": "boolean"
936 }
937 }
938 ],
939 "result": {
940 "name": "allowed",
941 "schema": {
942 "type": "boolean"
943 }
944 }
945 },
946 {
947 "description": "Get the server's message of the day displayed to players",
948 "name": "minecraft:serversettings/motd",
949 "params": [],
950 "result": {
951 "name": "message",
952 "schema": {
953 "type": "string"
954 }
955 }
956 },
957 {
958 "description": "Set the server's message of the day displayed to players",
959 "name": "minecraft:serversettings/motd/set",
960 "params": [
961 {
962 "name": "message",
963 "required": true,
964 "schema": {
965 "type": "string"
966 }
967 }
968 ],
969 "result": {
970 "name": "message",
971 "schema": {
972 "type": "string"
973 }
974 }
975 },
976 {
977 "description": "Get the spawn protection radius in blocks (only operators can edit within this area)",
978 "name": "minecraft:serversettings/spawn_protection_radius",
979 "params": [],
980 "result": {
981 "name": "radius",
982 "schema": {
983 "type": "integer"
984 }
985 }
986 },
987 {
988 "description": "Set the spawn protection radius in blocks (only operators can edit within this area)",
989 "name": "minecraft:serversettings/spawn_protection_radius/set",
990 "params": [
991 {
992 "name": "radius",
993 "required": true,
994 "schema": {
995 "type": "integer"
996 }
997 }
998 ],
999 "result": {
1000 "name": "radius",
1001 "schema": {
1002 "type": "integer"
1003 }
1004 }
1005 },
1006 {
1007 "description": "Get whether players are forced to use the server's default game mode",
1008 "name": "minecraft:serversettings/force_game_mode",
1009 "params": [],
1010 "result": {
1011 "name": "forced",
1012 "schema": {
1013 "type": "boolean"
1014 }
1015 }
1016 },
1017 {
1018 "description": "Enable or disable forcing players to use the server's default game mode",
1019 "name": "minecraft:serversettings/force_game_mode/set",
1020 "params": [
1021 {
1022 "name": "force",
1023 "required": true,
1024 "schema": {
1025 "type": "boolean"
1026 }
1027 }
1028 ],
1029 "result": {
1030 "name": "forced",
1031 "schema": {
1032 "type": "boolean"
1033 }
1034 }
1035 },
1036 {
1037 "description": "Get the server's default game mode",
1038 "name": "minecraft:serversettings/game_mode",
1039 "params": [],
1040 "result": {
1041 "name": "mode",
1042 "schema": {
1043 "type": "string"
1044 }
1045 }
1046 },
1047 {
1048 "description": "Set the server's default game mode",
1049 "name": "minecraft:serversettings/game_mode/set",
1050 "params": [
1051 {
1052 "name": "mode",
1053 "required": true,
1054 "schema": {
1055 "type": "string"
1056 }
1057 }
1058 ],
1059 "result": {
1060 "name": "mode",
1061 "schema": {
1062 "type": "string"
1063 }
1064 }
1065 },
1066 {
1067 "description": "Get the server's view distance in chunks",
1068 "name": "minecraft:serversettings/view_distance",
1069 "params": [],
1070 "result": {
1071 "name": "distance",
1072 "schema": {
1073 "type": "integer"
1074 }
1075 }
1076 },
1077 {
1078 "description": "Set the server's view distance in chunks",
1079 "name": "minecraft:serversettings/view_distance/set",
1080 "params": [
1081 {
1082 "name": "distance",
1083 "required": true,
1084 "schema": {
1085 "type": "integer"
1086 }
1087 }
1088 ],
1089 "result": {
1090 "name": "distance",
1091 "schema": {
1092 "type": "integer"
1093 }
1094 }
1095 },
1096 {
1097 "description": "Get the server's simulation distance in chunks",
1098 "name": "minecraft:serversettings/simulation_distance",
1099 "params": [],
1100 "result": {
1101 "name": "distance",
1102 "schema": {
1103 "type": "integer"
1104 }
1105 }
1106 },
1107 {
1108 "description": "Set the server's simulation distance in chunks",
1109 "name": "minecraft:serversettings/simulation_distance/set",
1110 "params": [
1111 {
1112 "name": "distance",
1113 "required": true,
1114 "schema": {
1115 "type": "integer"
1116 }
1117 }
1118 ],
1119 "result": {
1120 "name": "distance",
1121 "schema": {
1122 "type": "integer"
1123 }
1124 }
1125 },
1126 {
1127 "description": "Get whether the server accepts player transfers from other servers",
1128 "name": "minecraft:serversettings/accept_transfers",
1129 "params": [],
1130 "result": {
1131 "name": "accepted",
1132 "schema": {
1133 "type": "boolean"
1134 }
1135 }
1136 },
1137 {
1138 "description": "Enable or disable accepting player transfers from other servers",
1139 "name": "minecraft:serversettings/accept_transfers/set",
1140 "params": [
1141 {
1142 "name": "accept",
1143 "required": true,
1144 "schema": {
1145 "type": "boolean"
1146 }
1147 }
1148 ],
1149 "result": {
1150 "name": "accepted",
1151 "schema": {
1152 "type": "boolean"
1153 }
1154 }
1155 },
1156 {
1157 "description": "Get the interval in seconds between server status heartbeats",
1158 "name": "minecraft:serversettings/status_heartbeat_interval",
1159 "params": [],
1160 "result": {
1161 "name": "seconds",
1162 "schema": {
1163 "type": "integer"
1164 }
1165 }
1166 },
1167 {
1168 "description": "Set the interval in seconds between server status heartbeats",
1169 "name": "minecraft:serversettings/status_heartbeat_interval/set",
1170 "params": [
1171 {
1172 "name": "seconds",
1173 "required": true,
1174 "schema": {
1175 "type": "integer"
1176 }
1177 }
1178 ],
1179 "result": {
1180 "name": "seconds",
1181 "schema": {
1182 "type": "integer"
1183 }
1184 }
1185 },
1186 {
1187 "description": "Get the permission level required for operator commands",
1188 "name": "minecraft:serversettings/operator_user_permission_level",
1189 "params": [],
1190 "result": {
1191 "name": "level",
1192 "schema": {
1193 "type": "integer"
1194 }
1195 }
1196 },
1197 {
1198 "description": "Set the permission level required for operator commands",
1199 "name": "minecraft:serversettings/operator_user_permission_level/set",
1200 "params": [
1201 {
1202 "name": "level",
1203 "required": true,
1204 "schema": {
1205 "type": "integer"
1206 }
1207 }
1208 ],
1209 "result": {
1210 "name": "level",
1211 "schema": {
1212 "type": "integer"
1213 }
1214 }
1215 },
1216 {
1217 "description": "Get whether the server hides online player information from status queries",
1218 "name": "minecraft:serversettings/hide_online_players",
1219 "params": [],
1220 "result": {
1221 "name": "hidden",
1222 "schema": {
1223 "type": "boolean"
1224 }
1225 }
1226 },
1227 {
1228 "description": "Enable or disable hiding online player information from status queries",
1229 "name": "minecraft:serversettings/hide_online_players/set",
1230 "params": [
1231 {
1232 "name": "hide",
1233 "required": true,
1234 "schema": {
1235 "type": "boolean"
1236 }
1237 }
1238 ],
1239 "result": {
1240 "name": "hidden",
1241 "schema": {
1242 "type": "boolean"
1243 }
1244 }
1245 },
1246 {
1247 "description": "Get whether the server responds to connection status requests",
1248 "name": "minecraft:serversettings/status_replies",
1249 "params": [],
1250 "result": {
1251 "name": "enabled",
1252 "schema": {
1253 "type": "boolean"
1254 }
1255 }
1256 },
1257 {
1258 "description": "Enable or disable the server responding to connection status requests",
1259 "name": "minecraft:serversettings/status_replies/set",
1260 "params": [
1261 {
1262 "name": "enable",
1263 "required": true,
1264 "schema": {
1265 "type": "boolean"
1266 }
1267 }
1268 ],
1269 "result": {
1270 "name": "enabled",
1271 "schema": {
1272 "type": "boolean"
1273 }
1274 }
1275 },
1276 {
1277 "description": "Get the entity broadcast range as a percentage",
1278 "name": "minecraft:serversettings/entity_broadcast_range",
1279 "params": [],
1280 "result": {
1281 "name": "percentage_points",
1282 "schema": {
1283 "type": "integer"
1284 }
1285 }
1286 },
1287 {
1288 "description": "Set the entity broadcast range as a percentage",
1289 "name": "minecraft:serversettings/entity_broadcast_range/set",
1290 "params": [
1291 {
1292 "name": "percentage_points",
1293 "required": true,
1294 "schema": {
1295 "type": "integer"
1296 }
1297 }
1298 ],
1299 "result": {
1300 "name": "percentage_points",
1301 "schema": {
1302 "type": "integer"
1303 }
1304 }
1305 },
1306 {
1307 "description": "Get the available game rule keys and their current values",
1308 "name": "minecraft:gamerules",
1309 "params": [],
1310 "result": {
1311 "name": "gamerules",
1312 "schema": {
1313 "type": "array",
1314 "items": {
1315 "$ref": "#/components/schemas/typed_game_rule"
1316 }
1317 }
1318 }
1319 },
1320 {
1321 "description": "Update game rule value",
1322 "name": "minecraft:gamerules/update",
1323 "params": [
1324 {
1325 "name": "gamerule",
1326 "required": true,
1327 "schema": {
1328 "$ref": "#/components/schemas/untyped_game_rule"
1329 }
1330 }
1331 ],
1332 "result": {
1333 "name": "gamerule",
1334 "schema": {
1335 "$ref": "#/components/schemas/typed_game_rule"
1336 }
1337 }
1338 },
1339 {
1340 "description": "Server started",
1341 "name": "notification:server/started",
1342 "params": []
1343 },
1344 {
1345 "description": "Server shutting down",
1346 "name": "notification:server/stopping",
1347 "params": []
1348 },
1349 {
1350 "description": "Server save started",
1351 "name": "notification:server/saving",
1352 "params": []
1353 },
1354 {
1355 "description": "Server save completed",
1356 "name": "notification:server/saved",
1357 "params": []
1358 },
1359 {
1360 "description": "Player joined",
1361 "name": "notification:players/joined",
1362 "params": [
1363 {
1364 "name": "player",
1365 "required": true,
1366 "schema": {
1367 "$ref": "#/components/schemas/player"
1368 }
1369 }
1370 ]
1371 },
1372 {
1373 "description": "Player left",
1374 "name": "notification:players/left",
1375 "params": [
1376 {
1377 "name": "player",
1378 "required": true,
1379 "schema": {
1380 "$ref": "#/components/schemas/player"
1381 }
1382 }
1383 ]
1384 },
1385 {
1386 "description": "Player was oped",
1387 "name": "notification:operators/added",
1388 "params": [
1389 {
1390 "name": "player",
1391 "required": true,
1392 "schema": {
1393 "$ref": "#/components/schemas/operator"
1394 }
1395 }
1396 ]
1397 },
1398 {
1399 "description": "Player was deoped",
1400 "name": "notification:operators/removed",
1401 "params": [
1402 {
1403 "name": "player",
1404 "required": true,
1405 "schema": {
1406 "$ref": "#/components/schemas/operator"
1407 }
1408 }
1409 ]
1410 },
1411 {
1412 "description": "Player was added to allowlist",
1413 "name": "notification:allowlist/added",
1414 "params": [
1415 {
1416 "name": "player",
1417 "required": true,
1418 "schema": {
1419 "$ref": "#/components/schemas/player"
1420 }
1421 }
1422 ]
1423 },
1424 {
1425 "description": "Player was removed from allowlist",
1426 "name": "notification:allowlist/removed",
1427 "params": [
1428 {
1429 "name": "player",
1430 "required": true,
1431 "schema": {
1432 "$ref": "#/components/schemas/player"
1433 }
1434 }
1435 ]
1436 },
1437 {
1438 "description": "Ip was added to ip ban list",
1439 "name": "notification:ip_bans/added",
1440 "params": [
1441 {
1442 "name": "player",
1443 "required": true,
1444 "schema": {
1445 "$ref": "#/components/schemas/ip_ban"
1446 }
1447 }
1448 ]
1449 },
1450 {
1451 "description": "Ip was removed from ip ban list",
1452 "name": "notification:ip_bans/removed",
1453 "params": [
1454 {
1455 "name": "player",
1456 "required": true,
1457 "schema": {
1458 "type": "string"
1459 }
1460 }
1461 ]
1462 },
1463 {
1464 "description": "Player was added to ban list",
1465 "name": "notification:bans/added",
1466 "params": [
1467 {
1468 "name": "player",
1469 "required": true,
1470 "schema": {
1471 "$ref": "#/components/schemas/user_ban"
1472 }
1473 }
1474 ]
1475 },
1476 {
1477 "description": "Player was removed from ban list",
1478 "name": "notification:bans/removed",
1479 "params": [
1480 {
1481 "name": "player",
1482 "required": true,
1483 "schema": {
1484 "$ref": "#/components/schemas/player"
1485 }
1486 }
1487 ]
1488 },
1489 {
1490 "description": "Gamerule was changed",
1491 "name": "notification:gamerules/updated",
1492 "params": [
1493 {
1494 "name": "gamerule",
1495 "required": true,
1496 "schema": {
1497 "$ref": "#/components/schemas/typed_game_rule"
1498 }
1499 }
1500 ]
1501 },
1502 {
1503 "description": "Server status heartbeat",
1504 "name": "notification:server/status",
1505 "params": [
1506 {
1507 "name": "status",
1508 "required": true,
1509 "schema": {
1510 "$ref": "#/components/schemas/server_state"
1511 }
1512 }
1513 ]
1514 }
1515 ],
1516 "openrpc": "1.3.2"
1517}