GrantedAugmentTagsRefresher interface

Пакет: com.hypixel.hytale.builtin.crafting.component

Файл: com/hypixel/hytale/builtin/crafting/component/BenchBlock.java

Методы (1)

МодификаторыВозвратСигнатура
abstract void refreshvoid refresh(@Nonnull Store<ChunkStore> var1, @Nonnull Ref<ChunkStore> var2, @Nonnull Vector3i var3)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.crafting.CraftingPlugin;
class="kw">import com.hypixel.hytale.builtin.crafting.window.BenchWindow;
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.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
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.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.Arrays;
class="kw">import java.util.List;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.UUID;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;

class="kw">public class BenchBlock class="kw">implements Component<ChunkStore> {
   @Nonnull
   class="kw">private class="kw">static class="kw">volatile BenchBlock.GrantedAugmentTagsRefresher grantedAugmentTagsRefresher = (var0, var1, var2) -> {};
   @Nonnull
   class="kw">private class="kw">static class="kw">volatile BenchBlock.OpenGate openGate = (var0, var1, var2, var3) -> true;
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<BenchBlock> CODEC = BuilderCodec.builder(BenchBlock.class, BenchBlock::new)
      .appendInherited(
         new KeyedCodec<>("TierLevel", Codec.INTEGER),
         (var0, var1) -> var0.tierLevel = var1,
         var0 -> var0.tierLevel,
         (var0, var1) -> var0.tierLevel = var1.tierLevel
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("UpgradeItems", new ArrayCodec<>(ItemStack.CODEC, ItemStack[]::new)),
         (var0, var1) -> var0.upgradeItems = var1,
         var0 -> var0.upgradeItems,
         (var0, var1) -> var0.upgradeItems = var1.upgradeItems
      )
      .add()
      .build();
   class="kw">private int tierLevel = 1;
   class="kw">protected ItemStack[] upgradeItems = ItemStack.EMPTY_ARRAY;
   @Nonnull
   class="kw">protected class="kw">transient Set<String> grantedAugmentTags = Set.of();
   @Nonnull
   class="kw">protected class="kw">final class="kw">transient Map<UUID, BenchWindow> windows = new ConcurrentHashMap<>();

   class="kw">public class="kw">static void setGrantedAugmentTagsRefresher(@Nonnull BenchBlock.GrantedAugmentTagsRefresher var0) {
      grantedAugmentTagsRefresher = var0;
   }

   class="kw">public class="kw">static void refreshGrantedAugmentTags(@Nonnull Store<ChunkStore> var0, @Nonnull Ref<ChunkStore> var1, @Nonnull Vector3i var2) {
      grantedAugmentTagsRefresher.refresh(var0, var1, var2);
   }

   class="kw">public class="kw">static void setOpenGate(@Nonnull BenchBlock.OpenGate var0) {
      openGate = var0;
   }

   class="kw">public class="kw">static boolean tryOpen(
      @Nonnull Ref<EntityStore> var0, @Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<ChunkStore> var2, @Nonnull Vector3i var3
   ) {
      class="kw">return openGate.tryOpen(var0, var1, var2, var3);
   }

   class="kw">public class="kw">static ComponentType<ChunkStore, BenchBlock> getComponentType() {
      class="kw">return CraftingPlugin.get().getBenchBlockComponentType();
   }

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

   class="kw">public BenchBlock(int var1, ItemStack[] var2) {
      this.tierLevel = var1;
      this.upgradeItems = var2;
   }

   class="kw">public void addUpgradeItems(@Nonnull List<ItemStack> var1) {
      var1.addAll(Arrays.asList(this.upgradeItems));
      this.upgradeItems = var1.toArray(ItemStack[]::new);
   }

   class="kw">public void setTierLevel(int var1) {
      this.tierLevel = var1;
   }

   class="kw">public int getTierLevel() {
      class="kw">return this.tierLevel;
   }

   @Nonnull
   class="kw">public Set<String> getGrantedAugmentTags() {
      class="kw">return this.grantedAugmentTags;
   }

   class="kw">public void setGrantedAugmentTags(@Nonnull Set<String> var1) {
      this.grantedAugmentTags = var1;
   }

   class="kw">public ItemStack[] getUpgradeItems() {
      class="kw">return this.upgradeItems;
   }

   class="kw">public void setUpgradeItems(ItemStack[] var1) {
      this.upgradeItems = var1;
   }

   @Nonnull
   class="kw">public String getTierStateName() {
      class="kw">return this.tierLevel > 1 ? "Tier" + this.tierLevel : "class="kw">default";
   }

   @Nonnull
   class="kw">public Map<UUID, BenchWindow> getWindows() {
      class="kw">return this.windows;
   }

   @Nullable
   @Override
   class="kw">public Component<ChunkStore> clone() {
      class="kw">return new BenchBlock(this.tierLevel, this.upgradeItems);
   }

   @Nonnull
   class="kw">public class="kw">static BlockType getBaseBlockType(@Nonnull BlockType var0) {
      String var1 = var0.getDefaultStateKey();
      if (var1 == null) {
         class="kw">return var0;
      }

      BlockType var2 = BlockType.getAssetMap().getAsset(var1);
      if (var2 == null) {
         var2 = var0;
      }

      class="kw">return var2;
   }

   @FunctionalInterface
   class="kw">public class="kw">interface GrantedAugmentTagsRefresher {
      void refresh(@Nonnull Store<ChunkStore> var1, @Nonnull Ref<ChunkStore> var2, @Nonnull Vector3i var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface OpenGate {
      boolean tryOpen(@Nonnull Ref<EntityStore> var1, @Nonnull CommandBuffer<EntityStore> var2, @Nonnull Ref<ChunkStore> var3, @Nonnull Vector3i var4);
   }
}