22
33import com .alpsbte .alpslib .utils .ChatHelper ;
44import lombok .Getter ;
5+ import net .buildtheearth .buildteamtools .modules .navigation .NavigationModule ;
56import net .buildtheearth .buildteamtools .modules .navigation .components .warps .model .Warp ;
67import net .buildtheearth .buildteamtools .modules .navigation .components .warps .model .WarpGroup ;
78import net .buildtheearth .buildteamtools .modules .network .NetworkModule ;
@@ -70,9 +71,11 @@ public void createWarp(Player creator, Warp warp){
7071 @ Override
7172 public void onResponse (String response ) {
7273 // Update the cache
73- NetworkModule .getInstance ().updateCache ().thenRun (() ->
74- ChatHelper .sendSuccessfulMessage (creator , "Successfully created the warp %s!" , warp .getName ())
75- );
74+ NetworkModule .getInstance ().updateCache ().thenRun (() -> {
75+ ChatHelper .sendSuccessfulMessage (creator , "Successfully created the warp %s!" , warp .getName ());
76+ // Refresh BlueMap markers
77+ refreshBluemapMarkers ();
78+ });
7679 }
7780
7881 @ Override
@@ -94,9 +97,11 @@ public void createWarpGroup(Player creator, WarpGroup warpGroup){
9497 @ Override
9598 public void onResponse (String response ) {
9699 // Update the cache
97- NetworkModule .getInstance ().updateCache ().thenRun (() ->
98- ChatHelper .sendSuccessfulMessage (creator , "Successfully created the warp group %s!" , warpGroup .getName ())
99- );
100+ NetworkModule .getInstance ().updateCache ().thenRun (() -> {
101+ ChatHelper .sendSuccessfulMessage (creator , "Successfully created the warp group %s!" , warpGroup .getName ());
102+ // Refresh BlueMap markers
103+ refreshBluemapMarkers ();
104+ });
100105 }
101106
102107 @ Override
@@ -119,9 +124,11 @@ public void updateWarp(Player updater, Warp warp){
119124 @ Override
120125 public void onResponse (String response ) {
121126 // Update the cache
122- NetworkModule .getInstance ().updateCache ().thenRun (() ->
123- ChatHelper .sendSuccessfulMessage (updater , "Successfully updated the warp %s!" , warp .getName ())
124- ).exceptionally (e -> {
127+ NetworkModule .getInstance ().updateCache ().thenRun (() -> {
128+ ChatHelper .sendSuccessfulMessage (updater , "Successfully updated the warp %s!" , warp .getName ());
129+ // Refresh BlueMap markers
130+ refreshBluemapMarkers ();
131+ }).exceptionally (e -> {
125132 updater .sendMessage (ChatHelper .getErrorString ("Something went wrong while updating the warp %s! Please take a look at the console." , warp .getName ()));
126133 e .printStackTrace ();
127134 return null ;
@@ -147,9 +154,11 @@ public void updateWarpGroup(Player updater, WarpGroup warpGroup){
147154 @ Override
148155 public void onResponse (String response ) {
149156 // Update the cache
150- NetworkModule .getInstance ().updateCache ().thenRun (() ->
151- ChatHelper .sendSuccessfulMessage (updater , "Successfully updated the warp group %s!" , warpGroup .getName ())
152- ).exceptionally (e -> {
157+ NetworkModule .getInstance ().updateCache ().thenRun (() -> {
158+ ChatHelper .sendSuccessfulMessage (updater , "Successfully updated the warp group %s!" , warpGroup .getName ());
159+ // Refresh BlueMap markers
160+ refreshBluemapMarkers ();
161+ }).exceptionally (e -> {
153162 updater .sendMessage (ChatHelper .getErrorString ("Something went wrong while updating the warp group %s! Please take a look at the console." , warpGroup .getName ()));
154163 e .printStackTrace ();
155164 return null ;
@@ -175,9 +184,11 @@ public void deleteWarp(Player deleter, Warp warp){
175184 @ Override
176185 public void onResponse (String response ) {
177186 // Update the cache
178- NetworkModule .getInstance ().updateCache ().thenRun (() ->
179- ChatHelper .sendSuccessfulMessage (deleter , "Successfully deleted the warp %s!" , warp .getName ())
180- );
187+ NetworkModule .getInstance ().updateCache ().thenRun (() -> {
188+ ChatHelper .sendSuccessfulMessage (deleter , "Successfully deleted the warp %s!" , warp .getName ());
189+ // Refresh BlueMap markers
190+ refreshBluemapMarkers ();
191+ });
181192 }
182193
183194 @ Override
@@ -199,9 +210,11 @@ public void deleteWarpGroup(Player deleter, WarpGroup warpGroup){
199210 @ Override
200211 public void onResponse (String response ) {
201212 // Update the cache
202- NetworkModule .getInstance ().updateCache ().thenRun (() ->
203- ChatHelper .sendSuccessfulMessage (deleter , "Successfully deleted the warp group %s!" , warpGroup .getName ())
204- );
213+ NetworkModule .getInstance ().updateCache ().thenRun (() -> {
214+ ChatHelper .sendSuccessfulMessage (deleter , "Successfully deleted the warp group %s!" , warpGroup .getName ());
215+ // Refresh BlueMap markers
216+ refreshBluemapMarkers ();
217+ });
205218 }
206219
207220 @ Override
@@ -212,4 +225,18 @@ public void onFailure(IOException e) {
212225 });
213226 }
214227
228+ /**
229+ * Refreshes BlueMap markers for all warp groups.
230+ * <p>
231+ * This method is called after any warp or warp group is created, updated, or deleted
232+ * to ensure the BlueMap display stays in sync with the current state.
233+ * </p>
234+ */
235+ private void refreshBluemapMarkers () {
236+ if (NavigationModule .getInstance ().getBluemapComponent () != null
237+ && NavigationModule .getInstance ().getBluemapComponent ().isEnabled ()) {
238+ NavigationModule .getInstance ().getBluemapComponent ().refreshAllMarkers ();
239+ }
240+ }
241+
215242}
0 commit comments