KissMod
A tiny server-side mod: sneak near another player a few times and hearts pop up overhead — a small, friendly gesture.

Command
/kiss <player>— send a kiss to another player. Each player can use it once every 10 seconds by default. The kissed player gets a heads-up and a little burst of hearts above their head.
Two permissions are exposed by default, both granted to all players:
kissmod.commandfor/kisskissmod.triggerfor the sneak-triggered hearts
Override either with your permissions mod if you want to change who can use them.
Configuration
KissMod is server-side — edit the server config and restart to apply changes.
- Fabric:
config/kissmod/config.yml - NeoForge:
kissmod-server.tomlin the loader's server config location
The config keeps your existing values across upgrades and fills new fields with defaults. Upgrading from KissMod v1? Your old kissmod.json (Fabric) or kissmod-common.toml (NeoForge) is imported the first time, then removed once the new file is written. A current config with custom values is never overwritten.
Hearts for friendly mobs
Hearts trigger the same way as with players: sneak rapidly nearby. By default, this also works for vanilla friendly mobs like villagers, cows, and wolves. The difference is that the hearts appear over the mob's head, not the player's.
You can turn this off, or customize the target list with any entity type IDs or tags you like. Modded mobs are also supported as long as the mod is on the server — no extra integration needed.
Fabric YAML example
sneakParticleDecay: 2
sneakTriggerCount: 3
sneakTriggerWindowTicks: 40
sneakPreviewRadius: 6.0
enableEntityParticles: true
entityParticleRadius: 8.0
heartParticleHeightOffset: 0.35
friendlyEntityTypes:
- minecraft:villager
- minecraft:cow
- minecraft:sheep
- minecraft:pig
- minecraft:chicken
- minecraft:horse
- minecraft:donkey
- minecraft:mule
- minecraft:llama
- minecraft:cat
- minecraft:wolf
friendlyEntityTags: []
NeoForge TOML example
[sneak]
sneakParticleDecay = 2
sneakTriggerCount = 3
sneakTriggerWindowTicks = 40
sneakPreviewRadius = 6.0
[entityParticles]
enableEntityParticles = true
entityParticleRadius = 8.0
heartParticleHeightOffset = 0.35
friendlyEntityTypes = [
"minecraft:villager",
"minecraft:cow",
"minecraft:sheep",
"minecraft:pig",
"minecraft:chicken",
"minecraft:horse",
"minecraft:donkey",
"minecraft:mule",
"minecraft:llama",
"minecraft:cat",
"minecraft:wolf"
]
friendlyEntityTags = []
Contributing
If you'd like to build or release KissMod, see CONTRIBUTING.md.
License
How to Install kiss (Mod)
kiss by Hyouka is verified for Fabric, Neoforge, Quilt across Minecraft versions 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2 (latest release: 2.0.0-alpha.3+mc26.3-neoforge, file size: 40 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2) and platform (Fabric, Neoforge, Quilt).
- Make sure you have the compatible loader or environment installed for Fabric, Neoforge, Quilt.
- Move the downloaded kiss file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.
- Minecraft 26.3 is now supported for Fabric and NeoForge servers.
### Fixed
- The sneak-trigger burst honors
maxSneakParticlesinstead of emitting one heart above the configured cap, and is skipped entirely when the cap is0. - The
/kisscooldown is no longer reset by disconnecting and reconnecting; expired entries are now pruned by elapsed time instead of by online status.