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;
}
}