AttitudeView class
Пакет: com.hypixel.hytale.server.npc.blackboard.view.attitude
Файл: com/hypixel/hytale/server/npc/blackboard/view/attitude/AttitudeView.java
extends: PrioritisedProviderView<IAttitudeProvider, AttitudeView>
Поля (10)
| Модификаторы | Тип | Имя |
|---|---|---|
|
World |
var3 |
|
SpawnLineage |
var4 |
|
WorldSupport |
var4 |
|
Blackboard |
var4 |
|
SpawnLineage |
var5 |
|
Attitude |
var5 |
|
|
var5 |
|
String |
var6 |
|
int |
var6 |
final |
World |
world |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
AttitudeView |
getUpdatedViewAttitudeView getUpdatedView(@Nonnull Ref<EntityStore> var1, @Nonnull ComponentAccessor<EntityStore> var2) |
|
|
if if(var4 == null) |
|
|
if if(var5 == null) |
|
|
while while(var5 == null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.blackboard.view.attitude;
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.asset.type.attitude.Attitude;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
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.blackboard.Blackboard;
class="kw">import com.hypixel.hytale.server.npc.blackboard.BlackboardSubscription;
class="kw">import com.hypixel.hytale.server.npc.blackboard.view.PrioritisedProviderView;
class="kw">import com.hypixel.hytale.server.npc.role.support.WorldSupport;
class="kw">import com.hypixel.hytale.server.spawning.SpawnLineage;
class="kw">import javax.annotation.Nonnull;
class="kw">public class AttitudeView class="kw">extends PrioritisedProviderView<IAttitudeProvider, AttitudeView> {
class="kw">private class="kw">final World world;
class="kw">public AttitudeView(World var1) {
this.world = var1;
this.registerProvider(0, (var0, var1x, var2, var3) -> WorldSupport.get(var0, var3).getOverriddenAttitude(var2));
this.registerProvider(100, (var0, var1x, var2, var3) -> {
SpawnLineage var4 = var3.getComponent(var0, SpawnLineage.getComponentType());
if (var4 == null) {
class="kw">return null;
}
SpawnLineage var5 = var3.getComponent(var2, SpawnLineage.getComponentType());
if (var5 == null) {
class="kw">return null;
}
String var6 = var4.getLineageId();
class="kw">return var6 != null && var6.equals(var5.getLineageId()) ? Attitude.FRIENDLY : null;
});
this.registerProvider(200, (var0, var1x, var2, var3) -> NPCPlugin.get().getAttitudeMap().getAttitude(var0, var1x, var2, var3));
this.registerProvider(Integer.MAX_VALUE, (var0, var1x, var2, var3) -> {
WorldSupport var4 = WorldSupport.get(var0, var3);
class="kw">return var3.getArchetype(var2).contains(Player.getComponentType()) ? var4.getDefaultPlayerAttitude() : var4.getDefaultNPCAttitude();
});
}
@Nonnull
class="kw">public Attitude getAttitude(@Nonnull Ref<EntityStore> var1, int var2, @Nonnull Ref<EntityStore> var3, @Nonnull ComponentAccessor<EntityStore> var4) {
Attitude var5 = null;
int var6 = 0;
while (var5 == null) {
if (var6 >= this.providers.size()) {
class="kw">return Attitude.NEUTRAL;
}
var5 = this.providers.get(var6++).getProvider().getAttitude(var1, var2, var3, var4);
}
class="kw">return var5;
}
@Override
class="kw">public boolean isOutdated(@Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) {
class="kw">return false;
}
class="kw">public AttitudeView getUpdatedView(@Nonnull Ref<EntityStore> var1, @Nonnull ComponentAccessor<EntityStore> var2) {
World var3 = var2.getExternalData().getWorld();
if (!var3.equals(this.world)) {
Blackboard var4 = var2.getResource(Blackboard.getResourceType());
class="kw">return var4.getView(AttitudeView.class, var1, var2);
} else {
class="kw">return this;
}
}
@Override
class="kw">public void initialiseEntity(@Nonnull Ref<EntityStore> var1, @Nonnull BlackboardSubscription var2) {
}
@Override
class="kw">public void cleanup() {
}
@Override
class="kw">public void onWorldRemoved() {
}
}