MapKeyMapRegistry class

Пакет: com.hypixel.hytale.server.core.plugin.registry

Файл: com/hypixel/hytale/server/core/plugin/registry/MapKeyMapRegistry.java

implements: IRegistry

Поля (1)

МодификаторыТипИмя
final MapKeyMapCodec<V> mapCodec

Методы (1)

МодификаторыВозвратСигнатура
if if(!var2x)

Исходный код

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

class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.lookup.MapKeyMapCodec;
class="kw">import com.hypixel.hytale.function.consumer.BooleanConsumer;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class MapKeyMapRegistry<V> class="kw">implements IRegistry {
   class="kw">protected class="kw">final MapKeyMapCodec<V> mapCodec;
   class="kw">protected class="kw">final List<BooleanConsumer> unregister;

   class="kw">public MapKeyMapRegistry(List<BooleanConsumer> var1, MapKeyMapCodec<V> var2) {
      this.unregister = var1;
      this.mapCodec = var2;
   }

   @Nonnull
   class="kw">public <T class="kw">extends V> MapKeyMapRegistry<V> register(@Nonnull Class<T> var1, @Nonnull String var2, @Nonnull Codec<T> var3) {
      this.mapCodec.register(var1, var2, var3);
      this.unregister.add(var2x -> {
         if (!var2x) {
            com.hypixel.hytale.assetstore.AssetRegistry.ASSET_LOCK.writeLock().lock();

            try {
               this.mapCodec.unregister(var1);
            } class="kw">finally {
               com.hypixel.hytale.assetstore.AssetRegistry.ASSET_LOCK.writeLock().unlock();
            }
         }
      });
      class="kw">return this;
   }

   @Override
   class="kw">public void shutdown() {
   }
}