Skip to content

Commit ae90dbb

Browse files
committed
v1.1 - ItemsAdder Support
Added a check for ItemsAdder, allows for CustomStack that exists from ItemsAdder to be untouchable by this plugin. This preserves ItemsAdder's existing functionality with custom blocks / items that are placed into the world using invisible item frames.
1 parent a80c63c commit ae90dbb

File tree

5 files changed

+27
-1
lines changed

5 files changed

+27
-1
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.idea
2+
target

pom.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>adhdmc</groupId>
88
<artifactId>InvisibleFrames</artifactId>
9-
<version>1.0</version>
9+
<version>1.1</version>
1010
<packaging>jar</packaging>
1111

1212
<name>InvisibleFrames</name>
@@ -62,6 +62,11 @@
6262
<id>sonatype</id>
6363
<url>https://oss.sonatype.org/content/groups/public/</url>
6464
</repository>
65+
<!-- ItemsAdder -->
66+
<repository>
67+
<id>jitpack-repo</id>
68+
<url>https://jitpack.io</url>
69+
</repository>
6570
</repositories>
6671

6772
<dependencies>
@@ -71,5 +76,11 @@
7176
<version>1.18.2-R0.1-SNAPSHOT</version>
7277
<scope>provided</scope>
7378
</dependency>
79+
<dependency>
80+
<groupId>com.github.LoneDev6</groupId>
81+
<artifactId>api-itemsadder</artifactId>
82+
<version>3.2.5</version>
83+
<scope>provided</scope>
84+
</dependency>
7485
</dependencies>
7586
</project>

src/main/java/adhdmc/invisibleframes/ClickListener.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package adhdmc.invisibleframes;
22

3+
import dev.lone.itemsadder.api.CustomStack;
4+
import dev.lone.itemsadder.api.ItemsAdder;
35
import org.bukkit.Material;
46
import org.bukkit.configuration.file.FileConfiguration;
57
import org.bukkit.entity.Entity;
@@ -24,6 +26,7 @@ public void onItemFrameInteract(PlayerInteractEntityEvent event) {
2426
Entity entity = event.getRightClicked();
2527
if (!(entity instanceof ItemFrame itemFrame)) return;
2628
if (itemFrame.getItem().getType().equals(Material.AIR) && !config.getBoolean("toggle-empty", false)) return;
29+
if (InvisibleFrames.hasItemsAdder() && CustomStack.byItemStack(itemFrame.getItem()) != null) return;
2730
if (!player.hasPermission("invisibleframes.toggleframes")) return;
2831

2932
event.setCancelled(true);

src/main/java/adhdmc/invisibleframes/InvisibleFrames.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
public final class InvisibleFrames extends JavaPlugin {
66

77
private static InvisibleFrames instance;
8+
private static boolean hasItemsAdder;
89

910
@Override
1011
public void onEnable() {
@@ -14,9 +15,17 @@ public void onEnable() {
1415
getConfig().addDefault("lock-frame", true);
1516
getConfig().addDefault("toggle-empty", false);
1617
instance = this;
18+
hasItemsAdder = false;
19+
try {
20+
Class.forName("dev.lone.itemsadder.api.CustomBlock");
21+
hasItemsAdder = true;
22+
} catch (ClassNotFoundException e) {
23+
this.getLogger().info("ItemsAdder API has not been found, ItemsAdder checks are disabled.");
24+
}
1725
}
1826

1927
public static InvisibleFrames getInstance() {
2028
return instance;
2129
}
30+
public static boolean hasItemsAdder() { return hasItemsAdder; }
2231
}

src/main/resources/plugin.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ api-version: 1.18
55
prefix: "[Invisible Frames]"
66
authors: [ _Rhythmic ]
77
description: Allows easy toggling of item frames from visible to invisible
8+
softdepend: ["ItemsAdder"]
89
commands:
910
ifreload:
1011
permission: invisibleframes.reload

0 commit comments

Comments
 (0)