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;
}
}