66import org .bukkit .entity .EntityType ;
77import org .bukkit .plugin .Plugin ;
88import org .bukkit .scheduler .BukkitRunnable ;
9- import xyz .n7mn .dev .yululi .itemframeprotectionplugin .data .DataAPI ;
10- import xyz .n7mn .dev .yululi .itemframeprotectionplugin .data .DropItemData ;
11- import xyz .n7mn .dev .yululi .itemframeprotectionplugin .data .FrameData ;
12- import xyz .n7mn .dev .yululi .itemframeprotectionplugin .data .ItemFrameProtectDeleteEvent ;
9+ import xyz .n7mn .dev .yululi .itemframeprotectionplugin .data .*;
1310
11+ import javax .swing .*;
1412import java .util .List ;
1513
1614class AutoRemoveTimer extends BukkitRunnable {
@@ -30,6 +28,7 @@ public void run() {
3028
3129
3230 try {
31+
3332 api .cacheToSQL ();
3433
3534 List <FrameData > FrameDataList = api .getListByFrameData (true );
@@ -40,13 +39,14 @@ public void run() {
4039 Entity entity = Bukkit .getEntity (frameData .getItemFrameUUID ());
4140 if (entity == null ){
4241 api .deleteTableByFrame (frameData .getItemFrameUUID ());
43- Bukkit .getServer ().getPluginManager ().callEvent (new ItemFrameProtectDeleteEvent (frameData .getItemFrameUUID ()));
42+
43+ Bukkit .getScheduler ().runTask (plugin , () -> Bukkit .getServer ().getPluginManager ().callEvent (new ItemFrameProtectDeleteEvent (frameData .getItemFrameUUID ())));
4444 continue ;
4545 }
4646
4747 if (entity .getType () != EntityType .ITEM_FRAME ){
4848 api .deleteTableByFrame (frameData .getItemFrameUUID ());
49- Bukkit .getServer ().getPluginManager ().callEvent (new ItemFrameProtectDeleteEvent (frameData .getItemFrameUUID ()));
49+ Bukkit .getScheduler (). runTask ( plugin , () -> Bukkit . getServer ().getPluginManager ().callEvent (new ItemFrameProtectDeleteEvent (frameData .getItemFrameUUID () )));
5050 }
5151
5252 }
@@ -66,6 +66,7 @@ public void run() {
6666
6767 }
6868
69+
6970 FrameDataList .clear ();
7071 DropItemList .clear ();
7172
0 commit comments