Astra Shastra is a Minecraft mod that brings the legendary weapons of the Mahabharat into your world. Wield the divine arms of gods, kings, and warriors from the
Astra Shastra — Weapons of the Mahabharat
"Yada yada hi dharmasya glanir bhavati Bharata..."
Astra Shastra is a Minecraft mod that brings the legendary weapons of the Mahabharat into your world. Wield the divine arms of gods, kings, and warriors from the great Indian epic — each weapon faithful to its scripture, each with abilities worthy of Kurukshetra.
⚔️ Featured Weapons
Sudarshana Chakra — Krishna's spinning discus. Returns to the wielder. Cuts through anything.
Gandiva — Arjuna's celestial bow. Fires three arrows at once, never misses moving targets.
Kaumodaki — Vishnu's mace. Massive AoE shockwave on slam.
Pashupatastra — Shiva's ultimate astra. Endgame weapon; use with caution.
Brahmastra — Brahma's divine missile. Charge to summon, devastating blast radius.
Vajra — Indra's thunderbolt. Calls lightning on hit.
...and more astras unlocking as you progress.
✨ Features
Lore-accurate — every weapon's behavior is rooted in Mahabharat scripture
Tiered progression — craft mortal weapons first, earn divine astras through quests
Custom models & animations — hand-modeled, not just retextures
Balanced for survival — powerful but costly to obtain and use
Multiplayer-ready — works on dedicated servers
📦 Installation
Install the matching loader for your Minecraft version:
Minecraft 1.20.1 → Forge 47.x
Minecraft 1.21.1 → NeoForge 21.x
Drop the matching astra-shastra--x.y.z.jar into your mods/ folder
Launch the game
🛡️ Requirements
Minecraft 1.20.1 (Forge) or 1.21.1 (NeoForge)
Java 17+ (1.20.1) / Java 21+ (1.21.1)
🎯 Roadmap
v0.1 — Core 5 weapons (Sudarshana, Gandiva, Kaumodaki, Vajra, Brahmastra)
v0.2 — Quest system to earn divine astras
v0.3 — Mahabharat-themed armor sets (Karna's Kavacha, Arjuna's quiver)
v0.4 — Boss mobs: encounter Bhishma, Karna, Duryodhana
v1.0 — Full Kurukshetra dimension
📜 License
All rights reserved.
🙏 Credits
Inspired by Vyasa's Mahabharat. Built for the Minecraft community.
# Changelog
All notable changes to **Astra Shastra** will be documented here.
This project follows [Semantic Versioning](https://semver.org/).
## [1.8.0] — 2026-10-03 (NeoForge 1.21.1)
**The Dharma update.** Rolls up the unreleased v1.5–v1.7 development plus the v1.8 Brahmastra gate and quest HUD:
an alignment system, a guided quest, three new Asuras, the four Kaurava warriors, five rideable vahanas,
weapon mastery and the Biome Trinity.
> **Updating from 1.4.0:** seven named armor sets were cut (see *Removed*). Items from those sets will disappear
> from existing worlds — back up your worlds first.
### Added
- **Dharma** (-100 to +100): Asura kills +5 (Mahishasura +10), Kaurava kills +3, seeking counsel +2, sleeping +5;
killing animals -2, villagers -10, attacking Krishna or a Pandava -15. Daily caps +50 / -30. A HUD bar shows your tier
and kill counters. **Divine astras refuse Adharmaratha players (dharma ≤ -50); the Brahmastra requires Dharmaratha (+50).**
- **Vanvas Quest + HUD objective tracker.** Krishna appears near you when you load into a world; follow him to
Yudhishthira → Bhima → Arjuna → Nakula & Sahadeva, then return to Krishna for his Biome Trinity guidance. The Pandavas are
rare natural spawns in forests, jungles, mountains and deserts. Crouch + right-click Krishna for the world map.
- **Map of Bharata Varsha** (paper + compass): in-game habitat guide.
- **Three new Asuras** — Naga (jungle, 25 HP), Hidimba (dark-forest mini-boss, 80 HP, 1.6×), Dhumaketu (badlands, day-active
fire demon, 40 HP).
- **Four Kauravas** — Duryodhana, Karna, Drona, Bhishma. They camp on the plains and never strike first; each kill is +3 dharma
and drops Divine Shards or weapon fragments.
- **Five vahanas** — Makara, Nandi, Ushtra, Simha and Garuda (full 3D flight). They spawn pre-tamed and saddled; whistles recall them.
- **Biome Trinity.** In ocean, mountain, badlands and forest terrain, Rakshasa, Daitya and Mahishasura resist your damage
(95% / 65% / 30% / 0% for 0–3 matched slots) unless you ride the matching vahana, wear the matching full kavacha set and hold
the matching weapon family (or a divine weapon).
- **Weapon Mastery** — five weapon families level 1–10 as you deal damage (XP ×3 on kills, ×5 against Rakshasa/Daitya/Mahishasura).
- **Ascension Altar** — upgrades a wooden Chakra / Gandiva / Kaumodaki to iron (10 wooden weapons + 10 iron ingots + 10 fragments,
Mastery level 3). Creative inventory only.
- **Chakra / Gandiva / Kaumodaki Fragments** and **Divine Shards** as mob drops.
### Changed
- **Armor recipes.** Each themed set now has a distinct recipe — one themed item in the gap of the standard armor shape:
Varuna (prismarine crystals), Vajra (lightning rod), Surya (blaze rod), Mahishasura-Mardini (golden apple); Divine stays plain
netherite. Iron Kavacha now needs 1 leather per piece (its plain iron shape was shadowed by vanilla iron armor).
- Mod description updated to match the above.
### Fixed
- **Vajra's left-click melee did 1 damage instead of 25.** In 1.21 `SwordItem(Tier, Properties)` doesn't apply the tier's damage; Vajra
now sets its attribute modifiers explicitly (25 attack damage, sword attack speed).
- **Gandiva and Kaumodaki ignored Adharmaratha** — they now refuse at dharma ≤ -50 like Chakra, Vajra and Brahmastra.
- **Pandavas had no natural spawn** (egg only) — rare spawns in forests, jungles, mountains and deserts.
- **Chakra Fragment had no source** — the Naga drops it. 18 of 40 crafting recipes were shadowed by another recipe — see *Changed*.
### Removed
- **Seven named armor sets** and their set bonuses: Kavacha-Kundala (Karna), Kirita-Mukuta (Arjuna), Gada-Kavacha (Bhima),
Vaijayanti-Kavacha (Krishna), Yamadharma-Kavacha, Agni-Kavacha, Vayu-Kavacha. The seven sets that remain are Wooden, Iron, Divine,
Varuna, Vajra, Surya and Mahishasura-Mardini.
### Known limitations
- The quest currently ends at Krishna's Trinity guidance; the three deity temples, a Garuda reward and the Svarga Key are planned.
- Of the Mastery unlocks announced at levels 3/5/7/10, only the Chakra's sweep-radius bonus changes gameplay so far.
- The Biome Trinity covers Rakshasa, Daitya and Mahishasura; Naga, Hidimba and Dhumaketu take normal damage.
- Divine Shards have no crafting use yet.
### Backports
- **Forge 1.20.1** and **NeoForge 1.21.11** remain at their earlier feature levels (v1.4 / v1.1).
---
## [1.4.0] — 2026-05-31 (NeoForge 1.21.1)
**Asuras of the Mahabharata.** First mob expansion — three hostile demons that
roam the world (or in Mahishasura's case, must be summoned). The Asuras tie
the new armor sets back into combat: kill the buffalo-demon boss and you earn
the full Mahishasura-Mardini Kavacha, lore-accurate to Durga's victory over him.
### Added — 3 hostile Asuras
| Mob | Role | HP | Damage | Notes |
|---|---|---|---|---|
| **Rakshasa** | Random spawn (forest demon) | 30 | 4 | Baseline hostile, drops bones + flesh |
| **Daitya** | Random spawn (giant demon) | 60 | 7 | Tankier, scaled 1.5×, may drop iron |
| **Mahishasura** | Summon-only boss | 200 + 150 shield | 12 | Drops full Mahishasura-Mardini armor + 2-4 netherite |
### Added — boss mechanics (Mahishasura)
- **Divine shield system** — 150 HP of damage absorption sits *in front of*
Mahishasura's 200 HP. Yellow shield bar drains first; once depleted, glass-break
sound plays and red HP bar starts taking hits. Effective TTK: 350 damage.
- **Single split boss-bar HUD** — custom client-side renderer
(`AstraShastraBossBarRenderer`) draws ONE bar visually split 60/40: red HP on
left, yellow shield on right, black divider between. Shield% is encoded into
the bar's display-name suffix on server tick, parsed back out on client —
avoids needing custom network packets.
- **Shield state is NBT-persistent** — survives world reload mid-fight.
### Added — spawn eggs
- 3 spawn eggs (vivid red Rakshasa, rust-brown Daitya, royal-purple Mahishasura).
- Mahishasura is summon-only (no natural spawn), egg is the intended encounter trigger.
### Implementation
- All mobs codegen'd from `tools/gen_mob.py` (template script — edit the spec
there, not the generated Java). Adds an entity class, renderer, attribute
supplier, spawn placement, spawn egg, loot table, and lang entries per mob.
- All 3 mobs extend vanilla `Zombie` for free hostile AI + animation rig.
Textures: vanilla `zombie.png` tinted per Asura via PIL. Bespoke models
tracked for v1.4.x polish.
- Spawn placement uses `SpawnPlacementTypes.ON_GROUND` + `MOTION_BLOCKING_NO_LEAVES`
+ standard `Monster::checkMonsterSpawnRules` predicate.
### Backports
- **Forge 1.20.1** — backport in progress (v1.4.1).
- **NeoForge 1.21.11** — deferred (lab version, fewer downloads).
---
## [1.3.0] — 2026-05-30 (NeoForge 1.21.1 + Forge 1.20.1)
**Kavacha armor expansion.** 56 new armor items across 14 sets — 3 tiered
progression sets (wooden / iron / divine kavacha) and 11 named legendary sets,
each tied to a deity or hero from the Mahabharata/Puranas with a full-set
gameplay bonus.
### Added — 14 armor sets (helm + cuirass + greaves + boots each)
**Tiered (no set bonus, for progression):**
- **Wooden / Iron / Divine Kavacha** — leather→iron→netherite tier stats.
**Named legendary (full-set bonus when all 4 pieces worn):**
- **Kavacha-Kundala** (Karna) — projectile immunity. The birth-armor that made Karna untouchable by arrows.
- **Kirita-Mukuta** (Arjuna) — bow damage +50%. The divine crown gifted by Indra.
- **Vajra-Kavacha** (Indra) — 50% melee thorns. Returns lightning to attackers.
- **Gada-Kavacha** (Bhima) — damage resistance + knockback resistance.
- **Vaijayanti-Kavacha** (Krishna) — regeneration aura.
- **Surya-Kavacha** (Surya) — damage boost in daylight under open sky.
- **Yamadharma-Kavacha** (Yama) — +50% damage vs monsters.
- **Varuna-Kavacha** (Varuna) — water breathing + dolphin's grace.
- **Agni-Kavacha** (Agni) — fire & lava immunity.
- **Mahishasura-Mardini** (Durga) — +50% damage vs monsters (anti-asura).
- **Vayu-Kavacha** (Vayu) — movement speed boost.
### Implementation
- All armor codegen'd from `tools/gen_armor.py` (template script — edit the spec there, not the generated Java).
- `KavachaArmorItem` base class carries `setId` + `setBonus` keys; `AstraShastraArmorEvents` checks for full-set match every server tick and on damage events.
- Textures: vanilla iron armor templates recolored per set (Karna gold, Indra electric-blue, Agni fire-red, etc.). Hand-painted replacements TODO for v1.3.x polish.
- Recipes: simple shaped (wood/iron/netherite ingot in classic armor patterns).
### Backports
- **Forge 1.20.1** — shipped (verified in dev client). Custom enum-based `KavachaMaterial implements ArmorMaterial` (interface, not record); `tools/gen_armor_forge_120.py` shares the SETS spec from the master codegen.
- **NeoForge 1.21.11** — deferred (ArmorItem class was removed in 1.21.5, requires Equipment data component approach; lab version, fewer downloads).
---
## [1.1.0] — 2026-05-24
**Multi-version release.** Ships two jars covering the most-played 1.21.x ends:
the original NeoForge 1.21.1 build (full 11 weapons) plus a new NeoForge 1.21.11
build (6 weapons, subset). Establishes the multi-version infrastructure for adding
more MC versions in follow-up releases.
### Added — NeoForge 1.21.11 support (new jar)
- **6 weapons** ship for 1.21.11: Wooden / Iron / Sudarshana Chakras, Wooden / Iron / Divine Kaumodakis.
- New project structure: `versions/1.21.11/` sibling to `mod/`. Each version is a self-contained NeoForge build.
- Gandiva, Brahmastra, and Vajra **deferred** for 1.21.11 — they depend on classes that were heavily refactored between 1.21.1 and 1.21.11 (`SwordItem`/`Tier` removed in 1.21.5, `AbstractHurtingProjectile`/`GameRules` moved packages, `Arrow` moved, `EventBusSubscriber.Bus` annotation removed). Per-class ports tracked for v1.1.x.
### API ports applied for 1.21.11
- `InteractionResultHolder<ItemStack>` → `InteractionResult` (sealed interface with static constants).
- `Item.use()` returns `InteractionResult` (no generic).
- `Item.releaseUsing()` returns `boolean` instead of `void`.
- `UseAnim` → `ItemUseAnimation`.
- Item registration: `register(name, Supplier)` → `registerItem(name, factory, properties)` (required because Item constructors now check for an ID on Properties).
- Item cooldowns: `player.getCooldowns().isOnCooldown(this)` → `isOnCooldown(stack)` (takes ItemStack now).
- Recipe ingredient format: `{"item": "X"}` → `"X"`, `{"tag": "X"}` → `"#X"` (plain strings only).
- Item models: added required `assets/<namespace>/items/<name>.json` definitions alongside existing `models/item/<name>.json` (1.21.4 item model rewrite).
- `ParticleTypes.DRAGON_BREATH` swapped for `ENCHANT` in divine Chakra ring (DRAGON_BREATH became `ParticleType<PowerParticleOption>`, no longer directly usable as `ParticleOptions`).
### Unchanged — NeoForge 1.21.1 build
- Same 11-weapon feature set as v1.0.0. Just a version bump.
### Added — Forge 1.20.1 support (new jar)
- **All 11 weapons** ship for Forge 1.20.1. Full feature parity with the 1.21.1 build.
- Major port work: NeoForge → Forge package swaps (`net.neoforged.*` → `net.minecraftforge.*`), `RegistryObject` vs `DeferredHolder`, `FMLJavaModLoadingContext` bus pattern, `SwordItem` 4-arg constructor, `Tier.getLevel(): int` (vs 1.21.x's `getIncorrectBlocksForDrops()`), 1.20.1 `hurtAndBreak(amount, entity, Consumer<T>)` signature, `Arrow(Level, LivingEntity)` 2-arg constructor, `AbstractHurtingProjectile` 6-arg constructor with separate xyz components, `SoundEvents.X` direct constants (no `.value()` Holder unwrap), `pack.mcmeta` required for resource pack detection.
### Targets per jar
- `astrashastra-1.1.0.jar` (from `mod/`) — Minecraft **1.21.1** · NeoForge **21.1.230+** · Java **21+** · 11 weapons
- `astrashastra-1.1.0.jar` (from `versions/1.21.11/`) — Minecraft **1.21.11** · NeoForge **21.11.42+** · Java **21+** · 6 weapons
- `astrashastra-1.1.0.jar` (from `versions/forge-1.20.1/`) — Minecraft **1.20.1** · Forge **47.4.6+** · Java **17+** · **11 weapons**
### Known limitations
- 1.21.11 jar ships 6 of 11 weapons. Gandiva / Brahmastra / Vajra ports planned for v1.1.x (heavy API churn in 1.21.x makes these substantial work).
- No intermediate 1.21.x versions yet (1.21.2 → 1.21.10). Each would need similar porting effort.
---
## [1.0.0] — 2026-05-23
**First stable release.** Eleven Mahabharat-inspired weapons across five families, fully tested in-game across multiple iteration cycles. Drops the `-alpha` suffix carried through 0.1–0.4 development.
### Highlights since v0.1.0-alpha
- **11 weapons** across **5 Mahabharat families** (Sudarshana Chakra × 3, Gandiva × 3, Kaumodaki × 3, Vajra, Brahmastra).
- **Custom entity infrastructure** — Brahmastra now fires a custom projectile that renders as the divine arrow item sprite (no longer looks like a Ghast fireball). Foundation for future custom projectiles.
- **Charge mechanics** — Gandiva (hold-to-draw bow) and Brahmastra (hold-to-charge missile) with power scaling.
- **Ranged + melee + mining** for Vajra — left-click melee (25 dmg), right-click ranged lightning at aimed target, mines blocks like a divine multi-tool.
- **Water-safe divine particles** for Sudarshana Chakra — end-rod + dragon-breath + flame ring works underwater.
- **Tiered progression** for the three physical weapons (Wooden → Iron → Divine) with distinct visuals, damage, durability, and particle effects per tier.
### Weapon catalog (release feature set)
| Weapon | Tiers | Right-click | Highlights |
|---|---|---|---|
| Sudarshana Chakra | Wooden / Iron / Divine | Radial AOE sweep | Particle ring scales by tier; divine is unbreakable |
| Gandiva | Wooden / Iron / Divine | **Hold-to-draw bow**, 1/2/3 arrows in fan | Vanilla bow animation, crit on full charge |
| Kaumodaki | Wooden / Iron / Divine | Ground-slam AOE shockwave | Morning-star design, divine has lava+explosion particles |
| Vajra | Divine | **Ranged lightning** at aimed target (50-block) | + Left-click 25-dmg melee, + mines blocks |
| Brahmastra | Divine | **Charge 1 s + release** divine missile | **8× explosion power**, custom-rendered projectile |
### Targets
- Minecraft **1.21.1**
- NeoForge **21.1.230+**
- Java **21+**
### Known not-yet-shipped features (deferred to v1.1+)
- Throwable returning projectile for divine Sudarshana Chakra
- Tracking-arrow / never-miss mechanic for divine Gandiva
- Forge 1.20.1 backport (separate jar, same 11 weapons)
- Quest system, armor sets, boss mobs, Kurukshetra dimension (original roadmap v0.2–v1.0 → now v1.1+ roadmap)
---
## [0.4.0-alpha] — 2026-05-23 *(superseded by 1.0.0; not separately uploaded)*
Custom Brahmastra fireball entity + renderer. Replaced vanilla `LargeFireball` (Ghast appearance) with a custom `BrahmastraFireball` entity that renders as the Brahmastra item sprite with a flame trail. Introduced custom entity registration infrastructure.
## [0.3.0-alpha] — 2026-05-23 *(superseded by 1.0.0; not separately uploaded)*
Gandiva hold-to-draw charge mechanic for all 3 tiers. Power scaling, crit on full charge, range bumped 50%.
## [0.2.0-alpha] — 2026-05-23 *(superseded by 1.0.0; not separately uploaded)*
Added Gandiva × 3, Kaumodaki × 3, Vajra (divine), Brahmastra (divine). Kaumodaki redesigned as morning-star. Vajra reworked to ranged lightning + block mining. Brahmastra charge time and explosion power tuned.
---
## [0.1.0-alpha] — 2026-05-22
First public release. Validated the mod packaging + CurseForge publish pipeline.
### Added
- **Sudarshana Chakra family** — three tiers of Krishna's divine discus:
- **Wooden Chakra** — 2 sweep damage, 2.5-block radius, 60 durability. Ring of flying wooden sticks.
- **Iron Chakra** — 5 sweep damage, 3.0-block radius, 250 durability. Ring of iron nuggets + metallic sparks.
- **Sudarshana Chakra (divine)** — 8 sweep damage, 4.0-block radius, **unbreakable**, fire-resistant, Epic. End-rod sparkles + dragon-breath + flame *(renders in water)*.
- Crafting recipes for all three tiers.
- "Astra Shastra" creative tab between Tools and Combat.
- Mod logo in the in-game Mods list.
## [1.4.0] — 2026-05-31 (NeoForge 1.21.1 + Forge 1.20.1)
**Asuras of the Mahabharata.** First mob expansion — three hostile demons that
roam the world (or in Mahishasura's case, must be summoned). The Asuras tie
the new armor sets back into combat: kill the buffalo-demon boss and you earn
the full Mahishasura-Mardini Kavacha, lore-accurate to Durga's victory over him.
### Added — 3 hostile Asuras
| Mob | Role | HP | Damage | Notes |
|---|---|---|---|---|
| **Rakshasa** | Random spawn (forest demon) | 30 | 4 | Baseline hostile, drops bones + flesh |
| **Daitya** | Random spawn (giant demon) | 60 | 7 | Tankier, scaled 1.5×, may drop iron |
| **Mahishasura** | Summon-only boss | 200 + 150 shield | 12 | Drops full Mahishasura-Mardini armor + 2-4 netherite |
### Added — boss mechanics (Mahishasura)
- **Divine shield system** — 150 HP of damage absorption sits *in front of*
Mahishasura's 200 HP. Yellow shield bar drains first; once depleted, glass-break
sound plays and red HP bar starts taking hits. Effective TTK: 350 damage.
- **Single split boss-bar HUD** — custom client-side renderer
(`AstraShastraBossBarRenderer`) draws ONE bar visually split 60/40: red HP on
left, yellow shield on right, black divider between. Shield% is encoded into
the bar's display-name suffix on server tick, parsed back out on client —
avoids needing custom network packets.
- **Shield state is NBT-persistent** — survives world reload mid-fight.
### Added — spawn eggs
- 3 spawn eggs (vivid red Rakshasa, rust-brown Daitya, royal-purple Mahishasura).
- Mahishasura is summon-only (no natural spawn), egg is the intended encounter trigger.
## [1.4.0] — 2026-05-31 (NeoForge 1.21.1)
**Asuras of the Mahabharata.** First mob expansion — three hostile demons that
roam the world (or in Mahishasura's case, must be summoned). The Asuras tie
the new armor sets back into combat: kill the buffalo-demon boss and you earn
the full Mahishasura-Mardini Kavacha, lore-accurate to Durga's victory over him.
### Added — 3 hostile Asuras
| Mob | Role | HP | Damage | Notes |
|---|---|---|---|---|
| **Rakshasa** | Random spawn (forest demon) | 30 | 4 | Baseline hostile, drops bones + flesh |
| **Daitya** | Random spawn (giant demon) | 60 | 7 | Tankier, scaled 1.5×, may drop iron |
| **Mahishasura** | Summon-only boss | 200 + 150 shield | 12 | Drops full Mahishasura-Mardini armor + 2-4 netherite |
### Added — boss mechanics (Mahishasura)
- **Divine shield system** — 150 HP of damage absorption sits *in front of*
Mahishasura's 200 HP. Yellow shield bar drains first; once depleted, glass-break
sound plays and red HP bar starts taking hits. Effective TTK: 350 damage.
- **Single split boss-bar HUD** — custom client-side renderer
(`AstraShastraBossBarRenderer`) draws ONE bar visually split 60/40: red HP on
left, yellow shield on right, black divider between. Shield% is encoded into
the bar's display-name suffix on server tick, parsed back out on client —
avoids needing custom network packets.
- **Shield state is NBT-persistent** — survives world reload mid-fight.
### Added — spawn eggs
- 3 spawn eggs (vivid red Rakshasa, rust-brown Daitya, royal-purple Mahishasura).
- Mahishasura is summon-only (no natural spawn), egg is the intended encounter trigger.
Sudarshana Chakra — The Divine Discus
In the Mahabharat, the Sudarshana Chakra is Lord Krishna's signature weapon — a spinning discus of infinite edges, forged by the celestial architect Vishvakarma from the dust of the Sun. It is said to never miss its target and to always return to the wielder's hand. Krishna uses it to slay the demon Shishupala and to shield Arjuna at pivotal moments in the Kurukshetra war. In Indian iconography, you almost always see it spinning on Vishnu's index finger — the symbol of dharma cutting through chaos.
In Astra Shastra, the Chakra comes in three tiers:
Tier Feel
Wooden Chakra A practice discus. Right-click sends a small ring of wooden splinters outward in a 2.5-block radius — useful for clearing close threats early-game.
Iron Chakra A real soldier's weapon. 3-block ring of iron nuggets and metallic sparks, with knockback that staggers most mobs.
Sudarshana Chakra (Divine) The lore-faithful one. Right-click and the divine Chakra leaves your hand, spinning, to orbit you at a 4-block radius — cutting down every hostile it sweeps past, then returning. All in one second. Unbreakable. Fire-resistant. The Chakra in your hand never disappears: this is the divine projection, not the weapon itself.
The Sudarshana Chakra is the flagship weapon of the mod — the one most people associate with the Mahabharat, and the first one I designed mechanically.
beta
Astra Shastra 1.1.0
1.1.0
28 мая 2026 г.29Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
All 11 weapons ship for Forge 1.20.1. Full feature parity with the 1.21.1 build. Major port work: NeoForge → Forge package swaps (net.neoforged.* → net.minecraftforge.*), RegistryObject vs DeferredHolder, FMLJavaModLoadingContext bus pattern, SwordItem 4-arg constructor, Tier.getLevel(): int (vs 1.21.x's getIncorrectBlocksForDrops()), 1.20.1 hurtAndBreak(amount, entity, Consumer) signature, Arrow(Level, LivingEntity) 2-arg constructor, AbstractHurtingProjectile 6-arg constructor with separate xyz components, SoundEvents.X direct constants (no .value() Holder unwrap), pack.mcmeta required for resource pack detection. First stable release. Eleven Mahabharat-inspired weapons across five families, fully tested in-game across multiple iteration cycles. Drops the -alpha suffix carried through 0.1–0.4 development. Highlights since v0.1.0-alpha 11 weapons across 5 Mahabharat families (Sudarshana Chakra × 3, Gandiva × 3, Kaumodaki × 3, Vajra, Brahmastra). Custom entity infrastructure — Brahmastra now fires a custom projectile that renders as the divine arrow item sprite (no longer looks like a Ghast fireball). Foundation for future custom projectiles. Charge mechanics — Gandiva (hold-to-draw bow) and Brahmastra (hold-to-charge missile) with power scaling. Ranged + melee + mining for Vajra — left-click melee (25 dmg), right-click ranged lightning at aimed target, mines blocks like a divine multi-tool. Water-safe divine particles for Sudarshana Chakra — end-rod + dragon-breath + flame ring works underwater. Tiered progression for the three physical weapons (Wooden → Iron → Divine) with distinct visuals, damage, durability, and particle effects per tier. Weapon catalog (release feature set) Weapon Tiers Right-click Highlights Sudarshana Chakra Wooden / Iron / Divine Radial AOE sweep Particle ring scales by tier; divine is unbreakable Gandiva Wooden / Iron / Divine Hold-to-draw bow, 1/2/3 arrows in fan Vanilla bow animation, crit on full charge Kaumodaki Wooden / Iron / Divine Ground-slam AOE shockwave Morning-star design, divine has lava+explosion particles Vajra Divine Ranged lightning at aimed target (50-block) + Left-click 25-dmg melee, + mines blocks Brahmastra Divine Charge 1 s + release divine missile 8× explosion power, custom-rendered projectile
[1.1.0] — 2026-05-24
Multi-version release. Ships two jars covering the most-played 1.21.x ends: the original NeoForge 1.21.1 build (full 11 weapons) plus a new NeoForge 1.21.11 build (6 weapons, subset). Establishes the multi-version infrastructure for adding more MC versions in follow-up releases.
Added — NeoForge 1.21.11 support (new jar)
6 weapons ship for 1.21.11: Wooden / Iron / Sudarshana Chakras, Wooden / Iron / Divine Kaumodakis.
New project structure: versions/1.21.11/ sibling to mod/. Each version is a self-contained NeoForge build.
Gandiva, Brahmastra, and Vajra deferred for 1.21.11 — they depend on classes that were heavily refactored between 1.21.1 and 1.21.11 (SwordItem/Tier removed in 1.21.5, AbstractHurtingProjectile/GameRules moved packages, Arrow moved, EventBusSubscriber.Bus annotation removed). Per-class ports tracked for v1.1.x.
API ports applied for 1.21.11
InteractionResultHolder<ItemStack> → InteractionResult (sealed interface with static constants).
Item.use() returns InteractionResult (no generic).
Item.releaseUsing() returns boolean instead of void.
UseAnim → ItemUseAnimation.
Item registration: register(name, Supplier) → registerItem(name, factory, properties) (required because Item constructors now check for an ID on Properties).
Item cooldowns: player.getCooldowns().isOnCooldown(this) → isOnCooldown(stack) (takes ItemStack now).
Recipe ingredient format: {"item": "X"} → "X", {"tag": "X"} → "#X" (plain strings only).
Item models: added required assets/<namespace>/items/<name>.json definitions alongside existing models/item/<name>.json (1.21.4 item model rewrite).
ParticleTypes.DRAGON_BREATH swapped for ENCHANT in divine Chakra ring (DRAGON_BREATH became ParticleType<PowerParticleOption>, no longer directly usable as ParticleOptions).
Unchanged — NeoForge 1.21.1 build
Same 11-weapon feature set as v1.0.0. Just a version bump.
Added — Forge 1.20.1 support (new jar)
All 11 weapons ship for Forge 1.20.1. Full feature parity with the 1.21.1 build.
Major port work: NeoForge → Forge package swaps (net.neoforged.* → net.minecraftforge.*), RegistryObject vs DeferredHolder, FMLJavaModLoadingContext bus pattern, SwordItem 4-arg constructor, Tier.getLevel(): int (vs 1.21.x's getIncorrectBlocksForDrops()), 1.20.1 hurtAndBreak(amount, entity, Consumer<T>) signature, Arrow(Level, LivingEntity) 2-arg constructor, AbstractHurtingProjectile 6-arg constructor with separate xyz components, SoundEvents.X direct constants (no .value() Holder unwrap), pack.mcmeta required for resource pack detection.
Targets per jar
astrashastra-1.1.0.jar (from mod/) — Minecraft 1.21.1 · NeoForge 21.1.230+ · Java 21+ · 11 weapons
astrashastra-1.1.0.jar (from versions/1.21.11/) — Minecraft 1.21.11 · NeoForge 21.11.42+ · Java 21+ · 6 weapons
astrashastra-1.1.0.jar (from versions/forge-1.20.1/) — Minecraft 1.20.1 · Forge 47.4.6+ · Java 17+ · 11 weapons
Known limitations
1.21.11 jar ships 6 of 11 weapons. Gandiva / Brahmastra / Vajra ports planned for v1.1.x (heavy API churn in 1.21.x makes these substantial work).
No intermediate 1.21.x versions yet (1.21.2 → 1.21.10). Each would need similar porting effort.
[1.0.0] — 2026-05-23
First stable release. Eleven Mahabharat-inspired weapons across five families, fully tested in-game across multiple iteration cycles. Drops the -alpha suffix carried through 0.1–0.4 development.
Highlights since v0.1.0-alpha
11 weapons across 5 Mahabharat families (Sudarshana Chakra × 3, Gandiva × 3, Kaumodaki × 3, Vajra, Brahmastra).
Custom entity infrastructure — Brahmastra now fires a custom projectile that renders as the divine arrow item sprite (no longer looks like a Ghast fireball). Foundation for future custom projectiles.
Charge mechanics — Gandiva (hold-to-draw bow) and Brahmastra (hold-to-charge missile) with power scaling.
Ranged + melee + mining for Vajra — left-click melee (25 dmg), right-click ranged lightning at aimed target, mines blocks like a divine multi-tool.
Water-safe divine particles for Sudarshana Chakra — end-rod + dragon-breath + flame ring works underwater.
Tiered progression for the three physical weapons (Wooden → Iron → Divine) with distinct visuals, damage, durability, and particle effects per tier.
Weapon catalog (release feature set)
Weapon Tiers Right-click Highlights
Sudarshana Chakra Wooden / Iron / Divine Radial AOE sweep Particle ring scales by tier; divine is unbreakable
Gandiva Wooden / Iron / Divine Hold-to-draw bow, 1/2/3 arrows in fan Vanilla bow animation, crit on full charge
Kaumodaki Wooden / Iron / Divine Ground-slam AOE shockwave Morning-star design, divine has lava+explosion particles
Vajra Divine Ranged lightning at aimed target (50-block) + Left-click 25-dmg melee, + mines blocks
Brahmastra Divine Charge 1 s + release divine missile 8× explosion power, custom-rendered projectile
Targets
Minecraft 1.21.1
NeoForge 21.1.230+
Java 21+
Known not-yet-shipped features (deferred to v1.1+)
Throwable returning projectile for divine Sudarshana Chakra
Tracking-arrow / never-miss mechanic for divine Gandiva
Forge 1.20.1 backport (separate jar, same 11 weapons)
Quest system, armor sets, boss mobs, Kurukshetra dimension (original roadmap v0.2–v1.0 → now v1.1+ roadmap)
[0.4.0-alpha] — 2026-05-23 (superseded by 1.0.0; not separately uploaded)
Custom Brahmastra fireball entity + renderer. Replaced vanilla LargeFireball (Ghast appearance) with a custom BrahmastraFireball entity that renders as the Brahmastra item sprite with a flame trail. Introduced custom entity registration infrastructure.
[0.3.0-alpha] — 2026-05-23 (superseded by 1.0.0; not separately uploaded)
Gandiva hold-to-draw charge mechanic for all 3 tiers. Power scaling, crit on full charge, range bumped 50%.
[0.2.0-alpha] — 2026-05-23 (superseded by 1.0.0; not separately uploaded)
Added Gandiva × 3, Kaumodaki × 3, Vajra (divine), Brahmastra (divine). Kaumodaki redesigned as morning-star. Vajra reworked to ranged lightning + block mining. Brahmastra charge time and explosion power tuned.
[0.1.0-alpha] — 2026-05-22
First public release. Validated the mod packaging + CurseForge publish pipeline.
Added
Sudarshana Chakra family — three tiers of Krishna's divine discus:
Wooden Chakra — 2 sweep damage, 2.5-block radius, 60 durability. Ring of flying wooden sticks.
Iron Chakra — 5 sweep damage, 3.0-block radius, 250 durability. Ring of iron nuggets + metallic sparks.
Sudarshana Chakra (divine) — 8 sweep damage, 4.0-block radius, unbreakable, fire-resistant, Epic. End-rod sparkles + dragon-breath + flame (renders in water).
Crafting recipes for all three tiers.
"Astra Shastra" creative tab between Tools and Combat.
Mod logo in the in-game Mods list.