diff --git a/eco-api/src/main/java/com/willfp/eco/core/gui/GUIFactory.java b/eco-api/src/main/java/com/willfp/eco/core/gui/GUIFactory.java index 59e9591d..d13c794e 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/gui/GUIFactory.java +++ b/eco-api/src/main/java/com/willfp/eco/core/gui/GUIFactory.java @@ -1,7 +1,7 @@ package com.willfp.eco.core.gui; -import com.willfp.eco.core.gui.menu.Menu; -import com.willfp.eco.core.gui.slot.Slot; +import com.willfp.eco.core.gui.menu.MenuBuilder; +import com.willfp.eco.core.gui.slot.SlotBuilder; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; @@ -15,7 +15,7 @@ public interface GUIFactory { * @param provider The provider. * @return The builder. */ - Slot.Builder createSlotBuilder(@NotNull Function provider); + SlotBuilder createSlotBuilder(@NotNull Function provider); /** * Create menu builder. @@ -23,5 +23,5 @@ public interface GUIFactory { * @param rows The amount of rows. * @return The builder. */ - Menu.Builder createMenuBuilder(int rows); + MenuBuilder createMenuBuilder(int rows); } diff --git a/eco-api/src/main/java/com/willfp/eco/core/gui/menu/Menu.java b/eco-api/src/main/java/com/willfp/eco/core/gui/menu/Menu.java index 810f493d..18ef119b 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/gui/menu/Menu.java +++ b/eco-api/src/main/java/com/willfp/eco/core/gui/menu/Menu.java @@ -1,15 +1,11 @@ package com.willfp.eco.core.gui.menu; import com.willfp.eco.core.Eco; -import com.willfp.eco.core.gui.slot.FillerMask; import com.willfp.eco.core.gui.slot.Slot; import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.inventory.Inventory; import org.jetbrains.annotations.NotNull; -import java.util.function.Consumer; - public interface Menu { /** * Get the amount of rows. @@ -49,21 +45,7 @@ public interface Menu { * @param rows The rows. * @return The builder. */ - static Builder builder(final int rows) { + static MenuBuilder builder(final int rows) { return Eco.getHandler().getGUIFactory().createMenuBuilder(rows); } - - interface Builder { - Builder setTitle(@NotNull String title); - - Builder setSlot(int row, - int column, - @NotNull Slot slot); - - Builder setMask(@NotNull FillerMask mask); - - Builder onClose(@NotNull Consumer action); - - Menu build(); - } } diff --git a/eco-api/src/main/java/com/willfp/eco/core/gui/menu/MenuBuilder.java b/eco-api/src/main/java/com/willfp/eco/core/gui/menu/MenuBuilder.java new file mode 100644 index 00000000..b019df51 --- /dev/null +++ b/eco-api/src/main/java/com/willfp/eco/core/gui/menu/MenuBuilder.java @@ -0,0 +1,22 @@ +package com.willfp.eco.core.gui.menu; + +import com.willfp.eco.core.gui.slot.FillerMask; +import com.willfp.eco.core.gui.slot.Slot; +import org.bukkit.event.inventory.InventoryCloseEvent; +import org.jetbrains.annotations.NotNull; + +import java.util.function.Consumer; + +public interface MenuBuilder { + MenuBuilder setTitle(@NotNull String title); + + MenuBuilder setSlot(int row, + int column, + @NotNull Slot slot); + + MenuBuilder setMask(@NotNull FillerMask mask); + + MenuBuilder onClose(@NotNull Consumer action); + + Menu build(); +} diff --git a/eco-api/src/main/java/com/willfp/eco/core/gui/slot/Slot.java b/eco-api/src/main/java/com/willfp/eco/core/gui/slot/Slot.java index 76f45567..c3777d8c 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/gui/slot/Slot.java +++ b/eco-api/src/main/java/com/willfp/eco/core/gui/slot/Slot.java @@ -2,11 +2,9 @@ package com.willfp.eco.core.gui.slot; import com.willfp.eco.core.Eco; import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; -import java.util.function.BiConsumer; import java.util.function.Function; public interface Slot { @@ -24,7 +22,7 @@ public interface Slot { * @param itemStack The ItemStack. * @return The builder. */ - static Builder builder(@NotNull final ItemStack itemStack) { + static SlotBuilder builder(@NotNull final ItemStack itemStack) { return Eco.getHandler().getGUIFactory().createSlotBuilder(player -> itemStack); } @@ -34,21 +32,7 @@ public interface Slot { * @param provider The provider. * @return The builder. */ - static Builder builder(@NotNull final Function provider) { + static SlotBuilder builder(@NotNull final Function provider) { return Eco.getHandler().getGUIFactory().createSlotBuilder(provider); } - - interface Builder { - Builder onLeftClick(@NotNull BiConsumer action); - - Builder onRightClick(@NotNull BiConsumer action); - - Builder onShiftLeftClick(@NotNull BiConsumer action); - - Builder onShiftRightClick(@NotNull BiConsumer action); - - Builder onMiddleClick(@NotNull BiConsumer action); - - Slot build(); - } } diff --git a/eco-api/src/main/java/com/willfp/eco/core/gui/slot/SlotBuilder.java b/eco-api/src/main/java/com/willfp/eco/core/gui/slot/SlotBuilder.java new file mode 100644 index 00000000..87e249f2 --- /dev/null +++ b/eco-api/src/main/java/com/willfp/eco/core/gui/slot/SlotBuilder.java @@ -0,0 +1,20 @@ +package com.willfp.eco.core.gui.slot; + +import org.bukkit.event.inventory.InventoryClickEvent; +import org.jetbrains.annotations.NotNull; + +import java.util.function.BiConsumer; + +public interface SlotBuilder { + SlotBuilder onLeftClick(@NotNull BiConsumer action); + + SlotBuilder onRightClick(@NotNull BiConsumer action); + + SlotBuilder onShiftLeftClick(@NotNull BiConsumer action); + + SlotBuilder onShiftRightClick(@NotNull BiConsumer action); + + SlotBuilder onMiddleClick(@NotNull BiConsumer action); + + Slot build(); +} diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/EcoGUIFactory.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/EcoGUIFactory.java index 7c0e789a..800940a4 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/EcoGUIFactory.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/EcoGUIFactory.java @@ -1,8 +1,8 @@ package com.willfp.eco.internal.gui; import com.willfp.eco.core.gui.GUIFactory; -import com.willfp.eco.core.gui.menu.Menu; -import com.willfp.eco.core.gui.slot.Slot; +import com.willfp.eco.core.gui.menu.MenuBuilder; +import com.willfp.eco.core.gui.slot.SlotBuilder; import com.willfp.eco.internal.gui.menu.EcoMenuBuilder; import com.willfp.eco.internal.gui.slot.EcoSlotBuilder; import org.bukkit.entity.Player; @@ -13,12 +13,12 @@ import java.util.function.Function; public class EcoGUIFactory implements GUIFactory { @Override - public Slot.Builder createSlotBuilder(@NotNull final Function provider) { + public SlotBuilder createSlotBuilder(@NotNull final Function provider) { return new EcoSlotBuilder(provider); } @Override - public Menu.Builder createMenuBuilder(final int rows) { + public MenuBuilder createMenuBuilder(final int rows) { return new EcoMenuBuilder(rows); } } diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/menu/EcoMenuBuilder.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/menu/EcoMenuBuilder.java index 569a9bd3..4b19f426 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/menu/EcoMenuBuilder.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/menu/EcoMenuBuilder.java @@ -1,6 +1,7 @@ package com.willfp.eco.internal.gui.menu; import com.willfp.eco.core.gui.menu.Menu; +import com.willfp.eco.core.gui.menu.MenuBuilder; import com.willfp.eco.core.gui.slot.FillerMask; import com.willfp.eco.core.gui.slot.Slot; import com.willfp.eco.internal.gui.slot.EcoFillerSlot; @@ -14,7 +15,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; import java.util.function.Consumer; -public class EcoMenuBuilder implements Menu.Builder { +public class EcoMenuBuilder implements MenuBuilder { /** * The amount of rows. @@ -49,13 +50,13 @@ public class EcoMenuBuilder implements Menu.Builder { } @Override - public Menu.Builder setTitle(@NotNull final String title) { + public MenuBuilder setTitle(@NotNull final String title) { this.title = StringUtils.translate(title); return this; } @Override - public Menu.Builder setSlot(final int row, + public MenuBuilder setSlot(final int row, final int column, @NotNull final Slot slot) { if (row < 1 || row > this.rows) { @@ -71,13 +72,13 @@ public class EcoMenuBuilder implements Menu.Builder { } @Override - public Menu.Builder setMask(@NotNull final FillerMask mask) { + public MenuBuilder setMask(@NotNull final FillerMask mask) { this.maskSlots = mask.getMask(); return this; } @Override - public Menu.Builder onClose(@NotNull final Consumer action) { + public MenuBuilder onClose(@NotNull final Consumer action) { this.onClose = action; return this; } diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/slot/EcoSlotBuilder.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/slot/EcoSlotBuilder.java index 6d8c5084..a53332c8 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/slot/EcoSlotBuilder.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/gui/slot/EcoSlotBuilder.java @@ -1,6 +1,7 @@ package com.willfp.eco.internal.gui.slot; import com.willfp.eco.core.gui.slot.Slot; +import com.willfp.eco.core.gui.slot.SlotBuilder; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.ItemStack; @@ -9,7 +10,7 @@ import org.jetbrains.annotations.NotNull; import java.util.function.BiConsumer; import java.util.function.Function; -public class EcoSlotBuilder implements Slot.Builder { +public class EcoSlotBuilder implements SlotBuilder { /** * Provider. */ @@ -44,27 +45,27 @@ public class EcoSlotBuilder implements Slot.Builder { this.provider = provider; } - public Slot.Builder onLeftClick(@NotNull final BiConsumer action) { + public SlotBuilder onLeftClick(@NotNull final BiConsumer action) { this.onLeftClick = action; return this; } - public Slot.Builder onRightClick(@NotNull final BiConsumer action) { + public SlotBuilder onRightClick(@NotNull final BiConsumer action) { this.onRightClick = action; return this; } - public Slot.Builder onShiftLeftClick(@NotNull final BiConsumer action) { + public SlotBuilder onShiftLeftClick(@NotNull final BiConsumer action) { this.onShiftLeftClick = action; return this; } - public Slot.Builder onShiftRightClick(@NotNull final BiConsumer action) { + public SlotBuilder onShiftRightClick(@NotNull final BiConsumer action) { this.onShiftRightClick = action; return this; } - public Slot.Builder onMiddleClick(@NotNull final BiConsumer action) { + public SlotBuilder onMiddleClick(@NotNull final BiConsumer action) { this.onMiddleClick = action; return this; }