8 流体注册


一、流体注册

1、事件监听

通过向StartupEvents.registry事件传入不同的参数,其可用于在启动脚本中注册游戏中的新元素,如方块、物品、声音、药效等,在这里,我们传入"fluid"来进行与流体有关的修改:

StartupEvents.registry("fluid",event=>{
    // code here
})

2、事件方法

方法
描述
返回值

create(字符串 流体ID)

注册流体

FluidBuilder

3、FluidBuilder

方法
描述
备注

builtinTextures()

使用内置贴图

-

flowingTexture(ResourceLocation id)

设置流动贴图

-

bucketColor(Color 颜色)

设置流体桶的颜色

可使用16进制,形如0x24acf2

noBucket()

设置默认不生成桶

-

luminosity(整形 发光度)

设置流体亮度

默认值0

gaseous()

将当前流体转为气体

-

stillTexture(ResourceLocation id)

设置静止贴图

-

viscosity(整形 粘稠度)

设置粘稠度

默认值为1000

displayName(字符串 名称)

设置流体名称

-

createAttributes()

创建并返回ArchitecturyFluidAttributes

食用教程见下

thickTexture(Color 颜色)

设置流体颜色

可使用16进制,形如0x24acf2

rarity(Rarity 稀有度)

设置流体稀有度

-

color(Color 颜色)

设置流体颜色(厚)

可使用16进制,形如0x24acf2

density(整形 密度)

设置流体密度

默认值1000

noBlock()

设置默认不注册流体方块

-

thinTexture(Color 颜色)

设置流体颜色(薄)

可使用16进制,形如0x24acf2

temperature(整形 温度)

设置流体温度

默认值300

4、ArchitecturyFluidAttributes

通过ArchitecturyFluidAttributes,你可以快捷修改流体属性

方法
描述
备注
默认值

dropOff(整形 衰减值)

设置流体衰减值

根据与源头方块距离降低流体level值

1

tickDelay(整形 延迟刻数)

设置扩散延迟

-

5

explosionResistance(float 爆炸抗性)

设置流体爆炸抗性

-

100.0F

color(Color 颜色)

设置流体颜色

可使用16进制,形如0x24acf2

0xffffff

luminosity(整形 发光度)

设置流体亮度

-

0

density(整形 密度)

设置流体密度

-

1000

temperature(整形 温度)

设置流体温度

-

300

viscosity(整形 粘稠度)

设置粘稠度

-

1000

lighterThanAir(布尔值 是否比空气轻)

设置流体质量

为true时流体将不会向下流动

false

rarity(Rarity 稀有度)

设置流体稀有度

-

Rarity.COMMON

fillSound(fillSound: SoundEvent)

设置流体填充容器声音

-

-

emptySound(emptySound: SoundEvent)

设置容器倒空流体声音

-

-

二、示例

StartupEvents.registry("fluid",event=>{
    let example_fluid = event.create("example_fluid").thinTexture(0xcc3e44).thickTexture(0xcc3e44).temperature(2000).bucketColor(0xcc3e44).displayName("Wudji");

    let exampleAttributes = example_fluid.createAttributes();
    
    exampleAttributes.dropOff(2);
    exampleAttributes.tickDelay(20);

    example_fluid.attributes = exampleAttributes;
})

最后更新于

这有帮助吗?