Overview
The Orbis Galactic mod follows Hytale’s standard mod structure with a clear separation between client-side and server-side assets. The mod is organized into three main directories:- Common/ - Client-side assets (models, textures, sounds)
- Server/ - Server-side configurations and game logic
- scripts/ - Utility scripts for development
The
manifest.json file at the root defines the mod metadata including version, authors, and dependencies.Common Directory
TheCommon/ directory contains all client-side visual and audio assets that players will see and hear.
Resources Subdirectory
TheCommon/Resources/ directory is the primary location for all raw asset files:
Model files use the
.blockymodel format for Hytale’s model system, while .bbmodel files are Blockbench source files that should be converted before use.Content Directories
Other directories inCommon/ organize content by type:
- Blocks/ - Block definitions and structure-related blocks
- Characters/ - Character models and animations
- Cosmetics/ - Cosmetic items (Hands/, Head/ subdirectories)
- Icons/ - UI icons organized by category:
CraftingCategories/- Crafting menu category iconsItemCategories/- Item categorization iconsItemsGenerated/- Auto-generated item iconsModelsGenerated/- Auto-generated model previews
- Items/ - Item definitions:
Consumables/- Consumable itemsProjectiles/- Projectile definitionsWeapons/- Weapon items (e.g., Blaster_DC15A/, Blaster_CyclerRifle/)
- NPC/ - NPC models and definitions:
Intelligent/- Smart NPCsSpeeder_Bike/- Vehicle NPCsVehicles/- Other vehicle types
- Particles/ - Particle effects and textures
- Sky/ - Skybox and atmospheric effects
- Sounds/ - Sound files organized by type:
Ambience/- Ambient soundsBlocks/- Block interaction soundsEnvironments/- Environmental audioMusic/- Background musicNPC/- NPC sound effectsWeapons/- Weapon sounds (Blaster/, Darksaber/, Lightsaber/)
- UI/ - User interface assets
Weapon Item Structure Example
Weapon items inCommon/Items/Weapons/ follow a consistent structure:
Server Directory
TheServer/ directory contains all server-side configurations, game logic, and content definitions.
Audio Configuration
Common/Sounds/ directory.
Example: Server/Audio/SoundEvents/SFX/Lightsabers/Blue/Local/OrbisGalactic_SFX_Lightsaber_Equip_Blue_Local.json
Item Definitions
Server/Item/Items/ organized by type:
- Benches/ - Crafting benches and workstations
- Cloth/ - Cloth and fabric items
- Clothing/ - Wearable clothing items
- Deco/ - Decorative blocks and items
- EggSpawner/ - NPC spawner eggs
- Ingredient/ - Crafting ingredients
- Orbis Galactic/ - Mod-specific items
- Ore/ - Ore blocks and resources
- Portal/ - Portal blocks
- Potion/ - Consumable potions
Item JSON files define all properties including recipes, block behavior, sounds, and visual properties. See
Server/Item/Items/Benches/Bench_Laser_Weapon_Crafter.json for a complete example.World Generation
Game Content
Configuration Files
manifest.json
The rootmanifest.json defines core mod metadata:
Update the version number in
manifest.json when releasing new versions of the mod.File Naming Conventions
Consistent Naming Patterns
The mod follows these naming conventions:- Prefixes: Most mod-specific items use
OrbisGalactic_prefix - Categories: Sound events use category prefixes (e.g.,
SFX_,Ambience_) - Variants: Item variants use descriptive suffixes (e.g.,
_Blue,_Red,_Local) - Hierarchy: Nested categories reflected in names (e.g.,
OrbisGalactic_SFX_Lightsaber_Attack_Blue_Local)
File Extensions
.json- Configuration and definition files.blockymodel- Hytale 3D model files.bbmodel- Blockbench source files.png- Texture and icon images.ogg- Audio files.blockyanim- Block animation files
Directory Organization Best Practices
When adding new content, always place files in the appropriate category directories to maintain organization and make assets easy to find.
Adding a New Weapon
-
Models & Textures:
- Create directory:
Common/Items/Weapons/[WeaponName]/ - Add model:
[WeaponName]_Model.blockymodel - Add texture:
[WeaponName]_Texture.png - Store source files in:
Common/Resources/WeaponModels/andCommon/Resources/WeaponTextures/
- Create directory:
-
Sounds:
- Add audio files:
Common/Sounds/Weapons/[WeaponType]/ - Create sound events:
Server/Audio/SoundEvents/SFX/[WeaponType]/
- Add audio files:
-
Configuration:
- Define item:
Server/Item/Items/Orbis Galactic/[WeaponName].json - Add projectile config (if ranged):
Server/ProjectileConfigs/Weapons/ - Define projectile:
Server/Projectiles/[WeaponType]/
- Define item:
-
Localization:
- Add translations:
Server/Languages/en-US/
- Add translations:
Adding a New Block
-
Model & Texture:
- Model file:
Common/Resources/BlockModels/[BlockName].blockymodel - Texture file:
Common/Resources/BlockTextures/[BlockName].png
- Model file:
-
Configuration:
- Block definition:
Server/Item/Items/[Category]/[BlockName].json - Block sounds:
Server/Audio/SoundEvents/BlockSounds/
- Block definition:
-
Icons:
- Generate icon:
Common/Icons/ItemsGenerated/[BlockName].png
- Generate icon:
Adding Sound Effects
-
Audio File:
- Place
.oggfile in:Common/Sounds/[Category]/[Subcategory]/
- Place
-
Sound Event:
- Create JSON:
Server/Audio/SoundEvents/[Category]/[SoundName].json - Reference the audio file path from Common/Sounds/
- Create JSON:
-
Link to Item/Block:
- Reference sound event ID in item/block JSON configuration
Asset Pipeline
Model Workflow
- Create model in Blockbench
- Save source file:
Common/Resources/Blockbench Files/ - Export as
.blockymodel:Common/Resources/[Type]Models/ - Create texture:
Common/Resources/[Type]Textures/ - Reference in item JSON configuration
Sound Workflow
- Create/edit audio file (use
scripts/normalize_audio.shfor consistency) - Convert to
.oggformat - Place in:
Common/Sounds/[Category]/ - Create sound event JSON in:
Server/Audio/SoundEvents/ - Reference sound event in item/block/entity configuration
Icon Generation
- Auto-generated icons:
Common/Icons/ItemsGenerated/ - Model previews:
Common/Icons/ModelsGenerated/ - Custom category icons:
Common/Icons/[Category]/
Auto-generated icons are created from the item’s model and texture. Custom icons should be placed in the appropriate category folder.