Skip to content

Commit 71ec200

Browse files
committed
DynamicShop v3.120.1
1 parent 7e11d0c commit 71ec200

26 files changed

+2333
-92
lines changed

pom.xml

+3-18
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>me.sat7</groupId>
88
<artifactId>DynamicShop</artifactId>
9-
<version>3.16.1</version>
9+
<version>3.120.1</version>
1010
<packaging>jar</packaging>
1111

1212
<name>DynamicShop</name>
@@ -90,7 +90,7 @@
9090
</repository>
9191
<repository>
9292
<id>vault-repo</id>
93-
<url>http://nexus.hc.to/content/repositories/pub_releases</url>
93+
<url>https://nexus.hc.to/content/repositories/pub_releases</url>
9494
</repository>
9595
<repository>
9696
<id>CodeMC</id>
@@ -144,7 +144,7 @@
144144
<dependency>
145145
<groupId>com.github.Zrips</groupId>
146146
<artifactId>Jobs</artifactId>
147-
<version>4.17.2</version>
147+
<version>v4.17.2</version>
148148
<scope>provided</scope>
149149
</dependency>
150150
<dependency>
@@ -170,20 +170,5 @@
170170
<version>3.2.5</version>
171171
<scope>provided</scope>
172172
</dependency>
173-
<dependency>
174-
<groupId>com.google.code.gson</groupId>
175-
<artifactId>gson</artifactId>
176-
<version>2.8.9</version>
177-
</dependency>
178-
<dependency>
179-
<groupId>org.apache.commons</groupId>
180-
<artifactId>commons-text</artifactId>
181-
<version>1.10.0</version>
182-
</dependency>
183-
<dependency>
184-
<groupId>org.yaml</groupId>
185-
<artifactId>snakeyaml</artifactId>
186-
<version>2.0</version>
187-
</dependency>
188173
</dependencies>
189174
</project>

src/main/java/me/sat7/dynamicshop/DynaShopAPI.java

+10-4
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ public static void openShopSettingGui(Player player, String shopName)
7171
// 상점 로테이트 편집기
7272
public static void OpenRotationEditor(Player player, String shopName)
7373
{
74-
DynamicShop.PaidOnlyMsg(player);
74+
RotationEditor uiClass = new RotationEditor();
75+
Inventory inventory = uiClass.getGui(player, shopName);
76+
UIManager.Open(player, inventory, uiClass);
7577
}
7678

7779
// 거래화면 생성 및 열기
@@ -123,13 +125,17 @@ public static void openPageEditor(Player player, String shopName, int page)
123125
// 로그뷰어 열기
124126
public static void openLogViewer(Player player, String shopName)
125127
{
126-
DynamicShop.PaidOnlyMsg(player);
128+
LogViewer uiClass = new LogViewer();
129+
Inventory inventory = uiClass.getGui(player, shopName);
130+
UIManager.Open(player, inventory, uiClass);
127131
}
128132

129133
// 재고 시뮬레이터 열기
130134
public static void openStockSimulator(Player player, String shopName)
131135
{
132-
DynamicShop.PaidOnlyMsg(player);
136+
StockSimulator uiClass = new StockSimulator();
137+
Inventory inventory = uiClass.getGui(player, shopName);
138+
UIManager.Open(player, inventory, uiClass);
133139
}
134140

135141
// 스타트 페이지
@@ -225,7 +231,7 @@ public static ArrayList<ItemStack> getShopItems(@NonNull String shopName)
225231
if (validateShopName(shopName))
226232
{
227233
CustomConfig data = ShopUtil.shopConfigFiles.get(shopName);
228-
234+
229235
ArrayList<ItemStack> list = new ArrayList<>();
230236
for (String s : data.get().getKeys(false))
231237
{

src/main/java/me/sat7/dynamicshop/DynamicShop.java

+24-15
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@
4040
import java.io.File;
4141
import java.util.*;
4242

43-
import static me.sat7.dynamicshop.utilities.LangUtil.t;
44-
4543
public final class DynamicShop extends JavaPlugin implements Listener
4644
{
4745
private static Economy econ = null; // 볼트에 물려있는 이코노미
@@ -84,6 +82,7 @@ public static String dsPrefix(Player player)
8482
private BukkitTask periodicRepetitiveTask;
8583
private BukkitTask saveLogsTask;
8684
private BukkitTask cullLogsTask;
85+
private BukkitTask backupTask;
8786
private BukkitTask shopSaveTask;
8887
private BukkitTask userDataRepetitiveTask;
8988

@@ -149,11 +148,11 @@ public static void DebugLog()
149148

150149
UIManager.DebugLog();
151150

152-
//console.sendMessage("---------------------");
151+
console.sendMessage("---------------------");
153152

154-
//console.sendMessage("RotationTaskMap: size" + RotationUtil.RotationTaskMap.size());
155-
//for(Map.Entry<String, Integer> entry : RotationUtil.RotationTaskMap.entrySet())
156-
// console.sendMessage(entry.getKey() + ": " + entry.getValue());
153+
console.sendMessage("RotationTaskMap: size: " + RotationUtil.RotationTaskMap.size());
154+
for(Map.Entry<String, Integer> entry : RotationUtil.RotationTaskMap.entrySet())
155+
console.sendMessage(entry.getKey() + ": " + entry.getValue());
157156

158157
console.sendMessage("---------------------");
159158

@@ -195,11 +194,14 @@ private void Init()
195194
PeriodicRepetitiveTask();
196195
startSaveLogsTask();
197196
startCullLogsTask();
197+
StartBackupTask();
198198
StartShopSaveTask();
199199
StartUserDataTask();
200200
hookIntoJobs();
201201
hookIntoPlayerPoints();
202202
InitPapi();
203+
204+
RotationUtil.RestartAllRotationTask();
203205

204206
// 완료
205207
console.sendMessage(Constants.DYNAMIC_SHOP_PREFIX + " Enabled! :)");
@@ -400,6 +402,19 @@ private void RepeatAction()
400402
UIManager.RefreshUI();
401403
}
402404

405+
public void StartBackupTask()
406+
{
407+
if (!ConfigUtil.GetShopYmlBackup_Enable())
408+
return;
409+
410+
if (backupTask != null)
411+
{
412+
backupTask.cancel();
413+
}
414+
long interval = (20L * 60L * (long) ConfigUtil.GetShopYmlBackup_IntervalMinutes());
415+
backupTask = Bukkit.getScheduler().runTaskTimer(DynamicShop.plugin, ShopUtil::ShopYMLBackup, interval, interval);
416+
}
417+
403418
public void StartShopSaveTask()
404419
{
405420
if (shopSaveTask != null)
@@ -471,6 +486,9 @@ private void makeFolders()
471486
File shopFolder = new File(getDataFolder(), "Shop");
472487
shopFolder.mkdir(); // new 하고 같은줄에서 바로 하면 폴더 안만들어짐.
473488

489+
File rotationFolder = new File(getDataFolder(), "Rotation");
490+
rotationFolder.mkdir();
491+
474492
File LogFolder = new File(getDataFolder(), "Log");
475493
LogFolder.mkdir();
476494
}
@@ -519,13 +537,4 @@ public void onDisable()
519537
Bukkit.getScheduler().cancelTasks(this);
520538
console.sendMessage(Constants.DYNAMIC_SHOP_PREFIX + " Disabled");
521539
}
522-
523-
public static void PaidOnlyMsg(Player p)
524-
{
525-
TextComponent text = new TextComponent("");
526-
text.addExtra(DynamicShop.dsPrefix(p) + t(p, "PAID_VERSION.DESC"));
527-
text.addExtra(DynamicShop.CreateLink(t(p, "PAID_VERSION.GET_PREMIUM"), false, ChatColor.WHITE, "https://spigotmc.org/resources/100058"));
528-
529-
p.spigot().sendMessage(text);
530-
}
531540
}

src/main/java/me/sat7/dynamicshop/UpdateChecker.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
public class UpdateChecker
1313
{
14-
public static final int PROJECT_ID = 65603;
14+
public static final int PROJECT_ID = 65603;//100058;
1515
private final JavaPlugin plugin;
1616
private final int resourceId;
1717

src/main/java/me/sat7/dynamicshop/commands/DeleteShop.java

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package me.sat7.dynamicshop.commands;
22

33
import me.sat7.dynamicshop.files.CustomConfig;
4+
import me.sat7.dynamicshop.utilities.RotationUtil;
45
import me.sat7.dynamicshop.utilities.UserUtil;
56
import org.bukkit.command.CommandSender;
67
import org.bukkit.entity.Player;
@@ -42,6 +43,7 @@ public void RunCMD(String[] args, CommandSender sender)
4243

4344
ShopUtil.shopConfigFiles.remove(args[1]);
4445
ShopUtil.shopDirty.remove(args[1]);
46+
RotationUtil.OnShopDeleted(args[1]);
4547
UserUtil.ClearTradeLimitData(args[1]);
4648

4749
sender.sendMessage(DynamicShop.dsPrefix(sender) + t(sender, "MESSAGE.SHOP_DELETED"));

src/main/java/me/sat7/dynamicshop/commands/Help.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public static void showHelp(String helpcode, Player player, String[] args)
5555
if (player.hasPermission(P_ADMIN_SHOP_EDIT) || player.hasPermission(P_ADMIN_EDIT_ALL))
5656
{
5757
player.sendMessage(" - " + t(player, "HELP.USAGE")
58-
+ ": /ds shop <shopname> <enable | addhand | add | edit | editall | setToRecAll | sellbuy | permission | maxpage | flag | currency | position | shophours | fluctuation | stockStabilizing | command | account | log | resetTradingVolume | background>");
58+
+ ": /ds shop <shopname> <enable | addhand | add | edit | editall | setToRecAll | sellbuy | permission | maxpage | flag | currency | position | shophours | fluctuation | stockStabilizing | command | account | log | resetTradingVolume | background>");
5959
}
6060

6161
if (player.hasPermission(P_ADMIN_SHOP_EDIT))

src/main/java/me/sat7/dynamicshop/commands/Reload.java

+4
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ public void RunCMD(String[] args, CommandSender sender)
5656

5757
DynamicShop.plugin.startSaveLogsTask();
5858
DynamicShop.plugin.startCullLogsTask();
59+
60+
DynamicShop.plugin.StartBackupTask();
5961
DynamicShop.plugin.StartShopSaveTask();
6062

6163
DynamicShop.plugin.StartUserDataTask();
@@ -65,6 +67,8 @@ public void RunCMD(String[] args, CommandSender sender)
6567

6668
LangUtil.setupLangFile(ConfigUtil.GetLanguage()); // ConfigUtil.Load() 보다 밑에 있어야함.
6769

70+
RotationUtil.Reload();
71+
6872
sender.sendMessage(DynamicShop.dsPrefix(sender) + t(sender, "HELP.RELOADED"));
6973
}
7074
}

src/main/java/me/sat7/dynamicshop/commands/shop/Background.java

+30-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
import me.sat7.dynamicshop.DynamicShop;
44
import me.sat7.dynamicshop.commands.DSCMD;
5+
import me.sat7.dynamicshop.commands.Shop;
6+
import me.sat7.dynamicshop.constants.Constants;
7+
import me.sat7.dynamicshop.files.CustomConfig;
8+
import me.sat7.dynamicshop.utilities.ShopUtil;
9+
import org.bukkit.Material;
510
import org.bukkit.command.CommandSender;
611
import org.bukkit.entity.Player;
712

@@ -32,8 +37,30 @@ public void RunCMD(String[] args, CommandSender sender)
3237
if(!CheckValid(args, sender))
3338
return;
3439

35-
Player player = (Player) sender;
36-
if (player != null)
37-
DynamicShop.PaidOnlyMsg(player);
40+
if (args[3].equalsIgnoreCase("clear"))
41+
{
42+
String shopName = Shop.GetShopName(args);
43+
CustomConfig shopData = ShopUtil.shopConfigFiles.get(shopName);
44+
shopData.get().set("Options.background", null);
45+
shopData.save();
46+
47+
sender.sendMessage(DynamicShop.dsPrefix(sender) + t(sender, "MESSAGE.CHANGES_APPLIED") + args[2] + " " + args[3]);
48+
49+
return;
50+
}
51+
52+
Material mat = Material.getMaterial(args[3].toUpperCase() + "_STAINED_GLASS_PANE");
53+
if (mat == null)
54+
{
55+
sender.sendMessage(DynamicShop.dsPrefix(sender) + t(sender, "ERR.WRONG_DATATYPE"));
56+
return;
57+
}
58+
59+
String shopName = Shop.GetShopName(args);
60+
CustomConfig shopData = ShopUtil.shopConfigFiles.get(shopName);
61+
shopData.get().set("Options.background", args[3].toUpperCase());
62+
shopData.save();
63+
64+
sender.sendMessage(DynamicShop.dsPrefix(sender) + t(sender, "MESSAGE.CHANGES_APPLIED") + args[2] + " " + args[3]);
3865
}
3966
}

src/main/java/me/sat7/dynamicshop/events/JoinQuit.java

+1-5
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,9 @@ public void onPlayerJoin(PlayerJoinEvent e)
3131
if (e.getPlayer().hasPermission(P_ADMIN_SHOP_EDIT) || e.getPlayer().hasPermission(P_ADMIN_RELOAD))
3232
{
3333
TextComponent text = new TextComponent("");
34-
text.addExtra(DynamicShop.CreateLink("DShop3", false, ChatColor.DARK_AQUA, UpdateChecker.getResourceUrl()));
34+
text.addExtra(DynamicShop.CreateLink("DShop3 Premium", false, ChatColor.DARK_AQUA, UpdateChecker.getResourceUrl()));
3535
text.addExtra(" ");
3636
text.addExtra(DynamicShop.CreateLink("Download", false, ChatColor.WHITE, UpdateChecker.getResourceUrl()));
37-
text.addExtra(" ");
38-
text.addExtra(DynamicShop.CreateLink("Premium", false, ChatColor.WHITE, "https://spigotmc.org/resources/100058"));
39-
text.addExtra(" ");
40-
text.addExtra(DynamicShop.CreateLink("Donate", false, ChatColor.WHITE, "https://www.paypal.com/paypalme/7sat"));
4137

4238
e.getPlayer().sendMessage("");
4339
e.getPlayer().spigot().sendMessage(text);

src/main/java/me/sat7/dynamicshop/events/OnChat.java

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import me.sat7.dynamicshop.utilities.UserUtil;
1010
import org.bukkit.Bukkit;
1111
import org.bukkit.ChatColor;
12+
import org.bukkit.configuration.file.FileConfiguration;
1213
import org.bukkit.entity.Player;
1314
import org.bukkit.event.EventHandler;
1415
import org.bukkit.event.Listener;

src/main/java/me/sat7/dynamicshop/guis/ColorPicker.java

+27-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package me.sat7.dynamicshop.guis;
22

33
import me.sat7.dynamicshop.DynaShopAPI;
4+
import me.sat7.dynamicshop.DynamicShop;
5+
import me.sat7.dynamicshop.files.CustomConfig;
6+
import me.sat7.dynamicshop.utilities.ShopUtil;
7+
import me.sat7.dynamicshop.utilities.UserUtil;
48
import org.bukkit.Bukkit;
59
import org.bukkit.ChatColor;
610
import org.bukkit.Material;
@@ -40,7 +44,29 @@ public void OnClickUpperInventory(InventoryClickEvent e)
4044

4145
if (e.getSlot() == CLOSE)
4246
{
43-
DynaShopAPI.openStartPageSettingGui(player, slotIndex);
47+
if (slotIndex == -1)
48+
{
49+
String shopName = UserUtil.userInteractItem.get(player.getUniqueId()).split("/")[0];
50+
DynaShopAPI.openShopSettingGui(player, shopName);
51+
}
52+
else
53+
{
54+
DynaShopAPI.openStartPageSettingGui(player, slotIndex);
55+
}
56+
}
57+
else if (slotIndex == -1)
58+
{
59+
String shopName = UserUtil.userInteractItem.get(player.getUniqueId()).split("/")[0];
60+
CustomConfig data = ShopUtil.shopConfigFiles.get(shopName);
61+
62+
String color = null;
63+
if (e.getCurrentItem() != null && !e.getCurrentItem().getType().isAir())
64+
color = ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName());
65+
66+
data.get().set("Options.background", color);
67+
data.save();
68+
69+
DynaShopAPI.openShopSettingGui(player, shopName);
4470
}
4571
else if(e.getCurrentItem() != null && !e.getCurrentItem().getType().isAir())
4672
{

0 commit comments

Comments
 (0)