CommonAssetTypeHandler class

Пакет: com.hypixel.hytale.builtin.asseteditor.assettypehandler

Файл: com/hypixel/hytale/builtin/asseteditor/assettypehandler/CommonAssetTypeHandler.java

extends: AssetTypeHandler

Поля (16)

МодификаторыТипИмя
final HytaleLogger LOGGER
CommonAssetRegistry.PackAsset var10
CommonAssetRegistry.PackAsset var10
BooleanObjectPair var3
AssetPack var3
Path var4
byte[] var5
var5
String var6
String var6
FileCommonAsset var7
FileCommonAsset var7
CommonAssetRegistry.AddCommonAssetResult var8
CommonAssetRegistry.AddCommonAssetResult var8
CommonAssetRegistry.PackAsset var9
CommonAssetRegistry.PackAsset var9

Методы (3)

МодификаторыВозвратСигнатура
if if(var3 != null)
if if(var5 == null)
if if(this.cachedDefaultUpdateQuery == null)

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.AssetPack;
class="kw">import com.hypixel.hytale.assetstore.AssetUpdateQuery;
class="kw">import com.hypixel.hytale.builtin.asseteditor.AssetPath;
class="kw">import com.hypixel.hytale.builtin.asseteditor.EditorClient;
class="kw">import com.hypixel.hytale.builtin.asseteditor.util.AssetPathUtil;
class="kw">import com.hypixel.hytale.common.util.PathUtil;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.protocol.packets.asseteditor.AssetEditorAssetType;
class="kw">import com.hypixel.hytale.protocol.packets.asseteditor.AssetEditorEditorType;
class="kw">import com.hypixel.hytale.server.core.asset.AssetModule;
class="kw">import com.hypixel.hytale.server.core.asset.common.CommonAssetModule;
class="kw">import com.hypixel.hytale.server.core.asset.common.CommonAssetRegistry;
class="kw">import com.hypixel.hytale.server.core.asset.common.asset.FileCommonAsset;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import it.unimi.dsi.fastutil.booleans.BooleanObjectPair;
class="kw">import java.io.IOException;
class="kw">import java.nio.file.Files;
class="kw">import java.nio.file.Path;
class="kw">import java.util.Collections;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class CommonAssetTypeHandler class="kw">extends AssetTypeHandler {
   class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();

   class="kw">public CommonAssetTypeHandler(String var1, @Nullable String var2, String var3, AssetEditorEditorType var4) {
      super(new AssetEditorAssetType(var1, var2, true, "Common", var3, var4));
   }

   @Nonnull
   @Override
   class="kw">public AssetTypeHandler.AssetLoadResult loadAsset(AssetPath var1, Path var2, byte[] var3, AssetUpdateQuery var4, EditorClient var5) {
      String var6 = PathUtil.toUnixPathString(AssetPathUtil.PATH_DIR_COMMON.relativize(var1.path()));
      FileCommonAsset var7 = new FileCommonAsset(var2, var6, var3);
      CommonAssetRegistry.AddCommonAssetResult var8 = CommonAssetRegistry.addCommonAsset(var1.packId(), var7);
      CommonAssetRegistry.PackAsset var9 = var8.getNewPackAsset();
      CommonAssetRegistry.PackAsset var10 = var8.getPreviousNameAsset();
      class="kw">return var10 != null && var10.asset().getHash().equals(var9.asset().getHash())
         ? AssetTypeHandler.AssetLoadResult.ASSETS_UNCHANGED
         : AssetTypeHandler.AssetLoadResult.COMMON_ASSETS_CHANGED;
   }

   @Nonnull
   @Override
   class="kw">public AssetTypeHandler.AssetLoadResult unloadAsset(@Nonnull AssetPath var1, @Nonnull AssetUpdateQuery var2) {
      BooleanObjectPair var3 = CommonAssetRegistry.removeCommonAssetByName(
         var1.packId(), PathUtil.toUnixPathString(AssetPathUtil.PATH_DIR_COMMON.relativize(var1.path()))
      );
      if (var3 != null) {
         if (Universe.get().getPlayerCount() > 0) {
            if (var3.firstBoolean()) {
               CommonAssetModule.get().sendAsset(((CommonAssetRegistry.PackAsset)var3.second()).asset(), var2.getRebuildCache().isCommonAssetsRebuild());
            } else {
               CommonAssetModule.get()
                  .sendRemoveAssets(Collections.singletonList((CommonAssetRegistry.PackAsset)var3.second()), var2.getRebuildCache().isCommonAssetsRebuild());
            }
         }

         class="kw">return AssetTypeHandler.AssetLoadResult.COMMON_ASSETS_CHANGED;
      } else {
         class="kw">return AssetTypeHandler.AssetLoadResult.ASSETS_UNCHANGED;
      }
   }

   @Nonnull
   @Override
   class="kw">public AssetTypeHandler.AssetLoadResult restoreOriginalAsset(@Nonnull AssetPath var1, AssetUpdateQuery var2) {
      AssetPack var3 = AssetModule.get().getAssetPack(var1.packId());
      Path var4 = var3.getRoot().resolve(var1.path()).toAbsolutePath();
      byte[] var5 = null;

      try {
         var5 = Files.readAllBytes(var4);
      } catch (IOException var11) {
         ((HytaleLogger.Api)LOGGER.at(Level.WARNING).withCause(var11)).log("Failed to load file %s", var4);
      }

      if (var5 == null) {
         class="kw">return AssetTypeHandler.AssetLoadResult.ASSETS_UNCHANGED;
      }

      String var6 = PathUtil.toUnixPathString(AssetPathUtil.PATH_DIR_COMMON.relativize(var1.path()));
      FileCommonAsset var7 = new FileCommonAsset(var4, var6, var5);
      CommonAssetRegistry.AddCommonAssetResult var8 = CommonAssetRegistry.addCommonAsset(var1.packId(), var7);
      CommonAssetRegistry.PackAsset var9 = var8.getPreviousNameAsset();
      CommonAssetRegistry.PackAsset var10 = var8.getNewPackAsset();
      class="kw">return var9 != null && var9.asset().getHash().equals(var10.asset().getHash())
         ? AssetTypeHandler.AssetLoadResult.ASSETS_UNCHANGED
         : AssetTypeHandler.AssetLoadResult.COMMON_ASSETS_CHANGED;
   }

   @Nonnull
   @Override
   class="kw">public AssetUpdateQuery getDefaultUpdateQuery() {
      if (this.cachedDefaultUpdateQuery == null) {
         this.cachedDefaultUpdateQuery = new AssetUpdateQuery(new AssetUpdateQuery.RebuildCache(false, false, false, false, false, true));
      }

      class="kw">return this.cachedDefaultUpdateQuery;
   }
}