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() {
   }
}