diff --git a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/SamplePlugin.java b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/SamplePlugin.java index f4f8c4dc..b26ac7a4 100644 --- a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/SamplePlugin.java +++ b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/SamplePlugin.java @@ -17,7 +17,7 @@ public class SamplePlugin extends JavaPlugin { public void onEnable() { ViewFrame viewFrame = ViewFrame.create(this) .install(AnvilInputFeature.AnvilInput) - .enableDebug() + .enableDebug() .with( new AnvilInputSample(), new Failing(), @@ -26,9 +26,9 @@ public void onEnable() { new PaginationOrientation(), new TimerSample(), new RowColumnSample(), - new NavigatingBetweenViewsA(), - new NavigatingBetweenViewsB() - ) + new NavigatingBetweenViewsA(), + new NavigatingBetweenViewsB(), + new AllowsEntityContainerInteractions()) .register(); IFExampleCommandExecutor command = new IFExampleCommandExecutor(viewFrame); diff --git a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/commands/IFExampleCommandExecutor.java b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/commands/IFExampleCommandExecutor.java index 7bd48860..824727bd 100644 --- a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/commands/IFExampleCommandExecutor.java +++ b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/commands/IFExampleCommandExecutor.java @@ -28,7 +28,8 @@ public class IFExampleCommandExecutor implements CommandExecutor, TabCompleter { views.put("pagination", PaginationOrientation.class); views.put("timer", TimerSample.class); views.put("row-column", RowColumnSample.class); - views.put("navigation", NavigatingBetweenViewsA.class); + views.put("navigation", NavigatingBetweenViewsA.class); + views.put("entity-interactions", AllowsEntityContainerInteractions.class); } private final ViewFrame viewFrame; diff --git a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/AllowsEntityContainerInteractions.java b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/AllowsEntityContainerInteractions.java new file mode 100644 index 00000000..529dee92 --- /dev/null +++ b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/AllowsEntityContainerInteractions.java @@ -0,0 +1,31 @@ +package me.devnatan.inventoryframework.runtime.view; + +import me.devnatan.inventoryframework.View; +import me.devnatan.inventoryframework.ViewConfigBuilder; +import me.devnatan.inventoryframework.context.OpenContext; +import me.devnatan.inventoryframework.context.RenderContext; +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; +import org.jetbrains.annotations.NotNull; +import org.jspecify.annotations.NonNull; + +public class AllowsEntityContainerInteractions extends View { + + @Override + public void onInit(@NotNull ViewConfigBuilder config) { + config.title("Allows player inventory interactions") + .size(3) + .cancelOnClick() + .allowEntityContainerInteractions(); + } + + @Override + public void onOpen(@NonNull OpenContext open) { + open.getPlayer().getInventory().addItem(new ItemStack(Material.WOODEN_PICKAXE)); + } + + @Override + public void onFirstRender(@NotNull RenderContext render) { + render.firstSlot(new ItemStack(Material.GOLD_INGOT)); + } +} diff --git a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/NavigatingBetweenViewsA.java b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/NavigatingBetweenViewsA.java index 3ff98d8b..2ddc53f0 100644 --- a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/NavigatingBetweenViewsA.java +++ b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/NavigatingBetweenViewsA.java @@ -8,15 +8,15 @@ public class NavigatingBetweenViewsA extends View { - @Override - public void onInit(ViewConfigBuilder config) { - config.title("A").size(3); - } + @Override + public void onInit(ViewConfigBuilder config) { + config.title("A").size(3); + } - @Override - public void onFirstRender(RenderContext render) { - // Moves player to "B" view on click - render.firstSlot(new ItemStack(Material.DIAMOND)) - .onClick(click -> click.openForPlayer(NavigatingBetweenViewsB.class)); - } + @Override + public void onFirstRender(RenderContext render) { + // Moves player to "B" view on click + render.firstSlot(new ItemStack(Material.DIAMOND)) + .onClick(click -> click.openForPlayer(NavigatingBetweenViewsB.class)); + } } diff --git a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/NavigatingBetweenViewsB.java b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/NavigatingBetweenViewsB.java index 00ef4a27..c1dd04ce 100644 --- a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/NavigatingBetweenViewsB.java +++ b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/NavigatingBetweenViewsB.java @@ -8,15 +8,15 @@ public class NavigatingBetweenViewsB extends View { - @Override - public void onInit(ViewConfigBuilder config) { - config.title("B").size(3); - } + @Override + public void onInit(ViewConfigBuilder config) { + config.title("B").size(3); + } - @Override - public void onFirstRender(RenderContext render) { - // Moves player to back to "A" view on click - render.firstSlot(new ItemStack(Material.REDSTONE)) - .onClick(click -> click.openForPlayer(NavigatingBetweenViewsA.class)); - } + @Override + public void onFirstRender(RenderContext render) { + // Moves player to back to "A" view on click + render.firstSlot(new ItemStack(Material.REDSTONE)) + .onClick(click -> click.openForPlayer(NavigatingBetweenViewsA.class)); + } } diff --git a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/RowColumnSample.java b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/RowColumnSample.java index 35978438..d4c7c77a 100644 --- a/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/RowColumnSample.java +++ b/examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/RowColumnSample.java @@ -25,8 +25,8 @@ public void onFirstRender(@NotNull RenderContext render) { ? new ItemStack(Material.GOLD_INGOT) : new ItemStack(Material.IRON_INGOT)); - render.firstRow((pos, slot) -> slot.withItem(new ItemStack(Material.BLUE_STAINED_GLASS_PANE)) - .onClick(click -> intState.increment(click))); + render.firstRow((pos, slot) -> + slot.withItem(new ItemStack(Material.BLUE_STAINED_GLASS_PANE)).onClick(intState::increment)); render.lastColumn((pos, slot) -> slot.withItem(new ItemStack(Material.BLACK_STAINED_GLASS_PANE))); } diff --git a/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/IFDebug.java b/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/IFDebug.java index b3d901ac..2a8e316c 100644 --- a/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/IFDebug.java +++ b/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/IFDebug.java @@ -1,7 +1,6 @@ package me.devnatan.inventoryframework; import java.util.function.Supplier; - import me.devnatan.inventoryframework.logging.Logger; import org.intellij.lang.annotations.PrintFormat; import org.jetbrains.annotations.ApiStatus; @@ -17,19 +16,19 @@ public final class IFDebug { private static Boolean DEBUG_ENABLED = null; - private static Logger logger; + private static Logger logger; - static { - DEBUG_ENABLED = Boolean.parseBoolean(System.getProperty(SYSTEM_PROPERTY, "false")); - } + static { + DEBUG_ENABLED = Boolean.parseBoolean(System.getProperty(SYSTEM_PROPERTY, "false")); + } private IFDebug() {} /** Enables InventoryFramework debug. */ public static void enable(Logger logger) { - IFDebug.logger = logger; + IFDebug.logger = logger; DEBUG_ENABLED = true; - debug("Debug enabled"); + debug("Debug enabled"); } /** @@ -51,6 +50,6 @@ public static void debug(Supplier message, Object... args) { */ public static void debug(@PrintFormat String message, Object... args) { if (!DEBUG_ENABLED) return; - logger.debug(String.format(message, args)); + logger.debug(String.format(message, args)); } } diff --git a/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/context/IFSlotRenderContext.java b/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/context/IFSlotRenderContext.java index 0afeb716..7049f458 100644 --- a/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/context/IFSlotRenderContext.java +++ b/inventory-framework-api/src/main/java/me/devnatan/inventoryframework/context/IFSlotRenderContext.java @@ -9,9 +9,9 @@ public interface IFSlotRenderContext extends IFSlotContext, IFConfinedContext { /** * Sets the item that was rendered by the owning component in a previous render. - * - *

This is an internal inventory-framework API that should not be used from outside of - * this library. No compatibility guarantees are provided. + * + *

This is an internal inventory-framework API that should not be used from outside of + * this library. No compatibility guarantees are provided. */ @ApiStatus.Internal void setResult(Object result); diff --git a/inventory-framework-core/src/main/java/me/devnatan/inventoryframework/pipeline/AvailableSlotInterceptor.java b/inventory-framework-core/src/main/java/me/devnatan/inventoryframework/pipeline/AvailableSlotInterceptor.java index 7ca4dc17..6f2ece2a 100644 --- a/inventory-framework-core/src/main/java/me/devnatan/inventoryframework/pipeline/AvailableSlotInterceptor.java +++ b/inventory-framework-core/src/main/java/me/devnatan/inventoryframework/pipeline/AvailableSlotInterceptor.java @@ -5,7 +5,6 @@ import java.util.List; import java.util.Optional; import java.util.function.BiFunction; - import me.devnatan.inventoryframework.VirtualView; import me.devnatan.inventoryframework.component.ComponentFactory; import me.devnatan.inventoryframework.component.ItemComponentBuilder; diff --git a/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/ViewFrame.java b/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/ViewFrame.java index 202914b1..f1b43ad0 100644 --- a/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/ViewFrame.java +++ b/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/ViewFrame.java @@ -187,9 +187,9 @@ public final void openEndless( public final ViewFrame register() { if (isRegistered()) throw new IllegalStateException("This view frame is already registered"); - if (debugEnabled) { - IFDebug.enable(new BukkitLogger(getOwner().getLogger(), "global", true)); - } + if (debugEnabled) { + IFDebug.enable(new BukkitLogger(getOwner().getLogger(), "global", true)); + } PlatformUtils.setFactory(new BukkitElementFactory(getOwner())); tryEnableMetrics(); diff --git a/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/runtime/thirdparty/McVersion.java b/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/runtime/thirdparty/McVersion.java index 9f00ebb2..28081efe 100644 --- a/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/runtime/thirdparty/McVersion.java +++ b/inventory-framework-platform-bukkit/src/main/java/me/devnatan/inventoryframework/runtime/thirdparty/McVersion.java @@ -7,8 +7,7 @@ public class McVersion implements Comparable { - private static final Pattern LEADING_VERSION = - Pattern.compile("(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?"); + private static final Pattern LEADING_VERSION = Pattern.compile("(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?"); private static final McVersion CURRENT_VERSION; diff --git a/inventory-framework-platform/src/main/java/me/devnatan/inventoryframework/IFViewFrame.java b/inventory-framework-platform/src/main/java/me/devnatan/inventoryframework/IFViewFrame.java index f6597d90..276c706f 100644 --- a/inventory-framework-platform/src/main/java/me/devnatan/inventoryframework/IFViewFrame.java +++ b/inventory-framework-platform/src/main/java/me/devnatan/inventoryframework/IFViewFrame.java @@ -29,7 +29,7 @@ public abstract class IFViewFrame, V extends Platfor protected final Map viewerById = new HashMap<>(); protected Consumer defaultConfig; - protected boolean debugEnabled; + protected boolean debugEnabled; @SuppressWarnings("rawtypes") private final Pipeline pipeline = new Pipeline<>(FRAME_REGISTERED, FRAME_UNREGISTERED);