mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
--------- Co-authored-by: violetc <58360096+s-yh-china@users.noreply.github.com> Co-authored-by: Fortern <blueten.ki@gmail.com> Co-authored-by: MC_XiaoHei <xor7xiaohei@gmail.com> Co-authored-by: Helvetica Volubi <88063803+Suisuroru@users.noreply.github.com> Co-authored-by: MC_XiaoHei <xiaohei.xor7@outlook.com>
41 lines
2.3 KiB
Diff
41 lines
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Helvetica Volubi <suisuroru@blue-millennium.fun>
|
|
Date: Mon, 19 May 2025 00:06:03 +0800
|
|
Subject: [PATCH] Spawn invulnerable time
|
|
|
|
|
|
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
|
index d4984c919a88fa930dfec823cd9b471fa47f3565..6f845730bb0a9dcd1b26e68171e80edc669b6430 100644
|
|
--- a/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -221,6 +221,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
|
private int lastSentFood = -99999999;
|
|
private boolean lastFoodSaturationZero = true;
|
|
public int lastSentExp = -99999999;
|
|
+ private int spawnInvulnerableTime = 60; // Leaves - spawn invulnerable time
|
|
private ChatVisiblity chatVisibility = ChatVisiblity.FULL;
|
|
public ParticleStatus particleStatus = ParticleStatus.ALL;
|
|
private boolean canChatColor = true;
|
|
@@ -751,6 +752,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
|
this.resetOperationCountPerTick(); // Leaves - player operation limiter
|
|
this.gameMode.tick();
|
|
this.wardenSpawnTracker.tick();
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.spawnInvulnerableTime && this.invulnerableTime > 0) --this.spawnInvulnerableTime; // Leaves - spawn invulnerable time
|
|
if (this.invulnerableTime > 0) {
|
|
this.invulnerableTime--;
|
|
}
|
|
@@ -1185,6 +1187,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
|
if (this.isInvulnerableTo(level, damageSource)) {
|
|
return false;
|
|
} else {
|
|
+ // Leaves start - spawn invulnerable time
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.spawnInvulnerableTime) {
|
|
+ if (this.spawnInvulnerableTime > 0 && !damageSource.is(net.minecraft.tags.DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
|
+ return false;
|
|
+ }
|
|
+ }
|
|
+ // Leaves end - spawn invulnerable time
|
|
Entity entity = damageSource.getEntity();
|
|
if (!( // Paper - split the if statement. If below statement is false, hurtServer would not have been evaluated. Return false.
|
|
!(entity instanceof Player player && !this.canHarmPlayer(player))
|