TelepathicGrunt
banner
telepathicgrunt.bsky.social
TelepathicGrunt
@telepathicgrunt.bsky.social
Software Developer that makes Minecraft mods on free time. See The Bumblezone, Repurposed Structures, and other mods I have made.
Pinned
My Minecraft Mods can be found on CurseForge and Modrinth. Checkout Bumblezone, Repurposed Structures, or my smaller utility/helpful mods like Structure Layout Optimizer!

legacy.curseforge.com/members/tele...

modrinth.com/user/Telepat...
#mcdev #modding NeoForge contest is live and underway! Free to join and have fun!
2025 Serverside Summer Modjam!

This contest runs from June 1st and ends on July 31st and will only accept serverside mods. Please visit this blog post for more details of what is accepted, what the prizes are, and how to submit your entries to the contest!

neoforged.net/news/2025ser...
2025 Serverside Summer
Serverside Summer mod contest now live!
neoforged.net
May 31, 2025 at 1:45 PM
Serverside Summer Minecraft modding contest being hosted by NeoForge! Check it out! #mcdev
Clear our your plans on the calendar! Serverside Summer Minecraft modding contest going live June 1st to July 31st, 2025! Check out the blog post for more info and what prizes are. Full contest rules will be revealed on June 1st.
neoforged.net/news/2025ser...
2025 Serverside Summer Sneak Peek
Serverside Summer mod contest coming soon! Clear out your calenders!
neoforged.net
April 4, 2025 at 1:57 AM
If your #minecraft mod need to check if a position is near your block (like during entity ticking), do not do a scan. Instead, register your block into the Point Of Interest system and use that to grab your nearby blocks much faster! Greatly reduces lag compared to blockpos scanning. #mcdev #modding
March 8, 2025 at 11:54 AM
When creating a new entity in a #minecraft mod, always try to use the entity's own RandomSource in the entity's class. You have to use this random and not the incoming level's random or else your entity can crash the game when the entity spawns during worldgen (Very hard to diagnose)
#mcdev #modding
February 21, 2025 at 11:42 AM
For #minecraft mods that have recipes that should only load when another mod is present, please use this condition in the recipe to prevent logspam:

"neoforge:conditions": [
{
"type": "neoforge:mod_loaded",
"modid": "examplemod"
}
]

docs.neoforged.net/docs/resourc...

#mcdev #modding
Data Load Conditions | NeoForged docs
Sometimes, it is desirable to disable or enable certain features if another mod is present, or if any mod adds another type of ore, etc. For these use cases, NeoForge adds data load conditions. These ...
docs.neoforged.net
January 9, 2025 at 12:20 PM
Just added a new optimization to my StructureLayoutOptimizer mod (1.16 to 1.21). For structures with many pieces that have many Jigsaw Blocks, this new code should reduce the layout generation time a ton

legacy.curseforge.com/minecraft/mc...
modrinth.com/mod/structur...

#minecraft #modding #mcdev
Structure Layout Optimizer
Attempts to optimize the generation of Jigsaw Structures and NBT pieces
legacy.curseforge.com
December 30, 2024 at 8:05 PM
Echoing my message on Discord to here, be sure you are not storing passwords, secrets, webhooks, etc in SERVER type configs on Forge/Neoforge. The config is synced to clients so try and use unsynced configs or roll out your own for private info you’re storing in your mods.
#minecraft #modding #mcdev
December 18, 2024 at 1:28 PM
Working on trying to make my Bumblezone mod's worldgen a bit faster for 1.20.1 and 1.21.1 #minecraft. Feels quite a bit faster than unmodded overworld. The main two things taking up most of worldgen in my mod are Surface Rules and the caves using noise generators.

#mcdev #modding
December 18, 2024 at 1:52 AM
Ever since 1.20.5 #Minecraft, NBT on items have been replaced with DataComponents. As a mod dev, you should have dedicated fields for your data in these components.

The CUSTOM_DATA DataComponent holds legacy nbt and if you do use it, ALWAYS call copyTag() or else bugs will happen.

#mcdev #modding
December 17, 2024 at 11:33 AM
When spawning entities during worldgen, use `EntityType..create(` and then `worldGenRegion.addFreshEntityWithPassengers(`.

If you call `EntityType..spawn(`, you will deadlock/lock-up the game as that will call non-worldgen safe methods on the serverLevel.

#minecraft #mcdev #modding
December 14, 2024 at 3:07 PM
If you need to check if a Minecraft mod is present in Neoforge before you run some code, do:

if (ModList.get().isLoaded("modid")) {

If you need to check if mod is on within a MixinPlugin, do this instead:

if (LoadingModList.get().getMods().get("modid") != null) {

#minecraft #modding #mcdev
December 11, 2024 at 11:16 PM
Reposted by TelepathicGrunt
We have held elections for the Steering Council (SC). Welcome new SC members @gigaherz.bsky.social, @marchermans.bsky.social and @telepathicgrunt.bsky.social!

Read more at neoforged.net/news/sc-elec....

#mcdev #minecraftmodding #neoforge
Steering Council Elections 2024
Steering Council Elections 2024
neoforged.net
December 8, 2024 at 4:50 PM
When you define your getShape method in a custom block, please do not construct the VoxelShape directly in there. getShape is called excessively and VoxelShape creation is not cheap. Create the VoxelShape in a static field and call that pre-made VoxelShape in getShape.

#minecraft #modding #mcdev
December 7, 2024 at 12:37 PM
When using a slow-moving noise generator to sample a huge number of positions during #minecraft #modding worldgen, you can skip over a few spot if the noise value is too far from your target threshold. Gives a significant speed boost when values are at extremes.
(X in pic are skipped checks)
#mcdev
December 6, 2024 at 4:50 PM
When making your own mob while #minecraft #modding, using EntityDataAccessor to have synced data is fine. But do not mixin add those to other people's/vanilla's mobs. They are order dependent so if the mixin applies in different order on client vs server, it'll cause disconnect people.
#mcdev

1/2
December 4, 2024 at 12:17 PM
Reposted by TelepathicGrunt
A change I would like to highlight from #Minecraft 1.21.4 is a bug-fix: MC-272062 - "Dimension padding doesn't affect the start piece." This fix makes it possible for data packs to add structures to the end without them ending up in in the void at y=0. #mcdev
December 3, 2024 at 4:46 PM
To check if you are in bounds of a structure when #minecraft #modding. Use StructureManager from the ServerLevel like this:

StructureManager sm = serverLevel.structureManager();

However, it's not worldgen safe so copy and modify it to use a WorldGenRegion instead:
github.com/TelepathicGr...
#mcdev
github.com
December 2, 2024 at 12:13 PM
#minecraft #modding tip: Cache the chunk when setting/checking large amount of positions for a speed boost.

Example:
ChunkAccess cc = level.getChunk(pos);

ChunkSection's maybeHas method is super fast to check if a block is present in section. Note, use the level when setting BlockEntities. #mcdev
December 1, 2024 at 2:28 PM
If you want to add a structure into your Minecraft mod, follow this tutorial’s readme and examples! You can do custom placement too if you wanted to spawn a structure at specific spots or more. Best part, users can config structures by datapack.
github.com/TelepathicGr...

#mcdev #modding #minecraft
GitHub - TelepathicGrunt/StructureTutorialMod: A short example showing how to register a structure and get it to generate in all biomes in NeoForge, Forge, and Fabric! (check the branches)
A short example showing how to register a structure and get it to generate in all biomes in NeoForge, Forge, and Fabric! (check the branches) - TelepathicGrunt/StructureTutorialMod
github.com
November 30, 2024 at 2:04 PM
My Minecraft Mods can be found on CurseForge and Modrinth. Checkout Bumblezone, Repurposed Structures, or my smaller utility/helpful mods like Structure Layout Optimizer!

legacy.curseforge.com/members/tele...

modrinth.com/user/Telepat...
November 29, 2024 at 1:29 PM