Le titre contient son noyau. J’imagine que la façon dont cela fonctionne est:
- Lorsqu’il n’est pas dans l’eau / la pluie, Riptide ne vous empêchera pas de lancer le trident, mais n’a aucun effet.
- Riptide compensera l’effet de canal (et la fidélité, car Riptide peut presque le faire) lorsqu’il est réellement utilisé. Par conséquent, dans l’eau / la pluie, seul l’effet “torrent” est appliqué. Sinon, le canal et la fidélité seront appliqués.
Dans le même temps, vous devez également faire attention à d’autres correctifs d’enchantement (tels que Châtiment et Fléau des arthropodes compatibles et appliqués avec des niveaux de clarté inférieurs, et / ou des méthodes similaires pour protéger les enchantements).
Que ce soit via des commandes ou des mods, si nécessaire, je les résoudrai de quelque manière que ce soit. Je n’aime pas inventer la roue.
J’ai développé un package de données qui peut combiner Riptide, Channeling et Loyalty. L’enclume sera utilisée en conjonction avec Riptide, mais seulement si vous ne pleuvez pas et utilisez Riptide en premier. Les tables d’enchantement ne les appliqueront pas ensemble.
Le pack de données peut être téléchargé ici.
Concept utilisé
- J’utilise la commande de la réponse de Bruno Rodrigues pour détecter la météo. Si vous regardez le fichier de fonction, ces commandes invoqueront une station blindée à (0, 255, 0) et l’utiliseront pour vérifier la météo.
summon armor_stand ~ ~ ~ {Invulnerable:1b,Invisible:1b,Fire:32766s,CustomName:'"rain"'}
execute as @e[limit=1,name=rain,nbt={Fire:0s}] at @s run scoreboard players set $rain trident_inRain 3 execute as @e[limit=1,name=rain,nbt={Fire:0s}] at @s run data modify entity @s Fire set value 30000 execute as @e[name=rain] if score $rain trident_inRain matches 1.. run scoreboard players remove $rain trident_inRain 1
- J’ai utilisé une autre réponse de Bruno Rodrigues pour vérifier si le joueur avait été pris sous la pluie. Cette technique consiste à vérifier si tous les obstacles ci-dessus sont en l’air. J’ai défini la commande pour faire un trou dans la colonne (0,0), puis je la teste contre un joueur avec le contenu suivant:
fill 0 2 0 0 255 0 minecraft:air
execute as @a at @s if blocks ~ ~1 ~ ~ 255 ~ 0 2 0 all run ...
- J’ai utilisé une technique pour afficher des faux
CanPlaceOn
/CanDestroy
Obtenez les données sur l’objet grâce à la connaissance de l’objet et modifiez-le pour afficher le faux enchantement. Lorsque l’utilisateur n’est pas sous la pluie, l’enchantement «Ondulation» sera supprimé de la liste d’enchantements et de faux enchantements «Ondulation» seront ajoutés en fonction de ces connaissances. - J’utilise la modification de la liste des joueurs pour modifier les données de la liste des joueurs. Cela implique une table de butin spéciale, qui peut être téléchargée ici.
loot replace entity @p hotbar.0 1 mine 0 0 0 stick{drop_contents:1b}
Si vous rencontrez des problèmes lors de l’utilisation de ce package, veuillez créer un problème sur GitHub au lieu de commenter ci-dessous!
Origines: gaming.stackexchange.com