fabric-api-base-1.0.0+14b92d896f.jar

Download file
    package net.fabricmc.fabric.impl.base.event;

import java.lang.reflect.Array;
import java.util.Arrays;
import net.fabricmc.fabric.impl.base.toposort.SortableNode;
import net.minecraft.class_2960;

class EventPhaseData<T> extends SortableNode<EventPhaseData<T>> {
   final class_2960 id;
   T[] listeners;

   EventPhaseData(class_2960 id, Class<?> listenerClass) {
      this.id = id;
      this.listeners = (T[])((Object[])Array.newInstance(listenerClass, 0));
   }

   void addListener(T listener) {
      int oldLength = this.listeners.length;
      this.listeners = (T[])Arrays.copyOf(this.listeners, oldLength + 1);
      this.listeners[oldLength] = listener;
   }

   protected String getDescription() {
      return this.id.toString();
   }
}
    
Download file