-
Notifications
You must be signed in to change notification settings - Fork 0
Home
InteractiveStuff is a client-side Fabric mod for Minecraft 1.21.10+ that adds immersive, interactive behaviors to items and blocks in first-person view — think animated held items, reactive note blocks, sculk sensors, lanterns, and much more. First-person mode is strongly recommended for the best experience.
Starting in 0.7, InteractiveStuff introduces Vyn — a built-in scripting engine that lets resource pack creators script item rendering and behavior in any way they want, with no Java required. This wiki documents the VynAPI: all the types, functions, and statements available to you in a Vyn script.
Requires: Fabric API · Optional: Mod Menu, YACL (for config UI) Download: Modrinth · Discord: Join here
Scripts interact with the game through VynTypes — objects that represent in-game data like the player, blocks, sounds, and more. Each type exposes a set of VynFunctions you can call in your scripts. Vyn uses make to declare variables, check for conditionals, cycle for loops, and task for functions.
~ Basic example: tint the held item based on the block you're standing on
make block player.getSteppingBlock()
make item player.getMainHandItem()
check block.hasBlockTag("minecraft:logs") do
item.setColor(139, 90, 43)
end- To add Pack IDs add before
file/pack file namefor functions! - ALWAYS keep the interactiveStuff resource pack at the bottom before using other resource packs if it's using IS's importable Scripts
- It's not a First person animation Mod it's an First-Person Item Interactions Mod!
| Type | Description |
|---|---|
Block |
A block in the world — state, position, light, and properties |
InteractiveStuffConfig |
Read current mod configuration values at runtime |
ItemModel |
A renderable item model with full transform, color, and component control |
Key |
Utility for resolving Minecraft translation keys |
ModLoader |
Query loaded mods, resource packs, and game version |
Player |
The local player — position, health, held items, movement state, and sounds |
Position |
An integer X/Y/Z coordinate in the world |
Sound |
A sound with ID, volume, pitch, and optional position |
World |
The current world — blocks, biomes, time, dimension, and colors |
| Name | Description |
|---|---|
importScript |
Import a reusable Vyn script library |
excludeScript |
Disable an active script |
debugText |
Display debug text on screen |
getDelta |
Get normalized frame delta time |
wait |
Execute code after a tick delay |
| Name | Description |
|---|---|
onTick |
Called every game tick |
onSwingHand |
Called when the player swings their hand |
onPlaySound |
Called when the game plays a sound |
onItemUpdate |
Called every render frame for each item being rendered |
onKeyPress |
Called when a key is pressed |
| Library | Description |
|---|---|
Physics Engine |
Spring-based item sway reacting to movement, camera, and wind |
GET IN TOUCH - omar@merakistudios.dev
© 2026 Omar Mohamed. All Rights Reserved.