Armaria

A weapon authoring library for Minecraft. Create melee, ranged, and magic weapons with compound VFX, sound profiles, and data-driven configuration.

v0.1.0-alpha Fabric 26.3 NeoForge planned MIT License
Latest release 0.1.0-alpha
Target Minecraft 26.3
Client only

Features

Three weapon types

Base classes for melee, ranged, and magic weapons with shared API and type-specific hooks.

Compound VFX engine

Primary + secondary particle batches per preset. 12 built-in presets using 20+ vanilla particle types.

Charge system

Built-in charge mechanics for weapons that need power management.

Texture2D API

Register textures in code. The library auto-generates model JSONs on startup.

Server-validated VFX

VFX triggers are server-side, rendering is client-side. Works in multiplayer.

Data-driven

JSON weapon definitions, datapack support, and runtime reload planned.

Architecture

Armaria is split into a shared API and loader-specific modules. The API is pure Java and contains all base classes, records, and interfaces. Loader-specific code lives in separate modules for Fabric and NeoForge.

armaria/
├── armaria-api/
│   ├── ArmariaMeleeWeapon
│   ├── ArmariaRangedWeapon
│   ├── ArmariaMagicWeapon
│   ├── Texture2D
│   └── vfx/
│       ├── VFXQueue
│       ├── VFXProfileRegistry
│       ├── VFXPresets
│       └── VFXPipeline
├── armaria-fabric/
│   ├── ArmariaMod
│   ├── ServerVFXHooks
│   └── VFXRenderer
└── armaria-neoforge/ (planned)