CountObjectiveTask class

Пакет: com.hypixel.hytale.builtin.adventure.objectives.task

Файл: com/hypixel/hytale/builtin/adventure/objectives/task/CountObjectiveTask.java

extends: ObjectiveTask

Поля (1)

МодификаторыТипИмя
com.hypixel.hytale.protocol.ObjectiveTask var2

Методы (5)

МодификаторыВозвратСигнатура
if if(this.complete)
public void increaseTaskCompletionvoid increaseTaskCompletion(@Nonnull Store<EntityStore> var1, @Nonnull Ref<EntityStore> var2, int var3, @Nonnull Objective var4)
public void setTaskCompletionvoid setTaskCompletion(@Nonnull Store<EntityStore> var1, @Nonnull Ref<EntityStore> var2, int var3, @Nonnull Objective var4)
abstract super super(var1, var2, var3)
private void updateTaskCompletionvoid updateTaskCompletion(@Nonnull Store<EntityStore> var1, @Nonnull Ref<EntityStore> var2, @Nonnull Objective var3)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.objectives.task;

class="kw">import com.hypixel.hytale.builtin.adventure.objectives.Objective;
class="kw">import com.hypixel.hytale.builtin.adventure.objectives.config.task.CountObjectiveTaskAsset;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">abstract class CountObjectiveTask class="kw">extends ObjectiveTask {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<CountObjectiveTask> CODEC = BuilderCodec.abstractBuilder(CountObjectiveTask.class, ObjectiveTask.BASE_CODEC)
      .append(new KeyedCodec<>("Count", Codec.INTEGER), (var0, var1) -> var0.count = var1, var0 -> var0.count)
      .add()
      .build();
   class="kw">protected int count;

   class="kw">public CountObjectiveTask(@Nonnull CountObjectiveTaskAsset var1, int var2, int var3) {
      super(var1, var2, var3);
   }

   class="kw">protected CountObjectiveTask() {
   }

   @Nonnull
   class="kw">public CountObjectiveTaskAsset getAsset() {
      class="kw">return (CountObjectiveTaskAsset)super.getAsset();
   }

   @Override
   class="kw">public boolean checkCompletion() {
      class="kw">return this.count >= this.getAsset().getCount();
   }

   @Override
   class="kw">public void assetChanged(@Nonnull Objective var1) {
      if (this.complete) {
         this.count = this.getAsset().getCount();
      }

      super.assetChanged(var1);
   }

   class="kw">public void increaseTaskCompletion(@Nonnull Store<EntityStore> var1, @Nonnull Ref<EntityStore> var2, int var3, @Nonnull Objective var4) {
      if (this.areTaskConditionsFulfilled(var1, var2, var4.getActivePlayerUUIDs())) {
         this.count = MathUtil.clamp(this.count + var3, this.count, this.getAsset().getCount());
         this.updateTaskCompletion(var1, var2, var4);
      }
   }

   class="kw">public void setTaskCompletion(@Nonnull Store<EntityStore> var1, @Nonnull Ref<EntityStore> var2, int var3, @Nonnull Objective var4) {
      if (this.areTaskConditionsFulfilled(var1, var2, var4.getActivePlayerUUIDs())) {
         this.count = MathUtil.clamp(var3, 0, this.getAsset().getCount());
         this.updateTaskCompletion(var1, var2, var4);
      }
   }

   class="kw">private void updateTaskCompletion(@Nonnull Store<EntityStore> var1, @Nonnull Ref<EntityStore> var2, @Nonnull Objective var3) {
      var3.markDirty();
      this.sendUpdateObjectiveTaskPacket(var3);
      if (this.checkCompletion()) {
         this.consumeTaskConditions(var1, var2, var3.getActivePlayerUUIDs());
         this.complete(var3, var1);
         var3.checkTaskSetCompletion(var1);
      }
   }

   @Nonnull
   class="kw">public com.hypixel.hytale.protocol.ObjectiveTask toPacket(@Nonnull Objective var1) {
      com.hypixel.hytale.protocol.ObjectiveTask var2 = new com.hypixel.hytale.protocol.ObjectiveTask();
      var2.taskDescriptionKey = Message.translation(this.asset.getDescriptionKey(var1.getObjectiveId(), this.taskSetIndex, this.taskIndex))
         .getFormattedMessage();
      var2.currentCompletion = this.count;
      var2.completionNeeded = this.getAsset().getCount();
      class="kw">return var2;
   }
}