Skip to content
This repository was archived by the owner on Oct 1, 2023. It is now read-only.

Commit

Permalink
tab
Browse files Browse the repository at this point in the history
  • Loading branch information
amadeusmz committed Jun 3, 2022
1 parent a27003e commit 5428365
Show file tree
Hide file tree
Showing 8 changed files with 2,166 additions and 2,176 deletions.
74 changes: 37 additions & 37 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,51 +2,51 @@ group = "net.minevn"
version = "1.0-SNAPSHOT"

plugins {
id("java")
id("java")
}

repositories {
mavenCentral()
mavenLocal()
maven {
setUrl("http://pack.minevn.net/repo/")
isAllowInsecureProtocol = true
}
mavenCentral()
mavenLocal()
maven {
setUrl("http://pack.minevn.net/repo/")
isAllowInsecureProtocol = true
}

}

dependencies {
compileOnly("minevn.depend:paper:1.12.2-b1619")
implementation("org.jetbrains:annotations:23.0.0")
compileOnly("minevn.depend:paper:1.12.2-b1619")
implementation("org.jetbrains:annotations:23.0.0")
}

tasks {
val jarName = "GuiAPI"
var originalName = ""
val path = project.properties["shadowPath"]

jar {
originalName = archiveFileName.get()
}

register("customCopy") {
dependsOn(jar)

doLast {
if (path != null) {
println("Copying $originalName to $path")
val to = File("$path/$originalName")
val rename = File("$path/$jarName.jar")
File(project.projectDir, "build/libs/$originalName").copyTo(to, true)
if (rename.exists()) rename.delete()
to.renameTo(rename)
println("Copied")
}
}
}


assemble {
dependsOn(get("customCopy"))
}
val jarName = "GuiAPI"
var originalName = ""
val path = project.properties["shadowPath"]

jar {
originalName = archiveFileName.get()
}

register("customCopy") {
dependsOn(jar)

doLast {
if (path != null) {
println("Copying $originalName to $path")
val to = File("$path/$originalName")
val rename = File("$path/$jarName.jar")
File(project.projectDir, "build/libs/$originalName").copyTo(to, true)
if (rename.exists()) rename.delete()
to.renameTo(rename)
println("Copied")
}
}
}


assemble {
dependsOn(get("customCopy"))
}
}
2 changes: 1 addition & 1 deletion src/main/java/net/minevn/guiapi/ClickAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@

@FunctionalInterface
public interface ClickAction {
void onClick(InventoryClickEvent event);
void onClick(InventoryClickEvent event);
}
8 changes: 4 additions & 4 deletions src/main/java/net/minevn/guiapi/GuiAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import org.bukkit.plugin.java.JavaPlugin;

public class GuiAPI extends JavaPlugin {
@Override
public void onEnable() {
GuiListener.init(this);
}
@Override
public void onEnable() {
GuiListener.init(this);
}
}
82 changes: 41 additions & 41 deletions src/main/java/net/minevn/guiapi/GuiListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,46 +11,46 @@
public class GuiListener implements Listener {
// private JavaPlugin plugin;

private GuiListener(JavaPlugin plugin) {
private GuiListener(JavaPlugin plugin) {
// this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler
public void onClick(InventoryClickEvent e) {
Inventory inv = e.getClickedInventory();
if (inv == null) {
return;
}
InventoryHolder holder = inv.getHolder();
if (holder != null && holder instanceof GuiInventory) {
((GuiInventory) holder).onClick(e);
}
}

@EventHandler
public void onClose(InventoryCloseEvent e) {
Inventory inv = e.getInventory();
if(inv == null) {
return;
}
InventoryHolder holder = inv.getHolder();
if(holder != null && holder instanceof GuiInventory) {
((GuiInventory) holder).onClose(e);
}
}

// static
private static GuiListener _instance;

public static GuiListener getInstance() {
return _instance;
}

public static void init(JavaPlugin plugin) {
if (_instance != null) {
throw new IllegalArgumentException("GUI API already initialized.");
}
_instance = new GuiListener(plugin);
}
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler
public void onClick(InventoryClickEvent e) {
Inventory inv = e.getClickedInventory();
if (inv == null) {
return;
}
InventoryHolder holder = inv.getHolder();
if (holder != null && holder instanceof GuiInventory) {
((GuiInventory) holder).onClick(e);
}
}

@EventHandler
public void onClose(InventoryCloseEvent e) {
Inventory inv = e.getInventory();
if (inv == null) {
return;
}
InventoryHolder holder = inv.getHolder();
if (holder != null && holder instanceof GuiInventory) {
((GuiInventory) holder).onClose(e);
}
}

// static
private static GuiListener _instance;

public static GuiListener getInstance() {
return _instance;
}

public static void init(JavaPlugin plugin) {
if (_instance != null) {
throw new IllegalArgumentException("GUI API already initialized.");
}
_instance = new GuiListener(plugin);
}
}
2 changes: 1 addition & 1 deletion src/main/java/net/minevn/guiapi/ListedGuiItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
import org.bukkit.entity.Player;

public interface ListedGuiItem {
GuiItemStack getItem(Player viewer);
GuiItemStack getItem(Player viewer);
}
34 changes: 17 additions & 17 deletions src/main/java/net/minevn/guiapi/TestGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,23 @@
* usage: new TestGui(player)
*/
public class TestGui extends GuiInventory {
private Player viewer;
private Player viewer;

public TestGui(Player viewer) {
super(9, "This is test GUI");
buildGui();
openIventory(viewer);
}
public TestGui(Player viewer) {
super(9, "This is test GUI");
buildGui();
openIventory(viewer);
}

public void buildGui() {
setItem(0, new GuiItemStack(Material.STONE, "Clickable item", "lores goes here!") {
@Override
public void onClick(InventoryClickEvent event) {
lock();
viewer.sendMessage("action goes here!");
unlock();
// locking & unlocking is useful for denying double click or asynchronous actions
}
});
}
public void buildGui() {
setItem(0, new GuiItemStack(Material.STONE, "Clickable item", "lores goes here!") {
@Override
public void onClick(InventoryClickEvent event) {
lock();
viewer.sendMessage("action goes here!");
unlock();
// locking & unlocking is useful for denying double click or asynchronous actions
}
});
}
}
84 changes: 42 additions & 42 deletions src/main/java/net/minevn/guiapi/TestPagination.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,46 +6,46 @@
import java.util.List;

public class TestPagination extends GuiInventory {
private static final int pagesize = 45;
private Player viewer;
int page = 0;
private List<Object> items;

public TestPagination(Player viewer, List<Object> items) {
super(54, "test");
this.viewer = viewer;
this.items = items;
}

private void build() {
// trang tri
for (int slot = 45; slot <= 53; slot++) {
setItem(slot, new GuiItemStack(Material.STAINED_GLASS_PANE, (short) 15, "§f"));
}

// close
setItem(49, new GuiItemStack(Material.BARRIER, "Close")
.onClick(e -> viewer.closeInventory()));

// pagination
if (page > 0) {
setItem(45, new GuiItemStack(Material.STAINED_GLASS_PANE, (short) 13, "§f").onClick(e -> {
page--;
build();
}));
}
if (pagesize * (page + 1) < items.size()) {
setItem(53, new GuiItemStack(Material.STAINED_GLASS_PANE, (short) 13, "§f").onClick(e -> {
page--;
build();
}));
}

// items
int i = 0;
for (int n = pagesize * page; n < pagesize * (page + 1) && n < items.size(); n++) {
Object item = items.get(n);
// actions
}
}
private static final int pagesize = 45;
private Player viewer;
int page = 0;
private List<Object> items;

public TestPagination(Player viewer, List<Object> items) {
super(54, "test");
this.viewer = viewer;
this.items = items;
}

private void build() {
// trang tri
for (int slot = 45; slot <= 53; slot++) {
setItem(slot, new GuiItemStack(Material.STAINED_GLASS_PANE, (short) 15, "§f"));
}

// close
setItem(49, new GuiItemStack(Material.BARRIER, "Close")
.onClick(e -> viewer.closeInventory()));

// pagination
if (page > 0) {
setItem(45, new GuiItemStack(Material.STAINED_GLASS_PANE, (short) 13, "§f").onClick(e -> {
page--;
build();
}));
}
if (pagesize * (page + 1) < items.size()) {
setItem(53, new GuiItemStack(Material.STAINED_GLASS_PANE, (short) 13, "§f").onClick(e -> {
page--;
build();
}));
}

// items
int i = 0;
for (int n = pagesize * page; n < pagesize * (page + 1) && n < items.size(); n++) {
Object item = items.get(n);
// actions
}
}
}
Loading

0 comments on commit 5428365

Please sign in to comment.