nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft.
Spartan Weaponry Unofficial

Spartan Weaponry Unofficial

Mod

An unofficial NeoForge 1.21.1 port of the iconic Spartan Weaponry mod—featuring swords, polearms, ranged weapons, and more, inspired by Balkon's WeaponMod!

Client and server AdventureEquipmentGame Mechanics

30.1k downloads
16 followers
Created4 months ago
Updated3 hours ago

Filter channels...

Changes

Commits from 1.21.1-1.1.2 to 1.21.1-1.2.0:

  • Release Spartan Weaponry 1.2.0 fixes (3ca751e)
  • Fix constantan weapon trait tag (81c1f21)
  • Fix throwable melee weapon pickup (73cfa82)
  • Refresh project documentation (3ad17d4)
  • Fix throwing weapon survival pickup (ae48ff5)
  • Extract weapon runtime helpers (88445e3)
  • Run formatter on Java 21 (b2a716d)
  • Normalize Java formatting and item group views (f1fdd43)
  • Improve weapon maintenance structure (7610c3c)

1.21.1-1.1.2

by Mai_xiyu on May 28, 2026
Download

1.21.1-1.1.1

by Mai_xiyu on May 16, 2026
Download

26.1-1.0.8

by Mai_xiyu on Apr 1, 2026
Download

1.21.1-1.0.8

by Mai_xiyu on Mar 29, 2026
Download

1.21.1-1.0.7

by Mai_xiyu on Mar 17, 2026
Download

Changelog

[1.0.7] - 2026-03-17

Fixed

  • Dimension Portal Crash: Fixed IllegalStateException: Cannot encode empty ItemStack crash when any projectile entity (arrows, throwing weapons, bolts) enters a dimension portal (Nether, End, Aether, etc.). Root cause: AbstractArrow.addAdditionalSaveData() would call save() on an empty pickup ItemStack during dimension transitions.
  • 维度传送门崩溃: 修复了任何投射物实体(箭矢、投掷武器、弩箭)进入维度传送门(下界、末地、天境等)时 IllegalStateException: Cannot encode empty ItemStack 崩溃。根本原因:AbstractArrow.addAdditionalSaveData() 在维度转换时对空的 pickup ItemStack 调用 save()
  • Bolt Persistence: Fixed bolts losing their type (copper, diamond, netherite, etc.) after chunk unload/reload — DATA_BOLT was never saved to or loaded from NBT.
  • 弩箭持久化: 修复了弩箭在区块卸载/重载后丢失类型(铜、钻石、下界合金等)的问题 — DATA_BOLT 从未写入/读取 NBT。

1.21.1-1.0.6

by Mai_xiyu on Mar 10, 2026
Download

Changelog

[1.0.5] - 2026-03-04

Fixed

  • Dedicated Server Crash: Fixed a critical crash on dedicated servers caused by client-only class references (Screen, ConfigurationScreen, IConfigScreenFactory) in the common mod entry point ModSpartanWeaponry. These classes are stripped by RuntimeDistCleaner on servers, causing NoClassDefFoundError.
  • 专用服务器崩溃: 修复了因主模组入口 ModSpartanWeaponry 中引用了客户端专属类(ScreenConfigurationScreenIConfigScreenFactory)而导致专用服务器崩溃的严重问题。这些类在服务器端被 RuntimeDistCleaner 移除,导致 NoClassDefFoundError
  • CuriosHelper.Client on Server: Added FMLEnvironment.dist.isClient() guard to prevent CuriosHelper.Client::registerReloadListener from being called on dedicated servers.
  • CuriosHelper.Client 服务端问题: 添加了 FMLEnvironment.dist.isClient() 检查,防止在专用服务器上调用 CuriosHelper.Client::registerReloadListener

Changed

  • Config Screen Registration: Moved config screen extension point registration from ModSpartanWeaponry to ClientHelper.registerConfigScreen(), properly guarded behind a dist check.
  • 配置界面注册: 将配置界面扩展点注册从 ModSpartanWeaponry 移至 ClientHelper.registerConfigScreen(),并用物理端检查正确保护。
  • Missing Translations (en_us.json): Added 105 missing translation keys including all wooden weapon variants, throwing knives, boomerangs, javelins, tomahawks, quiver upgrade kits, and tipped projectile effects.
  • 缺失翻译 (en_us.json): 补充了 105 个缺失的翻译 key,包括所有木质武器变体、飞刀、回旋镖、标枪、印第安战斧、箭袋升级包和药水箭头效果。
  • Missing Translations (zh_cn.json): Added 14 missing translation keys including parrying dagger variants, quiver compartment tooltips, and lightweight trait.
  • 缺失翻译 (zh_cn.json): 补充了 14 个缺失的翻译 key,包括格挡匕首变体、箭袋隔层提示和轻量化特性。

1.21.1-1.0.4

by Mai_xiyu on Feb 28, 2026
Download

Changelog

[1.0.4] - 2026-02-08

Fixed

  • Loyalty Enchantment Bug: Fixed throwing weapons (and throwable melee weapons) losing ALL enchantments after being returned via the Loyalty enchantment. Root cause: removeEnchantments() in ThrowingWeaponEntity was stripping all enchantments on block hit, pickup, and item drop. The method has been removed entirely; duplication is prevented by the existing AmmoUsed merge system.
  • 忠诚附魔 Bug: 修复了可投掷武器(及带有投掷特性的近战武器)在通过忠诚附魔回收后丢失所有附魔效果的问题。根本原因:ThrowingWeaponEntity 中的 removeEnchantments() 会在命中方块、拾取和掉落时清除所有附魔。该方法已被完全移除,物品复制由现有的 AmmoUsed 合并系统防止。
  • Entity Persistence: ThrowingWeaponEntity now correctly saves/loads weapon data (DATA_WEAPON) and loyalty return level (DATA_RETURN) in NBT, preventing weapon loss after chunk unload/reload.
  • 实体持久化: ThrowingWeaponEntity 现在正确地在 NBT 中保存/加载武器数据和忠诚返回等级,防止区块卸载/重载后武器丢失。
  • Non-merge Pickup Path: Fixed attemptCatch() incorrectly adding NBT_AMMO_USED tag to non-ThrowingWeaponItem weapons (e.g., melee weapons with Throwable trait), which would cause enchantment loss on subsequent throws.
  • 非合并拾取路径: 修复了 attemptCatch() 错误地向非 ThrowingWeaponItem 武器(如带投掷特性的近战武器)添加 NBT_AMMO_USED 标签的问题,该问题会导致后续投掷时附魔丢失。

Added

  • Config Screen: Added in-game configuration screen for client settings (crosshair options, HUD alignment, integration toggles). Accessible via NeoForge mod list → Config button.
  • 配置界面: 添加了客户端设置的游戏内配置界面(准星选项、HUD 对齐、联动开关)。可通过 NeoForge 模组列表 → 配置按钮访问。

1.21.1-1.0.3

by Mai_xiyu on Feb 13, 2026
Download

Changelog

[1.0.2] - 2026-02-07

Changed

  • Mod ID Update: Changed from spartanweaponryunofficial to spartan_weaponry_unofficial (using underscores) to comply with Minecraft modding naming conventions.
  • Version Number: Updated to 1.0.2.

Added

  • Strengthened Weapon Naming: Longbows and heavy crossbows created through the addon API now automatically have the _strengthened suffix:
    • Longbow: longbow_{material}_strengthened (e.g., longbow_diamond_strengthened)
    • Heavy Crossbow: heavy_crossbow_{material}_strengthened (e.g., heavy_crossbow_iron_strengthened)
  • Localization Updates: Updated all 7 language translation files to support the new naming format.

Fixed

  • Model Generation System: Fixed and improved texture path conversion logic in ModelGenerator.java, supporting automatic conversion for all 18 material types.
  • Data Generation: Resolved data generation failures caused by mismatches between weapon registration names and texture file names.
  • Data Namespace References: Updated 506 namespace references in data and assets JSON files from old to new Mod ID format.

Technical Changes

  • Refactored the WeaponItemsRanged constructor in ModItems.java to add strengthened weapon suffix logic.
  • Extended the material list in ModelGenerator.java to cover all vanilla and mod-added material types.
  • Renamed resource directory structure to match the new Mod ID (assets/spartan_weaponry_unofficial and data/spartan_weaponry_unofficial).
  • Updated API documentation and resource pack development guide to reflect the naming changes.
  • Batch updated all namespace references in:
    • 489 data JSON files (tags, enchantments, recipes, loot tables, advancements)
    • 17 assets JSON files (models)

Breaking Changes

⚠️ Incompatible with Old Save Files: Due to the Mod ID change, items from previous versions will be lost after updating. It is recommended to use this version in new worlds.


[1.0.2] - 2026-02-07

Changed

  • Mod ID 更新: 从 spartanweaponryunofficial 更改为 spartan_weaponry_unofficial (使用下划线),以符合 Minecraft 模组命名规范。
  • 版本号: 更新到 1.0.2。

Added

  • 强化武器命名: 通过附加 API 创建的长弓和重型十字弩现在自动添加 _strengthened 后缀:
    • 长弓: longbow_{material}_strengthened (例如: longbow_diamond_strengthened)
    • 重型十字弓: heavy_crossbow_{material}_strengthened (例如: heavy_crossbow_iron_strengthened)
  • 本地化更新: 更新了所有 7 种语言的翻译文件以支持新的命名格式。

Fixed

  • 模型生成系统: 修复并改进了 ModelGenerator.java 中的纹理路径转换逻辑,支持所有 18 种材料的自动转换。
  • 数据生成: 解决了武器注册名与纹理文件名不匹配导致的数据生成失败问题。
  • 数据命名空间引用: 更新了 data 和 assets JSON 文件中的 506 处命名空间引用,从旧格式更新为新的 Mod ID 格式。

Technical Changes

  • 重构了 ModItems.java 中的 WeaponItemsRanged 构造函数,添加了强化武器后缀逻辑。
  • 扩展了 ModelGenerator.java 中的材料列表,覆盖原版和模组添加的所有材料类型。
  • 重命名了资源目录结构以匹配新的 Mod ID (assets/spartan_weaponry_unofficialdata/spartan_weaponry_unofficial)。
  • 更新了 API 文档和资源包开发指南以反映命名变更。
  • 批量更新了所有命名空间引用:
    • 489 个 data JSON 文件(tags、enchantments、recipes、loot tables、advancements)
    • 17 个 assets JSON 文件(models)

Breaking Changes

⚠️ 不兼容旧版本存档: 由于 Mod ID 变更,旧版本的物品在更新后会丢失。建议在新世界中使用此版本。

Changelog

Apotheosis Mod Compatibility Fixes

  • Fixed the issue where Battle Axes cannot be placed in the Reforging Table: Added SWORD_DIG to the ItemAbility set of BATTLEAXE, allowing it to be recognized as a melee weapon by Apotheosis while retaining its original axe functionalities (stripping bark, removing copper patina, and de-waxing).

  • Fixed the issue where other weapons cannot be placed in the Reforging Table: Added the SWORD_DIG ability to all melee weapons and thrown weapons, including:

    • Melee Weapons: Dagger, Parrying Dagger, Sword, Rapier, Saber, Katana, Greatsword, Club, Gauntlets, War Hammer, Lucerne Hammer, Spear, Halberd, Pike, Lance, Flail, Naginata, Quarterstaff, Scythe

    • Thrown Weapons: Throwing Knife, Battle Axe, Javelin, Boomerang

Sweep Attack Mechanics Overhaul (Sweep)

  • **Modified ** PlayerMixin.java: Restored and rewrote the interception logic for EnchantmentHelper.getSweepingDamageRatio.

  • New Calculation Formula: Final Sweep Damage = Weapon Base Damage × Sweep Trait Multiplier (e.g., 8.5 × 0.75 = 6.375).

  • **Updated Sweep Multiplier Definitions in ** WeaponTraits.java:

    • SWEEP_1: 25% (0.25f)

    • SWEEP_2: 50% (0.50f)

    • SWEEP_3: 75% (0.75f) - Corresponds to the original "Sweeping Edge III" effect.

Attack Range (Reach) Adjustments

  • **Added New Trait Levels in ** WeaponTraits.java:

    • REACH_1_5: +1.5 Blocks (Magnitude 6.5f)

    • REACH_2_5: +2.5 Blocks (Magnitude 7.5f)

  • **Updated ** ModWeaponTraitTagsProvider.java: Adjusted attack range bonuses for various weapons (added to the original base values):

    • +1.0 Block Increase:

      • Scythe: 0 -> +1.0 (REACH_1)

      • Javelin: 0 -> +1.0 (REACH_1)

      • Quarterstaff: 0 -> +1.0 (REACH_1)

      • Lance: +1.0 -> +2.0 (REACH_2)

      • Spear: +1.0 -> +2.0 (REACH_2)

    • +0.5 Block Increase:

      • Pike: +2.0 -> +2.5 (REACH_2_5)

      • Halberd: +1.0 -> +1.5 (REACH_1_5)

      • Glaive: +1.0 -> +1.5 (REACH_1_5)

更新日志

Apotheosis 模组兼容性修复

  • 修复战斧无法放入重铸台的问题:为 BATTLEAXEItemAbility 集合添加了 SWORD_DIG,使其能被 Apotheosis 识别为近战武器,同时保留原有的斧头功能(剥树皮、刮铜锈、去蜡)。

  • 修复其他武器无法放入重铸台的问题:为所有近战武器和投掷武器添加了 SWORD_DIG 能力,包括:

  • 近战武器:匕首、格挡匕首、剑、刺剑、军刀、武士刀、巨剑、棍棒、拳套、战锤、锤矛、长矛、戟、长枪、骑枪、链枷、薙刀、棍棒、镰刀

  • 投掷武器:飞刀、战斧、标枪、回旋镖

横扫攻击机制重构(Sweep)

  • PlayerMixin.java **修改 **:恢复并重构了 EnchantmentHelper.getSweepingDamageRatio 的拦截逻辑。

  • 新增计算公式:最终横扫伤害 = 武器基础伤害 × 横扫特质倍率(示例:8.5 × 0.75 = 6.375)。

  • WeaponTraits.java 更新 中的横扫倍率定义SWEEP_1: 25% (0.25f)

  • SWEEP_2: 50% (0.50f)

  • SWEEP_3: 75% (0.75f) - 对应原版“横扫之刃III”效果。

攻击范围(Reach)调整

  • WeaponTraits.java 在 中新增特质等级REACH_1_5: +1.5 格(量级 6.5f)

  • REACH_2_5: +2.5 格(量级 7.5f)

ModWeaponTraitTagsProvider.java **更新 **:调整了各类武器的攻击范围加成(在原有基础值上增加): +1.0 格提升: 镰刀:0 → +1.0(REACH_1

标枪:0 → +1.0(REACH_1

棍棒:0 → +1.0(REACH_1

骑枪:+1.0 → +2.0(REACH_2

长矛:+1.0 → +2.0(REACH_2

+0.5 格提升: 长枪:+2.0 → +2.5(REACH_2_5

戟:+1.0 → +1.5(REACH_1_5

薙刀:+1.0 → +1.5(REACH_1_5

External resources



Project members

Mai_xiyu

Owner

IAFEnvoy

Mascot


Technical information

License
Client side
required
Server side
required
Project ID
Expand Down