CommonAssetValidator class

Пакет: com.hypixel.hytale.server.core.asset.common

Файл: com/hypixel/hytale/server/core/asset/common/CommonAssetValidator.java

implements: Validator<String>

Поля (7)

МодификаторыТипИмя
final CommonAssetValidator TEXTURE_ITEM
break
var1
boolean var3
var3
String var5
String var9

Методы (8)

МодификаторыВозвратСигнатура
public void acceptvoid accept(@Nullable String var1, @Nonnull ValidationResults var2)
for for(int var4 = 0; var4 < var3.length; var4++)
for for(String var7 : this.requiredRoots)
if if(var3 != null)
if if(var1 != null)
if if(this.requiredRoots != null)
if if(!var3)
abstract this this(var1, false, var2)

Исходный код

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

class="kw">import com.hypixel.hytale.codec.schema.SchemaContext;
class="kw">import com.hypixel.hytale.codec.schema.config.Schema;
class="kw">import com.hypixel.hytale.codec.schema.config.StringSchema;
class="kw">import com.hypixel.hytale.codec.validation.ValidationResults;
class="kw">import com.hypixel.hytale.codec.validation.Validator;
class="kw">import com.hypixel.hytale.codec.validation.validator.ArrayValidator;
class="kw">import com.hypixel.hytale.common.util.PatternUtil;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class CommonAssetValidator class="kw">implements Validator<String> {
   class="kw">public class="kw">static class="kw">final CommonAssetValidator TEXTURE_ITEM = new CommonAssetValidator("png", "Blocks", "BlockTextures", "Items", "NPC", "Resources", "VFX");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator TEXTURE_CHARACTER = new CommonAssetValidator("png", "Characters", "NPC", "Items", "VFX");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator TEXTURE_CHARACTER_ATTACHMENT = new CommonAssetValidator(
      "png", "Characters", "NPC", "Items", "Cosmetics", "Items", "NPC", "Resources"
   );
   class="kw">public class="kw">static class="kw">final CommonAssetValidator TEXTURE_TRAIL = new CommonAssetValidator("png", "Trails");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator TEXTURE_SKY = new CommonAssetValidator("png", "Sky");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator TEXTURE_PARTICLES = new CommonAssetValidator("png", "Particles");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator TEXTURE_ITEM_QUALITY = new CommonAssetValidator("png", true, "UI/ItemQualities");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ICON_RESOURCE = new CommonAssetValidator("png", "Icons/ResourceTypes");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ICON_ITEM = new CommonAssetValidator("png", "Icons/ItemsGenerated", "Icons/Items");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ICON_ITEM_CATEGORIES = new CommonAssetValidator("png", "Icons/ItemCategories");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ICON_CRAFTING = new CommonAssetValidator("png", "Icons/CraftingCategories");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ICON_ENTITY_STAT = new CommonAssetValidator("png", "Icons/EntityStats");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ICON_MODEL = new CommonAssetValidator("png", "Icons/ModelsGenerated", "Icons/Models");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ICON_EMOTE = new CommonAssetValidator("png", "Icons/Emotes");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator UI_RETICLE_PART = new CommonAssetValidator("png", "UI/Reticles");
   class="kw">public class="kw">static class="kw">final ArrayValidator<String> UI_RETICLE_PARTS_ARRAY = new ArrayValidator<>(UI_RETICLE_PART);
   class="kw">public class="kw">static class="kw">final CommonAssetValidator UI_SCREEN_EFFECT = new CommonAssetValidator("png", "ScreenEffects");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator UI_CRAFTING_DIAGRAM = new CommonAssetValidator("svg", "CraftingDiagrams");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator MODEL_ITEM = new CommonAssetValidator("blockymodel", "Blocks", "Items", "Resources", "NPC", "VFX", "Consumable");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator MODEL_CHARACTER = new CommonAssetValidator("blockymodel", "Characters", "NPC", "Items", "VFX");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator MODEL_CHARACTER_ATTACHMENT = new CommonAssetValidator(
      "blockymodel", "Characters", "NPC", "Items", "Cosmetics", "Items", "NPC", "Resources"
   );
   class="kw">public class="kw">static class="kw">final CommonAssetValidator PREFAB_LIST = new CommonAssetValidator("json", "PrefabList");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator BLOCK_LIST = new CommonAssetValidator("json", "BlockTypeList");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ANIMATION_ITEM_CHARACTER = new CommonAssetValidator("blockyanim", "Characters", "NPC");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ANIMATION_ITEM_BLOCK = new CommonAssetValidator(
      "blockyanim", "Blocks", "Items", "Resources", "NPC", "VFX", "Consumable"
   );
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ANIMATION_CHARACTER = new CommonAssetValidator("blockyanim", "Characters", "NPC", "Equipment", "VFX", "Items");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator ANIMATION_EMOTE = new CommonAssetValidator("blockyanim", "Characters");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator MUSIC = new CommonAssetValidator("ogg", "Music");
   class="kw">public class="kw">static class="kw">final CommonAssetValidator SOUNDS = new CommonAssetValidator("ogg", "Sounds");
   @Nullable
   class="kw">private class="kw">final String[] requiredRoots;
   @Nullable
   class="kw">private class="kw">final String requiredExtension;
   class="kw">private class="kw">final boolean isUIAsset;

   class="kw">public CommonAssetValidator(String var1, boolean var2, @Nullable String... var3) {
      if (var3 != null) {
         for (int var4 = 0; var4 < var3.length; var4++) {
            String var5 = var3[var4];
            if (!var5.endsWith("/")) {
               var3[var4] = var5 + "/";
            }
         }
      }

      this.requiredRoots = var3;
      this.requiredExtension = var1;
      this.isUIAsset = var2;
   }

   class="kw">public CommonAssetValidator(String var1, String... var2) {
      this(var1, false, var2);
   }

   class="kw">public CommonAssetValidator() {
      this.requiredRoots = null;
      this.requiredExtension = null;
      this.isUIAsset = true;
   }

   class="kw">public void accept(@Nullable String var1, @Nonnull ValidationResults var2) {
      if (var1 != null) {
         if (this.requiredRoots != null) {
            boolean var3 = false;

            for (String var7 : this.requiredRoots) {
               if (var1.startsWith(var7)) {
                  var3 = true;
                  break;
               }
            }

            if (!var3) {
               var2.fail("Common Asset '" + var1 + "' must be within the root: " + Arrays.toString(this.requiredRoots));
            }
         }

         if (this.requiredExtension != null && !var1.endsWith(this.requiredExtension)) {
            var2.fail("Common Asset '" + var1 + "' must have the extension " + this.requiredExtension);
         }

         var1 = PatternUtil.replaceBackslashWithForwardSlash(var1);
         if (!CommonAssetRegistry.hasCommonAsset(var1)) {
            if (this.isUIAsset && var1.endsWith(".png")) {
               String var9 = var1.substring(0, var1.lastIndexOf(".png")) + "@2x.png";
               if (!CommonAssetRegistry.hasCommonAsset(var9)) {
                  var2.fail("Common Asset '" + var1 + "' doesn't exist!");
               }
            } else {
               var2.fail("Common Asset '" + var1 + "' doesn't exist!");
            }
         }
      }
   }

   @Override
   class="kw">public void updateSchema(SchemaContext var1, @Nonnull Schema var2) {
      ((StringSchema)var2).setHytaleCommonAsset(new StringSchema.CommonAsset(this.requiredExtension, this.isUIAsset, this.requiredRoots));
   }
}