Dithering3D
# 🎨 Dithering3D – Surface-Stable Fractal Dithering




—
## 🖼️ Screenshots

—
## ✨ A Revolutionary Visual Experience
Transform your Minecraft world with **Surface-Stable Fractal Dithering** — a groundbreaking rendering technique where dither dots **stick to 3D surfaces** instead of the screen, creating a unique manga/comic book aesthetic that feels alive.
> 🎬 *Based on the innovative work by [Rune Skovbo Johansen](https://github.com/runevision/Dither3D)* — **[Watch the explainer video](https://youtu.be/HPqGaIMVuLs)**
—
## 🖼️ What Makes This Shader Special?
### 📌 **Surface-Stable Dots**
Unlike traditional dithering where patterns “swim” on screen, Dither3D anchors each dot to the actual 3D surface. Walk around blocks, and the dots stay perfectly attached!
### 🔄 **Fractal Scaling Magic**
As you move closer or farther from surfaces, dots dynamically split or merge to maintain **constant screen-space density**. It’s mesmerizing to watch!
### 🎨 **Three Color Modes**
| Mode | Description |
|:—-:|:————|
| **Grayscale** | Classic black & white dithering — clean, minimalist, timeless |
| **RGB** | Each color channel gets its own dot layer — vibrant and unique |
| **CMYK Halftone** | Authentic newspaper/comic print simulation with rotated dot angles |
—
## ⚡ Features at a Glance
| Feature | Description |
|:——–|:————|
| 🎯 **Precision Dithering** | SVD-based frequency analysis for mathematically perfect dot placement |
| 🌀 **Anti-Stretch Technology** | Anisotropic smoothing keeps dots circular even on oblique surfaces |
| 🎥 **Camera Stable** | Radial compensation prevents dot swimming during camera rotation |
| ⚙️ **Highly Configurable** | 10+ parameters to fine-tune your perfect look |
| 🚀 **Performance Optimized** | Efficient 3D texture sampling for smooth gameplay |
| 📱 **Universal Compatibility** | Works with OptiFine AND Iris on virtually any Minecraft version |
—
## 🎛️ Customization Options
Fine-tune every aspect of the dithering effect with our intuitive in-game sliders:
### 🔧 Dither Settings
| Parameter | Range | Effect |
|———–|:—–:|——–|
| **Dot Scale** | 2 – 10 | Control overall dot size (exponential) |
| **Size Variability** | 0 – 1 | 0 = Bayer pattern, 1 = Halftone style |
| **Dot Contrast** | 0 – 2 | Sharpen or soften dot edges |
| **Stretch Smooth** | 0 – 2 | Combat stretched dots on angled surfaces |
### 💡 Input Controls
| Parameter | Range | Effect |
|———–|:—–:|——–|
| **Exposure** | 0 – 5 | Brightness multiplier |
| **Offset** | -1 to 1 | Brightness offset adjustment |
### 🎮 Additional Options
– **Inverse Dots** — Flip dot colors for a negative effect
– **Radial Compensation** — Stabilize during camera rotation *(recommended!)*
– **Quantize Layers** — Prevent dot morphing for a more “classic” look
– **Debug Mode** — Visualize fractal layers for development
—
## 📦 Installation
### For OptiFine Users
1. Download and extract the shader pack
2. Place the `shaders` folder in `.minecraft/shaderpacks/`
3. Launch Minecraft → Options → Video Settings → Shaders
4. Select **Dithering3D** and enjoy!
### For Iris Users (Fabric/Quilt)
1. Install Iris Shaders mod (1.2.0+)
2. Download and extract the shader pack
3. Place the `shaders` folder in `.minecraft/shaderpacks/`
4. Press **O** in-game to open shader menu
5. Select **Dithering3D**
> 💡 **Tip:** Press `F3 + T` to quickly reload shaders after making changes!
—
## 🎨 Preset Profiles
Choose from pre-configured profiles for instant results:
| Profile | Color Mode | Dot Scale | Best For |
|:——-:|:———-:|:———:|:———|
| 🟢 **LOW** | Grayscale | 4.0 | Performance, retro feel |
| 🟡 **MEDIUM** | Grayscale | 5.0 | Balanced experience |
| 🟠 **HIGH** | RGB | 5.0 | Colorful, artistic |
| 🔴 **ULTRA** | CMYK | 6.0 | Maximum visual impact |
—
## 🌟 Perfect For
| 📸 Screenshot enthusiasts | Create unique, artistic captures |
|:————————:|:——————————–|
| 🎬 **Content creators** | Stand out with a distinctive visual style |
| 🎮 **Retro lovers** | Relive the charm of 1-bit graphics |
| 🎨 **Artists** | Manga, comic book, and newspaper aesthetics |
| 🧪 **Tech enthusiasts** | Experience cutting-edge rendering techniques |
—
## ❓ FAQ
**Q: Does this work with other shaders?**
> Dithering3D is a standalone shader pack. Combining with other shaders may cause conflicts.
**Q: Why do some surfaces look different?**
> The sky and some special effects may appear different as surface-stable dithering reveals flat geometry.
**Q: Performance impact?**
> Moderate. The 3D texture sampling is optimized but more demanding than vanilla rendering. Most GPUs handle it smoothly.
**Q: Can I use this in my modpack?**
> Yes! Under MPL-2.0 license. Credit appreciated.
—
## 🔬 The Science Behind It
Dithering3D uses **Singular Value Decomposition (SVD)** to analyze UV coordinate derivatives in real-time, determining the exact frequency and direction of surface textures. This mathematical approach enables:
“`
✅ Perfectly uniform dot density regardless of distance
✅ Seamless fractal transitions between detail levels
✅ Circular dots even on extremely angled surfaces
✅ Rotation-stable patterns that don’t “swim”
“`
—
## 📚 Credits & Resources
| Resource | Link |
|:———|:—–|
| 🔗 **Original Algorithm** | [Rune Skovbo Johansen](https://github.com/runevision/Dither3D) |
| 🎥 **Technique Explanation** | [YouTube Video](https://youtu.be/HPqGaIMVuLs) |
| 💬 **Technical Discussion** | [FAQ Thread](https://github.com/runevision/Dither3D/discussions/12) |
—
## 📄 License
“`
Mozilla Public License 2.0 (MPL-2.0)
“`
—
🎨 Transform your world. Experience Dithering3D. 🎨
If you enjoy this shader, consider leaving a ⭐ and sharing this shader page !
Cypress (Alphaver) Font
# A font from an alternate timeline!
This font comes from a modified version of Minecraft that’s part of an **unfiction web series** centered around footage of the closed “16.05” branch from the Alpha stage of Minecraft’s development. **It’s basically the classic Minecraft font, but with rounded edges and some subtle differences.** I really like it, so I thought I’d go ahead and port it to modern versions!

Thank you to [the AlphaVer team](https://www.youtube.com/@MinecraftAlphaVersions) for making such a compelling story, and sparking my interest in modding Minecraft. If anyone involved would like for me to take this down, please don’t hesitate to contact me.
CRSS Resource Pack
# CRSS Resource Pack
This was the resource pack used in CRSS’ modpack, which has a panorama of the spawn area in [ROP](https://crss.cc/nation/psf).
## CRSS Resource Pack is no longer being updated
I don’t really see a reason to keep updating this resource pack as the modpack is also discontinued.

CRSS by Blryface is marked with CC0 1.0

CME is Bad
# Abstract
Players and modpack developers sometimes find the game crashed with `ConcurrentModificationExceptions` (CME) and `IndexOutOfBoundsExceptions` (IOOBE), which only give stacktrace of current thread and are hard to trace which mod causes them. Here’s one of the crashes which is caused by SimpleReloadInstance in 1.20.1 Forge:

So this is what the mod is developed for. Players who install this mod and add javaagent to JVM Argument correctly will receive a full log for modification history of a certain collection:

# Usage
First, add this jar to mods folder.
Second, edit your Java Virtual Machine Argument in your launcher. Add `-javaagent:mods/CMESuckMyDuck-.jar=;;;`.
Finally, run the game, play and wait until the crash happens.
# Usage for Other Java Projects
This mod can not only be used for Minecraft debugging, but also be utilized to debug other java projects. Similar to Minecraft. The only different step is that you should add gson and asm jar to classpath (`-cp`) before javaagent, and add our `CMESuckMyDuck-.jar` to classpath after javaagent.
# Arguments
##
A full name of the class, which has a container that you would like to monitor. Use “ instead of `.` (a.k.a. the internal name of class).
##
A field name of the container in target class, which you would like to monitor. For Forge, use SRG name. For Fabric, use intermediary name. For NeoForge, use official name.
##
Currently, we only support three containers: `List`, `Set`, `Map`. This argument indicates the type of monitored container.
##
`static` or `nonstatic`. This argument indicates the container is a static field or non-static field.
# How to get and
Let’s start with an example.
First, take a look at the stacktrace of CME/IOOBE:

Second, read the source code of SoundEngine and confirm which container is facing this issue:

Now we know we should monitor map `field_217942_m` (`instanceToChannel` in `SoundEngine`). Keep going.
Third, install this mod, and add “`-javaagent:mods/CMESuckMyDuck-1.0.0.jar=net/minecraft/client/audio/SoundEngine;field_217942_m;Map;nonstatic`” to Java Virtual Machine Argument. Relaunch the game and wait for the next crash.
Finally, open `CMESuckMyDuck.log` file and you will see which thread and which mod has concurrently modified the container.
# Examples (JVM Arguments)
## ConcurrentModificationException from SoundEngine in Forge 1.16.5 Environment
`-javaagent:mods/CMESuckMyDuck-1.0.0.jar=net/minecraft/client/audio/SoundEngine;field_217942_m;Map;nonstatic`
## ConcurrentModificationException from PotionBrewing in Forge 1.20.1 Environment
`-javaagent:mods/CMESuckMyDuck-1.0.0.jar=net/minecraft/world/item/alchemy/PotionBrewing;f_43494_;List;static`
## ArrayIndexOutOfBoundsException from Zeta mod
`-javaagent:CMESuckMyDuck-1.0.0.jar=org/violetmoon/zetaimplforge/event/ForgeZetaEventBus;convertedHandlers;Map;nonstatic`
# Other options
## Log Level
Use system property `-Dcme_suck_my_duck.log_level=` to set custom log level.
Default 1, which means no debug message will be logged.
Users can set it to 0 to output debug message, which is not recommended – query functions like Map#get, Set#containsAll will also be logged when set to 0, and make the file very very long.
## ASM API Version (v1.0.2+)
In order to maintain compatibility with the latest version of Minecraft, this mod is compiled with asm version 9.7. For older versions of Minecraft (such as 1.12.2), API level operations such as ASM_9 cannot be applied, so players need to use `-Dcme_suck_my_duck.asm_api_version=` to modify the ASM API version compatibility. For example, game version 1.12.2: `-Dcme_suck_my_duck.asm_api_version=5`.
## File Max Entries (v1.0.3+)
Since we notice that when crash happens, the last few operations in the log are much more important than the previous ones. So our mod adopts a paging strategy after v1.0.3, and only the last two pages are retained at the end. The number of logs output on each page (that is, the number of operation call stacks) is fixed, and the default value is 500. Players can use `-Dcme_suck_my_duck.file_max_entries=` to modify the maximum number of elements on the page.
## Whitelist of Constructor (v1.0.3+)
Sometimes a container in a certain class is used in many places (eg. CompoundTag#tags). Directly using this mod will cause the log to be too long or the valid content to be replaced by subsequent operations. Therefore, players can specify an additional constructor whitelist to monitor the corresponding container in the corresponding class of a specific module. The default is empty, that is, there is no whitelist. Players can use `-Dcme_suck_my_duck.whitelist_constructor_stacktrace=` to specify it. If any line in the stack trace where the container is constructed includes the content of the whitelist string, the container will be monitored – otherwise, the container will not be monitored, which greatly simplifies the log output information.
## Transform to Thread Safe (v1.0.4+)
Use system property `-Dcme_suck_my_duck.transform_to_thread_safe=true` to transform the field into a thread-safe container.
This is NOT recommended unless you like slowness and don’t want to fix the problem.
## Inject method (v1.0.4+)
Use system property `-Dcme_suck_my_duck.inject_method=true` to switch to inject mode.
If set, you should use `-javaagent:CMESuckMyDuck-.jar=;` and whenever this method is called, you will receive a stack trace in log files.
## Ignore threads (v1.0.5+)
Use system property `-Dcme_suck_my_duck.ignore_threads=;;;…` to ignore some thread that is expected to modify the given container (or call the given method). For example, `-Dcme_suck_my_duck.ignore_threads=”Server thread”`.
## Stop logging early (v1.0.7+)
Use system property `-Dcme_suck_my_duck.stop_logging_if_exception_created=false` to stop logging if critical error occurs.
## Trace ID Updater (v1.0.8+)
Use system property `-Dcme_suck_my_duck.trace_id_updater=;` to update trace ID when calling the given method. This might be useful in inject mode.
## Monitoring Local Variables (v1.1.0+)
Use system property `-Dcme_suck_my_duck.local_var_index=` to monitor local variable at given index in the given method.
If set, you should use `-javaagent:CMESuckMyDuck-.jar=;;`. By the way, the index can be reused by different local variables. So you might have to use `-Dcme_suck_my_duck.match_local_index=` to specify the ordinal of ASTORE operation to indicate which local variable to monitor.
# Conclusion
I like eating peking duck. It’s so delicious!

Clear wither hearts
Makes** withered hearts clear** to see if they are there or not.
Cleaner Armour Armor HUD Hotbar
Removes the Empty Armor Containers from the HUD, for a cleaner GUI:

vs Minecraft Vanilla:

Inspired by MC vanilla’s ‘Absorption Hearts’:

v1.20.2 (latest) and above is compatible with every other resourcepack.
Just select and put this resourcepack above others in order to work.
Circular Logs
# Improve the look of your default Logs with… ↴

## Adds Vanilla-like circulated Logs Top | No Optifine or other Mods needed!
### It’s supports every Version of the game! (even including Legacy ones)
### And day-by-day will have more and more mods supported!
Supported Mods
• [Abundance](https://modrinth.com/mod/abundance) – by exoplanetary
• [Architect’s Palette](https://modrinth.com/mod/architects-palette) – by Jsburg
• [Biomes O’ Plenty](https://modrinth.com/mod/biomes-o-plenty) – by Forstride & Adubbz
• [The Aether](https://modrinth.com/mod/aether) – by Oz-Payn
• Vanilla Minecraft – by Mojang
• [Wilder Wild](https://modrinth.com/mod/wilder-wild) – by FrozenBlock
ChicknTurtle’s Better Shield
# ChicknTurtle’s Better Shield
[ 
See more in the Gallery](https://modrinth.com/resourcepack/chicknturtles-better-shield/gallery)
—
[](https://www.curseforge.com/members/ChicknTurtle) [](https://modrinth.com/user/ChicknTurtle) [](https://www.curseforge.com/minecraft/texture-packs/chicknturtles-3d-totems) [](https://modrinth.com/resourcepack/chicknturtles-3d-totems)
## Features
👀 Smaller and lower shield
🛡️ Slightly improved shield texture
🏁 Banners on shields are no longer low quality (credit to [Vanilla Tweaks](https://vanillatweaks.net/))
🖼️ Shields & banners are displayed nicer in item frames
🔧 Center shield in gui slots
## Info
Feel free to modify this pack or include it in a modpack!
—
[](https://modrinth.com/resourcepack/chicknturtles-3d-totems) [](https://modrinth.com/resourcepack/chicknturtles-3d-tools) [](https://modrinth.com/resourcepack/numbered-levels)
**💚 Make sure to follow!**
Cave Tweaks
CAVE TWEAKS!
❤️ Made by Wilozyx and DraconicAxolotl! ❤️
Cave tweaks is a vanilla-esque tweaks 16x pack for most minecraft versions. The goal of the pack is to include most versions from infdev (yep), alpha, beta and release!
This pack is 100% public domain, we totally allow and encourage people who enjoy the pack to use, edit and improve upon our textures for their own works if you wish to do so!
Wish to support us?
Subscribe to our channels on youtube!
[Wilozyx’s Channel](https://www.youtube.com/@wilozyx) |
[DraconicAxolotl’s Channel](https://www.youtube.com/@Draconic_Axolotl)
—
What versions is the pack available for, currently?
| Sign | State |
|———————|:———————:|
| ✔️ | Fully done & uploaded |
| ❌ | Not done but planned |
| 🔨 | Currently being worked on |
| ⏳ | Done and awaiting to be posted |
| Version | Status |
|———————|:———————:|
| Beta 1.0 | 🔨 |
| Beta 1.1 | 🔨 |
| Beta 1.2 | 🔨 |
| Beta 1.3 | ⏳ |
| Beta 1.4 | ⏳ |
| Beta 1.5 | ✔️ |
| Beta 1.6 | ✔️ |
| Beta 1.7 | ✔️ |
| Beta 1.8 | ✔️ |
| Release 1.0 | ✔️ |
| Release 1.1 | ✔️ |
| Release 1.2| ✔️ |
| Release 1.3| ✔️ |
| Release 1.4| ✔️ |
| Release 1.5| ✔️ |
| Release 1.6| ✔️ |
| Release 1.7| ✔️ |
| Release 1.8| ✔️ |
| Release 1.9| ✔️ |
| Release 1.10| ✔️ |
| Release 1.11| 🔨 |
| Release 1.12+| ❌ |
Blinding Pumpkin Overlay
You ever wanted to completely blind your foes with a curse of binding pumpkin? Then this is the resource pack for you!
Should work for every version.
It just makes the pumpkin overlay completely black, thats it.
[Alternative Download [PlanetMinecraft]](https://www.planetminecraft.com/texture-pack/blinding-pumpkin-overlay)