9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-20 07:29:17 +00:00

Added Reload Event

This commit is contained in:
XiaoMoMi
2025-02-17 01:25:53 +08:00
parent e5e88bbe2f
commit b2bc40686b
3 changed files with 45 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
package net.momirealms.craftengine.bukkit.api.event;
import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
public class CraftEngineReloadEvent extends Event {
private static final HandlerList HANDLER_LIST = new HandlerList();
private final BukkitCraftEngine plugin;
public CraftEngineReloadEvent(BukkitCraftEngine plugin) {
this.plugin = plugin;
}
public BukkitCraftEngine plugin() {
return plugin;
}
@NotNull
public static HandlerList getHandlerList() {
return HANDLER_LIST;
}
@Override
public @NotNull HandlerList getHandlers() {
return HANDLER_LIST;
}
}

View File

@@ -1,6 +1,7 @@
package net.momirealms.craftengine.bukkit.plugin;
import net.momirealms.craftengine.bukkit.api.event.AsyncResourcePackGenerateEvent;
import net.momirealms.craftengine.bukkit.api.event.CraftEngineReloadEvent;
import net.momirealms.craftengine.bukkit.block.BukkitBlockManager;
import net.momirealms.craftengine.bukkit.block.behavior.BukkitBlockBehaviors;
import net.momirealms.craftengine.bukkit.entity.furniture.BukkitFurnitureManager;
@@ -166,6 +167,13 @@ public class BukkitCraftEngine extends CraftEngine {
if (this.tickTask != null) this.tickTask.cancel();
}
@Override
public void reload() {
super.reload();
CraftEngineReloadEvent event = new CraftEngineReloadEvent(this);
EventUtils.fireAndForget(event);
}
@Override
protected void registerParsers() {
// register template parser

View File

@@ -22,6 +22,14 @@ public interface CustomItem<I> extends BuildableItem<I> {
I buildItemStack(Player player, int count);
default I buildItemStack() {
return buildItemStack(null);
}
default I buildItemStack(int count) {
return buildItemStack(null, count);
}
ItemSettings settings();
Item<I> buildItem(Player player);