Everything Custom Enchantments Can Do (Minecraft 1.21)
ฝัง
- เผยแพร่เมื่อ 1 ต.ค. 2024
- Previous Episode - • How to Make Custom Enc...
Tutorial Datapacks - drive.google.c...
Wiki Page - minecraft.wiki...
That one bug report I mentioned - bugs.mojang.co...
Join the Discord for a copy of the big enchantment guide! / discord
Hey, you read the entire description, here's a bonus clip as a reward • intentional spelling e... - เกม
15:45 As of Minecraft 1.21.2 (currently set to release soon), this bug I mentioned has been fixed, and also the projectile_spawned component now works on all projectiles, not just arrows! So for example you can apply a projectile enchantment to a Snowball item, and the snowball will receive that effect when you throw it.
YIPPEE SO EXCITED FOR THE COMMUNITY ENCHANTS!
Skibidi V coming soon 💀
there are also "Enchantment Functionality Tags" for example: "smelts_loot: Enchantments that cause loot drops to be smelted" or "Enchantment Availability Tags" for example: "tradeable: Enchantments that show up on Books in Villager trades"
A thing to note about "smelts_loot" though is that the functionality is granted in the loot table and is not hard coded into every smeltable item, so unless you want your custom enchantment to only smelt loot that Fire Aspect smelts, you will need to make a separate tag for the new enchant(s) and edit the loot tables of everything you want it to smelt (or at least that's what it looks like from what I've checked over that tag so far)
@@overforest1195 Time to make a flame touch pickaxe
Used location_changed to make hoe enchants for auto planting and autoharvesting. Made it account for variable heights and use items from the offhand for planting, and the fortune level of the hoe for harvesting. Super satisfying!
Saw your last video and immediately subscribed. Super excited for this video!!
Finally! I can create an enchantment to mimic frost walker, but on lava!
Though this stuff can be used for tons of stuff. I love it. Who needs mods anymore lol.
mods are still infinitely more expansive
@DJSlimeball true. There's some stuff datapacks just can't do. Like, afaik you can't make new blocks. You can make "new mobs" but it's a hassle and sorta hacky depending on how you go about it.
Although datapacks have been becoming increasingly versatile. Who knows, maybe one day those things will be in datapack territory, too.
Modding is much easier with these datapack features too imo
I actually think adding more curses that have negative attributes associated with them will be a great way to have a curse you'll actually use. Like maybe I just don't care that much if I walk 10% slower if it means I can use boots with feather falling 4 or something
Curses would be so good if they had an negative effect and a positive effect, like the turtle master potion
for example, Curse of shine, you produce a strenght 10/12/15 light but mobs can spot you 10/12/15 blocks farther away
The pros outweigh the cons but there are still cons, also allowing more balancing other than rarity and incompatibility
@@lukasVGL Yeah the issue with the current ones are they're too costly to be worth using ever, and it's trivial to replace the item in question with an uncursed version. If there were some benefit you could only access in the presence of the curse, then they'd be more interesting but the current meta is just "don't use cursed equipment"
@@TwentySeventhLetter I was suggesting that. have a curse that has a unique/stronger positive effect with a curse
You can combine this with a predicate that checks for the eating advancement to do stuff on right click. Which allows you to re-use the advancement.
I am both elated and dreaded to use this new feature, because I've already made some custom enchants that would work amazingly with this, but I'm gonna have to re-code it.
Bro you are the king of data packs. These are so good. Thank you for these, you deserve so much more views
The king of datapacks is actually CreeperMagnet 🤭
@@BigMastah79 Nuh uh
@@Coolness7423 Yuh huh, play The Creeper’s Code
@@BigMastah79 That's a project, not a person. Therefore Conure is the king of data packs
@@Coolness7423 Yes it’s a project developed by…. people? It’s actually insane what CreeperMagnet does in TCC, way more advanced than the stuff in this video.
I’m not sure why, but I can’t get my enchantments to do anything. Can anyone tell me some common mistakes I might’ve made?
hey, is there way to run different functions depending on the level of enchantment?
Example usecase for summon entity: When an arrow is fired, delete that arrow and summon a fireball entity at its previous location
Wouldn't you want the fireball to be moving though?
i'll tell you why u cant reference predicates in the requirements field. Predicates are reloaded with /reload, enchantments arent. So for some reason u cant use them or smth i dont remember but i read this somewhere
I would've used this line of logic as well if it hadn't been for functions. Functions ARE reloadable and you can still reference them.
Although maybe it's something to do with the risk of the predicate not existing, which would sorta make sense, but imo there should be a system where if a predicate doesn't exist, a call to it will always return false. Functions already have something like that, in that a call to a nonexistent function just does nothing, which is probably why they're ok with referencing functions now that i think about it
I’ve gone too deep in minecraft when he says “damage” I think item damage.
I'm trying to give a tool with my custom enchantments but it didn't work so can anyone help me ?
Here is my order for now :
give @s trident[custom_name='["",{"text":"La Fourchette","italic":false,"color":"aqua"}]',lore=['["",{"text":"Pratique pour manger du zombie","italic":false,"color":"green"}]'],enchantments={levels:{riptide:10}},unbreakable={}]
You're applying "minecraft:riptide" here, not a custom enchantment. To apply a custom enchantment, put it in quotes and use your datapack's namespace.
@@conure512 oooh thank you, it work. Yes I hadn't put my custom enchant because I didn't know where to put it basically I created an enchant which gives conduit_power so here is the command:
give @s trident[custom_name='["",{"text":"The Fork","italic":false,"color":"aqua"}]',lore=['["",{"text ":"Handy for eating zombie","italic":false,"color":"green"}]'],enchantments={levels:{riptide:10,"namespace:conduit_power":1}},unbreakable= {}]
im getting an error when using apply mob effect, the error occurs in the field "to_apply" which in my code is "to_apply": "19",
I believe to_apply is supposed to be the name of the effect, they no longer use numerical ids. Instead of 19 you'd do "minecraft:speed" or whatever it is (i forgot what 19 was which is probably the main reason they switched over lmao)
its still not working
Having a mob xp drop value setter means we can make a Wisdom enchantment which is like looting but for xp
That was a great tutorial, You just got a new subscriber ;)
Subscriber with a questions.
1. Can enchantment atributes be used to remove/add new/change "members" of exclusive enchantments group?
2. About particles, is it possible to spawn some particles (per x ticks or based on distance traveled) from shooted projectile? I mean like adding smoke particles to arrow emited with a bow enchanted with flame.
3. Can setting things on fire be added to flame/fireaspect(right click) I mean to make it work like flint and steel (maybe even including activating portals, but at the very least lit campfires, candles and tnt) I meat do ignite work for that? (I know You said litting candles/campfires wasn't added but I'm not sure if You were reffering just to making it effect of fire aspect in Vanilla, or possibility of do that at all)
4. About the explosion component, can it be customized to NOT affect player with this enchantment… or does it have to be done by damage immunity (though that would also make player immune to all other explosions, right?)
5. I guess we could use replace block to change just one specific into one other specific one... (like water into ice) but can we make it so the block would be dependend on level? Like let's say "ice touch" enchantmnet which on the 1st level turns water into ice, on 2nd level into packed ice and on 3rd level into blue ice?
6. Can summon NBT be used to summon flyng fireball/ghast fireball? I mean to make something like "magic wand/staff". Or to summon wind charge at hit block - to kinda add secondary effect of windburst to mace, so You could right click to bounce up into the air (or bounce with it from ceilling/walls while flying elytra) - which could remove 2 durability for balance
7. Can something like parrying enchantment be made? I mean something like negating and returning some percent of damage to meele attacker?
8. Can it be used do make enchantment which would basicaly change the tool into survival-working
9. How to set on which item the enchantment would be applicable, and if (and on which) it will be avaible in enchanting table?
10. Can function be used to make weapon have freezing effect? Like afflicting freezing damage for some time (as if affected entity start freezing and was inside powder snow through duration of this effect) and immobilize
…and do You maybe have some introductory tutorial to minecraft functions? I have no problem with setting things in JSONs, but for the functions I'm not really sure how to start.
can we all just recognize how now every time mojang adds a new cool enchantment, we get new fun toys to play with? think of channeling allowing hit_block or frost walker/soul speed having location_change
so excited to update all of my datapacks with these!
i did everything in ur video, not working, then i tried downloading ur datapack and its not working TOO :sob:
its just not showing in /enchant
If the downloadable pack didn't work, you're either using the wrong minecraft version (this only works in 1.21), or you just didn't restart your server/world. Remember, /reload doesn't work on enchantments.
is there an on block mined effect id? similar to how silk touch operates?
im hoping for a Vein miner adjacent enchantment datapack
Hello! Do you know a way to make particles spawn on an entity every tick after I for example hit them with my enchanted weapon? I have tried a couple ways but haven't gotten anything to work yet, and I didn't really know how to implement it.
I got 2 questions, could you make a video where u show us how to make bleeding enchantment, so when u hit someone they take damage for example 2 seconds, or poision where they get poision for 2 seconds, and does this work for all versions or only 1.21?
Please i don't need you to have a good script, the video is already good, been wanting to make mod recently but I'm clueless in coding
By the way can you make some example on the next video? Maybe lightning sword on hit, lifesteal or summon ally vex. Mods already did those but really want to learn to custumize it myself. I also learnt the /particle command which some are really cool so i want to trigger them too like the sonic move of the warden but instead an arrow on hit, or maybe bow that summon homing Shulker bullet to the target hit
hey conure can you help me make an enchantment using the spin attack strength? every time i try to do anything with it i cant load in the world because it says there is an error in my datapack. this only happens with the spin attack.
Edit- I used the riptide preset in misode and it works, but even changing the slightest thing like the description makes an error appear.
Yipeeeeeeeeee!!!
Have never clicked faster than this
so far I haven't seen anything about right clicking on blocks or entities
Thank you for the video. Now, hopefully this will inspire other creators to create videos talking about the other data-driven stuff we can do!
Also, everyone who's ever wanted auto smelting pickaxes or speed leggings, now you can do that in vanilla.
does anyone actually know how to use remove_binomial?
TEAM NO SCRIPT LET'S GO!!!
This is going to be awesome.
I think they added mob XP for modders, since many mods do things like that.
this video kinda solved 90% ok a project i am working on
Can i use enchantments without enchanted items?
Why don't you use a proper code editor for easier readability?
I've been trying to mess with the explode entity effect and I dont really know how to fill up "small_particle", "large_particle" and "soun". Could yo give me a example of those?
The particles are always an object with a "type", and then other fields that vary based on the type. Here's the wiki page with all the options minecraft.wiki/w/Particle_format#List_of_particle_types
Sound is just a string with a sound event (same names as what pops up in tab complete when you do /playsound)
@@conure512 i still havent quite figured out what to put next to both the particles. I dont know if ive been writing something wrong or not. Also, I've been watching a lot of your videos lately and it would be really good if you reminded the people watching of subscribing! I myself forgot on the first two lmao,and just saying it is enough to boost up the count.
I ended up making an exploder in a test world with an enchant that summoned an explosion and immediately killed the user on tick, so you could summon an armor stand wearing it to make an arbitrary explosion. Of course, thats dangerous stuff, accidentally put in on and softlocked thr world x3
That's a great idea!
Is there any predicates for using a shield?
great video, super useful, got me to make some custom enchants for myself! however, i'm running into an issue trying to make multishot also apply to tridents. i copied the multishot json and just changed the supported items from enchantable/crossbow tag to minecraft:trident, and although it does let me enchant the trident with multishot it doesn't actually add the projectiles. any ideas? really stumped on this one
Multishot is hardcoded to only work with arrows. Trident enchantments and arrow enchantments generally don't mix
@@conure512 aw that's kind of sad, is there any way that this functionality can be achieved? i tried looking at projectile spawned but couldn't get that to behave how i envisioned either. either way, thanks for response
How would i replicate protection enchant and have it work for armor overall? i cant add multiple tags into supported items
@@Arcadian001 You can make a new tag that references all those tags, and there might also be a #enchantable/armor tag (i dont remember right off, check the wiki for the exact name)
4:39 It's interesting to me (as a non native) that "whom" is so uncommon that you have never used it "unironically" in your life untile now.
yeah basically no one uses whom unless they're speaking formally. it's technically a grammatical error to use "who" as an object but nobody really cares lmao
Criminally underated video.
Wait, so you can create a wololo stick?
Hey there Conure, I love your videos and I was trying to tinker with your example data pack but couldn't rename or make my own enchants. Im struggling with it a lot so can you please release another video with a linked data pack with your own (specific) custom enchants? Anything you want really, but it will really help. Thanks!
man, ty
u did so great, and I've haven't learn command like this happy for so long
I was trying to figure out a way to trigger an entity effect on the attacker after getting a kill on another entity.
when using post attack, and the enchanted and affected are the attacker, you cannot directly check for the health of the attacked mob. When using the conditions under targeted mob, checking for nbt when health is at 0 doesn't seem to work either. any tips?
I do have a way around it using advancements to trigger effects on kills, but I would like to get it to work as an enchantment.
According to the wiki, using "entity":"this" on a post_attack should always run the predicate as the attacked mob, even if affected is attacker. (You can run the predicate on the attacker instead by using "entity":"attacker".) If that isn't working, then there's a bug, because that's the intended behavior.
That worked perfectly, thank you.
I though that I had it set as "entity":"this" but I must have changed it when using code from another enchantment.
11:09 would this not be used for curse of vanishing? That seems like it would do exactly that
edit: nevermind, prevent_equipment_drop does that. however it is interesting that it could be used to also make items disappear
prevent_equipment_drop mentioned near the end of the video is curse of vanishing
@@the10ofdiamondscard i saw that, forgot to edit my comment
10:15 fishing_time_reduction and fishing_luck_bonus are both used by lure and luck of the sea both
Yeah!!!
question: can you make an item that has a hidden custom enchantment? like lets say i want to make a special custom item that makes you taller when held, i could do that with an enchantment but i want it to seem like that's just how the item works. or maybe even custom arrows that enchant the bow temporarily when used?
You can hide enchantments, but if you do, it will hide ALL enchantments. So you should probably only do that on items that you don't want to also be enchantable.
One trick I did once (for an item that I wanted to be enchantable but have just one hidden enchantment) was to disguise the hidden enchantment as that item's normal tooltip. Put the tooltip as the enchantment's description, with color formatting to hide the fact that it's a curse.
@@conure512 so turns out, item attribute modifiers can do what i was wanting to be the base functionality of my item!
Does anyone know if there is a way to make an enchantment reduce a flat amount of incoming damage?
I honestly don't think so. It's weird how random/specific/seemingly-arbitrary the stuff we can edit is.
I, too, would love to be able recreate Terraria's armor mechanics lmao
Ur discord invite link is expired plz add new link
It's working for me! If you were using a mobile device sometimes the redirects can get messed up, I would try again from desktop
"learning" hrm hum
ANOTHER CONURE BANGER
soooo
is this better in anything than mods?
in a lot of ways this is better than some mods as this does not require players joining a server to download or change anything on their end. all of this will be able to run server side. Also in my (limited) experience, these datapacks seem to run a bit smoother than having mods installed.
datapacks poppin off!
Why are you restarting the whole server to apply datapack changes instead of just /reload?
Some datapack functions can't be reloaded with the /reload command. I think these are the ones that are set up on loading the world itself.
Hey, I have a question, you know how you can have max levels, for example, Example I, Example II, Example III, etc... well how do you make it so those levels actually effect the enchantment, because I'm making an enchant for Bows which does the same thing as multishot. But the arrows dont actually scale with the level.
That's done with Level-Based Values! I cover this at 8:15 in the video.
@@conure512 Thank you! Somehow I missed it when watching, my bad!
In theory you could now make world edit as a data pack right?
I mean it'd be really hard, and it wouldn't feel quite the same to use (the axe would still be able to break blocks), but yeah you could probably get close to recreating it lol
@@conure512 Couldn't you get around some of that by making part of the world edit enchantment that it reduces the player.block_break_speed attribute to zero (or near it if at zero disables left click) when held by using a negative value and "add_multiplied_total"?
@@overforest1195 That doesnt apply in Creative mode sadly
@@conure512
Ah, I see. I thought it would as I has assumed that swords and (I think) maces being unable to break blocks in creative worked in a similar way, but apparently not then. That's a shame.
i thought advancements already had location_changed before the enchantment stuff?
The "location" trigger is literally just like "tick" but every second instead of every tick. I have no idea why they even called it "location".
Meanwhile, "enter_block" triggers multiple times per tick even if you arent moving. It also triggers every time any part of your hitbox even touches another block.
Only this enchantment component triggers when your COORDINATES transfer to a new block position.
I am so sad that damage immunity doesnt work with random chance condition. It just refuses to load the pack 😅
Wait really? That's annoying. I guess they have different conditions that are hardcoded to work on different components??
Wait, this is now making me rethink my statement on allowing references. I only tested references with location_changed and got an error message, but maybe it's actually allowed on other component types??
this is such a confusing system ngl hahaha
Edit: Turns out that references are actually never allowed, I just went and tested it on a whole bunch of components.
You can absolutely check other predicate
like
```json
{
"condition": "minecraft:reference",
"name": ""
}
```
Nope! This was the first thing I tried, and the server wouldn't start. The error message was something along the lines of "References are not allowed in enchantment predicates".
They literally went out of their way to ban references.
@@conure512 oh it worked in snapshots so I thought it worked.
@@lawlietgaming9621 wtf, that means that they intended for it to not work
@amthystxx my guess is that the refrence predicate can't pass on some of the enchantment loot context for some reason. And they thought disallowing its use would be easier than making able to do so
@@overforest1195 I'm planning on testing this soon and revising my statement if I find any components that DO allow references. I've since been alerted that there are OTHER condition types that work with some enchantment components but not others.
did you know that damage immunty parameter grants immune to being /killed?
No I actually didn't know that lol, but I suppose it makes sense given that all vanilla enchantments that deal with reducing damage (so damage_immunity, damage_protection) all check for "bypasses_invulnerability:false" in the predicate. So if you don't specifically test for that, then yeah, I guess you could block /kill haha
What is this map that you teach minecraft commands?
You mean the world I'm in? It's just my personal world that I've been using for many years now to test out command creations. I know most datapack creators tend to do stuff like this in superflat worlds, but I always find those a bit boring lol
dude theres some loud transformers in or near your room and its bothering me
it's my computer fan, and this is AFTER i already ran noise suppression lol
@@conure512 lol that is a goofy ahh fan noise. You can try turning the case fans off if you’re not stressing the PC and want it to be quieter
(also if you haven’t: set the fps cap while recording, you need to do this as step 1 to making it quieter cause itll def overheat if no fps cap and no case fans but with a tighter fps cap and fan curves you can probably get away with it)
bedrock? :D
Why you are not using misode datapack generator
There isn't a generator for enchantments yet bruv. Also he just doesn't need it. He can do it in notepads
@@AndreSkipperthere is. Look at misode datapack generator.
@@3141minecraft oh yeah soz, it defaulted to 1.20.5 that's why i didn't see it. Still my point stands and the generator is incomplete regardless
@@AndreSkipper mine's 1.21 what misode are you using LMAO
@@rane7784 I opened up misode and I had it in 1.20.5 because of browser cookies or something. Just had to chang it to 1.21 not a big deal brother
"minecraft:crossbow_charge_time" doesn't seem to work, I am just getting errors
Oh I found it, y'all need to remove the brackets " [ ] " after the "crossbow_charge_time": , and at the end too
@@KeksiGaming Yes, I guess I just forgot to delete those in the video lol. It's just an object, not a list of objects. Same with trident_spin_attack_strength.
@@conure512 I used Githodes GitHub for Datapack generation and it's also wrong there. I was then watching your video again to see if I did something wrong, and it was the same in your video, only figured this out by looking extremely carefully at the vanilla quick charge enchantment