Modded Minecraft Reddit Feed
207 subscribers
33.8K photos
3.23K videos
4 files
37.3K links
This is a bot channel automatically posting content from /r/feedthebeast as it gets posted.

Supported by @r_channels & @reddit2telegram.
Download Telegram
GT:NH, Supersymmetry, Terrafirmgreg, etc. I love them all
https://redd.it/1ugdgmz
@MinecraftModded
What mods would you like to see Ponders made for?

Hi!

Im the creator of Mekanism: Ponders and after it being received so well, i figured maybe there are other mods that would also benefit from receiving ponder scenes for their mods, which is why I'd like to ask all of you, what mods you think would be nice to have in-game scenes for?

https://redd.it/1ugffzj
@MinecraftModded
Media is too big
VIEW IN TELEGRAM
I thought that watching how the dragon just flies through blocks looks strange, so I made this mod

https://redd.it/1ugiwwe
@MinecraftModded
I added async log filtering to my optimization mod, AsyncLogger - filtering runs off your game threads with minimal overhead

Hi everyone,

I've been working on an optimization mod called AsyncLogger, which makes use of log4j2's asynchronous loggers capability, moving logging operations to a dedicated thread. In the latest update, I've added a new filtering functionality with a focus on minimal performance overhead, aiming to resolve the problems that exist in current log filtering mods.

Many popular log filtering mods work by simply adding a filter to the logger. This way, the filter runs on the logging thread (the thread that is logging information), creating a constant, albeit small, lag source that accumulates. Additionally, some of these mods perform filtering rather inefficiently, e.g. using String#matches instead of pre-compiling the regex. And many are no longer maintained.

AsyncLogger, thanks to its optimization of asynchronous loggers, resolves the issue by completely moving the filtering overhead off the caller thread. Be it render thread, server thread or worker thread that log spam happens on, it no longer blocks that thread, and instead, all filtering and (if filters passed) logging are done on the dedicated async logger thread. This way, it saves CPU time on any thread that prints logs intensively, while offering the capability of filtering the logs to keep them clean.

For those wanting a sneak peek, here's the default config file (with unrelated options omitted for brevity):

#Specifies whether System.out and System.err should be redirected to the logger
wrapSysOutSysErr = false
#Forge/NeoForge-only: disables writing to `debug.log`
noDebugLog = false

[filtering]
#Specifies whether to enable filtering for logs.
#Unless "global" is set to true, filtering happens on the dedicated async thread, with no overhead for the caller.
enabled = false
#When set to true, filtering would happen globally instead of at the logger stage.
#This can avoid creating the LogEvent, at the cost of performing filtering on the caller thread, and not being able to process placeholders properly.
global = false
#Specifies whether to apply filtering to System.out (treated as INFO level) and System.err (treated as ERROR level.)
#Note that if `wrapSysOutSysErr` is disabled, filtering would happen on the caller thread.
sysout = false
#The specified logging levels will be filtered out and not logged. Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL
levels = []
#Messages logged by loggers with the specified names will be filtered out and not logged.
loggers = []
#Messages containing the specified substrings will be filtered out and not logged.
strings = []
#Messages that match the specified regexes will be filtered out and not logged.
regexes = []


The default config does not enable filtering, which means AsyncLogger remains a purely optimization mod for those who do not need the feature. To use filtering, simply set enabled = true and edit one or more of the filters. For example:

- levels = ["INFO", "WARN"] - removes all logs at the INFO and WARN level (don't do this in production)
- strings = ["Force-disabling mixin", "is missing mods.toml file"] - removes logs containing any of the specified strings
- regexes = ["[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"] - removes logs that match the specified regex

If log spam ever causes lag, extends launch time, or just clutters your console, AsyncLogger should be worth trying. Let me know how it goes!

Available on Forge (1.18.2 ~ 1.20.1), NeoForge (1.21.1+), and Fabric (1.18.2+)

Project Page: CurseForge | Modrinth | GitHub

https://redd.it/1ugmv2t
@MinecraftModded
A Create mod suggestion for future updates
https://redd.it/1ugr81q
@MinecraftModded