Skip to content

Commit 716351b

Browse files
MelanXBlayTheNinth
andauthored
feat: Add knockout stat (#127)
* Add knockout stat * fix lang key * Fix language key --------- Co-authored-by: BlayTheNinth <[email protected]>
1 parent a15775f commit 716351b

File tree

4 files changed

+19
-0
lines changed

4 files changed

+19
-0
lines changed

common/src/main/java/net/blay09/mods/hardcorerevival/HardcoreRevival.java

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import net.blay09.mods.hardcorerevival.config.HardcoreRevivalConfig;
1111
import net.blay09.mods.hardcorerevival.handler.*;
1212
import net.blay09.mods.hardcorerevival.network.ModNetworking;
13+
import net.blay09.mods.hardcorerevival.stats.ModStats;
1314
import net.minecraft.world.entity.Entity;
1415
import net.minecraft.world.entity.player.Player;
1516
import org.apache.logging.log4j.LogManager;
@@ -27,6 +28,7 @@ public static void initialize() {
2728
HardcoreRevivalConfig.initialize();
2829

2930
ModNetworking.initialize(Balm.getNetworking());
31+
ModStats.initialize(Balm.getStats());
3032

3133
Balm.getCommands().register(ReviveCommand::register);
3234

common/src/main/java/net/blay09/mods/hardcorerevival/HardcoreRevivalManager.java

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import net.blay09.mods.hardcorerevival.mixin.ServerPlayerAccessor;
1313
import net.blay09.mods.hardcorerevival.network.RevivalProgressMessage;
1414
import net.blay09.mods.hardcorerevival.network.RevivalSuccessMessage;
15+
import net.blay09.mods.hardcorerevival.stats.ModStats;
1516
import net.minecraft.core.registries.BuiltInRegistries;
1617
import net.minecraft.core.registries.Registries;
1718
import net.minecraft.resources.ResourceKey;
@@ -49,6 +50,7 @@ public void knockout(Player player, DamageSource source) {
4950
revivalData.setKnockedOut(true);
5051
revivalData.setKnockoutTicksPassed(0);
5152
revivalData.setLastKnockoutAt(System.currentTimeMillis());
53+
player.awardStat(ModStats.knockouts);
5254

5355
// Punish consecutive knockouts
5456
final var lastRescuedAt = revivalData.getLastRescuedAt();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package net.blay09.mods.hardcorerevival.stats;
2+
3+
import net.blay09.mods.balm.api.stats.BalmStats;
4+
import net.blay09.mods.hardcorerevival.HardcoreRevival;
5+
import net.minecraft.resources.ResourceLocation;
6+
7+
public class ModStats {
8+
9+
public static final ResourceLocation knockouts = new ResourceLocation(HardcoreRevival.MOD_ID, "knockouts");
10+
11+
public static void initialize(BalmStats stats) {
12+
stats.registerCustomStat(knockouts);
13+
}
14+
}

common/src/main/resources/assets/hardcorerevival/lang/en_us.json

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"gui.hardcorerevival.rescuing": "Rescuing %s",
1010
"death.attack.not_rescued_in_time": "%1$s was not rescued in time",
1111
"death.attack.not_rescued_in_time.player": "%1$s was not rescued in time",
12+
"stat.hardcorerevival.knockouts": "Knockouts",
1213
"config.hardcorerevival.secondsUntilDeath": "Seconds until Death",
1314
"config.hardcorerevival.secondsUntilDeath.tooltip": "The time in seconds in which a player can still be rescued from death. Set to 0 to disable the timer.",
1415
"config.hardcorerevival.continueTimerWhileOffline": "Continue Timer while Offline",

0 commit comments

Comments
 (0)