Back to mods
Consumable Optimizer project artwork

Modrinth · Minecraft mod

Consumable Optimizer

Handles eating client-side, ensuring servers don't slow down the eating process

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Consumable Optimizer release should I use?

Updated 2 days ago
Latest stable file 2.2.2-26.2
Game version 26.2
Loader Fabric

Consumable Optimizer 2.2.2-26.2 targets 26.2 with Fabric. It must be installed on the client. Do not install it on the dedicated server. All 1 required mods have matching files.

Where it goes

Is Consumable Optimizer required on the client, server, or both?

It must be installed on the client. Do not install it on the dedicated server.

Client Required
Dedicated server Not supported
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

This file is marked client-only.

What else does Consumable Optimizer 2.2.2-26.2 need?

2.2.2-26.2. Change the file and its required mods may change too.

All 1 required mods have matching files

Install WalksyLib first. We found matching files for this game-version and loader setup. 3 come through another mod in the chain.

1 listed on this file 3 pulled in by those mods
WalksyLib Needed by Consumable Optimizer 2.2.2-26.2
required
Matching file found Matched file: 1.0.12+26.2
Mod Menu Needed by WalksyLib
pulled in
Matching file found Matched file: 20.0.1
Fabric API Needed by Mod Menu
pulled in
Matching file found Matched file: 0.156.0+26.2
Text Placeholder API Needed by Mod Menu
pulled in
Matching file found Matched file: 3.1.0-beta.1+26.2

3 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Consumable Optimizer without breaking your instance.

Built for Consumable Optimizer 2.2.2-26.2. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 2.2.2-26.2. It targets 26.2 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install WalksyLib first. We found matching files for this game-version and loader setup. 3 come through another mod in the chain.

  3. 03

    Put it on the correct side

    It must be installed on the client. Do not install it on the dedicated server.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 2.2.2-26.2. It opens that exact file at the source.

About this project

What does Consumable Optimizer add?

Consumable Optimizer!

This mod enforces more client-sided processing when handling consumable items (any food item).


Information

By default, Minecraft requires the user to wait for a server response before consuming an item. While this delay is hardly noticeable on low ping, it becomes much more noticable on high ping and causes players to be stuck in an eating animation until the server eventually responds.
This optimizer ensures all of that processing is done client-side rather than server-side, allowing items to be comsumed with no delay and on the exact tick it should be finished. The server still applies the item's effects (such as absorption or regeneration from a golden apple) while the client handles the actual eating process.

High ping can also occationaly causes desyncs when consuming an item, forcing the server to restart the eating process for the player. This further slows the overall process of consuming an item down even more and makes it feel inconsistent. This optimizer fixes this, by cancelling these recalls from the server when unneeded.

Demonstration Video


Server Opt Out

If you don't want your playerbase using the mod and you're a server owner, you can opt out using a very simple plugin. Some example code can be found below:

public class ConsumableOptimizerDisable extends JavaPlugin implements PluginMessageListener {

    private static final String S2C_CHANNEL = "consumable_optimizer:disable_payload";
    private static final String C2S_CHANNEL = "consumable_optimizer:handshake_payload";

    @Override
    public void onEnable() {
        this.getServer().getMessenger().registerOutgoingPluginChannel(this, S2C_CHANNEL);
        this.getServer().getMessenger().registerIncomingPluginChannel(this, C2S_CHANNEL, this);
    }

    @Override
    public void onPluginMessageReceived(String channel, Player player, byte[] message) {
        if (channel.equals(C2S_CHANNEL)) {
            Bukkit.getScheduler().runTaskLater(this, () -> {
                if (player.isOnline()) {
                    player.sendPluginMessage(this, S2C_CHANNEL, new byte[0]);
                    getLogger().info("Disabled consumable optimizer for " + player.getName());
                }
            }, 20L);
        }
    }
}

Credits

Project description from Modrinth.

Pick your setup

Consumable Optimizer by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

18 available setups

Showing the newest 12 of 18 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Consumable Optimizer versions and loaders

31 of 31 releases match

Looking for an older file? The official Modrinth project page is in Resources.