Skip to content

Commit c3ba0fd

Browse files
committed
Try fix ASRM integration
1 parent 4ac573a commit c3ba0fd

File tree

2 files changed

+35
-42
lines changed

2 files changed

+35
-42
lines changed

src/main/java/org/maxgamer/quickshop/integration/advancedregionmarket/AdvancedShopRegionMarketIntegration.java

Lines changed: 34 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,12 @@
2222
import net.alex9849.arm.events.RemoveRegionEvent;
2323
import net.alex9849.arm.events.RestoreRegionEvent;
2424
import net.alex9849.arm.regions.Region;
25-
import net.alex9849.armshopbridge.ArmShopBridge;
26-
import net.alex9849.armshopbridge.adapters.QuickShop4Adapter;
27-
import net.alex9849.armshopbridge.adapters.QuickShopAdapter;
28-
import net.alex9849.armshopbridge.interfaces.IShopPluginAdapter;
29-
import org.bukkit.Bukkit;
3025
import org.bukkit.Chunk;
3126
import org.bukkit.Location;
3227
import org.bukkit.World;
3328
import org.bukkit.entity.Player;
3429
import org.bukkit.event.EventHandler;
3530
import org.bukkit.event.EventPriority;
36-
import org.bukkit.event.server.PluginEnableEvent;
3731
import org.bukkit.util.Vector;
3832
import org.jetbrains.annotations.NotNull;
3933
import org.maxgamer.quickshop.QuickShop;
@@ -44,8 +38,10 @@
4438
import org.maxgamer.quickshop.util.reload.ReloadResult;
4539
import org.maxgamer.quickshop.util.reload.ReloadStatus;
4640

47-
import java.util.*;
48-
import java.util.logging.Level;
41+
import java.util.HashMap;
42+
import java.util.HashSet;
43+
import java.util.Map;
44+
import java.util.Set;
4945

5046
@IntegrationStage(loadStage = IntegrateStage.onEnableAfter)
5147
public class AdvancedShopRegionMarketIntegration extends AbstractQSIntegratedPlugin {
@@ -94,36 +90,35 @@ public boolean canTradeShopHere(@NotNull Player player, @NotNull Location locati
9490
*/
9591
@Override
9692
public void load() {
97-
scanAndUnregister();
9893
registerListener();
9994
}
10095

101-
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
102-
public void onPluginLoad(PluginEnableEvent event) {
103-
if ("ArmShopBridge".equals(event.getPlugin().getName())) {
104-
scanAndUnregister();
105-
}
106-
}
107-
108-
private void scanAndUnregister() {
109-
try {
110-
if (Bukkit.getPluginManager().getPlugin("ArmShopBridge") == null || ArmShopBridge.getInstance() == null) {
111-
return;
112-
}
113-
Iterator<IShopPluginAdapter> adapterListIterator = ArmShopBridge.getInstance().getShopPluginAdapters().iterator();
114-
//noinspection
115-
//Use legacy way to prevent lambda internal method causing listener load failed
116-
while (adapterListIterator.hasNext()) {
117-
IShopPluginAdapter adapter = adapterListIterator.next();
118-
if (adapter instanceof QuickShopAdapter || adapter instanceof QuickShop4Adapter) {
119-
adapterListIterator.remove();
120-
plugin.getLogger().log(Level.INFO, "Successfully remove redundant ARM-ShopBridge handlers!");
121-
}
122-
}
123-
} catch (Throwable exception) {
124-
plugin.getLogger().log(Level.WARNING, "Cannot to handle ARM-ShopBridge handlers, ignoring...", exception);
125-
}
126-
}
96+
// @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
97+
// public void onPluginLoad(PluginEnableEvent event) {
98+
// if ("ArmShopBridge".equals(event.getPlugin().getName())) {
99+
// scanAndUnregister();
100+
// }
101+
// }
102+
//
103+
// private void scanAndUnregister() {
104+
// try {
105+
// if (Bukkit.getPluginManager().getPlugin("ArmShopBridge") == null || ArmShopBridge.getInstance() == null) {
106+
// return;
107+
// }
108+
// Iterator<IShopPluginAdapter> adapterListIterator = ArmShopBridge.getInstance().getShopPluginAdapters().iterator();
109+
// //noinspection
110+
// //Use legacy way to prevent lambda internal method causing listener load failed
111+
// while (adapterListIterator.hasNext()) {
112+
// IShopPluginAdapter adapter = adapterListIterator.next();
113+
// if (adapter instanceof QuickShopAdapter || adapter instanceof QuickShop4Adapter) {
114+
// adapterListIterator.remove();
115+
// plugin.getLogger().log(Level.INFO, "Successfully remove redundant ARM-ShopBridge handlers!");
116+
// }
117+
// }
118+
// } catch (Throwable exception) {
119+
// plugin.getLogger().log(Level.WARNING, "Cannot to handle ARM-ShopBridge handlers, ignoring...", exception);
120+
// }
121+
// }
127122

128123
/**
129124
* Unloding logic
@@ -136,9 +131,9 @@ public void unload() {
136131

137132
private void handleDeletion(Region region) {
138133
Vector minPoint = region.getRegion().getMinPoint();
139-
Vector maxPoint = region.getRegion().getMaxPoint();
134+
Vector maxPoint = region.getRegion().getMinPoint();
140135
World world = region.getRegionworld();
141-
Set<Chunk> chuckLocations = new HashSet<>();
136+
Set<Chunk> chuckLocations = new HashSet<Chunk>();
142137

143138
for (int x = minPoint.getBlockX(); x <= maxPoint.getBlockX() + 16; x += 16) {
144139
for (int z = minPoint.getBlockZ(); z <= maxPoint.getBlockZ() + 16; z += 16) {
@@ -155,12 +150,10 @@ private void handleDeletion(Region region) {
155150
shopMap.putAll(shopsInChunk);
156151
}
157152
}
158-
for (Map.Entry<Location, Shop> shopEntry : shopMap.entrySet()) {
159-
Location shopLocation = shopEntry.getKey();
153+
for (Location shopLocation : shopMap.keySet()) {
160154
if (region.getRegion().contains(shopLocation.getBlockX(), shopLocation.getBlockY(), shopLocation.getBlockZ())) {
161-
Shop shop = shopEntry.getValue();
155+
Shop shop = shopMap.get(shopLocation);
162156
if (shop != null) {
163-
shop.onUnload();
164157
shop.delete(false);
165158
}
166159
}

src/main/resources/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,7 @@ integration:
723723
delete-shop-on-member-leave: true
724724
#AdvanvedRegionMarket shop deletion Integration
725725
advancedregionmarket:
726-
enable: false
726+
enable: true
727727
#The protection that a shop should check.
728728
protect:
729729
explode: true

0 commit comments

Comments
 (0)