粒子动画库

粒子动画库

一个粒子动画库模组,让你轻松创建炫酷的粒子效果!

装饰

particle_animation_library_header

你想创建诸如圆锥、立方体、球体和涡流等酷炫粒子效果,但不知从何入手?那么,这个模组就是为你准备的! 它主要是一个开发者工具,但作为玩家,你也可以通过命令来玩转这些效果,尤其是在用代码实现它们之前先试一试。它完全在服务端运行,意味着你不需要在客户端安装它。你可能已经猜到了,它的灵感来源于 EffectLib 插件。

目前可用的效果:

  • [3D] 动画球体、球体、长方体、涡流、圆锥、甜甜圈
  • [2D] 圆弧、线条、动画圆形、彩色和黑白图像、文本

目前该模组仍处于测试阶段,意味着某些内容可能会损坏或有所变动。而且还有一些效果尚未实现。 未来可能会推出 Forge/NeoForge 版本,但我想先将 Fabric/Quilt 版本全部完成后再开始移植。抱歉!(短期内它很可能可以通过 Syntra connector 正常工作)

nodecraft 与其他人一起在服务器上畅玩是体验此模组的最佳方式,因此你可以在 Nodecraft 上使用代码 EMALIGHTDEV 获取折扣!

如何使用此模组

此模组本身仅面向开发者设计。但别担心,如果你是一名玩家,并且仍然想尝试所有令人惊叹的效果(尽管目前有一些限制),你可以通过安装 ParticleAnimationLibCommands 来实现。

是的,我知道,命令有点长且令人困惑,这就是为什么我也开始着手编写一个维基,你可以 在这里 找到它!

如何创建效果?

所有效果都位于 effects 包中,你可以通过简单地创建一个新的效果对象来创建新效果,或者使用它们的构建器方法,有点像 Block 属性那样。

然后,你可以使用你喜欢的 #run() 方法来激活效果:

//构造函数伪代码,带有 runFor 示例
Effect effect = new Effect(ServerWorld world, ParticleEffect effect, Vec3d originPos, int particles, Other stuff...)
effect.runFor(5);

//构建器伪代码,带有 run 和 setIterations 示例(20 刻 = 1 秒)
Effect effect = Effect.builder(ServerWorld world, ParticleEffect effect, Vec3d originPos).particles(10).anotherOption(true).build;
effect.setIterations(5*20);
effect.run();

注意: 使用构建器时,你总是需要在方法中提供世界、粒子效果和原点位置,因为每个动画效果都会使用它们,并且假定它们不为空。如果需要,你可以稍后更改它们。 太长不看; 你被迫提供它们以便效果正常工作,而不是导致崩溃!

来自 0.0.1 版本的部分效果演示

来自 0.0.1 版本的部分效果演示

如何操作动画效果?

每个效果都有自己的 getter 和 setter,因此你可以使用它们来更改设置,然后再调用 run 方法。你还可以在 run/runFor 方法中提供一个 lambda,它将在效果活跃期间的每个 tick 执行。关于每个设置的具体用途,请参考该效果构造函数的 javadoc。

如何使用命令?

首先,你必须安装配套模组 ParticleAnimationLibCommands。 你可以使用 pal 或 particleanimationlib,然后通过 Tab 补全来创建你的效果。你甚至可以使用 /pal <effect> demo <particle> <pos> 来预览每个效果!

更多信息请参考 维基!

对于开发者:

将此库作为依赖项添加到你的 build.gradle 中

repositories {
    maven {
        name = "Modrinth"
        url = "https://api.modrinth.com/maven"
        content {
            includeGroup "maven.modrinth"
        }
    }
}

dependencies {
    modImplementation "maven.modrinth:particleanimationlib:<version>"
}

你可以从 modrinth 版本页面获取版本号。

致谢

此模组基于 elBukkit 团队的 bukkit 插件 EffectLib,也去看看吧!效果是从那里获取并调整为与模组兼容的,偶尔会添加额外功能。

许可证

此库在 MIT 许可证下可用。