Package com.hbm_m.hazard
Class HazardSystem
java.lang.Object
com.hbm_m.hazard.HazardSystem
Централизованная система для определения опасностей, исходящих от предметов.
Позволяет регистрировать правила для Тегов и конкретных Предметов.
Система работает по принципу приоритетов: Теги < Предметы.
Это статичный класс-утилита, его не нужно создавать.
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidapplyHazards(net.minecraft.world.item.ItemStack stack, net.minecraft.world.entity.LivingEntity entity) static floatgetArmorProtection(net.minecraft.world.item.ItemStack armorStack) Сопротивление брони (какHazmatRegistry.getResistance(ItemStack)).static floatgetBlockChunkRadiationSumContribution(net.minecraft.world.level.block.state.BlockState state) Вклад блока вblockRadчанка.static floatgetHazardLevelFromStack(net.minecraft.world.item.ItemStack stack, HazardTypeBase hazard) Удобный метод для получения числового значения конкретной опасности для предмета.static floatgetHazardLevelFromState(net.minecraft.world.level.block.state.BlockState state, HazardTypeBase hazard) static List<HazardEntry>getHazardsFromStack(net.minecraft.world.item.ItemStack stack) Главный метод.static voidregister(net.minecraft.tags.TagKey<net.minecraft.world.item.Item> tag, HazardData data) Регистрирует правило опасности для всех предметов с указанным тегом.static voidregister(net.minecraft.world.item.Item item, HazardData data) Регистрирует правило опасности для конкретного предмета.static voidregister(net.minecraft.world.level.block.Block block, HazardData data) Удобный метод-обертка для регистрации опасности для блока.static floatsellafiteRadiationForLevel(int level) GIT HazardRegistry sellafield meta 0–5; уровни 6–10 — горячий центр кратера (fallout color_level).
-
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
Регистрирует правило опасности для конкретного предмета. Это правило имеет более высокий приоритет, чем правила для тегов.- Parameters:
item- Предмет (например, ModItems.URANIUM_INGOT.get())data- Данные об опасности.
-
register
Удобный метод-обертка для регистрации опасности для блока.- Parameters:
block- Блок (например, ModBlocks.URANIUM_BLOCK.get())data- Данные об опасности.
-
getHazardsFromStack
Главный метод. Возвращает итоговый список опасностей для указанного 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.10ChunkRadiationHandlerSimpleне суммирует блоки: 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)).
-