package net.fabricmc.fabric.api.event.lifecycle.v1;

import net.fabricmc.fabric.api.event.Event;
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.class_3218;
import net.minecraft.server.MinecraftServer;

public final class ServerWorldEvents {
   public static final Event<Load> LOAD = EventFactory.createArrayBacked(Load.class, (callbacks) -> (server, world) -> {
         for(Load callback : callbacks) {
            callback.onWorldLoad(server, world);
         }

      });
   public static final Event<Unload> UNLOAD = EventFactory.createArrayBacked(Unload.class, (callbacks) -> (server, world) -> {
         for(Unload callback : callbacks) {
            callback.onWorldUnload(server, world);
         }

      });

   private ServerWorldEvents() {
   }

   @FunctionalInterface
   public interface Load {
      void onWorldLoad(MinecraftServer var1, class_3218 var2);
   }

   @FunctionalInterface
   public interface Unload {
      void onWorldUnload(MinecraftServer var1, class_3218 var2);
   }
}
