save stuff here

This commit is contained in:
Ben Kerllenevich
2023-06-09 00:01:03 -04:00
parent 0b3c94c72d
commit 8768f54932
159 changed files with 4276 additions and 3663 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3b6af7b76db3d550eb7f199f9e8afd1c0af97e2e..206e8d9f7f04b4097402fa66390e7051af7df61e 100644
index 68c163b6817ba4dd6ecd6b1fc82e37e5549d9569..dcc4a25a8c7a7809222cf585901f057c64946a68 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -278,6 +278,7 @@ public class ServerPlayer extends Player {
@@ -82,7 +82,7 @@ index 3b6af7b76db3d550eb7f199f9e8afd1c0af97e2e..206e8d9f7f04b4097402fa66390e7051
public Scoreboard getScoreboard() {
return this.getBukkitEntity().getScoreboard().getHandle();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 1645c63f36c6d4bcd6e6ac474af8504848b1c077..585a712467ee29c32ef8e59cc800f2a5bfae1db6 100644
index 06046289cdad2413b065ea2515c852adeeeb2edb..863ac0559e8ec3ebad355a4863277ff6ee2228f0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2088,12 +2088,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -90,7 +90,7 @@ index 1645c63f36c6d4bcd6e6ac474af8504848b1c077..585a712467ee29c32ef8e59cc800f2a5
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
+ // Purpur start
+ if (player.level.purpurConfig.playerInvulnerableWhileAcceptingResourcePack && !this.player.acceptingResourcePack) {
+ if (player.level().purpurConfig.playerInvulnerableWhileAcceptingResourcePack && !this.player.acceptingResourcePack) {
+ ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack packet exploitation attempt", this.player.getName());
+ this.disconnect(Component.translatable("multiplayer.texturePrompt.failure.line1"), org.bukkit.event.player.PlayerKickEvent.Cause.RESOURCE_PACK_REJECTION); // "Server resource pack couldn't be applied"
+ return;
@@ -102,20 +102,20 @@ index 1645c63f36c6d4bcd6e6ac474af8504848b1c077..585a712467ee29c32ef8e59cc800f2a5
}
// Paper start
PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()];
+ if (player.level.purpurConfig.playerInvulnerableWhileAcceptingResourcePack) player.setFrozen(packStatus == PlayerResourcePackStatusEvent.Status.ACCEPTED); // Purpur
+ if (player.level().purpurConfig.playerInvulnerableWhileAcceptingResourcePack) player.setFrozen(packStatus == PlayerResourcePackStatusEvent.Status.ACCEPTED); // Purpur
+ this.player.acceptingResourcePack = packStatus == PlayerResourcePackStatusEvent.Status.ACCEPTED; // Purpur
player.getBukkitEntity().setResourcePackStatus(packStatus);
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
// Paper end
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index e73f0615ab8320da2a993d7dae0601d8e1536c58..b17b953d089e84026707f4ddc28b9b9718099d2a 100644
index e73f0615ab8320da2a993d7dae0601d8e1536c58..4729f40c5420f80d4c6ba25a7745c4c51a327fbd 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -976,6 +976,8 @@ public abstract class PlayerList {
}
// Paper end
+ entityplayer1.spawnInvulnerableTime = entityplayer1.level.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
+ entityplayer1.spawnInvulnerableTime = entityplayer1.level().purpurConfig.playerSpawnInvulnerableTicks; // Purpur
+
// CraftBukkit end
return entityplayer1;
@@ -146,7 +146,7 @@ index fea8f974c5e35b0f5c515a4c7f033482e54979c6..cf82afb7949a0031c1b656149e583c40
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index aa2371a611ca83247d422cc79ea37a8d798fdd0f..b2b286de570ba7c80c40ff5d9ac4b2602054b523 100644
index 7052ca0128562fb59c3acc2ef354092e349cbffb..724ceea7198e540c391e0c5ad02817033bec694c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -97,6 +97,8 @@ public class PurpurWorldConfig {
@@ -166,4 +166,4 @@ index aa2371a611ca83247d422cc79ea37a8d798fdd0f..b2b286de570ba7c80c40ff5d9ac4b260
+ playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
}
public double axolotlMaxHealth = 14.0D;
public boolean babiesAreRidable = true;