77import org .bukkit .Bukkit ;
88import org .bukkit .ChatColor ;
99import org .bukkit .entity .Player ;
10+ import org .bukkit .scheduler .BukkitScheduler ;
1011
1112import java .util .Map ;
1213import java .util .concurrent .CompletableFuture ;
@@ -25,7 +26,7 @@ public class ModreqCommand implements CommandHandler {
2526 private RequestTable reqTable ;
2627 private Map <String , String > environment ;
2728 private Configuration configuration ;
28- private CompletableFuture < Void > future ;
29+ private BukkitScheduler bukkitScheduler = Bukkit . getScheduler () ;
2930
3031 /**
3132 * Creates a new {@code ModreqCommand} instance.
@@ -38,14 +39,12 @@ public ModreqCommand(ModReq plugin) {
3839 this .reqTable = plugin .getReqTable ();
3940 this .environment = plugin .getEnvironment ();
4041 this .configuration = plugin .getConfiguration ();
41- this .future = plugin .getCompleteableFuture ();
4242 }
4343
4444 @ Override
4545 public boolean execute (Player player , String name , String [] args ) {
4646
4747 reqTable .getNumRequestFromUser (player .getUniqueId ()).thenAccept (numRequests -> {
48- Bukkit .getScheduler ().runTask (plugin , () -> {
4948 if (numRequests < configuration .MAX_REQUESTS ) {
5049 Request req = new Request ();
5150 req .setPlayerUUID (player .getUniqueId ());
@@ -64,15 +63,19 @@ public boolean execute(Player player, String name, String[] args) {
6463 req .setRequestLocation (location );
6564 req .setStatus (Request .RequestStatus .OPEN );
6665
67- reqTable .save (req );
68- environment .put ("request_id" , String .valueOf (req .getId ()));
69- messageMods (configuration .MOD__NEW_REQUEST , environment , configuration );
70- sendMessage (player , configuration .GENERAL__REQUEST_FILED , environment , configuration );
66+ reqTable .saveAndGetId (req ).thenAccept (savedReq -> {
67+ bukkitScheduler .runTask (plugin , () -> {
68+ environment .put ("request_id" , String .valueOf (req .getId ()));
69+ messageMods (configuration .MOD__NEW_REQUEST , environment , configuration );
70+ sendMessage (player , configuration .GENERAL__REQUEST_FILED , environment , configuration );
71+ });
72+ });
7173 } else {
72- environment .put ("max_requests" , Integer .toString (configuration .MAX_REQUESTS ));
73- sendMessage (player , configuration .GENERAL__MAX_REQUESTS , environment , configuration );
74+ bukkitScheduler .runTask (plugin , () -> {
75+ environment .put ("max_requests" , Integer .toString (configuration .MAX_REQUESTS ));
76+ sendMessage (player , configuration .GENERAL__MAX_REQUESTS , environment , configuration );
77+ });
7478 }
75- });
7679 });
7780 return true ;
7881 }
0 commit comments