跳转到内容

Spartan Weaponry Unofficial 资源包开发指南

Spartan Weaponry Unofficial 资源包开发指南

Section titled “Spartan Weaponry Unofficial 资源包开发指南”

本文档为资源包作者提供了 Spartan Weaponry Unofficial 模组的资源结构详解,帮助您创建自定义纹理、模型或音效。

⚠️ 重要变更: 从 1.0.2 版本开始,资源路径使用 spartan_weaponry_unofficial (下划线)。

assets/spartan_weaponry_unofficial/
├── blockstates/ # 方块状态 (头颅类)
├── lang/ # 语言文件
├── models/
│ └── item/
│ └── base/ # 基础模型模板
├── particles/ # 粒子效果定义
├── sounds.json # 音效注册
└── textures/
├── entity/ # 实体纹理
│ ├── projectiles/ # 投射物纹理
│ └── skull/ # 头颅纹理
├── gui/ # GUI 纹理
│ └── tooltip/ # 提示框纹理
├── item/ # 物品纹理
│ └── coating/ # 涂油覆盖层纹理
├── mob_effect/ # 状态效果图标
├── model/ # 3D 模型纹理 (箭袋)
├── particle/ # 粒子纹理
└── slots/ # 配方槽位图标

模组内置以下材质,每种材质都有完整的武器套件:

材质分类材质名称纹理前缀
原版材质木质wooden_
石质stone_
铜质copper_
铁质iron_
金质golden_
钻石diamond_
下界合金netherite_
皮革 (仅弓弩)leather_
模组材质tin_
青铜bronze_
steel_
silver_
琥珀金electrum_
lead_
nickel_
殷钢invar_
康铜constantan_
铂金platinum_
aluminum_

以下武器类型只需要一个纹理文件:

武器类型中文名纹理文件名格式
dagger匕首{材质}_dagger.png
parrying_dagger格挡匕首{材质}_parrying_dagger.png
longsword长剑{材质}_longsword.png
katana太刀{材质}_katana.png
saber军刀{材质}_saber.png
rapier迅捷剑{材质}_rapier.png
greatsword巨剑{材质}_greatsword.png
battle_hammer战锤{材质}_battle_hammer.png
warhammer大锤{材质}_warhammer.png
spear{材质}_spear.png
halberd{材质}_halberd.png
pike长矛{材质}_pike.png
lance骑枪{材质}_lance.png
battleaxe战斧{材质}_battleaxe.png
flanged_mace钉头锤{材质}_flanged_mace.png
glaive关刀{材质}_glaive.png
quarterstaff铁头棒{材质}_quarterstaff.png
scythe镰刀{材质}_scythe.png

示例路径:

assets/spartan_weaponry_unofficial/textures/item/iron_longsword.png
assets/spartan_weaponry_unofficial/textures/item/diamond_battle_hammer.png

投掷武器除了主纹理外,还有一个通用的”空”状态纹理:

武器类型中文名主纹理空状态纹理 (通用)
throwing_knife飞刀{材质}_throwing_knife.pngempty_throwing_knife.png
tomahawk飞斧{材质}_tomahawk.pngempty_tomahawk.png
javelin标枪{材质}_javelin.pngempty_javelin.png
boomerang回旋镖{材质}_boomerang.pngempty_boomerang.png

长弓需要 4 个纹理文件来表示不同的拉弓阶段:

状态文件名格式
待机{材质}_longbow_standby.png
拉弓 0{材质}_longbow_pulling_0.png
拉弓 1{材质}_longbow_pulling_1.png
拉弓 2{材质}_longbow_pulling_2.png

📝 注意: 长弓的注册名包含 _strengthened 后缀(如 longbow_iron_strengthened),但纹理文件名不包含此后缀。

示例:

assets/spartan_weaponry_unofficial/textures/item/iron_longbow_standby.png
assets/spartan_weaponry_unofficial/textures/item/iron_longbow_pulling_0.png
assets/spartan_weaponry_unofficial/textures/item/iron_longbow_pulling_1.png
assets/spartan_weaponry_unofficial/textures/item/iron_longbow_pulling_2.png

重型弩需要 5 个纹理文件:

状态文件名格式
待机{材质}_heavy_crossbow_standby.png
上弦 0{材质}_heavy_crossbow_pulling_0.png
上弦 1{材质}_heavy_crossbow_pulling_1.png
上弦 2{材质}_heavy_crossbow_pulling_2.png
已装填{材质}_heavy_crossbow_loaded.png

📝 注意: 重型弩的注册名包含 _strengthened 后缀(如 heavy_crossbow_iron_strengthened),但纹理文件名不包含此后缀。


武器涂油后会显示一个覆盖层纹理。这些纹理位于 textures/item/coating/ 目录:

武器类型覆盖层文件
匕首coating/dagger.png
格挡匕首coating/parrying_dagger.png
长剑coating/longsword.png
太刀coating/katana.png
军刀coating/saber.png
迅捷剑coating/rapier.png
巨剑coating/greatsword.png
战锤coating/battle_hammer.png
大锤coating/warhammer.png
coating/spear.png
coating/halberd.png
长矛coating/pike.png
骑枪coating/lance.png
战斧coating/battleaxe.png
钉头锤coating/flanged_mace.png
关刀coating/glaive.png
铁头棒coating/quarterstaff.png
镰刀coating/scythe.png
拳套coating/cestus.png
木棍coating/club.png
原版剑coating/vanilla_sword.png

💡 提示:覆盖层纹理使用模型的自定义加载器 spartan_weaponry_unofficial:oil_coated_item 来渲染。


物品物品纹理实体纹理
木箭wooden_arrow.pngentity/projectiles/wooden_arrow.png
铜箭copper_arrow.pngentity/projectiles/copper_arrow.png
铁箭iron_arrow.pngentity/projectiles/iron_arrow.png
钻石箭diamond_arrow.pngentity/projectiles/diamond_arrow.png
下界合金箭netherite_arrow.pngentity/projectiles/netherite_arrow.png
爆炸箭explosive_arrow.pngentity/projectiles/explosive_arrow.png
青铜箭bronze_arrow.pngentity/projectiles/bronze_arrow.png
锡箭tin_arrow.pngentity/projectiles/tin_arrow.png
钢箭steel_arrow.pngentity/projectiles/steel_arrow.png
银箭silver_arrow.pngentity/projectiles/silver_arrow.png
琥珀金箭electrum_arrow.pngentity/projectiles/electrum_arrow.png
铅箭lead_arrow.pngentity/projectiles/lead_arrow.png
镍箭nickel_arrow.pngentity/projectiles/nickel_arrow.png
殷钢箭invar_arrow.pngentity/projectiles/invar_arrow.png
铂金箭platinum_arrow.pngentity/projectiles/platinum_arrow.png

药水箭使用分层纹理:

纹理层文件名
箭头着色层tipped_arrow_head.png
木箭基底tipped_wooden_arrow_base.png
铜箭基底tipped_copper_arrow_base.png
铁箭基底tipped_iron_arrow_base.png
钻石箭基底tipped_diamond_arrow_base.png
下界合金箭基底tipped_netherite_arrow_base.png
物品物品纹理实体纹理
弩矢bolt.pngentity/projectiles/bolt.png
铜弩矢copper_bolt.pngentity/projectiles/copper_bolt.png
钻石弩矢diamond_bolt.pngentity/projectiles/diamond_bolt.png
下界合金弩矢netherite_bolt.pngentity/projectiles/netherite_bolt.png
光灵弩矢spectral_bolt.pngentity/projectiles/spectral_bolt.png
纹理层文件名
弩矢头着色层tipped_bolt_head.png
弩矢基底tipped_bolt_base.png
铜弩矢基底tipped_copper_bolt_base.png
钻石弩矢基底tipped_diamond_bolt_base.png
下界合金弩矢基底tipped_netherite_bolt_base.png

箭袋有多个尺寸和填充状态,需要多个纹理文件:

尺寸基础纹理填充状态纹理支架纹理
small_arrow_quiver_base.pngsmall_arrow_quiver_1/2/3.png-
medium_arrow_quiver_base.pngmedium_arrow_quiver_1/2/3.pngmedium_quiver_brace.png
large_arrow_quiver_base.pnglarge_arrow_quiver_1/2/3/4/5.pnglarge_quiver_brace.png
巨大huge_arrow_quiver_base.pnghuge_arrow_quiver_1/2/3/4/5.pnghuge_quiver_brace.png

📝 注意:弩矢箭袋 (bolt_quiver) 使用相同的命名模式,只需将 arrow 替换为 bolt

箭袋的 3D 模型(背部装饰)使用以下纹理:

textures/model/quiver_arrow_small.png
textures/model/quiver_arrow_medium.png
textures/model/quiver_arrow_large.png
textures/model/quiver_arrow_huge.png
textures/model/quiver_bolt_small.png
textures/model/quiver_bolt_medium.png
textures/model/quiver_bolt_large.png
textures/model/quiver_bolt_huge.png
textures/gui/quiver_small.png # 小箭袋 GUI 背景
textures/gui/quiver_medium.png # 中箭袋 GUI 背景
textures/gui/quiver_large.png # 大箭袋 GUI 背景
textures/gui/quiver_huge.png # 巨大箭袋 GUI 背景
textures/gui/tooltip/quiver.png # 箭袋提示框背景

这些纹理用于配方界面的空槽位提示:

empty_arrow_slot.png
empty_bolt_slot.png
empty_small_arrow_quiver_slot.png
empty_small_bolt_quiver_slot.png
empty_medium_arrow_quiver_slot.png
empty_medium_bolt_quiver_slot.png
empty_medium_quiver_brace_slot.png
empty_large_arrow_quiver_slot.png
empty_large_bolt_quiver_slot.png
empty_large_quiver_brace_slot.png

模组添加了多种怪物头颅,纹理位于 textures/entity/skull/

头颅纹理文件
溺尸头drowned_head.png
末影人头enderman_head.png
流浪者头骨stray_skull.png

📝 注意:其他头颅(烈焰人、蜘蛛、洞穴蜘蛛、尸壳、女巫、灾厄村民、僵尸猪灵)使用原版纹理或其他来源。


textures/gui/crosshairs.png

这是一个精灵图(Sprite Sheet),包含投掷武器和重型弩的自定义准星。

textures/mob_effect/ender_disruption.png # 末影扰乱效果图标

particles/damage_boosted.json
{
"textures": ["spartan_weaponry_unofficial:damage_boosted"]
}
// particles/damage_reduced.json
{
"textures": ["spartan_weaponry_unofficial:damage_reduced"]
}
// particles/oil_damage_boosted.json
{
"textures": ["spartan_weaponry_unofficial:damage_boosted"]
}
damage_boosted.png # 伤害增益粒子
damage_reduced.png # 伤害减免粒子

模组使用以下音效事件,您可以通过资源包替换:

音效事件 ID描述默认音效来源
boomerang_bounce回旋镖反弹entity/player/attack/weak*
boomerang_fly回旋镖飞行random/bow
boomerang_hit_ground回旋镖落地item/trident/ground_impact*
boomerang_hit_mob回旋镖击中生物item/trident/pierce*
boomerang_throw回旋镖投掷item/trident/throw*
javelin_hit_ground标枪落地item/trident/ground_impact*
javelin_hit_mob标枪击中生物item/trident/pierce*
javelin_throw标枪投掷item/trident/throw*
throwing_knife_hit_ground飞刀落地item/trident/ground_impact*
throwing_knife_hit_mob飞刀击中生物item/trident/pierce*
throwing_knife_throw飞刀投掷item/trident/throw*
tomahawk_hit_ground飞斧落地item/trident/ground_impact*
tomahawk_hit_mob飞斧击中生物item/trident/pierce*
tomahawk_throw飞斧投掷item/trident/throw*
throwing_weapon_hit_ground通用投掷武器落地item/trident/ground_impact*
throwing_weapon_hit_mob通用投掷武器击中item/trident/pierce*
throwing_weapon_throw通用投掷武器投掷item/trident/throw*
throwing_weapon_loyalty_return忠诚返回音效item/trident/return*
hammer_slams_into_ground战锤砸地random/explode*
oil_applied涂油音效block/brewing_stand/brew*
assets/spartan_weaponry_unofficial/sounds.json
{
"boomerang_throw": {
"sounds": [
"spartan_weaponry_unofficial:custom/boomerang_throw"
],
"subtitle": "subtitle.spartan_weaponry_unofficial.boomerang_throw"
}
}

音效文件放置于:

assets/spartan_weaponry_unofficial/sounds/custom/boomerang_throw.ogg

模组定义了一套基础模型,所有具体武器模型都继承自这些基础模型:

基础模型用途特殊显示变换
longsword.json单手剑类武器加长的第三人称握持
greatsword.json双手剑类武器更大的显示比例
battle_hammer.json锤类武器特殊的握持角度
halberd.json长柄武器延长的第三人称显示
longbow.json弓类武器弓的拉弓姿势
heavy_crossbow.json弩类武器弩的装填/瞄准姿势
throwing_knife.json投掷武器投掷姿势变换

模组使用自定义物品属性来控制模型变化:

属性 ID用途取值
spartan_weaponry_unofficial:blocking格挡状态0.0 / 1.0
spartan_weaponry_unofficial:throwing投掷蓄力状态0.0 / 1.0
spartan_weaponry_unofficial:pulling拉弓/上弦状态0.0 / 1.0
spartan_weaponry_unofficial:pull拉弓/上弦进度0.0 ~ 1.0
spartan_weaponry_unofficial:charged弩已装填0.0 / 1.0
spartan_weaponry_unofficial:empty投掷武器耗尽0.0 / 1.0
spartan_weaponry_unofficial:arrow箭袋填充等级0 ~ 5

以下是一个长剑的完整模型文件示例:

models/item/iron_longsword.json
{
"parent": "spartan_weaponry_unofficial:item/base/longsword",
"loader": "spartan_weaponry_unofficial:oil_coated_item",
"overrides": [
{
"model": "spartan_weaponry_unofficial:item/iron_longsword_blocking",
"predicate": {
"spartan_weaponry_unofficial:blocking": 1.0
}
},
{
"model": "spartan_weaponry_unofficial:item/iron_longsword_throwing",
"predicate": {
"spartan_weaponry_unofficial:throwing": 1.0
}
}
],
"textures": {
"coating": "spartan_weaponry_unofficial:item/coating/longsword",
"layer0": "spartan_weaponry_unofficial:item/iron_longsword"
}
}

模组支持以下语言:

语言文件名
English (US)en_us.json
简体中文zh_cn.json
Español (España)es_es.json
Español (México)es_mx.json
Françaisfr_fr.json
Português (Brasil)pt_br.json
Русскийru_ru.json
{
// 物品名
"item.spartan_weaponry_unofficial.{武器类型}_{材质}": "武器名称",
// 强化武器 (长弓/重型弩)
"item.spartan_weaponry_unofficial.longbow_{材质}_strengthened": "强化长弓名称",
"item.spartan_weaponry_unofficial.heavy_crossbow_{材质}_strengthened": "强化重型弩名称",
// 自定义材质物品 (使用 %s 占位符)
"item.spartan_weaponry_unofficial.custom_{武器类型}": "%s 武器名称",
// 音效字幕
"subtitle.spartan_weaponry_unofficial.{音效事件}": "字幕文本",
// 武器特性
"trait.spartan_weaponry_unofficial.{特性名}": "特性显示名",
"trait.spartan_weaponry_unofficial.{特性名}.desc": "特性描述",
// 状态效果
"effect.spartan_weaponry_unofficial.{效果名}": "效果名称",
// 创造模式物品组
"itemGroup.spartan_weaponry_unofficial.basic": "Spartan Weaponry: 原版材质",
"itemGroup.spartan_weaponry_unofficial.modded": "Spartan Weaponry: 模组材质",
"itemGroup.spartan_weaponry_unofficial.arrows_bolts": "Spartan Weaponry: 箭矢与弩矢"
}

以下是一个替换铁质武器纹理的资源包结构示例:

MyResourcePack/
├── pack.mcmeta
└── assets/
└── spartan_weaponry_unofficial/
└── textures/
└── item/
├── iron_longsword.png
├── iron_dagger.png
├── iron_battle_hammer.png
├── iron_longbow_standby.png
├── iron_longbow_pulling_0.png
├── iron_longbow_pulling_1.png
├── iron_longbow_pulling_2.png
└── coating/
└── longsword.png
{
"pack": {
"pack_format": 34,
"description": "Spartan Weaponry 自定义纹理包"
}
}

📝 pack_format 版本对照:

  • Minecraft 1.21.x: pack_format: 34
  • Minecraft 1.20.x: pack_format: 15-22

  • 大多数武器纹理为 16x1632x32 像素
  • 长柄武器(戟、长矛等)通常使用 16x32 或更大的纹理
  • 弓和弩纹理通常为 16x16

涂油覆盖层纹理应该是半透明的,只覆盖武器的刃部区域。

如果您想为武器添加动画效果,可以创建 .mcmeta 文件:

// iron_longsword.png.mcmeta
{
"animation": {
"frametime": 4
}
}

如果只是替换纹理,不需要修改模型文件。模型文件会自动使用您提供的纹理。

投射物实体纹理(箭矢、弩矢)位于 textures/entity/projectiles/,与物品纹理分开。


武器类型每种材质所需纹理数说明
近战武器 (18种)1单纹理
投掷武器 (4种)1 + 1通用空状态主纹理 + 空状态
长弓4standby + pulling_0/1/2
重型弩5standby + pulling_0/1/2 + loaded
  • 原版材质 (8种) × 武器类型 ≈ 200+ 个纹理文件
  • 模组材质 (11种) × 武器类型 ≈ 275+ 个纹理文件
  • 总计约 500+ 个武器纹理文件

文档版本: 1.0.2 | 适用于 Spartan Weaponry Unofficial for NeoForge 1.21.1
更新日期: 2026-02-07