Skip to content

Commit 435fd15

Browse files
authored
Merge pull request #48 from KujouMolean/feat/qs-hikari
2 parents 34c349b + 5a76f01 commit 435fd15

File tree

4 files changed

+78
-0
lines changed

4 files changed

+78
-0
lines changed

pom.xml

+7
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,13 @@
111111
<version>1.13.9</version>
112112
<scope>provided</scope>
113113
</dependency>
114+
<dependency>
115+
<groupId>com.ghostchu</groupId>
116+
<artifactId>quickshop-bukkit</artifactId>
117+
<version>6.2.0.8</version>
118+
<scope>provided</scope>
119+
<classifier>shaded</classifier>
120+
</dependency>
114121
<dependency>
115122
<groupId>org.maxgamer</groupId>
116123
<artifactId>QuickShop</artifactId>

src/main/java/com/xzavier0722/mc/plugin/slimeglue/SlimeGlue.java

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.xzavier0722.mc.plugin.slimeglue.listener.SlimefunListener;
88
import com.xzavier0722.mc.plugin.slimeglue.manager.CompatibilityModuleManager;
99
import com.xzavier0722.mc.plugin.slimeglue.module.KingdomsXModule;
10+
import com.xzavier0722.mc.plugin.slimeglue.module.QuickShopHikariModule;
1011
import com.xzavier0722.mc.plugin.slimeglue.module.LocketteProModule;
1112
import com.xzavier0722.mc.plugin.slimeglue.module.MagicModule;
1213
import com.xzavier0722.mc.plugin.slimeglue.module.QuickShopModule;
@@ -98,6 +99,7 @@ private void registerModules() {
9899
moduleManager().register(new KingdomsXModule());
99100
moduleManager().register(new MagicModule());
100101
moduleManager().register(new QuickShopModule());
102+
moduleManager().register(new QuickShopHikariModule());
101103
moduleManager().register(new LocketteProModule());
102104
}
103105

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package com.xzavier0722.mc.plugin.slimeglue.module;
2+
3+
import com.ghostchu.quickshop.api.QuickShopAPI;
4+
import com.ghostchu.quickshop.api.shop.Shop;
5+
import com.xzavier0722.mc.plugin.slimeglue.api.ACompatibilityModule;
6+
import com.xzavier0722.mc.plugin.slimeglue.api.protection.IBlockProtectionHandler;
7+
import org.bukkit.Location;
8+
import org.bukkit.OfflinePlayer;
9+
import org.bukkit.plugin.Plugin;
10+
11+
import javax.annotation.Nonnull;
12+
import java.util.UUID;
13+
14+
public class QuickShopHikariModule extends ACompatibilityModule {
15+
16+
public QuickShopHikariModule() {
17+
addProtectionHandler(new IBlockProtectionHandler() {
18+
@Override
19+
public boolean canBreakBlock(OfflinePlayer player, Location location) {
20+
return !isQuickshop(location);
21+
}
22+
23+
@Override
24+
public boolean canInteractBlock(OfflinePlayer player, Location location) {
25+
return !isQuickshop(location);
26+
}
27+
28+
@Override
29+
public boolean bypassCheck(OfflinePlayer player, Location location) {
30+
return player.getUniqueId().equals(getQuickshopOwner(location));
31+
}
32+
33+
@Override
34+
public boolean canCargoAccessBlock(Location location) {
35+
return !isQuickshop(location);
36+
}
37+
});
38+
}
39+
40+
private UUID getQuickshopOwner(@Nonnull Location l) {
41+
Shop shop = QuickShopAPI.getInstance().getShopManager().getShop(l);
42+
if (shop != null) {
43+
return shop.getOwner().getUniqueId();
44+
}
45+
return null;
46+
47+
}
48+
49+
private boolean isQuickshop(@Nonnull Location l) {
50+
return QuickShopAPI.getInstance().getShopManager().getShop(l) != null;
51+
52+
}
53+
54+
@Override
55+
public String getCompatibilityPluginName() {
56+
return "QuickShop-Hikari";
57+
}
58+
59+
@Override
60+
public void enable(Plugin plugin) throws Exception {
61+
62+
}
63+
64+
@Override
65+
public void disable() {
66+
67+
}
68+
}

src/main/resources/plugin.yml

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ depend: [ Slimefun ]
66
softdepend:
77
- Kingdoms
88
- Quickshop
9+
- QuickShop-Hikari
910
- Magic
1011
- LockettePro
1112
authors: [ Xzavier0722 ]

0 commit comments

Comments
 (0)