Tags
Creators
Details
1.0.0
Compatibility
Required content
Changes
Quacky's Better Totems — Version 1.0.0
Release Date: May 30, 2026
Overview
Quacky's Better Totems brings full customization to Minecraft's Totem of Undying. Choose custom textures, sounds, particle colors, and animation effects. Profile-based configuration with ModMenu UI. Client-side only.
Features
Texture Customization
- PNG Import — drop custom
.pngfiles intoconfig/quackys_better_totems/totems/ - Auto-Processing — transparent border auto-crop, proportional downscaling (max 64px)
- Animated Texture Support — import full resource-pack ZIPs with
.png.mcmetaanimation metadata - Model Override — custom
.jsonmodels embedded in ZIP packs; UV auto-rescaled for 1.21.11 compatibility - Live Preview — texture changes apply instantly via resource reload
- Disk Caching — SHA-256 content-hash cache; files edited = auto re-process
Sound Customization
- OGG Support — drop
.oggfiles intoconfig/quackys_better_totems/sounds/ - Per-Player Sounds — separate sound + volume + pitch for:
- Self (your totem pop)
- Others (unrelated players)
- Teammates (same scoreboard team)
- Volume & Pitch Control — range 0.0–4.0 per sound
Particle Effects
- Custom Colors — RGB sliders for self, others, teammates particle dust
- Density Control — scale particle count 0–3× vanilla (0 = none, 1 = vanilla)
- Vanilla Fallback — disable color to use default particles
Animation Tweaks
- Scale — resize floating totem pop 0.1–2×
- Spin Speed — Y-axis rotation 0–3× (0 = frozen, 1 = vanilla)
- Test Button — "Test Totem Pop" plays full animation + sound without consuming item
Profiles
- Create — "New Profile" button
- Name — inline rename (editable text field)
- Duplicate — copy settings as template
- Delete — remove (min. 1 profile required)
- Cycle — ◀/▶ buttons to switch active profile
- Persistence — auto-save to
config.json
User Interface
- ModMenu Integration — entire GUI in-game, no manual config files
- Scrollable Layout — single-column, compact button layout
- Profile Management — inline rename field, delete/duplicate buttons
- Folder Links — "Open Totems Folder" / "Open Sounds Folder" buttons for drag-and-drop
Technical Highlights
Performance
- Zero Per-Tick Logic — mixin fires only on
EntityStatus 35(totem activation) - Disk Caching — processed textures cached by SHA-256 content hash
- GPU Texture Reuse — resource packs served from cache; no re-encode
- Resource Reload Integration — single-call mixin injects texture pack at highest priority
- Async-Safe Image Processing —
BufferedImage/ImageIOused; no GL context required
Architecture
- Modular Managers:
TotemCacheManager— SHA-256 hash, disk LRU cacheTotemImageProcessor— crop, downscale, PNG encodeTotemDirectoryWatcher— on-demand file scan (no background thread)TotemReloadManager— orchestrate texture/sound selection + resource reloadTotemZipImporter— extract, validate, model JSON patch
- Mixin Injection Points:
ClientPlayNetworkHandlerMixin— intercept totem pop, branch on entity type (self/other/teammate)ReloadableResourceManagerImplMixin— inject texture pack at resource load timeInGameOverlayRendererMixin— scale animation spin speed
- Resource Packs:
QbtResourcePack— single PNG texture override (legacy)DirectoryResourcePack— full pack serve (for ZIP imports)
Compatibility
- Minecraft Version — 1.21.11 (exact; Yarn API drift)
- Loaders — Fabric 0.16.0+ required
- Dependencies — Fabric API, ModMenu (no optional mods)
- Client Launchers — Lunar Client, Modrinth App, Feather, vanilla Fabric
- Conflict-Free — uses LWJGL TinyFileDialogs (no AWT/Swing), no known mod conflicts
File Structure
config/quackys_better_totems/
├── config.json # Profile data + active profile ID
├── totems/ # PNG + ZIP totem imports
│ ├── custom_totem.png
│ └── Duck Totem (Animated).zip
├── sounds/ # OGG sound files
│ ├── pop_sound.ogg
│ └── others_sound.ogg
└── cache/ # Auto-managed processed textures (SHA-256 named)
├── abc123def456...png
└── 789ghi012jkl...png
Installation
- Install Fabric Loader ≥0.16.0 for MC 1.21.11
- Add to
mods/:- Fabric API 0.141.4+1.21.11 or newer
- ModMenu 17.0.0 or newer
quackys-better-totems-1.0.0.jar
- Launch game via Fabric
Usage
- Open Mod Menu → Quacky's Better Totems → configure
- Dashboard: toggle mod, switch profile, test pop
- Profiles: rename, duplicate, delete, cycle
- Editor:
- Import PNG/OGG via file picker
- Set colors (RGB sliders, self/others/teammates)
- Adjust scale, spin, particle density
- Set per-player sounds (volume, pitch)
- Save & Close to persist
Known Limitations
- HUD totem texture override not wired (item-model rewrite in 1.21.11 is invasive)
- HUD color tint uses removed
RenderSystem.setShaderColorAPI; color visible in particles only
License
MIT. Quack responsibly.
Author
DeQuackDealer
Build Info
- JAR: 174 KB
- Gradle: 9.4.0
- Loom: 1.16.2
- Java: 25.0.1
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:oqOtw3dk:NTlgaLEk"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:oqOtw3dk:NTlgaLEk"
}

