Swear a flower's oath, and your hand will never harm the creature you chose to spare.
Floral Oath adds two flower charms to Minecraft. Each one binds you to a promise: the creature you protect becomes completely immune to your own attacks. The oath is personal, so other players are not affected.
Available for Minecraft 1.20.1 (Forge 47.x) and Minecraft 1.21.1 (NeoForge 21.1.x). Both builds share the same items, recipes and behaviour.
At a glance
Two oath items: one protects a single creature, the other protects every creature of one kind.
Protected hits deal no damage, no hurt animation, no knockback and no sound, and raise no damage event at all.
Oaths are stored per player and survive relogging, dimension changes and death.
Optional Jade support, and it keeps working even against mods built to bypass protection.
Two flowers, two kinds of oath
Cornflower's Vow floraloath:cornflower_guard protects one single creature. Swear it on several creatures and each of them is safe from you.
Dandelion's Promise floraloath:dandelion_guard protects every creature of one kind. Swear it on a cow and no cow will ever take your damage again.
How to use
Right-click a creature to swear the oath on it. The flower is never consumed.
Sneak + right-click a creature to release the oath on it, or on its whole kind.
Sneak + right-click anything else (air, a block, a non-living entity) to release every oath of the flower you are holding. The cornflower never touches dandelion oaths, and the dandelion never touches cornflower ones.
Crafting
Cornflower's Vow = 2 × Cornflower, shapeless.
Dandelion's Promise = 2 × Dandelion, shapeless.
What "protected" really means
A protected hit is dropped before any vanilla damage logic runs: no health loss, no hurt animation, no knockback, no hurt sound and no damage event. Creature AI, maid affection or trust systems and other mods never learn that you attacked. Melee, arrows, tridents, thrown potions, gun bullets and other player-attributed projectiles are all covered.
What is not covered: environmental damage (fall, fire, lava, drowning) and attacks from other creatures. Those are not "your attack", and a protected creature does not become immortal.
Works even against protection-bypass mods
Some mods are built to defeat other protections. For example, Love & Loathe (爱憎分明) for Touhou Little Maid can swallow event cancellations, force damage back through Forge hooks, write health directly and even call die() by hand. Floral Oath answers that with two layers:
Hit veto — a protected hit returns false before vanilla damage logic, so the creature feels nothing at all.
Oath shield — if a bypass mod still forces health down or calls death, the health floor is restored and the forced death is refused, for the tick of that hit only.
This works at both the basic and the ultimate protection-bypass level.
Jade integration (optional)
With Jade installed, sneak and look at a creature. The tooltip lists the flower, or flowers, currently protecting it: Cornflower's Vow in cornflower blue and/or Dandelion's Promise in dandelion yellow. Nothing is shown when no oath applies. Everything works fine without Jade.
Details
Maximum stack size: 1. The item is never consumed.
The flower must be held in your main hand.
Oaths are per player: two players can protect the same creature, and each of them is restricted separately.
Works on players too, if you would rather swear not to hit your friends.
Both items are available in the creative tab Floral Oath and in Tools & Utilities.
Works in single player, on LAN and on dedicated servers.
Requirements
Minecraft 1.20.1 with Forge 47.x (Java 17), or
Minecraft 1.21.1 with NeoForge 21.1.x (Java 21)
Jade: optional
FAQ
Does it stop other players from hurting my creature? No. The oath only binds the player who swore it.
Can the creature still die? Yes, from anything that is not your attack: other mobs, fall damage, fire, lava, and so on.
Why do I see a message but no damage? That is the oath working. A short action bar note tells you the hit was blocked.
Can I use it in a modpack? Yes, please do. Just link back to this page and do not reupload the jar elsewhere.
Does it work on a server? Yes, it is server-side logic. Clients only need it for the Jade tooltip.
Changelog
1.2.2 (NeoForge 1.21.1) — Ported to Minecraft 1.21.1 / NeoForge 21.1. Same items, recipes and protection behaviour, including the oath shield and Jade support.
1.2.2 — Renamed the project to Floral Oath (花之誓言); the items are now Cornflower's Vow and Dandelion's Promise, and the cornflower has a new flavour line.
1.2.1 — Releasing all oaths now only clears the held flower's oaths; the cornflower and the dandelion no longer clear each other.
1.2.0 — Protected hits are now vetoed before damage logic: no hurt animation, no knockback, no sound, no damage events, and no emotion or trust changes.
1.1.0 — Added the oath shield that keeps working against protection-bypass mods.
1.0.1 — Fixed item icons and the creative tab icon.
1.0.0 — Initial release.
Credits
Concept inspired by protection-charm ideas such as PhiLia Amulet. Built for Minecraft Forge 1.20.1 and NeoForge 1.21.1.
Licensed under the MIT license.

