Package com.hbm_m.inventory.fluid
Class FluidType
java.lang.Object
com.hbm_m.inventory.fluid.FluidType
Порт 1.7.10
com.hbm.inventory.fluid.FluidType.
Хранит per-fluid метаданные: температуру и набор FluidTrait.
Имя/тинт-цвет вычисляются из Fluid и ModFluids.
Статическая часть класса заменяет роль 1.7.10 Fluids — мапа Fluid → FluidType.
Соответствие методов с оригиналом 1.7.10:
setTemp(int),getTemperature(),isHot()addTraits(FluidTrait...),hasTrait(Class),getTrait(Class)getName(),getColor(),getTint(),getUnlocalizedName(),getLocalizedName(),getConditionalName(),getDict(int)isCorrosive(),isAntimatter(),hasNoContainer(),hasNoID(),needsLeadContainer(),isDispersable()onTankBroken(BlockEntity, FluidTank),onTankUpdate(BlockEntity, FluidTank),onFluidRelease(BlockEntity, FluidTank, int),onFluidRelease(Level, BlockPos, FluidTank, int)addInfo(boolean, List)— порт 1.7.10FluidType.addInfo(List)
-
Field Summary
FieldsModifier and TypeFieldDescriptionintNFPA diamond: flammability (0–4,0= no rating / W).intNFPA diamond: health (poison).intNFPA diamond: reactivity.static final intSame numerical value as 1.7.10FluidType.ROOM_TEMPERATURE(20°C).NFPA diamond: special symbol quadrant.intВ 1.7.10 полеpublic int temperature.final HashMap<Class<? extends FluidTrait>,FluidTrait> В 1.7.10 полеpublic HashMap<Class<? extends FluidTrait>, FluidTrait> traits. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidПрямой порт 1.7.10FluidType.addInfo(List<String> info).static voidaddTrait(net.minecraft.world.level.material.Fluid fluid, FluidTrait trait) addTraits(FluidTrait... toAdd) static FluidTypeforFluid(net.minecraft.world.level.material.Fluid fluid) ВозвращаетFluidTypeдля жидкости (создаёт пустой при первом обращении).intgetColor()1.7.10getColor()— цвет, использовавшийся для рендера труб.1.7.10getConditionalName(): для серверного кода без I18n.getDict(int quantity) 1.7.10getDict(int): префикс изGeneralConfig.enableFluidContainerCompat ? "container" : "ntmcontainer"+ объём + имя без_.net.minecraft.world.level.material.FluidgetFluid()net.minecraft.network.chat.Component1.7.10getLocalizedName():I18nUtil.resolveKey(unlocalized).getName()Возвращает HBM-имя жидкости (без суффикса_source). 1.7.10getName()→stringId.intstatic intgetTemperatureCelsius(net.minecraft.world.level.material.Fluid fluid) Комнатная температура (20°C), если для жидкости ещё не задавали температуру.intgetTint()1.7.10getTint()— GUI-тинт.<T extends FluidTrait>
Tstatic <T extends FluidTrait>
T1.7.10getUnlocalizedName()="hbmfluid." + name.booleanWhether any hazard diamond segment should be drawn on tanks.booleanbooleanhasNoID()booleanhasTrait(Class<? extends FluidTrait> clazz) static booleanhasTrait(net.minecraft.world.level.material.Fluid fluid, Class<? extends FluidTrait> traitClass) booleanbooleanbooleanbooleanisHot()booleanvoidonFluidRelease(net.minecraft.world.level.block.entity.BlockEntity be, FluidTank tank, int overflowAmount) 1.7.10onFluidRelease(TileEntity, FluidTank, int): делегирует в координатную форму, как в оригинале.voidonFluidRelease(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, FluidTank tank, int overflowAmount) 1.7.10onFluidRelease(World, x, y, z, FluidTank, int)— пустая реализация по умолчанию.voidonTankBroken(net.minecraft.world.level.block.entity.BlockEntity be, FluidTank tank) 1.7.10onTankBroken(TileEntity, FluidTank): вызывается при разрушении хранилища.voidonTankUpdate(net.minecraft.world.level.block.entity.BlockEntity be, FluidTank tank) 1.7.10onTankUpdate(TileEntity, FluidTank): вызывается каждый тик из update-метода.setHazardDiamond(int poison, int flammability, int reactivity, FluidHazardSymbol symbol) static voidsetHazardDiamond(net.minecraft.world.level.material.Fluid fluid, int poison, int flammability, int reactivity, FluidHazardSymbol symbol) Sets NFPA hazard diamond ratings (1.7.10FluidTypector).setTemp(int temperatureCelsius) static voidsetTemperatureCelsius(net.minecraft.world.level.material.Fluid fluid, int tempC)
-
Field Details
-
ROOM_TEMPERATURE
public static final int ROOM_TEMPERATURESame numerical value as 1.7.10FluidType.ROOM_TEMPERATURE(20°C).- See Also:
-
temperature
public int temperatureВ 1.7.10 полеpublic int temperature. -
poison
public int poisonNFPA diamond: health (poison). -
flammability
public int flammabilityNFPA diamond: flammability (0–4,0= no rating / W). -
reactivity
public int reactivityNFPA diamond: reactivity. -
symbol
NFPA diamond: special symbol quadrant. -
traits
В 1.7.10 полеpublic HashMap<Class<? extends FluidTrait>, FluidTrait> traits.
-
-
Constructor Details
-
FluidType
public FluidType(net.minecraft.world.level.material.Fluid fluid)
-
-
Method Details
-
forFluid
ВозвращаетFluidTypeдля жидкости (создаёт пустой при первом обращении). -
setTemperatureCelsius
public static void setTemperatureCelsius(net.minecraft.world.level.material.Fluid fluid, int tempC) -
getTemperatureCelsius
public static int getTemperatureCelsius(net.minecraft.world.level.material.Fluid fluid) Комнатная температура (20°C), если для жидкости ещё не задавали температуру. -
addTrait
-
setHazardDiamond
public static void setHazardDiamond(net.minecraft.world.level.material.Fluid fluid, int poison, int flammability, int reactivity, FluidHazardSymbol symbol) Sets NFPA hazard diamond ratings (1.7.10FluidTypector). -
setHazardDiamond
public FluidType setHazardDiamond(int poison, int flammability, int reactivity, FluidHazardSymbol symbol) -
hasHazardDiamond
public boolean hasHazardDiamond()Whether any hazard diamond segment should be drawn on tanks. -
getTrait
public static <T extends FluidTrait> T getTrait(net.minecraft.world.level.material.Fluid fluid, Class<T> traitClass) -
hasTrait
public static boolean hasTrait(net.minecraft.world.level.material.Fluid fluid, Class<? extends FluidTrait> traitClass) -
getFluid
public net.minecraft.world.level.material.Fluid getFluid() -
getTemperature
public int getTemperature() -
setTemp
-
addTraits
-
hasTrait
-
getTrait
-
getName
Возвращает HBM-имя жидкости (без суффикса_source). 1.7.10getName()→stringId.Здесь же реализована логика, ранее жившая в
HbmFluidRegistry.getFluidName. -
getColor
public int getColor()1.7.10getColor()— цвет, использовавшийся для рендера труб. В 1.20.1 это тот же tint, что иgetTint(). -
getTint
public int getTint()1.7.10getTint()— GUI-тинт. В 1.20.1 хранится вModFluids.TINT_COLORS. -
getUnlocalizedName
1.7.10getUnlocalizedName()="hbmfluid." + name. Возвращаем тот же префикс для парности; для реальной локализации см.getLocalizedName(). -
getLocalizedName
public net.minecraft.network.chat.Component getLocalizedName()1.7.10getLocalizedName():I18nUtil.resolveKey(unlocalized). В 1.20.1 используем translation-key изFluid-реестра через Architectury, плюс специальные имена дляFluids.EMPTYиModFluids.NONE. -
getConditionalName
1.7.10getConditionalName(): для серверного кода без I18n. -
getDict
1.7.10getDict(int): префикс изGeneralConfig.enableFluidContainerCompat ? "container" : "ntmcontainer"+ объём + имя без_. -
isHot
public boolean isHot() -
isCorrosive
public boolean isCorrosive() -
isAntimatter
public boolean isAntimatter() -
hasNoContainer
public boolean hasNoContainer() -
hasNoID
public boolean hasNoID() -
needsLeadContainer
public boolean needsLeadContainer() -
isDispersable
public boolean isDispersable() -
onTankBroken
1.7.10onTankBroken(TileEntity, FluidTank): вызывается при разрушении хранилища. -
onTankUpdate
1.7.10onTankUpdate(TileEntity, FluidTank): вызывается каждый тик из update-метода. -
onFluidRelease
public void onFluidRelease(net.minecraft.world.level.block.entity.BlockEntity be, FluidTank tank, int overflowAmount) 1.7.10onFluidRelease(TileEntity, FluidTank, int): делегирует в координатную форму, как в оригинале. -
onFluidRelease
public void onFluidRelease(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, FluidTank tank, int overflowAmount) 1.7.10onFluidRelease(World, x, y, z, FluidTank, int)— пустая реализация по умолчанию. -
addInfo
Прямой порт 1.7.10FluidType.addInfo(List<String> info).Порядок строк (1:1 с оригиналом):
- температурная строка, если
temperature != ROOM_TEMPERATURE(синяя если <0, красная если >0) - для каждого
clazzизFluidTrait.traitList:trait.addInfo(info), и если зажат шифт — такжеtrait.addInfoHidden(info) - если хотя бы у одного трейта есть скрытые строки и шифт не зажат — подсказка «hold LSHIFT for more info»
- температурная строка, если
-