BeaconSupport class

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

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

extends: MessageSupport

implements: Component<EntityStore>

Поля (5)

МодификаторыТипИмя
private NPCMessage[] messageSlots
BeaconSupport var1
NPCMessage var2
NPCMessage[] var2
int var5

Методы (7)

МодификаторыВозвратСигнатура
for for(int var3 = 0; var3 < var2.length; var3++)
for for(int var2 = 0; var2 < var1.messageSlots.length; var2++)
static ComponentType<EntityStore, BeaconSupport> getComponentTypeComponentType<EntityStore, BeaconSupport> getComponentType()
public String getMessageTextForIndexString getMessageTextForIndex(int var1)
if if(this.messageSlots != null)
public void initialisevoid initialise(@Nonnull Object2IntMap<String> var1)
public void postMessagevoid postMessage(String var1, Ref<EntityStore> var2, double var3)

Исходный код

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

class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2IntMap;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BeaconSupport class="kw">extends MessageSupport class="kw">implements Component<EntityStore> {
   class="kw">private NPCMessage[] messageSlots;
   class="kw">private Object2IntMap<String> messageIndices;
   class="kw">private Int2ObjectMap<String> indicesToMessages;

   class="kw">public BeaconSupport() {
   }

   class="kw">public class="kw">static ComponentType<EntityStore, BeaconSupport> getComponentType() {
      class="kw">return NPCPlugin.get().getBeaconSupportComponentType();
   }

   class="kw">public void postMessage(String var1, Ref<EntityStore> var2, double var3) {
      if (this.messageSlots != null) {
         if (!(var3 < 0.0) || var3 == -1.0) {
            int var5 = this.messageIndices.getInt(var1);
            if (var5 != Integer.MIN_VALUE && this.messageSlots[var5].isEnabled()) {
               this.messageSlots[var5].activate(var2, var3);
            }
         }
      }
   }

   @Nullable
   class="kw">public Ref<EntityStore> pollMessage(int var1) {
      NPCMessage var2 = this.messageSlots[var1];
      var2.deactivate();
      class="kw">return var2.getTarget();
   }

   @Nullable
   class="kw">public Ref<EntityStore> peekMessage(int var1) {
      class="kw">return this.messageSlots[var1].getTarget();
   }

   class="kw">public void initialise(@Nonnull Object2IntMap<String> var1) {
      this.messageIndices = var1;
      this.indicesToMessages = new Int2ObjectOpenHashMap();
      var1.forEach((var1x, var2x) -> this.indicesToMessages.put(var2x, var1x));
      NPCMessage[] var2 = new NPCMessage[var1.size()];

      for (int var3 = 0; var3 < var2.length; var3++) {
         var2[var3] = new NPCMessage();
      }

      this.messageSlots = var2;
   }

   class="kw">public String getMessageTextForIndex(int var1) {
      class="kw">return (String)this.indicesToMessages.get(var1);
   }

   @Override
   class="kw">public NPCMessage[] getMessageSlots() {
      class="kw">return this.messageSlots;
   }

   @Nonnull
   @Override
   class="kw">public Component<EntityStore> clone() {
      BeaconSupport var1 = new BeaconSupport();
      var1.messageSlots = new NPCMessage[this.messageSlots.length];

      for (int var2 = 0; var2 < var1.messageSlots.length; var2++) {
         var1.messageSlots[var2] = this.messageSlots[var2].clone();
      }

      var1.messageIndices = this.messageIndices;
      var1.indicesToMessages = this.indicesToMessages;
      class="kw">return var1;
   }
}