9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-30 04:19:27 +00:00

feat: make AsyncResourcePackCacheEvent

This commit is contained in:
Yang Seong Mo
2025-09-06 18:53:15 +09:00
parent 7b5d3edc72
commit 66fd22ff49
4 changed files with 96 additions and 19 deletions

View File

@@ -0,0 +1,31 @@
package net.momirealms.craftengine.bukkit.api.event;
import net.momirealms.craftengine.core.pack.PackCacheData;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
public class AsyncResourcePackCacheEvent extends Event {
private static final HandlerList HANDLER_LIST = new HandlerList();
private final PackCacheData cacheData;
public AsyncResourcePackCacheEvent(@NotNull PackCacheData cacheData) {
super(true);
this.cacheData = cacheData;
}
@NotNull
public PackCacheData cacheData() {
return cacheData;
}
@NotNull
public static HandlerList getHandlerList() {
return HANDLER_LIST;
}
@NotNull
public HandlerList getHandlers() {
return getHandlerList();
}
}

View File

@@ -1,6 +1,7 @@
package net.momirealms.craftengine.bukkit.pack;
import net.momirealms.craftengine.bukkit.api.BukkitAdaptors;
import net.momirealms.craftengine.bukkit.api.event.AsyncResourcePackCacheEvent;
import net.momirealms.craftengine.bukkit.api.event.AsyncResourcePackGenerateEvent;
import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine;
import net.momirealms.craftengine.bukkit.plugin.command.feature.ReloadCommand;
@@ -28,10 +29,17 @@ public class BukkitPackManager extends AbstractPackManager implements Listener {
private final BukkitCraftEngine plugin;
public BukkitPackManager(BukkitCraftEngine plugin) {
super(plugin, (rf, zp) -> {
AsyncResourcePackGenerateEvent endEvent = new AsyncResourcePackGenerateEvent(rf, zp);
EventUtils.fireAndForget(endEvent);
});
super(
plugin,
(cd) -> {
AsyncResourcePackCacheEvent cacheEvent = new AsyncResourcePackCacheEvent(cd);
EventUtils.fireAndForget(cacheEvent);
},
(rf, zp) -> {
AsyncResourcePackGenerateEvent endEvent = new AsyncResourcePackGenerateEvent(rf, zp);
EventUtils.fireAndForget(endEvent);
}
);
this.plugin = plugin;
}