
星辰光环 - 像素宝可梦光环特效
一个服务端的Pixelmon灵气系统,包含55种可自定义效果、持久化宝可梦支持、自动稀有刷新、命令、权限,且无需客户端Mod。
星辉光环
星辉光环(Stellar Aura)是一个仅服务端的 NeoForge 1.21.1 模组,用于取代旧版的 EntityParticles 3.1.1 + ParticlesAddon 1.1.4 组合。它针对 Pixelmon 9.3.16,需要 Java 21,且仅使用原版粒子数据包,因此玩家无需安装配套客户端模组。
旧的组合提供了持续效果、光环/移除物品、命令、27 个固定光环定义、1/8192 的 Pixelmon 光环概率、加权的 Pixelmon 规格变异、生成公告和捕获公告。星辉光环在保留这些行为和标识的同时,将存储、命令、粒子、权限、物品数据和 Pixelmon 事件迁移到了当前 API。
包含的目录
首次启动会在 config/StellarAura/auras/premade/ 下创建 55 个可编辑的可用定义。这些定义永远不会被覆盖。
旧版标识:
american、angelic、attract、blizzard、christmas、demonic、draconic、easter、eternal、explosion、fire、ghoul、grass、hypnotic、poop、portal、rhythm、sandstorm、shadow_form、smokey、spellbound、toxic、twilight、volcanic、water、yin_yang、zombie。
新增标识:
aurora、celestial、cosmic、galaxy、nebula、solar、lunar、void、ender、oceanic、storm、thunderlord、nature、sakura、fairy、royal、phoenix、dragon_soul、frostfire、blood_moon、cyber、rainbow、bee、sculk、emerald、infernal、prism、serenity。
每个预设都是一个普通的配置文件。它在渲染时并不享有特权或硬编码,因此管理员可以克隆它、替换每一层,或将其禁用。
管理员可配置的内容
光环定义是位于 config/StellarAura/auras/ 下任意位置的 .yml 或 .yaml 文件。生成的 config/StellarAura/examples/kitchen-sink-aura.yml 记录了所有字段。
每个光环支持:
- ID、启用状态、格式化或渐变显示名称、描述、类别和可选权限;
- 任意物品材料、名称、描述(Lore)、发光效果、自定义模型数据、消耗、冷却时间、所有者检查、手持策略,以及
replace/add/toggle行为; - 通用生物实体、所有实体、仅 Pixelmon 目标、玩家、野生/已拥有宝可梦、精确实体允许/拒绝通配符、计分板标签要求、隐身行为和发光效果;
- 每个实体可拥有多个同时生效的光环,以及任意数量的命名视觉层,受全局安全限制约束;
- 每层粒子的注册表 ID、几何形状、数量、间隔、相位、锚点、XYZ 偏移/缩放、半径、高度、圈数、旋转、倾斜、厚度、偏航/俯仰跟随、镜像、实体大小缩放和远距离数据包;
- 浮动、脉冲、抖动、速度、扩散、速率、RGB/过渡颜色、灰尘大小、方块/物品负载、潜声贝滚动、尖啸延迟、观察者模式和观察距离;
- 移动/静止、地面/空中、水中/水外和存活状态条件;
- 自动 Pixelmon 分配权重和概率;Pixelmon 匹配/应用规格;维度、生物群系、高度、时间、天气、月相和光照过滤器;
- 应用/移除/随机生成/捕获命令列表、玩家消息、声音、音量、音调和占位符。
支持的形状:
point、cloud、rain、ring、halo、disc、sphere、sphere_shell、spiral、helix、double_helix、dna、vortex、torus、crown、heart、wings、rune、pentagram、star、cube、cylinder、cone、fountain、comet、trail、wave、orbit、atom、galaxy、lotus、butterfly、snowflake、phoenix、lightning、constellation、beam、burst 和 infinity。
原版简单粒子可通过注册表 ID 使用。dust、dust_color_transition、block、block_marker、falling_dust、item、entity_effect、sculk_charge 和 shriek 还会消耗其对应的负载字段。
持久化
通用实体使用序列化的 NeoForge 实体附件。宝可梦还会在 Pokemon#getPersistentData 中存储相同状态,因此光环在捕获、队伍/PC 存储、服务器重启以及之后再次放出后依然存在。状态是不可变的,可能包含多个去重后的光环 ID,以及行为者、时间戳和来源元数据。
默认情况下,未知 ID 仍会被保留存储。这让管理员可以临时移除或重命名定义,而不会破坏性地抹除实体数据。
自动 Pixelmon 光环
默认的随机概率仍为 1/8192。原附加模组的加权规格变异已保留在 random-spawns.pixelmon-modifiers 中,并且完全可编辑。合格光环的选择是加权的,并且可以按定义进行约束。
Pixelmon 9.3.16 的性别规格使用 female、male 或 none。星辉光环 1.0.1 还会自动扩展旧版 g:f、g:m 和 g:n 形式以兼容现有配置。每条配置的匹配/应用规格都包含异常处理:Pixelmon 解析失败只会记录一次日志并被跳过,而不会导致服务器主线程崩溃。
随机分配的光环会在捕获前同时写入世界实体及其对应的宝可梦。因此,捕获和放出事件使用一致的状态,而不是尝试匹配替换后的实体 UUID。
性能控制
渲染器只跟踪带有光环的实体,并定期修复其索引。它不会在每个渲染刻中扫描所有实体。
全局控制包括渲染和重新扫描间隔、观察距离、每个维度跟踪的实体数、每刻渲染的实体数、每刻的粒子数据包数、每个光环的层数以及每个实体的光环数。距离和观察者过滤在数据包创建之前进行。当服务器的平滑刻时间超过配置的阈值时,自适应节流会同时缩减数据包和实体的预算。
/aura stats 可显示当前的跟踪、预览、数据包、渲染和节流计数器。
命令
命令别名包括 /aura、/auras、/stellaraura 和 /entityparticles。
| 命令 | 用途 |
|---|---|
/aura list [page] |
列出已启用的 ID。 |
/aura info <aura> |
查看目录元数据。 |
/aura give <players> <aura> [amount] |
给予已配置的应用物品。 |
/aura give-remover <players> [amount] |
给予移除物品。 |
/aura set <entities> <aura> [replace|add|toggle] |
使用选择器分配光环。 |
/aura random <entities> |
分配一个兼容的随机光环。 |
/aura remove <entities> [aura|all] |
移除一个或全部光环。 |
/aura copy <source> <targets> |
复制完整的叠加状态。 |
/aura inspect <entity> |
显示当前 ID。 |
/aura preview <aura> [seconds] |
在命令执行者身上进行非持久预览。 |
/aura reload |
原子地重新加载全局、消息和光环文件并重建跟踪。 |
/aura validate |
显示模式/注册表警告。 |
/aura stats |
显示渲染器计数器和节流状态。 |
动态 Brigadier 补全建议会根据当前目录生成。
权限
核心权限节点为:
stellar_aura.command.list、stellar_aura.command.info、stellar_aura.item.use— 默认所有玩家可用;stellar_aura.command.give、.set、.remove、.random、.copy、.inspect、.preview、.reload、.validate、.stats— 默认为管理员可用。
光环的 permission 会注册为 NeoForge 权限节点,可由兼容的权限插件(如 LuckPerms)管理。新增的权限节点字符串需要重启服务器以便 NeoForge 收集;所有其他修改都支持热重载。
占位符
命令和消息支持 %player%、%player_uuid%、%entity%、%entity_uuid%、%entity_type%、%aura%、%display%、%world%、%x%、%y%、%z%、%biome%、%pokemon% 和 %pokemon_uuid%(在可用的情况下)。
命令从服务器的抑制输出控制台来源运行。定义消息会发送给应用该光环的玩家。内置的生成和捕获消息在启用时会进行广播。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。