Bedrock 1.21 Script API 1.13
manifest.json Builder
Pack Info
Modules & Capabilities
@minecraft/server
Core scripting API (entities, world, blocks)
@minecraft/server-ui
ActionForm, ModalForm, MessageForm
@minecraft/server-net
HTTP requests (Education Edition / beta)
@minecraft/server-admin
Server secrets and admin utilities
GameTest Framework
Automated testing (GameTest API)
Holiday Creator Features
Experimental items, blocks, and entities
Custom Biomes
Custom biome generation support
Upcoming Creator Features
Experimental upcoming features
Include in Export
Only checked sections will be bundled when you click Export .mcaddon.
Entities
BP/entities/custom_mob.json
Items
BP/items/magic_wand.json
Blocks
BP/blocks/magic_ore.json
Recipes
BP/recipes/magic_wand.json
Loot Tables
BP/loot_tables/entities/custom_mob.json
Spawn Rules
BP/spawn_rules/custom_mob.json
Scripts
BP/scripts/main.ts
Resource Pack
Textures
RP/textures/ + item_texture.json + terrain_texture.json
Sounds
RP/sound_definitions.json + .ogg files
Animations
RP/animations/custom_mob.animation.json
Particles
RP/particles/magic_burst.json
Languages
RP/texts/en_US.lang
JSON · manifest.json

        
Addon File Structure
Standard Layout
Behavior Pack (BP/)
Resource Pack (RP/)
Naming Conventions
Identifiers
namespace:name
e.g. myaddon:magic_sword
Files
snake_case.json
e.g. magic_sword.json
Textures
snake_case.png
16×16 or 32×32 px PNG
Entity Builder
Basic Settings
Components
AI Goals
JSON Output
Item Builder
Properties
Components
minecraft:food
Edible with hunger restore
minecraft:weapon
Melee weapon properties
minecraft:armor
Wearable armor slot
minecraft:throwable
Can be thrown by player
minecraft:glint
Enchantment visual glint
minecraft:digger
Destroys specific blocks faster
JSON · BP/items/magic_wand.json

      
Block Builder
Properties
Block States
JSON · BP/blocks/magic_ore.json

      
Recipe Builder
Recipe Type
Crafting Grid (3x3 Shaped)
Click a slot and type an item ID (e.g. minecraft:iron_ingot)
JSON · BP/recipes/magic_wand.json

      
Loot Table Builder
Loot Pool
Entries
JSON · BP/loot_tables/entities/custom_mob.json

      
Spawn Rules Builder
Spawn Settings
JSON · BP/spawn_rules/custom_mob.json

      
Script API / GameTest
TypeScript / JavaScript
Event Listener
Subscribe to world events
💬
Chat Command
Custom !command handler
🔄
Tick Loop
Per-tick game logic
🖥️
ActionForm UI
Show modal dialog
🧪
GameTest Suite
Automated unit tests
🌐
HTTP Request
Fetch external API data
💾
Dynamic Properties
Persistent custom data
📋
Scoreboard
Custom score tracking
Scheduler
Delayed / repeating jobs
TypeScript · BP/scripts/main.ts

    
Texture Registry & Uploader
Upload PNG Files
Drop PNG files here or click to browse
item textures, block textures, entity skins...
Registered Textures
Add entries below to auto-generate item_texture.json and terrain_texture.json.
item_texture.json

          
        
terrain_texture.json

          
        
Size Guide
TypeSizePath
Item16x16 / 32x32textures/items/
Block16x16textures/blocks/
Entity64x32+textures/entity/
Particle8x8 / 16x16textures/particle/
PNG with alpha channel only. Key names must match your identifiers.
Sound Registry & Uploader
Bedrock requires .ogg (OGG Vorbis) audio. Convert at cloudconvert.com.
Upload .ogg Files
Drop .ogg files here or click to browse
Files are stored in memory and bundled into the .mcaddon on export
Sound Definitions
Each entry maps an event key to a .ogg file path.
Generated sound_definitions.json

          
        
Sound Categories
CategoryUsage
ambientBackground atmosphere
blockBlock interactions
hostileHostile mob sounds
neutralNeutral mob sounds
playerPlayer actions
musicBackground music
uiInterface sounds
weatherRain, thunder, etc.
Use pitch arrays like [0.9, 1.1] for natural variety.
Animation Builder
Animation Settings
Bone Keyframes
Bones defined in your .geo.json model can be keyframed. Common bones: root, body, head, arm_right, arm_left, leg_right, leg_left.
BoneRotation Formula (Molang)
left_legmath.sin(query.anim_time * 360) * 30
right_leg-math.sin(query.anim_time * 360) * 30
headquery.target_x_rotation
arm_right-math.sin(query.anim_time * 360) * 60
JSON · RP/animations/custom_mob.animation.json

      
Language Strings
Locales
en_US (default)
zh_CN
es_ES
fr_FR
de_DE
ja_JP
pt_BR
ru_RU
ko_KR
LANG · RP/texts/en_US.lang
Particle Effect Builder
Particle Settings
JSON · RP/particles/magic_burst.json

      
Code Generator
Quick Templates
Select a template above to generate code

    
Script API Event Browser
Molang Reference
Query Functions
ExpressionReturns / Notes
query.healthCurrent HP (float)
query.max_healthMax HP (float)
query.time_of_day0.0–1.0 (day cycle)
query.moon_phase0–7 (moon cycle)
query.anim_timeAnimation elapsed seconds
query.distance_from_cameraMeters (float)
query.is_in_water0 or 1
query.is_on_ground0 or 1
query.is_moving0 or 1
query.walk_speedMovement speed
query.body_x_rotationPitch (°)
query.body_y_rotationYaw (°)
query.target_x_rotationTarget pitch (°)
query.target_y_rotationTarget yaw (°)
query.life_timeTime since entity spawn
query.is_powered0 or 1 (redstone)
Math Functions
FunctionDescription
math.sin(x)Sine (degrees)
math.cos(x)Cosine (degrees)
math.abs(x)Absolute value
math.floor(x)Round down
math.ceil(x)Round up
math.clamp(x,min,max)Clamp value
math.lerp(a,b,t)Linear interpolation
math.lerprotate(a,b,t)Lerp for angles
math.mod(a,b)Modulo (remainder)
math.pow(a,b)Power function
math.sqrt(x)Square root
math.random(a,b)Random in range
math.piπ ≈ 3.14159
Variables & Scope
PrefixUsage
variable.fooRead/write, persists this entity
temp.barRead/write, this evaluation only
context.xRead-only, caller context
query.xRead-only, engine-provided
JSON Validator
Paste your JSON on the left and click Validate.
Common Mistakes
• Missing format_version at root
• Identifier missing namespace:name format
• Trailing comma before closing } or ]
• Missing quotes around string values
• Wrong min_engine_version for feature
• Component path typos
• Missing description.identifier inside root key
Schema Viewer
API Versions & Releases
Bedrock Release History
1.21 – Tricky Trials
Latest
1.20 – Trails & Tales
Stable
1.19 – Wild Update
Legacy
1.18 – Caves & Cliffs II
Old
1.17 – Caves & Cliffs I
EOL
Script API Module Versions
ModuleVersionStatus
@minecraft/server1.13.0Stable
@minecraft/server-ui1.3.0Stable
@minecraft/server-net1.0.0-betaBeta
@minecraft/server-admin1.0.0-betaBeta
@minecraft/debug-utilities1.0.0-betaBeta
Experimental Feature Flags
FlagSinceStatus
Holiday Creator Features1.16Exp.
Custom Biomes1.17Exp.
Upcoming Creator Features1.19Exp.
Beta APIs (Scripting)1.19Exp.
Molang Features1.17Exp.
Data-Driven Items1.16Exp.
Quick Reference & Checklist
Addon Dev Checklist
1
Create manifest.json (both packs)
Set name, description, unique UUID v4, min_engine_version, and modules.
2
Set up folder structure
BP/entities, BP/items, BP/scripts, RP/textures, RP/texts, RP/models/entity.
3
Define content JSON
Entity, item, or block JSON files with format_version and identifier.
4
Register textures & models
item_texture.json, terrain_texture.json, and entity geometry .geo.json.
5
Add language strings
RP/texts/en_US.lang (and languages.json listing all locales).
6
Write scripts (optional)
BP/scripts/main.ts — compiled to JS. Reference @minecraft/server.
7
Package and test
Zip BP and RP → rename .zip → .mcpack (or both together → .mcaddon).
Pack Packaging Cheat Sheet
ExtensionContents
.mcpackSingle pack (BP or RP only)
.mcaddonBP + RP combined in zip
.mcworldWorld + embedded packs
.mctemplateWorld template for marketplace