Skip to content

Commit e2932b8

Browse files
committed
feat: entity interactions sample
1 parent 915373b commit e2932b8

4 files changed

Lines changed: 36 additions & 9 deletions

File tree

‎examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/SamplePlugin.java‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ public void onEnable() {
2424
new AutoUpdate(),
2525
new PaginationOrientation(),
2626
new TimerSample(),
27-
new RowColumnSample())
27+
new RowColumnSample(),
28+
new AllowsEntityContainerInteractions())
2829
.register();
2930

3031
IFExampleCommandExecutor command = new IFExampleCommandExecutor(viewFrame);

‎examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/commands/IFExampleCommandExecutor.java‎

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,7 @@
66
import java.util.Map;
77
import me.devnatan.inventoryframework.View;
88
import me.devnatan.inventoryframework.ViewFrame;
9-
import me.devnatan.inventoryframework.runtime.view.AnvilInputSample;
10-
import me.devnatan.inventoryframework.runtime.view.AutoUpdate;
11-
import me.devnatan.inventoryframework.runtime.view.Failing;
12-
import me.devnatan.inventoryframework.runtime.view.PaginationOrientation;
13-
import me.devnatan.inventoryframework.runtime.view.RowColumnSample;
14-
import me.devnatan.inventoryframework.runtime.view.SimplePagination;
15-
import me.devnatan.inventoryframework.runtime.view.TimerSample;
9+
import me.devnatan.inventoryframework.runtime.view.*;
1610
import org.bukkit.command.Command;
1711
import org.bukkit.command.CommandExecutor;
1812
import org.bukkit.command.CommandSender;
@@ -34,6 +28,7 @@ public class IFExampleCommandExecutor implements CommandExecutor, TabCompleter {
3428
views.put("pagination", PaginationOrientation.class);
3529
views.put("timer", TimerSample.class);
3630
views.put("row-column", RowColumnSample.class);
31+
views.put("entity-interactions", AllowsEntityContainerInteractions.class);
3732
}
3833

3934
private final ViewFrame viewFrame;
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package me.devnatan.inventoryframework.runtime.view;
2+
3+
import me.devnatan.inventoryframework.View;
4+
import me.devnatan.inventoryframework.ViewConfigBuilder;
5+
import me.devnatan.inventoryframework.context.OpenContext;
6+
import me.devnatan.inventoryframework.context.RenderContext;
7+
import org.bukkit.Material;
8+
import org.bukkit.inventory.ItemStack;
9+
import org.jetbrains.annotations.NotNull;
10+
import org.jspecify.annotations.NonNull;
11+
12+
public class AllowsEntityContainerInteractions extends View {
13+
14+
@Override
15+
public void onInit(@NotNull ViewConfigBuilder config) {
16+
config.title("Allows player inventory interactions")
17+
.size(3)
18+
.cancelOnClick()
19+
.allowEntityContainerInteractions();
20+
}
21+
22+
@Override
23+
public void onOpen(@NonNull OpenContext open) {
24+
open.getPlayer().getInventory().addItem(new ItemStack(Material.WOODEN_PICKAXE));
25+
}
26+
27+
@Override
28+
public void onFirstRender(@NotNull RenderContext render) {
29+
render.firstSlot(new ItemStack(Material.GOLD_INGOT));
30+
}
31+
}

‎examples/paper/src/main/java/me/devnatan/inventoryframework/runtime/view/RowColumnSample.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public void onFirstRender(@NotNull RenderContext render) {
2626
: new ItemStack(Material.IRON_INGOT));
2727

2828
render.firstRow((pos, slot) -> slot.withItem(new ItemStack(Material.BLUE_STAINED_GLASS_PANE))
29-
.onClick(click -> intState.increment(click)));
29+
.onClick(intState::increment));
3030

3131
render.lastColumn((pos, slot) -> slot.withItem(new ItemStack(Material.BLACK_STAINED_GLASS_PANE)));
3232
}

0 commit comments

Comments
 (0)