Out of Combat
Modby RisingInIris2017
Bring a simple but easily configurable Out-of-Combat mechanic into Minecraft.
Description
Out of Combat

Overview
Out of Combat mod.
Support nearly ALL major versions, namely, 1.12.2, 1.16.1-1.16.5, 1.18-1.18.2, 1.20.1, 1.20.6.
As what its name represents, it brings a simple but easily configurable Out-of-Combat mechanic into Minecraft.
Simple means its logic and mechanic are both simple:
(T1, T2, T3 are independent variables, representing number of Minecraft game ticks)
-
Detect if player has not attacked for a given time
T1/ been damaged for a given timeT2. -
If player has neither attacked for
T1nor been damaged forT2, start to count the out-of-combat time.If player attacks / is damaged, clear the corresponding timer and the out-of-combat timer.
-
If out-of-combat time exceeded
T3, player is out of combat.
3 NBT tags updated by events serve as timers, to fulfill the logic above.
Besides, an additional countdown timer will pause the ticking of the out-of-combat timer, but not clear it. It can be used in other combat mechanics.
For example, assuming player can get "Invulnerable"-like abilities in your modpack. when those abilities are activated, they may still in combat, but will not be damaged. If you would like to do so, you may let this countdown timer countdown for the time equals to the abilities' durations. So that the out-of-combat timer will wait for the abilities to deactivate, and continues after that.
Documents for Usage
Config File
1.12.2 version: config/out_of_combat.cfg (GitHub)
1.16.x version: config/out_of_combat-common.toml (GitHub)
1.18+ version: config/out_of_combat-common.toml (GitHub)
It is well documented in its comments.
Default values are large, means this mod are not effective until you modify this config file.
NBT Names and Structure
These 4 NBT tags are saved in player's persisted data: ForgeData/PlayerPersisted, with the structure below.
ForgeData: {
PlayerPersisted: {
out_of_combat: {
noAttackingTime: 0L // No Attacking Timer
noAttackedTime: 0L // Not Being Damaged Timer
stopOutOfCombatTimer: 0L // Countdown. Before This is count to 0, Out-of-Combat timer will not tick.
outOfCombatTime: 0L // Out of Combat Timer
}
}
}
That means, you can easily manipulate the value of each of them with your mods or CraftTweaker/KubeJS scripts or any other scripts like them.
No need for complex APIs or special integrations/compatibilities.
Future Plans
Support other Minecraft versions.
Recommended Gear
AffiliateHardware and extras that pair well with this mod.
As an Amazon Associate I earn from qualifying purchases.
Similar Mods
Scraps and Shards
Scrap junk piles in worldgen, bone shards, flint shards, for early game crafting and recycling, and a custom data tag fo...
Freeze It, and Heat It!
A food temperature system as an addon for cold sweat.
Tensura EP Scaling
Disclaimer: No Orc's were harmed in the making of this mod Allows Various Items to scale and evolve based on EP from the...
Reality City Construction
A fabric mod added Decoration blocks for City Construction in Minecraft
Electronic Devices
Decorative mod that adds plenty of electronic devices to decorate your house.
Keep Inventory Penalty
Adds a configurable xp penalty when you die while using keepInventory.