Class HazardSystem

java.lang.Object
com.hbm_m.hazard.HazardSystem

public final class HazardSystem extends Object
Централизованная система для определения опасностей, исходящих от предметов. Позволяет регистрировать правила для Тегов и конкретных Предметов. Система работает по принципу приоритетов: Теги < Предметы. Это статичный класс-утилита, его не нужно создавать.
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    applyHazards(net.minecraft.world.item.ItemStack stack, net.minecraft.world.entity.LivingEntity entity)
     
    static float
    getArmorProtection(net.minecraft.world.item.ItemStack armorStack)
    Сопротивление брони (как HazmatRegistry.getResistance(ItemStack)).
    static float
    getBlockChunkRadiationSumContribution(net.minecraft.world.level.block.state.BlockState state)
    Вклад блока в blockRad чанка.
    static float
    getHazardLevelFromStack(net.minecraft.world.item.ItemStack stack, HazardTypeBase hazard)
    Удобный метод для получения числового значения конкретной опасности для предмета.
    static float
    getHazardLevelFromState(net.minecraft.world.level.block.state.BlockState state, HazardTypeBase hazard)
     
    getHazardsFromStack(net.minecraft.world.item.ItemStack stack)
    Главный метод.
    static void
    register(net.minecraft.tags.TagKey<net.minecraft.world.item.Item> tag, HazardData data)
    Регистрирует правило опасности для всех предметов с указанным тегом.
    static void
    register(net.minecraft.world.item.Item item, HazardData data)
    Регистрирует правило опасности для конкретного предмета.
    static void
    register(net.minecraft.world.level.block.Block block, HazardData data)
    Удобный метод-обертка для регистрации опасности для блока.
    static float
    GIT HazardRegistry sellafield meta 0–5; уровни 6–10 — горячий центр кратера (fallout color_level).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • register

      public static void register(net.minecraft.tags.TagKey<net.minecraft.world.item.Item> tag, HazardData data)
      Регистрирует правило опасности для всех предметов с указанным тегом.
      Parameters:
      tag - Ключ тега (например, TagKeys.create(Registries.ITEM, new ResourceLocation("forge", "ingots/uranium")))
      data - Данные об опасности.
    • register

      public static void register(net.minecraft.world.item.Item item, HazardData data)
      Регистрирует правило опасности для конкретного предмета. Это правило имеет более высокий приоритет, чем правила для тегов.
      Parameters:
      item - Предмет (например, ModItems.URANIUM_INGOT.get())
      data - Данные об опасности.
    • register

      public static void register(net.minecraft.world.level.block.Block block, HazardData data)
      Удобный метод-обертка для регистрации опасности для блока.
      Parameters:
      block - Блок (например, ModBlocks.URANIUM_BLOCK.get())
      data - Данные об опасности.
    • getHazardsFromStack

      public static List<HazardEntry> getHazardsFromStack(net.minecraft.world.item.ItemStack stack)
      Главный метод. Возвращает итоговый список опасностей для указанного ItemStack, применяя все правила приоритетов и переопределений.
      Parameters:
      stack - ItemStack для проверки.
      Returns:
      Финальный список HazardEntry.
    • getHazardLevelFromStack

      public static float getHazardLevelFromStack(net.minecraft.world.item.ItemStack stack, HazardTypeBase hazard)
      Удобный метод для получения числового значения конкретной опасности для предмета.
      Parameters:
      stack - ItemStack для проверки.
      type - Тип искомой опасности.
      Returns:
      Уровень опасности или 0.0f, если не найдено.
    • applyHazards

      public static void applyHazards(net.minecraft.world.item.ItemStack stack, net.minecraft.world.entity.LivingEntity entity)
    • getHazardLevelFromState

      public static float getHazardLevelFromState(net.minecraft.world.level.block.state.BlockState state, HazardTypeBase hazard)
    • getBlockChunkRadiationSumContribution

      public static float getBlockChunkRadiationSumContribution(net.minecraft.world.level.block.state.BlockState state)
      Вклад блока в blockRad чанка. В 1.7.10 ChunkRadiationHandlerSimple не суммирует блоки: ambient пополняют только BlockHazard#updateTick / incrementRad (горячий sellafite, fallout…). Sellafite slaked — контактный hazard для сущностей, не источник фоновой радиации чанка.
    • sellafiteRadiationForLevel

      public static float sellafiteRadiationForLevel(int level)
      GIT HazardRegistry sellafield meta 0–5; уровни 6–10 — горячий центр кратера (fallout color_level).
    • getArmorProtection

      public static float getArmorProtection(net.minecraft.world.item.ItemStack armorStack)
      Сопротивление брони (как HazmatRegistry.getResistance(ItemStack)).