BeaconBroadcast class

Пакет: com.hypixel.hytale.server.npc.components.messaging

Файл: com/hypixel/hytale/server/npc/components/messaging/BeaconBroadcast.java

Поля (4)

МодификаторыТипИмя
List var11
Ref var13
List var5
BeaconSupport var6

Методы (9)

МодификаторыВозвратСигнатура
static void broadcastvoid broadcast(@Nonnull Vector3d var0, double var1, @Nonnull String var3, @Nonnull Ref<EntityStore> var4, int var5, @Nullable int[] var6, boolean var7, double var8, @Nonnull Store<EntityStore> var10)
static void collectProvidedReceiversvoid collectProvidedReceivers(@Nonnull Vector3d var0, double var1, @Nonnull Store<EntityStore> var3, @Nonnull List<Ref<EntityStore>> var4)
abstract collectProvidedReceivers collectProvidedReceivers(var0, var1, var10, var11)
abstract for for(int var6 = 0; var6 < var5.size()
abstract for for(int var12 = 0; var12 < var11.size()
if if(var6 != null)
static void postvoid post(@Nonnull Ref<EntityStore> var0, @Nonnull String var1, @Nonnull Ref<EntityStore> var2, double var3, @Nonnull ComponentAccessor<EntityStore> var5)
abstract post post(var13, var3, var4, var8, var10)
static boolean shouldReceiveboolean shouldReceive(int var0, @Nonnull Ref<EntityStore> var1, @Nullable int[] var2, boolean var3, @Nonnull ComponentAccessor<EntityStore> var4)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.components.messaging;

class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.role.support.WorldSupport;
class="kw">import it.unimi.dsi.fastutil.objects.ReferenceArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;

class="kw">public class="kw">final class BeaconBroadcast {
   class="kw">private BeaconBroadcast() {
   }

   class="kw">public class="kw">static void collectProvidedReceivers(@Nonnull Vector3d var0, double var1, @Nonnull Store<EntityStore> var3, @Nonnull List<Ref<EntityStore>> var4) {
      List var5 = NPCPlugin.get().getBeaconReceiverProviders();

      for (int var6 = 0; var6 < var5.size(); var6++) {
         var5.get(var6).collectInRange(var0, var1, var3, var4);
      }
   }

   class="kw">public class="kw">static boolean shouldReceive(
      int var0, @Nonnull Ref<EntityStore> var1, @Nullable int[] var2, boolean var3, @Nonnull ComponentAccessor<EntityStore> var4
   ) {
      if (var4.getComponent(var1, BeaconSupport.getComponentType()) == null) {
         class="kw">return false;
      } else {
         class="kw">return var2 != null && var2.length != 0 ? WorldSupport.isGroupMember(var0, var1, var2, var4) : var3;
      }
   }

   class="kw">public class="kw">static void post(
      @Nonnull Ref<EntityStore> var0, @Nonnull String var1, @Nonnull Ref<EntityStore> var2, double var3, @Nonnull ComponentAccessor<EntityStore> var5
   ) {
      BeaconSupport var6 = var5.getComponent(var0, BeaconSupport.getComponentType());
      if (var6 != null) {
         var6.postMessage(var1, var2, var3);
      }
   }

   class="kw">public class="kw">static void broadcast(
      @Nonnull Vector3d var0,
      double var1,
      @Nonnull String var3,
      @Nonnull Ref<EntityStore> var4,
      int var5,
      @Nullable int[] var6,
      boolean var7,
      double var8,
      @Nonnull Store<EntityStore> var10
   ) {
      List var11 = new ReferenceArrayList();
      var10.getResource(NPCPlugin.get().getNpcSpatialResource()).getSpatialStructure().collect(var0, var1, var11);
      collectProvidedReceivers(var0, var1, var10, var11);

      for (int var12 = 0; var12 < var11.size(); var12++) {
         Ref var13 = var11.get(var12);
         if (var13 != null && var13.isValid() && !var13.equals(var4) && shouldReceive(var5, var13, var6, var7, var10)) {
            post(var13, var3, var4, var8, var10);
         }
      }
   }
}