Skip to content

Commit 9fa7689

Browse files
committed
feat(navigator): ✨ enhance warp menu functionality by allowing custom back menu navigation
1 parent dfe4e24 commit 9fa7689

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

src/main/java/net/buildtheearth/modules/navigation/components/warps/WarpsComponent.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
import net.buildtheearth.modules.network.NetworkModule;
1616
import net.buildtheearth.modules.network.api.OpenStreetMapAPI;
1717
import net.buildtheearth.modules.network.model.BuildTeam;
18-
import net.buildtheearth.modules.network.model.Continent;
1918
import net.buildtheearth.utils.ChatHelper;
2019
import net.buildtheearth.utils.GeometricUtils;
2120
import net.buildtheearth.utils.geo.CoordinateConversion;
21+
import net.buildtheearth.utils.menus.AbstractMenu;
2222
import org.bukkit.Bukkit;
2323
import org.bukkit.Location;
2424
import org.bukkit.NamespacedKey;
@@ -230,13 +230,13 @@ public static void openWarpMenu(@NotNull Player player) {
230230
openWarpMenu(player, NetworkModule.getInstance().getBuildTeam(), null);
231231
}
232232

233-
public static void openWarpMenu(@NotNull Player player, @NotNull BuildTeam buildTeam, @Nullable Continent continent) {
233+
public static void openWarpMenu(@NotNull Player player, @NotNull BuildTeam buildTeam, @Nullable AbstractMenu menu) {
234234
int warpGroupCount = buildTeam.getWarpGroups().size();
235235

236236
switch (warpGroupCount) {
237237
case 0 -> player.sendMessage(ChatHelper.getErrorString("This server does not have any warps yet!"));
238238
case 1 -> new WarpMenu(player, buildTeam.getWarpGroups().getFirst(), false, true);
239-
default -> new WarpGroupMenu(player, buildTeam, continent != null, true, continent);
239+
default -> new WarpGroupMenu(player, buildTeam, menu != null, true, menu);
240240
}
241241
}
242242
}

src/main/java/net/buildtheearth/modules/navigation/components/warps/menu/WarpGroupMenu.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@
44
import net.buildtheearth.BuildTeamTools;
55
import net.buildtheearth.modules.navigation.NavigationModule;
66
import net.buildtheearth.modules.navigation.components.warps.model.WarpGroup;
7-
import net.buildtheearth.modules.navigation.menu.CountrySelectorMenu;
87
import net.buildtheearth.modules.network.NetworkModule;
98
import net.buildtheearth.modules.network.model.BuildTeam;
10-
import net.buildtheearth.modules.network.model.Continent;
119
import net.buildtheearth.modules.network.model.Permissions;
1210
import net.buildtheearth.utils.ChatHelper;
1311
import net.buildtheearth.utils.CustomHeads;
@@ -16,6 +14,7 @@
1614
import net.buildtheearth.utils.MenuItems;
1715
import net.buildtheearth.utils.io.ConfigPaths;
1816
import net.buildtheearth.utils.io.ConfigUtil;
17+
import net.buildtheearth.utils.menus.AbstractMenu;
1918
import net.buildtheearth.utils.menus.AbstractPaginatedMenu;
2019
import org.bukkit.entity.Player;
2120
import org.ipvp.canvas.mask.BinaryMask;
@@ -36,7 +35,7 @@ public class WarpGroupMenu extends AbstractPaginatedMenu {
3635
private final boolean hasBackItem;
3736
private final BuildTeam buildTeam;
3837
private int plusSlot = ALTERNATE_PLUS_SLOT;
39-
private Continent continent;
38+
private AbstractMenu backMenue;
4039

4140
/** In this menu the player can select a warp group to view the warps in each warp group.
4241
*
@@ -50,16 +49,16 @@ public WarpGroupMenu(Player menuPlayer, BuildTeam buildTeam, boolean hasBackItem
5049
this.buildTeam = buildTeam;
5150
}
5251

53-
public WarpGroupMenu(Player menuPlayer, BuildTeam buildTeam, boolean hasBackItem, boolean autoLoad, Continent continent) {
52+
public WarpGroupMenu(Player menuPlayer, BuildTeam buildTeam, boolean hasBackItem, boolean autoLoad, AbstractMenu menu) {
5453
this(menuPlayer, buildTeam, hasBackItem, autoLoad);
55-
this.continent = continent;
54+
this.backMenue = menu;
5655
}
5756

5857
@Override
5958
protected void setMenuItemsAsync() {
6059
if (hasBackItem) {
6160
ChatHelper.logDebug("Setting back item for warp group menu");
62-
setBackItem(BACK_ITEM_SLOT, new CountrySelectorMenu(getMenuPlayer(), continent, false));
61+
setBackItem(BACK_ITEM_SLOT, backMenue);
6362
}
6463
}
6564

src/main/java/net/buildtheearth/modules/navigation/menu/CountrySelectorMenu.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ protected void setPaginatedItemClickEventsAsync(@NotNull List<?> source) {
123123
if (clickInformation.getClickType().isRightClick() &&
124124
clickPlayer.hasPermission(Permissions.WARP_USE) &&
125125
!clickedRegion.getBuildTeam().getWarpGroups().isEmpty()) {
126-
WarpsComponent.openWarpMenu(clickPlayer, clickedRegion.getBuildTeam(), clickedRegion.getContinent());
126+
WarpsComponent.openWarpMenu(clickPlayer, clickedRegion.getBuildTeam(), this);
127127
} else {
128128
NavUtils.switchToTeam(clickedRegion.getBuildTeam(), clickPlayer);
129129
}

src/main/java/net/buildtheearth/modules/navigation/menu/MainMenu.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.buildtheearth.BuildTeamTools;
55
import net.buildtheearth.modules.navigation.NavUtils;
66
import net.buildtheearth.modules.navigation.components.warps.WarpsComponent;
7+
import net.buildtheearth.modules.network.NetworkModule;
78
import net.buildtheearth.utils.ChatHelper;
89
import net.buildtheearth.utils.Item;
910
import net.buildtheearth.utils.MenuItems;
@@ -116,7 +117,7 @@ protected void setItemClickEventsAsync() {
116117
if (clickInformation.getClickType().isRightClick()) {
117118
new ExploreMenu(clickPlayer, true);
118119
} else {
119-
WarpsComponent.openWarpMenu(clickPlayer);
120+
WarpsComponent.openWarpMenu(clickPlayer, NetworkModule.getInstance().getBuildTeam(), this);
120121
}
121122
});
122123
}

0 commit comments

Comments
 (0)