NOTE: This will work all the way back to Minecraft 1.19, but if you're working in a version prior to 1.21, there are some differences in the file paths. For example, rather than "recipe", everything starts with "recipes" (plural). This is also the case for Functions, Item Modifiers, Loot Tables, Predicates, Structures, and Advancements.
@justvladcreate11 күн бұрын
I remember how we replaced all recipe files with invalid recipes that caused a massive dump of errors in the logs that always freaked out my server owner friends back in old versions 1.14, 1.15
@tehbeard2 ай бұрын
6:16 Completely removing a tag would probably break a lot of places that expect that tag to exist (e.g. recipes, world gen, endermen block theft logic etc) Better for everything else to just see it as an empty list than having to code custom logic in all places to handle list / null.
@TheAnnyParker2 ай бұрын
Iirc, filtering in resource packs can rarely be useful in cases where you've replaced a lot of vanilla files in your own pack. It prevents the double loading of vanilla and then your own. This theoretically helps with load times, but I've never really noticed a huge difference, personally.
@conure5122 ай бұрын
Ah that makes sense! Client optimization is a concern I suppose lol
@FoxSlyme2 ай бұрын
It can be useful if you want to remove vanilla advancements or recipes for custom maps to be less distracting or prevent unintended behavior
@malpkakefirek2 ай бұрын
@@FoxSlyme but we're talking specifically about filtering in resource packs here. Not datapacks.
@toxicgamer50442 ай бұрын
by filtering the resourcepacks, you could stop the xray Ressourcepacks from working, by disabling the texture of stone ig
@FoxSlyme2 ай бұрын
@@malpkakefirek oh sorry, didn't notice
@godofgrains2 ай бұрын
woohoo the vid's here! btw you can filter out all enchantments, except for sharpness except for sharpness which will result in safe mode
@LisooYT25 күн бұрын
how do you remove/filter them
@mysticat2 ай бұрын
oh wow! tysm! :D
@conure5122 ай бұрын
well hello there Mysticat, nice to see you around here
@mysticat2 ай бұрын
@@conure512 you make helpful videos, of course ill b here :D
@dombomb64Ай бұрын
YOOO hi :)
@nleantnlant26 күн бұрын
For those wondering. If you want to literally remove every recipe just dont index an object in the path. For example. "path": "recipe" This would filter out ALL recipes in the "recipe" folder
@LisooYT24 күн бұрын
Question, but what if i want to like keep 1 recipe or enchantment
@nleantnlant21 күн бұрын
@ Unfortunately filter will exclude all the descendants, so you can’t namespace a specific file to ignore when filtering. The most optimal way for that would be to put it in your recipes folder located in your datapack. You can watch a video on how to make custom recipes. You would just follow that guide but use the default of whatever you want to keep. Once again, this is only if you’re trying to only KEEP a couple recipes and make everything else uncraftable.
@LisooYT21 күн бұрын
@nleantnlant ye i figured all of that, it took hours that i think i sold my soul
@supertoady16 күн бұрын
@@LisooYT can't you just add back the recipe?
@LisooYT16 күн бұрын
@@supertoady you can, recreate the folder system and copy the minecraft file, for me its an enchantment, i filtered all of them, and then you can add them back if you will just paste the sharpness.json file into your datapack i recommend using mcassests for the files
@aydenbales2 ай бұрын
Thanks for this! I could see this being useful with mods like Tinkers Construct where the host wants to disable vanilla tools recipes.
@uninable2 ай бұрын
for stuff like that using the KubeJS mod to disable recipes is probably better, but this is another way if that's not possible
@404maxnotfound2 ай бұрын
@@uninable The whole reason why people use datapacks is because they want to work in a vanilla environment, thanks for your suggestion and KubeJS is a cool mod just doesn't really help in this situation.
@uninable2 ай бұрын
@@404maxnotfound the comment I'm replying to is talking about mods, but yeah I see your point about vanilla stuff
@Run2Seeun2 ай бұрын
I was aware of this feature but never knew how to use it. Thanks for the explanation!
@FireKhakis2 ай бұрын
Thank you so much! My friends and I are starting an smp this weekend based on Last Life and I needed to disable the bookshelves and enchanting table recipes!
@Bluebird_YT2 ай бұрын
I did not know it works with resource packs. This could be useful for blocking textures from other people’s packs. That is interesting
@kyleyoung24642 ай бұрын
This would be interesting for altering existing datapacks and datapack compatibility.
@404maxnotfound2 ай бұрын
Oh that removing structures is really useful if you want to replace the default structures that spawn sadly dugeons are not proper strucutures if I remember so those will probably not be removed.
@conure5122 ай бұрын
Dungeons are features. There IS a way to prevent them from spawning, but it involves overwriting the actual biome files to simply not include them (I don't think you can do it with filters, it would cause an error if you tried)
@LisooYT25 күн бұрын
Question how would i filter every enchantment but be able to keep some of them
@404maxnotfound2 ай бұрын
Hmm for maybe for resource pack filtering you could probably remove the the default language files, that way you can always ensure players have your custom translations selected rather then the many vanilla ones. Useful for that one trick invovling detecting if the player has a resource pack enabled by using the lang file.
@bobisnotaperson2 ай бұрын
Oh hey! I've used this before to nuke all recipe advancements, even modded ones.
@matiera_scape2 ай бұрын
10/10 thumbnail lol
@planetbusOG2 ай бұрын
bro if you make a working custom book guide itll blow up right now. no way for custom written books atm.
@Wexy192 ай бұрын
Thx, saved me a LOT of time.
@AspieGamer132 ай бұрын
When I want to look in the jar, I just use 7zip and it opens the jar as if it were a zip (no copy-paste-rename needed)
@Konomi_io2 ай бұрын
yep. even if you have the file associations for .jar set to execute with java, you can right click > 7-Zip > open archive
@lordender_kitty_official2 ай бұрын
I just extract the jar so it's just a normal folder and then delete everything in it other than assets and data because all the class files make it take ages to load the page.
@Konomi_io2 ай бұрын
@@lordender_kitty_official thats what i do too when i need frequent access to the vanilla resources lol
@ComiColaMan2 ай бұрын
day 1 of asking for conure to make a datapack that tethers entities together (it'd be funny)
@conure5122 ай бұрын
If both entities are leashable, you could do this with 2 commands: leash entity A to entity B, then leash entity B to entity A, so it will seem like both of them are pulling each other around :)
@Hubcat_2 ай бұрын
This brings up the obvious question of: What happens if you filter the entire vanilla datapack and resourcepack? What is Minecraft when you remove all the Minecraft from it?
@conure5122 ай бұрын
An error. You get an error. lmao
@Hubcat_2 ай бұрын
@@conure512 Makes sense lol, but I'm still curious what it would be like if you filtered as much as you could without getting an error, basically filtering all the file types you mentioned
@conure5122 ай бұрын
@@Hubcat_ This is a wonderful idea for a video tbh
@asmylia988013 сағат бұрын
So when I want specifically want to filter the trial chambers from generating, does it have to be the /tags/biomes/has_structures/trial_chambers or the /structure/trial_chambers directory? ..or both?
@captinoshawottoldАй бұрын
Will you ever do a video about how to delete non-vanilla recipes?
@enchanted_games2 ай бұрын
I may be wrong on this but I think filtering paintings and similar doesn’t work properly because they are also listed in some tags to control which ones are placeable in survival, the tag won’t load if one painting is missing Again, I’ve not tested so take that with a pinch of salt
@conure5122 ай бұрын
Ah, that would make sense! What I observed is that filtering one painting blocks you from placing any others, including the ones hardcoded to the item that you get from the creative inventory. However, if you filter ALL paintings, the server doesn't start. So im guessing the game NEEDS at least one to exist, but aside from that, maybe editing that tag alongside the filter will cause it to work properly.
@enchanted_games2 ай бұрын
@@conure512 thats definitely strange that it blocks even the hardcoded ones, but yeah maybe editing the tag would let you place them in survival at least
@404maxnotfound2 ай бұрын
@@conure512 Maybe it's related to the structures? since theres at least one strucuture I know of that has a painting. Ie world gen might try to load in a painting, but there are no paintings so might crash.
@lordender_kitty_official2 ай бұрын
Only thing I can really think of to make use of filtering in resource packs is maybe core shaders, but I don't really know jack about them or how they work.
@enchanted_games2 ай бұрын
Removing any kind of shader related file will almost always just cause the resourcepack to fail unless you really know what you’re doing
@gamedog123games2 ай бұрын
Yo I have a question. Is it possible to use items with specific NBT in crafting recipes to make new items? If so, where would there be a tutorial?
@conure5122 ай бұрын
Testing for NBT is not possible in recipes, you're only able to put it on the output.
@gamedog123games2 ай бұрын
Ah that sucks
@404maxnotfound2 ай бұрын
The closest we have rn is a the recipe_transmute recipe type introduced in 24w38a. It's currently very limited only being able to change the item type of an item while retaining nbt.
@gamedog123games2 ай бұрын
@@404maxnotfound Good to know, thanks!
@404maxnotfound2 ай бұрын
Imo your best bet is to use blocks and items that are not possible to obtain in survival as the input for the crafting recipe. That way nobody can craft the output without your custom nbt item. The only issue is the recipe book will ignore any custom model you give the nbt item.
@ThatNoobKing2 ай бұрын
oh hey engineer nope edit
@122806ac2 ай бұрын
can you do a tutorial for custom biomes/dimensions with datapacks
@nextraven2 ай бұрын
Great video, one question tho: Do datapacks and resourcepacks still load correctly even when the filtered files aren't found?
@conure5122 ай бұрын
I'm pretty sure they're just ignored in that case. Shouldn't cause an issue.
@icebluscorpionАй бұрын
So... You showed us how to remove but how do you replace the recipe like for example you want to make a diamond pickaxe and you get a kelp block instead 🤔? Or adding additional recipes
@Gnomur2 ай бұрын
Great video as always!
@TwentySeventhLetterАй бұрын
This is really cool to know about because in the past, I've just made override datapacks that use the minecraft namespace but replace a given recipe with an empty object, which is a lot more work. Something I'm wondering now though is how to disable the _learning_ of recipes without actually removing the capacity to craft them. I'm trying to make use of the doLimitedCrafting gamerule, but I still want players to be able to learn recipes, just not in the vanilla way that only requires finding the ingredients. Using knowledge books or specified advancements to earn recipes is what I have in mind, but I'm not sure what I need to disable to prevent the recipes from being learned, like learning to craft a boat just from entering water. Anyone know where that's located?
@conure512Ай бұрын
The unlocking is controlled by advancements, so you can filter minecraft:advancement/recipes to stop that. However, if you craft a recipe that you haven't unlocked, THAT always unlocks it, and you can't stop that part.
@TwentySeventhLetterАй бұрын
@ Wait so doLimitedCrafting doesn't even prevent you from crafting things you know the recipe for? What is it even for then? Just concealing information from players? That's so underwhelming if true
@TwentySeventhLetterАй бұрын
would there be a way to filter out recipes dynamically according to whether a player has learned them or not? instead of relying exclusively on what the player's actual knowledge is
@conure512Ай бұрын
@@TwentySeventhLetter Ah sorry I misunderstood, I thought you said you were planning to not use doLimitedCrafting. So yeah, that would stop it then. The gamerule prevents players from crafting anything they haven't unlocked.
@TwentySeventhLetterАй бұрын
@ Okay whew! Then I should be fine, thanks for helping me understand!
@DesTheBeetleАй бұрын
Very useful video!
@bloxxer_tv2 ай бұрын
How odd! I didn't know you could do this. The way I prevented crafting vanilla items was by overriding the recipe advancement for the recipe I wanted gone (so players don't get the notification they can craft it, as well as the recipe), and then replacing the output item of the recipe to give the item a custom lore text of "This Recipe Has Been Removed!". But this is so much better, and cleaner! Question, though. Can you list multiple paths one after the other, or does it have to be an array?
@conure5122 ай бұрын
"block" is an object list, so you can just add more objects to the list. The example pack I provided shows how to do this (I included every filter I showed in the video sinultaneously).
@EvilParagon42 ай бұрын
Is there a way to do this for mods? Namespace seems to be the key, but I tried doing it and I got no result.
@conure5122 ай бұрын
Honestly depends on the mod. Some will use the typical namespace system and some won't, because some devs just implement their own brand new system.
@celdaemon2 ай бұрын
I'm wondering, do textures, shaders, and models also work in this manner, as they should also use the same resource loading system
@conure5122 ай бұрын
Yup! That's all covered by Resource Pack filters like I mentioned at the end
@Mazoreo2 ай бұрын
Gamerule require recipes: true Advancement revoke recipe all
@X.K-tuber2 ай бұрын
Tell me what happens if "Block": [{ "namespace": "mod namespace"}] Eg the create mods namespace, when the mod is loaded
@conure5122 ай бұрын
As long as the datapack is loaded after the mod, you should be able to filter mod files. I've never tried it though, I don't really use mods much. This also requires that the mod uses the vanilla format for defining these files (recipes as .json files, etc) which some may not.
@Kjotleik2 ай бұрын
Works perfectly! Thanks. I made the NoAdvancements datapack-filter. So easy. So amazing to be able to start a new world without all those annoying advancement-popups. Is there a way to filter out recipe popups, but keep the recipes themselves? The answer didn't drop into my head immediately, but maybe in yours?
@conure5122 ай бұрын
Recipes are unlocked by hidden advancements. To block those, you can filter "advancement/recipes/" (could also be "recipe", dont remember off the top of my head). However, if you do filter those, then the recipes wont show up in the recipe book until you actually craft with them, and when you do use a recipe for the first time, it will show the popup at that moment. So there's no way to completely get rid of the popup.
@Kjotleik2 ай бұрын
@@conure512 Thanks for the information. So, basically I would have to go through every single recipe and add a ["show_toast": false,] line. Would that even work for recipes? Either way it is just too much work. And I would have to check for added recipes for every update...
@Konomi_io2 ай бұрын
@@Kjotleik this is the kind of thing you would automate with a script. write some simple code (or get chatgpt to do it) that goes thru all the recipes, edits that line, and saves it under your data pack