Added layers to menus and fixed several bugs (and temporarily removed MythicCraft repos)
This commit is contained in:
@@ -49,15 +49,32 @@ public interface MenuBuilder {
|
||||
/**
|
||||
* Add a component.
|
||||
*
|
||||
* @param layer The layer.
|
||||
* @param row The row of the top left corner.
|
||||
* @param column The column of the top left corner.
|
||||
* @param component The component.
|
||||
* @return The builder.
|
||||
*/
|
||||
MenuBuilder addComponent(int row,
|
||||
MenuBuilder addComponent(@NotNull MenuLayer layer,
|
||||
int row,
|
||||
int column,
|
||||
@NotNull GUIComponent component);
|
||||
|
||||
|
||||
/**
|
||||
* Add a component.
|
||||
*
|
||||
* @param row The row of the top left corner.
|
||||
* @param column The column of the top left corner.
|
||||
* @param component The component.
|
||||
* @return The builder.
|
||||
*/
|
||||
default MenuBuilder addComponent(final int row,
|
||||
final int column,
|
||||
@NotNull final GUIComponent component) {
|
||||
return this.addComponent(MenuLayer.BACKGROUND, row, column, component);
|
||||
}
|
||||
|
||||
/**
|
||||
* Run function to modify the builder.
|
||||
*
|
||||
@@ -73,7 +90,7 @@ public interface MenuBuilder {
|
||||
* @return The builder.
|
||||
*/
|
||||
default MenuBuilder setMask(@NotNull final FillerMask mask) {
|
||||
return this.addComponent(0, 0, mask);
|
||||
return this.addComponent(MenuLayer.BACKGROUND, 1, 1, mask);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -83,7 +100,7 @@ public interface MenuBuilder {
|
||||
* @return The builder.
|
||||
*/
|
||||
default MenuBuilder addPage(@NotNull final Page page) {
|
||||
return this.addComponent(0, 0, page);
|
||||
return this.addComponent(MenuLayer.TOP, 1, 1, page);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.willfp.eco.core.gui.menu;
|
||||
|
||||
/**
|
||||
* Different layers of the menu.
|
||||
*/
|
||||
public enum MenuLayer {
|
||||
/**
|
||||
* Right at the back.
|
||||
*/
|
||||
BACKGROUND,
|
||||
|
||||
/**
|
||||
* Second from the back.
|
||||
*/
|
||||
LOWER,
|
||||
|
||||
/**
|
||||
* In the middle (default).
|
||||
*/
|
||||
MIDDLE,
|
||||
|
||||
/**
|
||||
* Near the top.
|
||||
*/
|
||||
UPPER,
|
||||
|
||||
/**
|
||||
* At the absolute top.
|
||||
*/
|
||||
TOP
|
||||
}
|
||||
@@ -59,11 +59,10 @@ public final class PageChanger implements GUIComponent {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable
|
||||
Slot getSlotAt(final int row,
|
||||
final int column,
|
||||
@NotNull final Player player,
|
||||
@NotNull final Menu menu) {
|
||||
public @Nullable Slot getSlotAt(final int row,
|
||||
final int column,
|
||||
@NotNull final Player player,
|
||||
@NotNull final Menu menu) {
|
||||
int page = Page.getPage(player, menu);
|
||||
int maxPage = Page.getMaxPage(player, menu);
|
||||
|
||||
|
||||
@@ -129,6 +129,6 @@ public class FillerMask implements GUIComponent {
|
||||
@Override
|
||||
public @Nullable Slot getSlotAt(final int row,
|
||||
final int column) {
|
||||
return mask.get(row).get(column);
|
||||
return mask.get(row - 1).get(column - 1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user