mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 08:57:44 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: f7b4abb25 [Auto] Updated Upstream (Bukkit/CraftBukkit) 8b47131da Optimize short circuit evaluation of sign check (#5348) 1a2fd12a5 Drop carried item when player has disconnected (#5036) (#5166) 68af93524 Use PaperAdventure.PLAIN instead of PlainComponentSerializer.plain() for AdventureComponent#getString (#5414) Tuinity Changes: 2c1662918 Fix NPE in NetworkManager#execute 1b0d7833d Updated Upstream (Paper) 2a6cd81ca Make sure to remove correct TE during TE tick a9599d80d Fix incorrect parsing of positive target-send-rate ab00f31c4 Do not load chunks around fake players 94f025a2e Updated Upstream (Paper)
46 lines
2.9 KiB
Diff
46 lines
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: JustDoom <justdoomdev@gmail.com>
|
|
Date: Fri, 5 Mar 2021 14:23:16 -0500
|
|
Subject: [PATCH] Dont run with scissors!
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
|
index c93fc03d49c467a6db2e55f4999edad3452136a4..8359ccf316d292d81c56600887178cea6e33f270 100644
|
|
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
|
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
|
@@ -1533,6 +1533,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
|
this.player.fallDistance = 0.0F;
|
|
}
|
|
|
|
+ // Purpur Start
|
|
+ if (this.player.isSprinting() && this.player.getWorldServer().purpurConfig.dontRunWithScissors && (this.player.getItemInHand(EnumHand.MAIN_HAND).getItem() == Items.SHEARS || this.player.getItemInHand(EnumHand.OFF_HAND).getItem() == Items.SHEARS) && (int) (Math.random() * 10) == 0) {
|
|
+ this.player.damageEntity(net.minecraft.world.damagesource.DamageSource.MAGIC, (float) this.player.getWorldServer().purpurConfig.scissorsRunningDamage);
|
|
+ }
|
|
+ // Purpur End
|
|
+
|
|
this.player.checkMovement(this.player.locX() - d0, this.player.locY() - d1, this.player.locZ() - d2);
|
|
this.o = this.player.locX();
|
|
this.p = this.player.locY();
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
index 7afc05f54f4b2fda3b250cb8fd1973247be5933f..bd3a7b45746ec2981cd4f6373e7af11ac668bba6 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -168,6 +168,8 @@ public class PurpurWorldConfig {
|
|
public List<Item> itemImmuneToCactus = new ArrayList<>();
|
|
public List<Item> itemImmuneToExplosion = new ArrayList<>();
|
|
public List<Item> itemImmuneToFire = new ArrayList<>();
|
|
+ public boolean dontRunWithScissors = false;
|
|
+ public double scissorsRunningDamage = 1D;
|
|
private void itemSettings() {
|
|
itemImmuneToCactus.clear();
|
|
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
|
@@ -196,6 +198,8 @@ public class PurpurWorldConfig {
|
|
Item item = IRegistry.ITEM.get(new MinecraftKey(key.toString()));
|
|
if (item != Items.AIR) itemImmuneToFire.add(item);
|
|
});
|
|
+ dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors);
|
|
+ scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);
|
|
}
|
|
|
|
public boolean idleTimeoutKick = true;
|