WrappedInfoProvider class

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

Файл: com/hypixel/hytale/server/npc/sensorinfo/WrappedInfoProvider.java

implements: InfoProvider

Поля (2)

МодификаторыТипИмя
InfoProvider var3
ExtraInfoProvider var4

Методы (7)

МодификаторыВозвратСигнатура
public void addMatchvoid addMatch(Sensor var1)
public void clearMatchesvoid clearMatches()
public void clearPositionMatchvoid clearPositionMatch()
abstract for for(int var2 = 0; var2 < this.sensors.size()
if if(var3 != null)
if if(var4 != null)
public void setPositionMatchvoid setPositionMatch(IPositionProvider var1)

Исходный код

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

class="kw">import com.hypixel.hytale.server.npc.instructions.Sensor;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.parameterproviders.ParameterProvider;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class WrappedInfoProvider class="kw">implements InfoProvider {
   @Nonnull
   class="kw">private class="kw">final List<Sensor> sensors;
   @Nullable
   class="kw">private IPositionProvider positionMatch;
   class="kw">protected ExtraInfoProvider passedExtraInfo;

   class="kw">public WrappedInfoProvider() {
      this.sensors = new ObjectArrayList();
   }

   class="kw">public WrappedInfoProvider(Sensor[] var1) {
      this.sensors = List.of(var1);
   }

   @Nullable
   @Override
   class="kw">public <E class="kw">extends ExtraInfoProvider> E getExtraInfo(Class<E> var1) {
      for (int var2 = 0; var2 < this.sensors.size(); var2++) {
         InfoProvider var3 = this.sensors.get(var2).getSensorInfo();
         if (var3 != null) {
            ExtraInfoProvider var4 = var3.getExtraInfo(var1);
            if (var4 != null) {
               class="kw">return var4;
            }
         }
      }

      class="kw">return null;
   }

   @Override
   class="kw">public <E class="kw">extends ExtraInfoProvider> void passExtraInfo(E var1) {
      this.passedExtraInfo = var1;
   }

   @Override
   class="kw">public <E class="kw">extends ExtraInfoProvider> E getPassedExtraInfo(Class<E> var1) {
      class="kw">return (E)this.passedExtraInfo;
   }

   @Override
   class="kw">public boolean hasPosition() {
      class="kw">return this.positionMatch != null && this.positionMatch.hasPosition();
   }

   @Nullable
   @Override
   class="kw">public IPositionProvider getPositionProvider() {
      class="kw">return this.positionMatch;
   }

   @Nullable
   @Override
   class="kw">public ParameterProvider getParameterProvider(int var1) {
      class="kw">return null;
   }

   class="kw">public void clearMatches() {
      this.sensors.clear();
   }

   class="kw">public void addMatch(Sensor var1) {
      this.sensors.add(var1);
   }

   class="kw">public void clearPositionMatch() {
      this.positionMatch = null;
   }

   class="kw">public void setPositionMatch(IPositionProvider var1) {
      this.positionMatch = var1;
   }
}