Class DoorModelRegistry

java.lang.Object
com.hbm_m.client.model.variant.DoorModelRegistry
All Implemented Interfaces:
net.minecraft.server.packs.resources.PreparableReloadListener, net.minecraft.server.packs.resources.ResourceManagerReloadListener

public class DoorModelRegistry extends Object implements net.minecraft.server.packs.resources.ResourceManagerReloadListener
Реестр моделей и скинов дверей. Загружает конфигурацию из JSON файлов и предоставляет доступ к моделям и скинам.
  • Method Details

    • getInstance

      public static DoorModelRegistry getInstance()
    • register

      public void register(String doorId, DoorModelRegistry.DoorConfig config)
      Регистрирует конфигурацию двери
    • setDefaultSelection

      public void setDefaultSelection(String doorId, DoorModelSelection selection)
      Устанавливает выбор по умолчанию для двери
    • registerSimple

      public void registerSimple(String doorId, net.minecraft.resources.ResourceLocation legacyModel, net.minecraft.resources.ResourceLocation modernModel, List<DoorSkin> modernSkins)
      Быстрая регистрация двери с минимальной конфигурацией
    • isRegistered

      public boolean isRegistered(String doorId)
      Проверяет, зарегистрирована ли дверь
    • getConfig

      public DoorModelRegistry.DoorConfig getConfig(String doorId)
      Получает конфигурацию двери
    • getModelPath

      public net.minecraft.resources.ResourceLocation getModelPath(String doorId, DoorModelType type)
      Получает путь к модели для указанного типа
    • getModelPath

      public net.minecraft.resources.ResourceLocation getModelPath(String doorId, DoorModelSelection selection)
      Получает путь к модели с учётом скина (для MODERN - скин может иметь свою модель). Важно: скин из NBT (DoorSkin.of) имеет modelPath=null - разрешаем через реестр по skinId.
    • getSkins

      public List<DoorSkin> getSkins(String doorId)
      Получает список скинов для двери
    • getSkin

      public DoorSkin getSkin(String doorId, String skinId)
      Получает скин по ID
    • getDefaultSelection

      public DoorModelSelection getDefaultSelection(String doorId)
      Получает выбор модели по умолчанию для двери. ПРИОРИТЕТ: 1. defaultSelections (установленные через API) 2. JSON конфиг (default секция) 3. LEGACY по умолчанию
    • getRegisteredDoorIds

      public Set<String> getRegisteredDoorIds()
      Получает все зарегистрированные ID дверей
    • onResourceManagerReload

      public void onResourceManagerReload(net.minecraft.server.packs.resources.ResourceManager resourceManager)
      Specified by:
      onResourceManagerReload in interface net.minecraft.server.packs.resources.ResourceManagerReloadListener
    • isInitialized

      public boolean isInitialized()
    • clearCache

      public void clearCache()