Sn资产库 - 通用

Sn资产库 - 通用

包含我模组中的声音、纹理和资源的库,供他人自由参考使用!

允许在整合包中使用本模组!

您可以在公开或私人的 Minecraft 整合包中包含本模组,前提是模组文件未经修改,并从其官方 Modrinth 或 CurseForge 页面下载。

SnAssets 资源库 - 通用版

SnAssets 通用资源库收录了我在自己项目中经常使用的众多资源,现已打包整合,方便其他模组作者通过将此项目设为依赖项,并通过 JSON 引用资源来使用!

您可以找到以下粒子纹理: 烟雾、火花、曳光弹、弹壳、爆炸、火焰、弹孔等。

以及 1000+ 种音效: 碎屑声、枪械声、爆炸声、火箭声、雨声、车门声、车轮滚动声、装弹声、风声及其他各类音效!

如需引擎音效,请参阅 SnAssets - 引擎版(该资源库音效数量庞大,因此拆分出来,便于不需要引擎音效的用户使用)。

读者须知:

SN Assets 是一个跨加载器的 Minecraft 资源库,供其他模组使用。它包含可复用的纹理、粒子精灵图、音效以及其他资源文件夹,统一在以下命名空间下:

snassets

使用方法:

  • 将 SnAssets 添加为您模组的依赖项。
  • 在您自己的粒子 JSON 中引用粒子纹理,例如:snassets:bang0
  • 通过您自己的 sounds.json 引用音效文件,例如:"snassets:bulletimpact/bullethit_glass0"
  • SnAssets 也包含其自身生成的 sounds.json,因此在加载器或 API 支持的情况下,可以直接引用其音效 ID。

请勿复制本资源库中的资源。

您可以将 SnAssets 作为依赖项,并通过 JSON 或代码引用其资源。 但禁止将本资源库中的实际 PNG、OGG 或其他资源文件提取出来,粘贴、打包或重新分发到您自己的模组中。

详细使用方法:

SnAssets - 如何引用其他模组的资源

模组 ID / 命名空间:

 snassets

SnAssets 是一个资源库。您的模组应将其作为依赖项,然后通过命名空间引用其资源。 请勿将实际的 PNG 或 OGG 文件复制到您自己的模组中。

  1. 引用粒子纹理

粒子纹理位于 SnAssets 内的以下路径:

 assets/snassets/textures/particle/

当您在自己的粒子 JSON 中引用粒子纹理时,请使用:

 snassets:

SnAssets 文件示例:

 assets/snassets/textures/particle/bang0.png

在您模组的粒子 JSON 中如下引用:

 assets/examplemod/particles/example_bang.json

 {
   "textures": [
     "snassets:bang0"
   ]
 }

多帧纹理示例:

 {
   "textures": [
     "snassets:bang0",
     "snassets:bang1",
     "snassets:bang2",
     "snassets:bang3"
   ]
 }

如果纹理位于子文件夹中,请保留子文件夹路径。

SnAssets 文件示例:

 assets/snassets/textures/particle/bulletholes/bullethole_basic.png

引用方式:

 snassets:bulletholes/bullethole_basic

重要提示:

 SnAssets 仅提供纹理文件。
 如果您的加载器或游戏版本需要,您的模组仍需自行注册或定义粒子类型。
  1. 引用音效

音效文件位于 SnAssets 内的以下路径:

 assets/snassets/sounds/

SnAssets 还包含:

 assets/snassets/sounds.json

该文件为所有包含的 OGG 文件定义了音效事件 ID。

SnAssets 音效文件示例:

 assets/snassets/sounds/bulletimpact/bullethit_glass0.ogg

直接的 SnAssets 音效事件 ID:

 snassets:bulletimpact/bullethit_glass0

引用音效时,请勿包含“.ogg”后缀。

推荐的兼容性方法

为获得最佳兼容性,建议在您自己的模组中定义音效事件,并将其指向 SnAssets 的 OGG 文件。

您模组中的文件示例:

 assets/examplemod/sounds.json

 {
   "weapon.bullet_hit_glass": {
     "sounds": [
       "snassets:bulletimpact/bullethit_glass0"
     ]
   }
 }

这样您的模组就可以播放:

 examplemod:weapon.bullet_hit_glass

此方法让您的模组拥有音效事件的所有权,而 SnAssets 提供实际的音频文件。

替代的直接引用方法

如果您的加载器、Minecraft 版本、命令或 API 允许直接使用音效标识符,您可以使用 SnAssets 的音效事件 ID:

 snassets:bulletimpact/bullethit_glass0

如果您的代码 API 需要注册的 SoundEvent 对象,请自行注册音效事件,并使用上述推荐的兼容性方法。

  1. 依赖项配置示例

Fabric 的 fabric.mod.json:

 {
   "depends": {
     "snassets": "*"
   }
 }

Forge / NeoForge 的 mods.toml:

 [[dependencies.examplemod]]
     modId="snassets"
     mandatory=true
     versionRange="[1.0.0,)"
     ordering="NONE"
     side="BOTH"

请将“examplemod”替换为您自己的模组 ID。

  1. 使用规则

允许:

 将 SnAssets 作为依赖项,并通过 JSON 或代码引用其资源。

不允许:

 从 SnAssets 中提取 PNG、OGG 或其他资源文件,并将它们粘贴到您自己的模组中。