# Changes Summary
## TPS-Independent Animation Improvements
### Datapack Animation Optimization
**Problem:** Item display animations were choppy during TPS lag (tied to game ticks).
**Solution:** Optimized interpolation timing to mask TPS fluctuations:
- Increased interpolation duration: **10 ticks → 30 ticks**
- Reduced update frequency: **every 10 ticks → every 20 ticks**
- Simplified keyframes: **12 keyframes → 6 keyframes** with longer transitions
- Each keyframe explicitly sets `interpolation_duration:30`
This is only remediation; there are limitations due to this being a datapack at its core and how animations work in Minecraft. Look at it as a visual TPS indicator 😹
**Files Modified:**
- `totem/initialize.mcfunction` - Entity spawn with 30-tick interpolation
- `totem/animate_item_display.mcfunction` - Update frequency changed
- `totem/animate_item_step.mcfunction` - Fewer keyframes, longer interpolation
**Result:** Animations remain smooth even during TPS drops by leveraging Minecraft's built-in client-side interpolation buffer.
---
## Totem Progression System
### Recipe Unlocking
**Problem:** Recipes had no advancement requirements - players could craft any tier immediately.
**Solution:** Added progression checks via `confiscate_*` functions (already implemented):
- Players attempting to craft locked totems have items confiscated
- Materials returned via `give` commands
- Error messages display progression requirements
**Implementation:** The `check_illegal_totem.mcfunction` runs every tick checking player inventories.
### Advancement Support for Short Totems
**Problem:** Advancements only checked for tall totems (missing `totem_short: 1` NBT).
**Solution:** NBT matching is "contains" not "exact match" - short totems naturally trigger since they have `totem_tier` field.
**Result:** Both tall AND short variants progress the advancement tree (already worked, confirmed via testing).
### Material Drops on Break
**Problem:** Breaking totems only dropped the totem item itself.
**Solution:** Updated all 12 drop functions to return the corresponding totem recipe item (no material duplication).
**Files Modified:**
- All `totem/drop/tier*.mcfunction` files (1-6, tall + short)
**Result:** Breaking totems returns the totem recipe items for reuse/relocation (no resource duping).
---
## Summary
- ✅ **Animations:** 3x smoother during TPS lag via interpolation buffering
- ✅ **Progression:** Working via confiscate system (runs every tick)
- ✅ **Advancements:** Support both tall and short totem variants
- ✅ **Drop System:** Returns totem recipe items without duplication
**Full Changelog**: https://github.com/Underwood-Inc/rituals/compare/1.1.1...1.3.0
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }