DeleteVolumeEffect class

Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin

Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/DeleteVolumeEffect.java

extends: VolumeStateEffect

Поля (4)

МодификаторыТипИмя
DeleteVolumeEffect var1
boolean var3
var3
VolumeEntry var6

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerEventType;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.GroupEntry;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.TriggerVolumeManager;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry;
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 java.util.ArrayList;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class DeleteVolumeEffect class="kw">extends VolumeStateEffect {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<DeleteVolumeEffect> CODEC = createCodecBuilder(DeleteVolumeEffect.class, DeleteVolumeEffect::new)
      .append(new KeyedCodec<>("DeleteGroup", Codec.BOOLEAN, false), (var0, var1) -> var0.deleteGroup = var1, var0 -> var0.deleteGroup ? Boolean.TRUE : null)
      .add()
      .build();
   class="kw">private boolean deleteGroup;

   class="kw">public DeleteVolumeEffect() {
   }

   @Nonnull
   class="kw">public class="kw">static DeleteVolumeEffect create(@Nonnull TriggerEventType var0) {
      DeleteVolumeEffect var1 = new DeleteVolumeEffect();
      var1.setEventType(var0);
      class="kw">return var1;
   }

   @Nonnull
   class="kw">public DeleteVolumeEffect withMatchTag(@Nonnull String var1, @Nullable String var2) {
      this.matchKey = var1;
      this.matchValue = var2;
      class="kw">return this;
   }

   @Nonnull
   class="kw">public DeleteVolumeEffect withDeleteGroup(boolean var1) {
      this.deleteGroup = var1;
      class="kw">return this;
   }

   @Override
   class="kw">protected boolean applyTo(@Nonnull VolumeEntry var1) {
      if (var1.isPendingDestroy()) {
         class="kw">return false;
      }

      var1.markPendingDestroy();
      class="kw">return true;
   }

   @Override
   class="kw">protected boolean targetsGroups() {
      class="kw">return this.deleteGroup;
   }

   @Override
   class="kw">protected boolean applyToGroup(@Nonnull GroupEntry var1, @Nonnull TriggerVolumeManager var2) {
      boolean var3 = false;

      for (String var5 : new ArrayList<>(var1.getMemberVolumeIds())) {
         VolumeEntry var6 = var2.getVolume(var5);
         if (var6 != null && !var6.isPendingDestroy()) {
            var6.markPendingDestroy();
            var3 = true;
         }
      }

      class="kw">return var3;
   }

   @Override
   class="kw">protected boolean shouldNotifyViewers() {
      class="kw">return false;
   }
}