Enhanced Block Entities Reloaded
[UNOFFICIAL PORT] Reduce block entity FPS lag with almost no compromises, and improve their visuals
介绍
UNOFFICIAL PORT
This is an unofficial port of the original Enhanced Block Entities mod, adding support for newer minecraft versions (1.21.5+) as well as Forge and NeoForge!
This mod requires the MatLib library for >=1.20 versions, you can download it here.
Enhanced Block Entities
EBE is a 100% client side Minecraft mod which aims to increase the performance of block entity rendering, as well as offer customizability via resource packs.
How does it work? EBE Makes some block entities use baked block models rather than laggy entity models.
Is it just an optimization mod? EBE isn’t just an optimization mod, some side effects of its optimizations are many visual improvements.
These may include:
- Smooth lighting on block entities
- Being able to remodel block entities with block models
- Toggling features like christmas chests
- Being able to see block entities from as far away as possible
What about animations? The best part about EBE is that you still get to keep animations, while gaining the performance boost of baked models! Most animated block entity models will only render when absolutely necessary.
Can I use it with Sodium? Yes.
- EBE 0.10.2 and above are fully compatible with Sodium 0.6+
- Earlier EBE versions require installing Indium along with Sodium 0.5.11 or below.
FAQ and Help
Q: I need help with the mod/need to report a bug!
A: If the issue is a BUG please report it on our issue tracker (“Issues” tab at the top of the page)
Q: My chests are invisible!
A: You may be using a resource pack that conflicts with EBE. Open the Block Entity Settings menu (through EBE’s Mod Menu entry or through vanilla Video Settings) and enable “Force Resource Pack Compatibility”.
Q: My chests are still invisible!
A: You’re likely using a Sodium version lower than 0.4, which doesn’t support certain Fabric Rendering features by default. If you need to use a Sodium version lower than 0.4 with EBE, you should install Indium.
FPS Boost
Rendering 1700 chests:
Vanilla

With EBE
A 155% frame rate increase!
Is your mod incompatible with EBE?
If you are the developer of a mod that makes changes to block entity rendering, your mod will be broken by EBE. Fortunately, EBE provides an API that allows you to force-disable its features, allowing your mod to function instead.
You don’t need to add EBE as a dependency in your development environment either!
Add the Entrypoint
fabric.mod.json:
{
"entrypoints": {
"main": [...],
"client": [...],
"ebe_v1": [
"my.mod.compat.EBECompatibility"
]
}
}
Need to modify config values? Implement BiConsumer<Properties, Map<String, Text>>
my.mod.compat.EBECompatibility:
public class EBECompatibility implements BiConsumer<Properties, Map<String, Text>>, ... {
@Override
public void accept(Properties overrideConfigValues, Map<String, Text> overrideReasons) {
overrideConfigValues.setProperty("render_enhanced_chests", "false");
overrideReasons.put("render_enhanced_chests",
Text.literal("EBE Enhanced Chests are not compatible with my mod!")
.formatted(Formatting.YELLOW));
}
...
}
The accept(Properties, Map<String, Text>) function is called when EBE loads config values. You can override a desired config value by setting the corresponding property of overrideConfigValues. This will also gray out the option in the config menu.
To explain to users why your mod made that change, you can add a text component to the overrideReasons map corresponding to the key of the option you changed.
Text is net.minecraft.text.Text when using Yarn mappings.
Need to manually reload EBE? Implement Consumer<Runnable>
my.mod.compat.EBECompatibility:
public class EBECompatibility implements Consumer<Runnable>, ... {
private static Runnable ebeReloader = () -> {};
...
@Override
public void accept(Runnable ebeConfigReloader) {
ebeReloader = ebeConfigReloader;
}
}
If your mod needs to modify EBE’s config values depending on loaded resources, it may encounter load order problems. This can be somewhat fixed by manually reloading EBE.
The accept(Runnable) function is called when EBE is first loaded. The Runnable executes EnhancedBlockEntities.load(). Store this in a field so you can execute it whenever necessary.
void onMyModResourceReload() {
EBECompatibility.someParameter = true;
EBECompatibility.ebeReloader.run();
// Your config modification handler in EBECompatibility can change
// its behavior based on EBECompatibility.someParameter.
}
常见问题
Enhanced Block Entities Reloaded 支持哪些 Minecraft 版本?
Enhanced Block Entities Reloaded 支持 Minecraft Java 版 1.16.5–26.3,共 24 个版本,可用的加载器:Fabric / Forge / NeoForge / Quilt。下载时注意选择和你游戏版本一致的文件。
Enhanced Block Entities Reloaded 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。
Mat0u5 的其他作品
查看全部 →Iceberg
一个模组开发库,包含全新的事件、辅助工具和实用功能,让模组开发更加轻松。
Prism
一个专注于色彩的前置库!为依赖它的模组提供丰富的色彩相关功能。
Advancement Plaques
用更炫酷的效果替换那些无聊的进度弹窗。
Item Highlighter
高亮新拾取的物品。简单又方便。
评论
登录后评论和评分