Skip to content

Commit 2655657

Browse files
Tell players about running with scissors
1 parent b2fe934 commit 2655657

19 files changed

Lines changed: 116 additions & 63 deletions

patches/server/0004-Component-related-conveniences.patch

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,37 @@ Date: Tue, 29 Jun 2021 21:37:40 -0500
44
Subject: [PATCH] Component related conveniences
55

66

7+
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8+
index 0da2dbeba93d428a035872e05177ed3fc29acf9b..f3d23ced47e7dd7bc4005379962a9efcb8edf084 100644
9+
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
10+
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
11+
@@ -1677,6 +1677,26 @@ public class ServerPlayer extends Player {
12+
}
13+
// CraftBukkit end
14+
15+
+ // Purpur start
16+
+ public void sendActionBarMessage(@Nullable String message) {
17+
+ if (message != null) {
18+
+ sendActionBarMessage(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(message));
19+
+ }
20+
+ }
21+
+
22+
+ public void sendActionBarMessage(@Nullable net.kyori.adventure.text.Component message) {
23+
+ if (message != null) {
24+
+ sendActionBarMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(message));
25+
+ }
26+
+ }
27+
+
28+
+ public void sendActionBarMessage(@Nullable Component message) {
29+
+ if (message != null) {
30+
+ displayClientMessage(message, true);
31+
+ }
32+
+ }
33+
+ // Purpur end
34+
+
35+
@Override
36+
public void displayClientMessage(Component message, boolean actionBar) {
37+
this.sendMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.CHAT, Util.NIL_UUID);
738
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
839
index 570cea8ee6a442b2dc3c6ef849294ef0c02027ca..ec98fb6d4a407d5be8faf64db0d73e935e16623d 100644
940
--- a/src/main/java/net/minecraft/server/players/PlayerList.java

patches/server/0005-Ridables.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ index 4cc099b469a7554e381a6f7aceb686a94f7d6605..06177ec182d79cd101da9cd43a841656
3434

3535
this.profiler.push(() -> {
3636
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
37-
index a83b4e9b6b5bd6a57d4bc2f1cdc78ffb7e7d2fdd..26c39cb0cd5e3c22825067f0d0d439c1044955a2 100644
37+
index 57163e3cb883ded5861e57c3ca03663c02ee7492..67cdf31f3ce9f85743ce10bd2dee6854be1d69f9 100644
3838
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
3939
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
4040
@@ -205,6 +205,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
@@ -46,7 +46,7 @@ index a83b4e9b6b5bd6a57d4bc2f1cdc78ffb7e7d2fdd..26c39cb0cd5e3c22825067f0d0d439c1
4646
return new Throwable(entity + " Added to world at " + new java.util.Date());
4747
}
4848
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
49-
index 0da2dbeba93d428a035872e05177ed3fc29acf9b..56a60f26695cc888ee3f1f394f7d6108a3426071 100644
49+
index f3d23ced47e7dd7bc4005379962a9efcb8edf084..fde98f9c4a3e151dbc277541fbd2cc0a8d957069 100644
5050
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
5151
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
5252
@@ -668,6 +668,15 @@ public class ServerPlayer extends Player {
@@ -65,7 +65,7 @@ index 0da2dbeba93d428a035872e05177ed3fc29acf9b..56a60f26695cc888ee3f1f394f7d6108
6565
}
6666

6767
public void doTick() {
68-
@@ -2384,4 +2393,6 @@ public class ServerPlayer extends Player {
68+
@@ -2404,4 +2413,6 @@ public class ServerPlayer extends Player {
6969
return (CraftPlayer) super.getBukkitEntity();
7070
}
7171
// CraftBukkit end

patches/server/0011-AFK-API.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8-
index 56a60f26695cc888ee3f1f394f7d6108a3426071..4713ca7eaa178916508476472a2ca899c6587dc2 100644
8+
index fde98f9c4a3e151dbc277541fbd2cc0a8d957069..011ebba656174cb415d43244c50db250fa8f0a30 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
11-
@@ -1932,8 +1932,58 @@ public class ServerPlayer extends Player {
11+
@@ -1952,8 +1952,58 @@ public class ServerPlayer extends Player {
1212

1313
public void resetLastActionTime() {
1414
this.lastActionTime = Util.getMillis();

patches/server/0019-Player-invulnerabilities.patch

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8-
index 4713ca7eaa178916508476472a2ca899c6587dc2..44b0e610fa2eb5f73a74bfadefc3f58bd20d6f6d 100644
8+
index 011ebba656174cb415d43244c50db250fa8f0a30..1653928faba2422bfa5fff93be5b4d8f9c9447ed 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
1111
@@ -338,6 +338,7 @@ public class ServerPlayer extends Player {
@@ -46,24 +46,25 @@ index 4713ca7eaa178916508476472a2ca899c6587dc2..44b0e610fa2eb5f73a74bfadefc3f58b
4646
return this;
4747
}
4848
}
49-
@@ -2395,8 +2403,16 @@ public class ServerPlayer extends Player {
49+
@@ -2415,9 +2423,17 @@ public class ServerPlayer extends Player {
5050

5151
@Override
5252
public boolean isImmobile() {
5353
- return super.isImmobile() || (this.connection != null && this.connection.isDisconnected()); // Paper
5454
+ return super.isImmobile() || frozen || (this.connection != null && this.connection.isDisconnected()); // Paper // Purpur
55-
+ }
56-
+
55+
}
56+
5757
+ // Purpur start
5858
+ private boolean frozen = false;
5959
+
6060
+ public void setFrozen(boolean frozen) {
6161
+ this.frozen = frozen;
62-
}
62+
+ }
6363
+ // Purpur end
64-
64+
+
6565
@Override
6666
public Scoreboard getScoreboard() {
67+
return this.getBukkitEntity().getScoreboard().getHandle();
6768
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
6869
index 210b774eae5d76823e171016e9e6b706e8da4f07..550ff06264aa4fffdd9b9291efec121ac034d963 100644
6970
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java

patches/server/0085-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
55

66

77
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
8-
index 30db21164b63d72b9bf6be38867cdcfdbd3c702b..8d427389756f173264da9d0da7b413763c41842a 100644
8+
index 135f13864a85934c0127aa059bfe6c0e25140dfc..2cfd9895b9a371e731b416ec8745aae839e0054b 100644
99
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
1010
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
11-
@@ -2462,5 +2462,25 @@ public class ServerPlayer extends Player {
11+
@@ -2482,5 +2482,25 @@ public class ServerPlayer extends Player {
1212
}
1313
// CraftBukkit end
1414

patches/server/0161-Dont-run-with-scissors.patch

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,45 @@ Subject: [PATCH] Dont run with scissors!
55

66

77
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
8-
index 5f6def82949d62bdfc74bcd15dffb4d946c20354..00d36af8db88f314bed2904386f1b827d5ec082e 100644
8+
index 25c5d4c7c2db31c7a8c04a862928c6743ab5b130..9a2da610017064c914f84701f2b83d70f887acdb 100644
99
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
1010
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
11-
@@ -1575,6 +1575,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
11+
@@ -1575,6 +1575,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
1212
this.player.fallDistance = 0.0F;
1313
}
1414

1515
+ // Purpur Start
1616
+ if (this.player.isSprinting() && this.player.level.purpurConfig.dontRunWithScissors && (this.player.getItemInHand(InteractionHand.MAIN_HAND).getItem() == Items.SHEARS || this.player.getItemInHand(InteractionHand.OFF_HAND).getItem() == Items.SHEARS) && (int) (Math.random() * 10) == 0) {
1717
+ this.player.hurt(net.minecraft.world.damagesource.DamageSource.MAGIC, (float) this.player.level.purpurConfig.scissorsRunningDamage);
18+
+ if (!net.pl3x.purpur.PurpurConfig.dontRunWithScissors.isBlank()) this.player.sendActionBarMessage(net.pl3x.purpur.PurpurConfig.dontRunWithScissors);
1819
+ }
1920
+ // Purpur End
2021
+
2122
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
2223
this.lastGoodX = this.player.getX();
2324
this.lastGoodY = this.player.getY();
25+
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
26+
index 00a5c65439a30499156a10b1822760fe48ee7776..3b68981645eb70df8828d437411564e88ed88ee0 100644
27+
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
28+
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
29+
@@ -163,6 +163,7 @@ public class PurpurConfig {
30+
public static String creditsCommandOutput = "<green>%s has been shown the end credits";
31+
public static String demoCommandOutput = "<green>%s has been shown the demo screen";
32+
public static String pingCommandOutput = "<green>%s's ping is %sms";
33+
+ public static String dontRunWithScissors = "<red><italic>Don't run with scissors!";
34+
private static void messages() {
35+
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
36+
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
37+
@@ -172,6 +173,7 @@ public class PurpurConfig {
38+
creditsCommandOutput = getString("settings.messages.credits-command-output", creditsCommandOutput);
39+
demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
40+
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
41+
+ dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors);
42+
}
43+
44+
public static int seedFeatureBamboo = -1;
2445
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
25-
index 5b9998121d52d2b8390b95f1a4449ddadf543c22..b12404430997b17139324aef7ea61cc56682c51f 100644
46+
index 3167b821798428e955daa421ca121b3403bc7ff4..a9fd8ebf763b379a203c17a54fce5e841249d5ca 100644
2647
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
2748
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
2849
@@ -153,6 +153,8 @@ public class PurpurWorldConfig {

patches/server/0176-Allow-infinity-on-crossbows.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,18 @@ index 6f6106ca4d74d50a7b74b086adc96c58c7906cb6..d6417c1e77ac8823e18a179dc9f61757
5959

6060
public abstract boolean canEnchant(Item item);
6161
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
62-
index 9d2b3f57779b1bc9732636a4618ef58ce7f6f722..ec9c2d5ed7ee5ab2681b0364c4d2395481ea5585 100644
62+
index 3b68981645eb70df8828d437411564e88ed88ee0..205c63aa343d814914a34df6b082de28405a9728 100644
6363
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
6464
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
65-
@@ -344,6 +344,7 @@ public class PurpurConfig {
65+
@@ -346,6 +346,7 @@ public class PurpurConfig {
6666
}
6767

6868
public static boolean allowInfinityMending = false;
6969
+ public static boolean allowCrossbowInfinity = false;
7070
private static void enchantmentSettings() {
7171
if (version < 5) {
7272
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
73-
@@ -351,6 +352,7 @@ public class PurpurConfig {
73+
@@ -353,6 +354,7 @@ public class PurpurConfig {
7474
set("settings.enchantment.allow-infinite-and-mending-together", null);
7575
}
7676
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);

patches/server/0182-Config-to-allow-for-unsafe-enchants.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,18 @@ index 5bd25f8b8a554b965665b3f5686c14189b51f28e..4be9924556e0f447dbe6a53c2d4cb7fb
7575
this.getOrCreateTag().put(key, tag);
7676
}
7777
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
78-
index ec9c2d5ed7ee5ab2681b0364c4d2395481ea5585..4216dd6d71dfa3bffa97bc5d86a9ab30337bb8bd 100644
78+
index 205c63aa343d814914a34df6b082de28405a9728..1fc3f6b22fcde88b36759b587e5cf7d2b28ebd30 100644
7979
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
8080
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
81-
@@ -345,6 +345,7 @@ public class PurpurConfig {
81+
@@ -347,6 +347,7 @@ public class PurpurConfig {
8282

8383
public static boolean allowInfinityMending = false;
8484
public static boolean allowCrossbowInfinity = false;
8585
+ public static boolean allowUnsafeEnchants = false;
8686
private static void enchantmentSettings() {
8787
if (version < 5) {
8888
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
89-
@@ -353,6 +354,7 @@ public class PurpurConfig {
89+
@@ -355,6 +356,7 @@ public class PurpurConfig {
9090
}
9191
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
9292
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);

patches/server/0187-Config-to-change-max-number-of-bees.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@ index 8484e80a70129fb0358d56efab6fd54798b54e6e..ffacc4b8cc3ab8285c4131aec58e48ff
1818
public BeehiveBlockEntity(BlockPos pos, BlockState state) {
1919
super(BlockEntityType.BEEHIVE, pos, state);
2020
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
21-
index 4216dd6d71dfa3bffa97bc5d86a9ab30337bb8bd..aa218a0f98c0cbb5f663f217baba73d9f6c29740 100644
21+
index 1fc3f6b22fcde88b36759b587e5cf7d2b28ebd30..71d252353662e6af2d05dad4e093b7930f86c163 100644
2222
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
2323
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
24-
@@ -326,6 +326,7 @@ public class PurpurConfig {
24+
@@ -328,6 +328,7 @@ public class PurpurConfig {
2525
public static boolean enderChestSixRows = false;
2626
public static boolean enderChestPermissionRows = false;
2727
public static boolean cryingObsidianValidForPortalFrame = false;
2828
+ public static int beeInsideBeeHive = 3;
2929
private static void blockSettings() {
3030
if (version < 3) {
3131
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
32-
@@ -341,6 +342,7 @@ public class PurpurConfig {
32+
@@ -343,6 +344,7 @@ public class PurpurConfig {
3333
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
3434
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
3535
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);

patches/server/0190-Gamemode-extra-permissions.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ index 79f6089b934124c3309c6bee2e48b36b937252e0..dff8ef0a1a2e52792070d93685c29002
5454

5555
for(ServerPlayer serverPlayer : targets) {
5656
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
57-
index aa218a0f98c0cbb5f663f217baba73d9f6c29740..bc46e80e8dbe82d495d73a1b32bba763c0ca9715 100644
57+
index 71d252353662e6af2d05dad4e093b7930f86c163..2d01b22bce83431904869b714e77c783aa394533 100644
5858
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
5959
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
60-
@@ -322,6 +322,11 @@ public class PurpurConfig {
60+
@@ -324,6 +324,11 @@ public class PurpurConfig {
6161
disableGiveCommandDrops = getBoolean("settings.disable-give-dropping", disableGiveCommandDrops);
6262
}
6363

0 commit comments

Comments
 (0)