Skip to content

Spartan Weaponry Unofficial Resource Pack Development Guide

Spartan Weaponry Unofficial Resource Pack Development Guide

Section titled “Spartan Weaponry Unofficial Resource Pack Development Guide”

This document provides a detailed resource structure guide for the Spartan Weaponry Unofficial mod, helping you create custom textures, models, or sounds.

📁 Resource Directory Structure Overview

Section titled “📁 Resource Directory Structure Overview”

⚠️ Important Change: Starting from version 1.0.2, resource paths use spartan_weaponry_unofficial (with underscores).

assets/spartan_weaponry_unofficial/
├── blockstates/ # Block states (skulls)
├── lang/ # Language files
├── models/
│ └── item/
│ └── base/ # Base model templates
├── particles/ # Particle effect definitions
├── sounds.json # Sound registration
└── textures/
├── entity/ # Entity textures
│ ├── projectiles/ # Projectile textures
│ └── skull/ # Skull textures
├── gui/ # GUI textures
│ └── tooltip/ # Tooltip textures
├── item/ # Item textures
│ └── coating/ # Oil coating overlay textures
├── mob_effect/ # Status effect icons
├── model/ # 3D model textures (quivers)
├── particle/ # Particle textures
└── slots/ # Recipe slot icons

The mod includes the following materials, each with a complete weapon set:

Material CategoryMaterial NameTexture Prefix
Vanilla MaterialsWoodenwooden_
Stonestone_
Coppercopper_
Ironiron_
Goldengolden_
Diamonddiamond_
Netheritenetherite_
Leather (bows/crossbows only)leather_
Modded MaterialsTintin_
Bronzebronze_
Steelsteel_
Silversilver_
Electrumelectrum_
Leadlead_
Nickelnickel_
Invarinvar_
Constantanconstantan_
Platinumplatinum_
Aluminumaluminum_

The following weapon types require only one texture file:

Weapon TypeNameTexture File Format
daggerDagger{material}_dagger.png
parrying_daggerParrying Dagger{material}_parrying_dagger.png
longswordLongsword{material}_longsword.png
katanaKatana{material}_katana.png
saberSaber{material}_saber.png
rapierRapier{material}_rapier.png
greatswordGreatsword{material}_greatsword.png
battle_hammerBattle Hammer{material}_battle_hammer.png
warhammerWarhammer{material}_warhammer.png
spearSpear{material}_spear.png
halberdHalberd{material}_halberd.png
pikePike{material}_pike.png
lanceLance{material}_lance.png
battleaxeBattleaxe{material}_battleaxe.png
flanged_maceFlanged Mace{material}_flanged_mace.png
glaiveGlaive{material}_glaive.png
quarterstaffQuarterstaff{material}_quarterstaff.png
scytheScythe{material}_scythe.png

Example Paths:

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

Throwing Weapons (Single Texture + Empty State)

Section titled “Throwing Weapons (Single Texture + Empty State)”

Throwing weapons have a main texture plus a universal “empty” state texture:

Weapon TypeNameMain TextureEmpty State Texture (Universal)
throwing_knifeThrowing Knife{material}_throwing_knife.pngempty_throwing_knife.png
tomahawkTomahawk{material}_tomahawk.pngempty_tomahawk.png
javelinJavelin{material}_javelin.pngempty_javelin.png
boomerangBoomerang{material}_boomerang.pngempty_boomerang.png

Longbows require 4 texture files to represent different drawing stages:

StateFile Format
Standby{material}_longbow_standby.png
Pulling 0{material}_longbow_pulling_0.png
Pulling 1{material}_longbow_pulling_1.png
Pulling 2{material}_longbow_pulling_2.png

Example:

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

Heavy crossbows require 5 texture files:

StateFile Format
Standby{material}_heavy_crossbow_standby.png
Pulling 0{material}_heavy_crossbow_pulling_0.png
Pulling 1{material}_heavy_crossbow_pulling_1.png
Pulling 2{material}_heavy_crossbow_pulling_2.png
Loaded{material}_heavy_crossbow_loaded.png

Oiled weapons display an overlay texture. These textures are located in the textures/item/coating/ directory:

Weapon TypeOverlay File
Daggercoating/dagger.png
Parrying Daggercoating/parrying_dagger.png
Longswordcoating/longsword.png
Katanacoating/katana.png
Sabercoating/saber.png
Rapiercoating/rapier.png
Greatswordcoating/greatsword.png
Battle Hammercoating/battle_hammer.png
Warhammercoating/warhammer.png
Spearcoating/spear.png
Halberdcoating/halberd.png
Pikecoating/pike.png
Lancecoating/lance.png
Battleaxecoating/battleaxe.png
Flanged Macecoating/flanged_mace.png
Glaivecoating/glaive.png
Quarterstaffcoating/quarterstaff.png
Scythecoating/scythe.png
Cestuscoating/cestus.png
Clubcoating/club.png
Vanilla Swordcoating/vanilla_sword.png

💡 Tip: Overlay textures use the model’s custom loader spartan_weaponry_unofficial:oil_coated_item for rendering.


ItemItem TextureEntity Texture
Wooden Arrowwooden_arrow.pngentity/projectiles/wooden_arrow.png
Copper Arrowcopper_arrow.pngentity/projectiles/copper_arrow.png
Iron Arrowiron_arrow.pngentity/projectiles/iron_arrow.png
Diamond Arrowdiamond_arrow.pngentity/projectiles/diamond_arrow.png
Netherite Arrownetherite_arrow.pngentity/projectiles/netherite_arrow.png
Explosive Arrowexplosive_arrow.pngentity/projectiles/explosive_arrow.png
Bronze Arrowbronze_arrow.pngentity/projectiles/bronze_arrow.png
Tin Arrowtin_arrow.pngentity/projectiles/tin_arrow.png
Steel Arrowsteel_arrow.pngentity/projectiles/steel_arrow.png
Silver Arrowsilver_arrow.pngentity/projectiles/silver_arrow.png
Electrum Arrowelectrum_arrow.pngentity/projectiles/electrum_arrow.png
Lead Arrowlead_arrow.pngentity/projectiles/lead_arrow.png
Nickel Arrownickel_arrow.pngentity/projectiles/nickel_arrow.png
Invar Arrowinvar_arrow.pngentity/projectiles/invar_arrow.png
Platinum Arrowplatinum_arrow.pngentity/projectiles/platinum_arrow.png

Tipped arrows use layered textures:

Texture LayerFile Name
Arrow Head Tinttipped_arrow_head.png
Wooden Arrow Basetipped_wooden_arrow_base.png
Copper Arrow Basetipped_copper_arrow_base.png
Iron Arrow Basetipped_iron_arrow_base.png
Diamond Arrow Basetipped_diamond_arrow_base.png
Netherite Arrow Basetipped_netherite_arrow_base.png
ItemItem TextureEntity Texture
Boltbolt.pngentity/projectiles/bolt.png
Copper Boltcopper_bolt.pngentity/projectiles/copper_bolt.png
Diamond Boltdiamond_bolt.pngentity/projectiles/diamond_bolt.png
Netherite Boltnetherite_bolt.pngentity/projectiles/netherite_bolt.png
Spectral Boltspectral_bolt.pngentity/projectiles/spectral_bolt.png
Texture LayerFile Name
Bolt Head Tinttipped_bolt_head.png
Bolt Basetipped_bolt_base.png
Copper Bolt Basetipped_copper_bolt_base.png
Diamond Bolt Basetipped_diamond_bolt_base.png
Netherite Bolt Basetipped_netherite_bolt_base.png

Quivers have multiple sizes and fill states, requiring multiple texture files:

SizeBase TextureFill State TexturesBrace Texture
Smallsmall_arrow_quiver_base.pngsmall_arrow_quiver_1/2/3.png-
Mediummedium_arrow_quiver_base.pngmedium_arrow_quiver_1/2/3.pngmedium_quiver_brace.png
Largelarge_arrow_quiver_base.pnglarge_arrow_quiver_1/2/3/4/5.pnglarge_quiver_brace.png
Hugehuge_arrow_quiver_base.pnghuge_arrow_quiver_1/2/3/4/5.pnghuge_quiver_brace.png

📝 Note: Bolt quivers (bolt_quiver) use the same naming pattern, just replace arrow with bolt.

Quiver 3D models (back decorations) use the following textures:

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 # Small quiver GUI background
textures/gui/quiver_medium.png # Medium quiver GUI background
textures/gui/quiver_large.png # Large quiver GUI background
textures/gui/quiver_huge.png # Huge quiver GUI background
textures/gui/tooltip/quiver.png # Quiver tooltip background

These textures are used for empty slot hints in recipe interfaces:

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

The mod adds various mob skulls, with textures located in textures/entity/skull/:

SkullTexture File
Drowned Headdrowned_head.png
Enderman Headenderman_head.png
Stray Skullstray_skull.png

📝 Note: Other skulls (Blaze, Spider, Cave Spider, Husk, Witch, Illager, Zombie Piglin) use vanilla textures or other sources.


textures/gui/crosshairs.png

This is a sprite sheet containing custom crosshairs for throwing weapons and heavy crossbows.

textures/mob_effect/ender_disruption.png # Ender Disruption effect icon

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 boost particle
damage_reduced.png # Damage reduction particle

The mod uses the following sound events, which you can replace via resource pack:

Sound Event IDDescriptionDefault Sound Source
boomerang_bounceBoomerang bounceentity/player/attack/weak*
boomerang_flyBoomerang flyingrandom/bow
boomerang_hit_groundBoomerang ground impactitem/trident/ground_impact*
boomerang_hit_mobBoomerang hits mobitem/trident/pierce*
boomerang_throwBoomerang throwitem/trident/throw*
javelin_hit_groundJavelin ground impactitem/trident/ground_impact*
javelin_hit_mobJavelin hits mobitem/trident/pierce*
javelin_throwJavelin throwitem/trident/throw*
throwing_knife_hit_groundThrowing knife ground impactitem/trident/ground_impact*
throwing_knife_hit_mobThrowing knife hits mobitem/trident/pierce*
throwing_knife_throwThrowing knife throwitem/trident/throw*
tomahawk_hit_groundTomahawk ground impactitem/trident/ground_impact*
tomahawk_hit_mobTomahawk hits mobitem/trident/pierce*
tomahawk_throwTomahawk throwitem/trident/throw*
throwing_weapon_hit_groundGeneric throwing weapon grounditem/trident/ground_impact*
throwing_weapon_hit_mobGeneric throwing weapon hititem/trident/pierce*
throwing_weapon_throwGeneric throwing weapon throwitem/trident/throw*
throwing_weapon_loyalty_returnLoyalty return sounditem/trident/return*
hammer_slams_into_groundHammer slams groundrandom/explode*
oil_appliedOil applied soundblock/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"
}
}

Sound files should be placed at:

assets/spartan_weaponry_unofficial/sounds/custom/boomerang_throw.ogg

The mod defines a set of base models that all specific weapon models inherit from:

Base ModelUsageSpecial Display Transforms
longsword.jsonOne-handed sword weaponsExtended third-person grip
greatsword.jsonTwo-handed sword weaponsLarger display scale
battle_hammer.jsonHammer weaponsSpecial grip angle
halberd.jsonPolearm weaponsExtended third-person display
longbow.jsonBow weaponsBow drawing pose
heavy_crossbow.jsonCrossbow weaponsCrossbow loading/aiming pose
throwing_knife.jsonThrowing weaponsThrowing pose transforms

The mod uses custom item properties to control model changes:

Property IDUsageValues
spartan_weaponry_unofficial:blockingBlocking state0.0 / 1.0
spartan_weaponry_unofficial:throwingThrowing charge state0.0 / 1.0
spartan_weaponry_unofficial:pullingDrawing/loading state0.0 / 1.0
spartan_weaponry_unofficial:pullDrawing/loading progress0.0 ~ 1.0
spartan_weaponry_unofficial:chargedCrossbow loaded0.0 / 1.0
spartan_weaponry_unofficial:emptyThrowing weapon depleted0.0 / 1.0
spartan_weaponry_unofficial:arrowQuiver fill level0 ~ 5

Here’s a complete model file example for a longsword:

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"
}
}

The mod supports the following languages:

LanguageFile Name
English (US)en_us.json
Simplified Chinesezh_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 names
"item.spartan_weaponry_unofficial.{material}_{weapon_type}": "Weapon Name",
// Strengthened weapons
"item.spartan_weaponry_unofficial.longbow_{material}_strengthened": "Material-Strengthened Longbow",
"item.spartan_weaponry_unofficial.heavy_crossbow_{material}_strengthened": "Material-Strengthened Heavy Crossbow",
// Custom material items (using %s placeholder)
"item.spartan_weaponry_unofficial.custom_{weapon_type}": "%s Weapon Name",
// Sound subtitles
"subtitle.spartan_weaponry_unofficial.{sound_event}": "Subtitle Text",
// Weapon traits
"trait.spartan_weaponry_unofficial.{trait_name}": "Trait Display Name",
"trait.spartan_weaponry_unofficial.{trait_name}.desc": "Trait Description",
// Status effects
"effect.spartan_weaponry_unofficial.{effect_name}": "Effect Name",
// Creative mode item groups
"itemGroup.spartan_weaponry_unofficial.basic": "Spartan Weaponry: Vanilla Materials",
"itemGroup.spartan_weaponry_unofficial.modded": "Spartan Weaponry: Modded Materials",
"itemGroup.spartan_weaponry_unofficial.arrows_bolts": "Spartan Weaponry: Arrows & Bolts"
}

Here’s an example resource pack structure for replacing iron weapon textures:

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 Custom Textures"
}
}

📝 pack_format version reference:

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

  • Most weapon textures are 16x16 or 32x32 pixels
  • Polearm weapons (halberds, pikes, etc.) typically use 16x32 or larger textures
  • Bow and crossbow textures are typically 16x16

Oil coating overlay textures should be semi-transparent, covering only the blade area of the weapon.

If you want to add animated effects to weapons, you can create .mcmeta files:

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

If you’re only replacing textures, you don’t need to modify model files. Models will automatically use your provided textures.

Projectile entity textures (arrows, bolts) are located in textures/entity/projectiles/, separate from item textures.


Weapon TypeTextures per MaterialNotes
Melee weapons (18 types)1Single texture
Throwing weapons (4 types)1 + 1 universal emptyMain + empty state
Longbow4standby + pulling_0/1/2
Heavy Crossbow5standby + pulling_0/1/2 + loaded
  • Vanilla materials (8 types) × Weapon types ≈ 200+ texture files
  • Modded materials (11 types) × Weapon types ≈ 275+ texture files
  • Total approximately 500+ weapon texture files

Document Version: 1.0.2 | Updated 2026-02-07 | For Spartan Weaponry Unofficial for NeoForge 1.21.1