Skip to content

Commit 3b4390a

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents 106b19c + 8498ae8 commit 3b4390a

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

src/main/java/org/maxgamer/quickshop/QuickShop.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@
4646
import org.jetbrains.annotations.NotNull;
4747
import org.jetbrains.annotations.Nullable;
4848
import org.maxgamer.quickshop.api.QuickShopAPI;
49-
//import org.maxgamer.quickshop.chat.QuickChat;
50-
//import org.maxgamer.quickshop.chat.QuickChatType;
51-
//import org.maxgamer.quickshop.chat.platform.minedown.AdventureQuickChat;
5249
import org.maxgamer.quickshop.command.CommandManager;
5350
import org.maxgamer.quickshop.database.*;
5451
import org.maxgamer.quickshop.economy.*;
@@ -1908,6 +1905,10 @@ private void updateConfig(int selectedVersion) throws IOException {
19081905
getConfig().set("integration.iridiumskyblock.owner-create-only", false);
19091906
getConfig().set("config-version", ++selectedVersion);
19101907
}
1908+
if (selectedVersion == 140) {
1909+
getConfig().set("integration.towny.delete-shop-on-plot-destroy", true);
1910+
getConfig().set("config-version", ++selectedVersion);
1911+
}
19111912

19121913
if (getConfig().getInt("matcher.work-type") != 0 && GameVersion.get(ReflectFactory.getServerVersion()).name().contains("1_16")) {
19131914
getLogger().warning("You are not using QS Matcher, it may meeting item comparing issue mentioned there: https://hub.spigotmc.org/jira/browse/SPIGOT-5063");

src/main/java/org/maxgamer/quickshop/integration/towny/TownyIntegration.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.palmergames.bukkit.towny.TownyAPI;
2323
import com.palmergames.bukkit.towny.event.PlotClearEvent;
2424
import com.palmergames.bukkit.towny.event.TownRemoveResidentEvent;
25+
import com.palmergames.bukkit.towny.event.actions.TownyDestroyEvent;
2526
import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
2627
import com.palmergames.bukkit.towny.object.Town;
2728
import com.palmergames.bukkit.towny.object.TownBlock;
@@ -61,6 +62,7 @@ public class TownyIntegration extends QSIntegratedPlugin implements Listener {
6162
private boolean deleteShopOnPlotClear;
6263
private boolean isNewVersion;
6364
private boolean whiteList;
65+
private boolean deleteShopOnPlotDestroy;
6466

6567

6668
public TownyIntegration(QuickShop plugin) {
@@ -82,6 +84,7 @@ private void init() {
8284
ignoreDisabledWorlds = plugin.getConfig().getBoolean("integration.towny.ignore-disabled-worlds");
8385
deleteShopOnLeave = plugin.getConfig().getBoolean("integration.towny.delete-shop-on-resident-leave");
8486
deleteShopOnPlotClear = plugin.getConfig().getBoolean("integration.towny.delete-shop-on-plot-clear");
87+
deleteShopOnPlotDestroy = plugin.getConfig().getBoolean("integration.towny.delete-shop-on-plot-destroy");
8588
whiteList = plugin.getConfig().getBoolean("integration.towny.whitelist-mode");
8689
}
8790

@@ -134,7 +137,7 @@ public void deleteShops(UUID owner, Town town) {
134137
}
135138

136139
public void purgeShops(TownBlock townBlock) {
137-
if (!deleteShopOnPlotClear) {
140+
if (townBlock == null) {
138141
return;
139142
}
140143
String worldName;
@@ -177,6 +180,21 @@ public void onPlayerLeave(TownRemoveResidentEvent event) {
177180

178181
@EventHandler
179182
public void onPlotClear(PlotClearEvent event) {
183+
if (!deleteShopOnPlotClear) {
184+
return;
185+
}
186+
if (Bukkit.isPrimaryThread()) {
187+
purgeShops(event.getTownBlock());
188+
} else {
189+
Util.mainThreadRun(() -> purgeShops(event.getTownBlock()));
190+
}
191+
}
192+
193+
@EventHandler
194+
public void onPlotDestroy(TownyDestroyEvent event) {
195+
if (!deleteShopOnPlotDestroy) {
196+
return;
197+
}
180198
if (Bukkit.isPrimaryThread()) {
181199
purgeShops(event.getTownBlock());
182200
} else {

src/main/resources/config.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
# TO EDIT QUICKSHOP'S CONFIGURATION, USE THE "config.yml" FILE!
2323

2424
#Do not touch this if you don't know what you're doing!
25-
config-version: 140
25+
config-version: 141
2626

2727
#Select the language you want to use, (e.g de), use only supported language codes from the list below.
2828
#If you use a not existant/not supported language, then QuickShop will use en_US.
@@ -597,6 +597,7 @@ integration:
597597
trade: [ ]
598598
delete-shop-on-resident-leave: false
599599
delete-shop-on-plot-clear: true
600+
delete-shop-on-plot-destroy: true
600601
#Should we prevent the creation of a shop or trade with a shop outside Towny's area
601602
whitelist-mode: true
602603
#WorldGuard Integration

0 commit comments

Comments
 (0)