mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
progress
This commit is contained in:
@@ -1,96 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||||
Date: Mon, 30 Nov 2020 03:12:04 -0600
|
||||
Subject: [PATCH] Add demo command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/CommandDispatcher.java b/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||
index 185dee82b86aa3abb04809ddcf31c81e29664c62..0ea56c863a9a1019b36f7f9f9164301aef12637b 100644
|
||||
--- a/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||
+++ b/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||
@@ -191,6 +191,7 @@ public class CommandDispatcher {
|
||||
CommandIdleTimeout.a(this.b);
|
||||
CommandStop.a(this.b);
|
||||
CommandWhitelist.a(this.b);
|
||||
+ net.pl3x.purpur.command.DemoCommand.register(getDispatcher()); // Purpur
|
||||
net.pl3x.purpur.command.PingCommand.register(getDispatcher()); // Purpur
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutGameStateChange.java b/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutGameStateChange.java
|
||||
index edb6c0ab2826051b04e025a713d794dbc5de4792..0161657748d398b6827ef8bc2b00b8a63bf37c55 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutGameStateChange.java
|
||||
+++ b/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutGameStateChange.java
|
||||
@@ -13,7 +13,7 @@ public class PacketPlayOutGameStateChange implements Packet<PacketListenerPlayOu
|
||||
public static final PacketPlayOutGameStateChange.a c = new PacketPlayOutGameStateChange.a(2);
|
||||
public static final PacketPlayOutGameStateChange.a d = new PacketPlayOutGameStateChange.a(3);
|
||||
public static final PacketPlayOutGameStateChange.a e = new PacketPlayOutGameStateChange.a(4);
|
||||
- public static final PacketPlayOutGameStateChange.a f = new PacketPlayOutGameStateChange.a(5);
|
||||
+ public static final PacketPlayOutGameStateChange.a f = new PacketPlayOutGameStateChange.a(5); public static PacketPlayOutGameStateChange.a demo() { return f; } // Purpur - OBFHELPER
|
||||
public static final PacketPlayOutGameStateChange.a g = new PacketPlayOutGameStateChange.a(6);
|
||||
public static final PacketPlayOutGameStateChange.a h = new PacketPlayOutGameStateChange.a(7);
|
||||
public static final PacketPlayOutGameStateChange.a i = new PacketPlayOutGameStateChange.a(8);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 6a69d14f8f30de6cb6d5c1b61d2521a206587354..c68ef95730c9c0b2f81be1cfbbc849e0f1c505fd 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -137,6 +137,7 @@ public class PurpurConfig {
|
||||
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
|
||||
public static String afkTabListPrefix = "[AFK] ";
|
||||
public static String afkTabListSuffix = "";
|
||||
+ public static String demoCommandOutput = "§a%s has been shown the demo screen";
|
||||
public static String pingCommandOutput = "§a%s's ping is %sms";
|
||||
public static String cannotRideMob = "§cYou cannot mount that mob";
|
||||
private static void messages() {
|
||||
@@ -144,6 +145,7 @@ public class PurpurConfig {
|
||||
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
|
||||
+ demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
|
||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/command/DemoCommand.java b/src/main/java/net/pl3x/purpur/command/DemoCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..7ea2e07c95c26528e118541ca2bba4d6117ab28f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/command/DemoCommand.java
|
||||
@@ -0,0 +1,39 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+
|
||||
+import java.util.Collection;
|
||||
+import java.util.Collections;
|
||||
+import net.minecraft.commands.arguments.ArgumentEntity;
|
||||
+import net.minecraft.commands.CommandDispatcher;
|
||||
+import net.minecraft.commands.CommandListenerWrapper;
|
||||
+import net.minecraft.network.protocol.game.PacketPlayOutGameStateChange;
|
||||
+import net.minecraft.server.level.EntityPlayer;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+import org.bukkit.craftbukkit.util.CraftChatMessage;
|
||||
+
|
||||
+public class DemoCommand {
|
||||
+ public static void register(com.mojang.brigadier.CommandDispatcher<CommandListenerWrapper> dispatcher) {
|
||||
+ dispatcher.register(CommandDispatcher.literal("demo")
|
||||
+ .requires((listener) -> {
|
||||
+ return listener.hasPermission(2);
|
||||
+ })
|
||||
+ .executes((context) -> {
|
||||
+ return execute(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException()));
|
||||
+ })
|
||||
+ .then(CommandDispatcher.argument("targets", ArgumentEntity.players())
|
||||
+ .executes((context) -> {
|
||||
+ return execute(context.getSource(), ArgumentEntity.getPlayers(context, "targets"));
|
||||
+ })
|
||||
+ )
|
||||
+ ).setPermission("bukkit.command.demo");
|
||||
+ }
|
||||
+
|
||||
+ private static int execute(CommandListenerWrapper sender, Collection<EntityPlayer> targets) {
|
||||
+ for (EntityPlayer player : targets) {
|
||||
+ PacketPlayOutGameStateChange packet = new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.demo(), 0);
|
||||
+ player.playerConnection.sendPacket(packet);
|
||||
+ String output = String.format(PurpurConfig.demoCommandOutput, player.getProfile().getName());
|
||||
+ sender.sendMessage(CraftChatMessage.fromStringOrNull(output), false);
|
||||
+ }
|
||||
+ return targets.size();
|
||||
+ }
|
||||
+}
|
||||
@@ -29,7 +29,7 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..4d8740678049aa749b42618470e9cc83
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index b0512af1d06f817f29e418d1d83f3ae446814836..4868815dbf3438ff357d399f7b40435dc8bf5c6a 100644
|
||||
index 7acf077bc131af718c7548cc29deef558c04e463..10126cb1c3efa2e6c84f20c0da701a131a5dd4cb 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -118,6 +118,11 @@ public class PaperConfig {
|
||||
@@ -44,6 +44,41 @@ index b0512af1d06f817f29e418d1d83f3ae446814836..4868815dbf3438ff357d399f7b40435d
|
||||
try {
|
||||
config.save(CONFIG_FILE);
|
||||
} catch (IOException ex) {
|
||||
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
index 6a330170ec1ea9d06593a1bbd1bdb8d98c0904fb..f1ebfd810fd06e62d796110345aa36ce4a94e2fd 100644
|
||||
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
@@ -234,6 +234,30 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
|
||||
return this.anchor;
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ public void sendSuccess(@Nullable String message) {
|
||||
+ sendSuccess(message, false);
|
||||
+ }
|
||||
+
|
||||
+ public void sendSuccess(@Nullable String message, boolean broadcastToOps) {
|
||||
+ if (message == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ sendSuccess(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(message), broadcastToOps);
|
||||
+ }
|
||||
+
|
||||
+ public void sendSuccess(@Nullable net.kyori.adventure.text.Component message) {
|
||||
+ sendSuccess(message, false);
|
||||
+ }
|
||||
+
|
||||
+ public void sendSuccess(@Nullable net.kyori.adventure.text.Component message, boolean broadcastToOps) {
|
||||
+ if (message == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ sendSuccess(io.papermc.paper.adventure.PaperAdventure.asVanilla(message), broadcastToOps);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
public void sendSuccess(Component message, boolean broadcastToOps) {
|
||||
if (this.source.acceptsSuccess() && !this.silent) {
|
||||
this.source.sendMessage(message, Util.NIL_UUID);
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 674eccb7db4982adc28d6878ed8d5b28282b80b1..5fa2723c9899c69ac326f95acf49cd47406378f9 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -64,8 +99,50 @@ index 674eccb7db4982adc28d6878ed8d5b28282b80b1..5fa2723c9899c69ac326f95acf49cd47
|
||||
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
|
||||
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index af90013d48e2dd827e045e2fc0f7f5be0dbaa33f..a10df746ada5b8cdee6f5ccf90724142609841c6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3371,6 +3371,37 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
+ // Purpur Start
|
||||
+ public void sendMessage(@Nullable String message) {
|
||||
+ sendMessage(message, Util.NIL_UUID);
|
||||
+ }
|
||||
+
|
||||
+ public void sendMessage(@Nullable String message, UUID sender) {
|
||||
+ if (message == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ sendMessage(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(message), sender);
|
||||
+ }
|
||||
+
|
||||
+ public void sendMessage(@Nullable net.kyori.adventure.text.Component message) {
|
||||
+ sendMessage(message, Util.NIL_UUID);
|
||||
+ }
|
||||
+
|
||||
+ public void sendMessage(@Nullable net.kyori.adventure.text.Component message, UUID sender) {
|
||||
+ if (message == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ sendMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(message), sender);
|
||||
+ }
|
||||
+
|
||||
+ public void sendMessage(@Nullable Component message) {
|
||||
+ if (message == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ sendMessage(message, Util.NIL_UUID);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public void sendMessage(Component message, UUID sender) {}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 274a8bf3d5009e4207ca05348e2f813f257fd934..8fca4d611316e67edfc55ca3e822894d0b791af4 100644
|
||||
index 870ff060e34de4ec49ad5496e79c2bd543297c41..de649d73a636920f8b5e92820a8a618f188789e3 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -166,6 +166,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -405,7 +482,7 @@ index fccb85a34b799fd8ac85707e8fd43a08ae2b5fc4..2ae64cad8b482f943163494ac8264faa
|
||||
public void restart() {
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index ba01312f7615d0507c1bd1cd175588197f8d122e..b913ea98eb000edbab20d448da71a904570b48d6 100644
|
||||
index 32f82c60b680180b256edff127e5a6ded42fccf4..5cb95340657bf37f9fbb2780f8cc57d2bc17e445 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -147,6 +147,14 @@ public class Main {
|
||||
|
||||
@@ -34,7 +34,7 @@ index 736a7baab17b26319f2aa39ad059e2f5a7ee16cf..ae939c81523a3982fc91fe4793ed0553
|
||||
|
||||
this.profiler.push(() -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index ef651213d29a8c9b60e39b98ad52f5b7b54f3c22..ce49e2a5ac80280ae03579d72a436e836a03cf8e 100644
|
||||
index b3312fa2fd218ffcfaa61d98584003c97fbda4ce..f0b9ff60b6122473bc2f87f56a6d190994079da6 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -201,6 +201,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
|
||||
@@ -86,7 +86,7 @@ index 7d2ac8aa97805e8b022d3982b1332c5055fc8b90..b98263dc5dcba1a5a8518c2f0acd2c9d
|
||||
if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index af90013d48e2dd827e045e2fc0f7f5be0dbaa33f..37ded5b8fb3692c773698a794d3977808308801d 100644
|
||||
index a10df746ada5b8cdee6f5ccf90724142609841c6..d59ec735b15b02c075f357ee616b821d2760f412 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -135,37 +135,7 @@ index af90013d48e2dd827e045e2fc0f7f5be0dbaa33f..37ded5b8fb3692c773698a794d397780
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -3371,6 +3385,29 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
+ // Purpur Start
|
||||
+ public void sendMessage(@Nullable String message) {
|
||||
+ if (message == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ sendMessage(net.kyori.adventure.text.minimessage.MiniMessage.get().parse(message));
|
||||
+ }
|
||||
+
|
||||
+ public void sendMessage(@Nullable net.kyori.adventure.text.Component message) {
|
||||
+ if (message == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ sendMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(message));
|
||||
+ }
|
||||
+
|
||||
+ public void sendMessage(@Nullable Component message) {
|
||||
+ if (message == null) {
|
||||
+ return;
|
||||
+ }
|
||||
+ sendMessage(message, Util.NIL_UUID);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public void sendMessage(Component message, UUID sender) {}
|
||||
|
||||
@@ -3982,4 +4019,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -4013,4 +4027,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -3754,7 +3724,7 @@ index c87d1f8a057e98f7f4ad7e11d89bfa791a7bae90..dca18730731407bb68ad32852c799406
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index fdc01dee8a81f0376f3c0a154c4291d03ead7f8f..8830121a89297cc49fb13a7ecac9e6d90f33969d 100644
|
||||
index e1a593b464c35f68b22e84a09f99ee72af73da32..25ce1910a03947ce070b318f57379f0da5ac5db8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -67,18 +67,50 @@ public class Slime extends Mob implements Enemy {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 952b6103fd417251e8a030bb574f79e69cfbbe10..f6289be625d61ac3e33118959e8a1bc3defcda42 100644
|
||||
index 952b6103fd417251e8a030bb574f79e69cfbbe10..01218ca19f0fd2a6cf8194d4507e40c5bc785b7c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1915,8 +1915,54 @@ public class ServerPlayer extends Player {
|
||||
@@ -1915,8 +1915,58 @@ public class ServerPlayer extends Player {
|
||||
|
||||
public void resetLastActionTime() {
|
||||
this.lastActionTime = Util.getMillis();
|
||||
@@ -43,7 +43,11 @@ index 952b6103fd417251e8a030bb574f79e69cfbbe10..f6289be625d61ac3e33118959e8a1bc3
|
||||
+ }
|
||||
+
|
||||
+ if (level.purpurConfig.idleTimeoutUpdateTabList) {
|
||||
+ this.getBukkitEntity().setPlayerListName((afk ? net.pl3x.purpur.PurpurConfig.afkTabListPrefix : "") + this.getName());
|
||||
+ if (afk) {
|
||||
+ getBukkitEntity().setPlayerListName(net.pl3x.purpur.PurpurConfig.afkTabListPrefix + getName().getString() + net.pl3x.purpur.PurpurConfig.afkTabListSuffix);
|
||||
+ } else {
|
||||
+ getBukkitEntity().setPlayerListName(getName().getString());
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ ((ServerLevel) level).updateSleepingPlayerList();
|
||||
@@ -173,21 +177,23 @@ index 325e244c46ec208a2e7e18d71ccbbfcc25fc1bce..3645ebf52ad1461937ce6cc0cf38a921
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a..5365a4a047c759f36177716237c2bb98ae1741b3 100644
|
||||
index 7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a..11ba89186ef47a574a4f959edaed550bcb6b908e 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -129,8 +129,14 @@ public class PurpurConfig {
|
||||
@@ -129,8 +129,16 @@ public class PurpurConfig {
|
||||
}
|
||||
|
||||
public static String cannotRideMob = "<red>You cannot mount that mob";
|
||||
+ public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
|
||||
+ public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
|
||||
+ public static String afkTabListPrefix = "[AFK] ";
|
||||
+ public static String afkTabListSuffix = "";
|
||||
private static void messages() {
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
+ afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
|
||||
+ afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
+ afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
+ afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
|
||||
}
|
||||
|
||||
public static String timingsUrl = "https://timings.pl3x.net";
|
||||
|
||||
@@ -18,11 +18,11 @@ index ae939c81523a3982fc91fe4793ed0553503c501e..2034eaffd38d8ec1211e027f4fa34931
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport systemreport) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 5365a4a047c759f36177716237c2bb98ae1741b3..fec9241bf21a67b03b2f3a2e544f847e425b2e98 100644
|
||||
index 11ba89186ef47a574a4f959edaed550bcb6b908e..5fd47073ccf6b1ff12b0a704244143070375385f 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -139,6 +139,11 @@ public class PurpurConfig {
|
||||
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
@@ -141,6 +141,11 @@ public class PurpurConfig {
|
||||
afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
|
||||
}
|
||||
|
||||
+ public static String serverModName = "Purpur";
|
||||
|
||||
@@ -25,10 +25,10 @@ index 2034eaffd38d8ec1211e027f4fa349314f3c5fb5..713ed9f0c789e0b0c2814dc03865c22c
|
||||
}
|
||||
midTickChunksTasksRan = 0; // Paper
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index fec9241bf21a67b03b2f3a2e544f847e425b2e98..b530e777564e9b455b8763c99039f2c4f890a2db 100644
|
||||
index 5fd47073ccf6b1ff12b0a704244143070375385f..1b81e50a3c7dc33fa0ee6ce5b491597910dbe0cd 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -150,6 +150,11 @@ public class PurpurConfig {
|
||||
@@ -152,6 +152,11 @@ public class PurpurConfig {
|
||||
if (!co.aikar.timings.TimingsManager.hiddenConfigs.contains("server-ip")) co.aikar.timings.TimingsManager.hiddenConfigs.add("server-ip");
|
||||
}
|
||||
|
||||
|
||||
@@ -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 f6289be625d61ac3e33118959e8a1bc3defcda42..660649624281928ab4eb79f09a90e2f9facf36d6 100644
|
||||
index 01218ca19f0fd2a6cf8194d4507e40c5bc785b7c..928a931e4543a87c9b3294108843ad686d4ac2ae 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -333,6 +333,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -46,7 +46,7 @@ index f6289be625d61ac3e33118959e8a1bc3defcda42..660649624281928ab4eb79f09a90e2f9
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -2374,8 +2382,16 @@ public class ServerPlayer extends Player {
|
||||
@@ -2378,8 +2386,16 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public boolean isImmobile() {
|
||||
|
||||
@@ -56,10 +56,10 @@ index 5f54905841956b691bf83a4d980c24e0969e9456..5b5993c4687f4414c0b7e9bbd9a7d2fa
|
||||
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
|
||||
int i = (int) (Util.getMillis() - this.keepAliveTime);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index b530e777564e9b455b8763c99039f2c4f890a2db..6e1a4017e4b737f541c7aa22885fbbd757dd4524 100644
|
||||
index 1b81e50a3c7dc33fa0ee6ce5b491597910dbe0cd..226bac7989ebca3ee403cf30bae25ed05c67f70f 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -155,6 +155,11 @@ public class PurpurConfig {
|
||||
@@ -157,6 +157,11 @@ public class PurpurConfig {
|
||||
laggingThreshold = getDouble("settings.lagging-threshold", laggingThreshold);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Logger settings (suppressing pointless logs)
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
index d1f85b092eba829b003e39c913a4afeffc140568..e159bf06a225aa63b4d397a7c76fa9ef8691d052 100644
|
||||
index 7d6dc0a8ee35274052b122bbc446bc54750de0a6..c46df052a5a39d92688f51377ee1f7b5b5b36faa 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
@@ -186,6 +186,7 @@ public class PlayerAdvancements {
|
||||
@@ -17,10 +17,10 @@ index d1f85b092eba829b003e39c913a4afeffc140568..e159bf06a225aa63b4d397a7c76fa9ef
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 6e1a4017e4b737f541c7aa22885fbbd757dd4524..7eb5e1b2cdc3abaefd1ea7d19a913269cfd81a1a 100644
|
||||
index 226bac7989ebca3ee403cf30bae25ed05c67f70f..1fc480551523065762ce58d638aba7986e829e43 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -178,4 +178,11 @@ public class PurpurConfig {
|
||||
@@ -180,4 +180,11 @@ public class PurpurConfig {
|
||||
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
|
||||
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ index 44aa0c4ec6f0e4df2541c74fa7de852dae59bda5..1b649cb81712bd145cbbb033bcdef6f1
|
||||
this.entity.stopSeenByPlayer(player);
|
||||
player.connection.send(new ClientboundRemoveEntityPacket(this.entity.getId()));
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 7eb5e1b2cdc3abaefd1ea7d19a913269cfd81a1a..011b9e0a96d2ec0e07803cbdf21a5d4741964bfe 100644
|
||||
index 1fc480551523065762ce58d638aba7986e829e43..c420c7ecb2ad03c808badbf7e1c77ba27d651713 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -179,6 +179,11 @@ public class PurpurConfig {
|
||||
@@ -181,6 +181,11 @@ public class PurpurConfig {
|
||||
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@ index 713ed9f0c789e0b0c2814dc03865c22cfc47d534..36d26af5b28e96cee930307b6d18edd7
|
||||
this.profiler.pop();
|
||||
this.endMetricsRecordingTick();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 011b9e0a96d2ec0e07803cbdf21a5d4741964bfe..9ea32dd95a57ba485d57ac919423bd75c90eb343 100644
|
||||
index c420c7ecb2ad03c808badbf7e1c77ba27d651713..5f6fb1ac7c4b022109e102308cb6ca4c9997e1f1 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -190,4 +190,9 @@ public class PurpurConfig {
|
||||
@@ -192,4 +192,9 @@ public class PurpurConfig {
|
||||
loggerSuppressInitLegacyMaterialError = getBoolean("settings.logger.suppress-init-legacy-material-errors", loggerSuppressInitLegacyMaterialError);
|
||||
loggerSuppressIgnoredAdvancementWarnings = getBoolean("settings.logger.suppress-ignored-advancement-warnings", loggerSuppressIgnoredAdvancementWarnings);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index ebb5fe12f18c10eba06db13de653ff53b33994d1..dc847857b7024572d6f6f669820e7d1476d2e866 100644
|
||||
index a663de350f315596806253c961544d1ebb682751..f226ea02e83246d8763e9b0587f986a6c148035b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4056,5 +4056,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -4064,5 +4064,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Fri, 13 Mar 2020 22:29:10 -0500
|
||||
Subject: [PATCH] Add /ping command
|
||||
Subject: [PATCH] Add ping command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -17,19 +17,20 @@ index d478627dcd2b6e3d3d95b3fa224a25d44e6bbafb..158fc5748f175708a0c3415a2217663f
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 9ea32dd95a57ba485d57ac919423bd75c90eb343..edbcc103e939504a592993f3e903f556c6e1accf 100644
|
||||
index 5f6fb1ac7c4b022109e102308cb6ca4c9997e1f1..5ad90e5c2f46b9ae1bf882a199d38e8cb49f6b5f 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -132,11 +132,13 @@ public class PurpurConfig {
|
||||
public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
|
||||
@@ -133,12 +133,14 @@ public class PurpurConfig {
|
||||
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
|
||||
public static String afkTabListPrefix = "[AFK] ";
|
||||
public static String afkTabListSuffix = "";
|
||||
+ public static String pingCommandOutput = "§a%s's ping is %sms";
|
||||
private static void messages() {
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
|
||||
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
|
||||
+ pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||
}
|
||||
|
||||
|
||||
78
patches/server/0075-Add-demo-command.patch
Normal file
78
patches/server/0075-Add-demo-command.patch
Normal file
@@ -0,0 +1,78 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||||
Date: Sat, 19 Jun 2021 18:16:31 -0500
|
||||
Subject: [PATCH] Add demo command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 158fc5748f175708a0c3415a2217663f77271bc7..9cbaaf4cd138e6c1d2d51afcef24a81a3f2973c5 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -198,6 +198,7 @@ public class Commands {
|
||||
SetPlayerIdleTimeoutCommand.register(this.dispatcher);
|
||||
StopCommand.register(this.dispatcher);
|
||||
WhitelistCommand.register(this.dispatcher);
|
||||
+ net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 5ad90e5c2f46b9ae1bf882a199d38e8cb49f6b5f..c143f2c95fddece9c97f6f5eeb9a0ba52dae18b5 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -133,6 +133,7 @@ public class PurpurConfig {
|
||||
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
|
||||
public static String afkTabListPrefix = "[AFK] ";
|
||||
public static String afkTabListSuffix = "";
|
||||
+ public static String demoCommandOutput = "<green>%s has been shown the demo screen";
|
||||
public static String pingCommandOutput = "§a%s's ping is %sms";
|
||||
private static void messages() {
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
@@ -140,6 +141,7 @@ public class PurpurConfig {
|
||||
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
|
||||
+ demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
|
||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/command/DemoCommand.java b/src/main/java/net/pl3x/purpur/command/DemoCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..63686e55d169a81c0c225f8dfb47973075c1e491
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/command/DemoCommand.java
|
||||
@@ -0,0 +1,34 @@
|
||||
+package net.pl3x.purpur.command;
|
||||
+
|
||||
+import com.mojang.brigadier.CommandDispatcher;
|
||||
+import net.minecraft.commands.CommandSourceStack;
|
||||
+import net.minecraft.commands.Commands;
|
||||
+import net.minecraft.commands.arguments.EntityArgument;
|
||||
+import net.minecraft.network.protocol.game.ClientboundGameEventPacket;
|
||||
+import net.minecraft.server.level.ServerPlayer;
|
||||
+import net.pl3x.purpur.PurpurConfig;
|
||||
+
|
||||
+import java.util.Collection;
|
||||
+import java.util.Collections;
|
||||
+
|
||||
+public class DemoCommand {
|
||||
+ public static void register(CommandDispatcher<CommandSourceStack> dispatcher) {
|
||||
+ dispatcher.register(Commands.literal("demo")
|
||||
+ .requires((listener) -> listener.hasPermission(2))
|
||||
+ .executes((context) -> execute(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException())))
|
||||
+ .then(Commands.argument("targets", EntityArgument.players())
|
||||
+ .executes((context) -> execute(context.getSource(), EntityArgument.getPlayers(context, "targets")))
|
||||
+ )
|
||||
+ ).setPermission("bukkit.command.demo");
|
||||
+ }
|
||||
+
|
||||
+ private static int execute(CommandSourceStack sender, Collection<ServerPlayer> targets) {
|
||||
+ for (ServerPlayer player : targets) {
|
||||
+ ClientboundGameEventPacket packet = new ClientboundGameEventPacket(ClientboundGameEventPacket.DEMO_EVENT, 0);
|
||||
+ player.connection.send(packet);
|
||||
+ String output = String.format(PurpurConfig.demoCommandOutput, player.getGameProfile().getName());
|
||||
+ sender.sendSuccess(output, false);
|
||||
+ }
|
||||
+ return targets.size();
|
||||
+ }
|
||||
+}
|
||||
@@ -68,10 +68,10 @@ index df4f2c729f09d5229553308e4876f29de648543f..f2b0278679fa649bbc2904660e0dc9ab
|
||||
} else {
|
||||
world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState());
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index edbcc103e939504a592993f3e903f556c6e1accf..8bb11c66df5fd461a1eac749c519142743a1f4a8 100644
|
||||
index c143f2c95fddece9c97f6f5eeb9a0ba52dae18b5..d1085145b768911c66d48101c7c58f9698718467 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -186,6 +186,11 @@ public class PurpurConfig {
|
||||
@@ -190,6 +190,11 @@ public class PurpurConfig {
|
||||
dontSendUselessEntityPackets = getBoolean("settings.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 5163ec0437e3d94ba0cff030588b1c07c04aca16..8a0487c8c1c4bcff6d92bcbbadf555b04f04717d 100644
|
||||
index 02e14693021d0968fb5c47181f951a5a3eac5927..5b395fb6f0e7bee4a24fb2d5b0bc9421b70e5b8d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2441,5 +2441,25 @@ public class ServerPlayer extends Player {
|
||||
@@ -2445,5 +2445,25 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -19,7 +19,7 @@ index c03bf5bdb67b00c75f9fcfead882c4d944282244..59f7ec9b307a99c5fe2def995523a5f6
|
||||
return SPIKE_CACHE.getUnchecked(l);
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 8bb11c66df5fd461a1eac749c519142743a1f4a8..fe76bde844a596eec47b2f9e5ca25b8b108fe494 100644
|
||||
index d1085145b768911c66d48101c7c58f9698718467..f8bd48d530f2bc5463001b09d0dd526388c452f3 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@@ -29,7 +29,7 @@ index 8bb11c66df5fd461a1eac749c519142743a1f4a8..fe76bde844a596eec47b2f9e5ca25b8b
|
||||
import com.google.common.base.Throwables;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.pl3x.purpur.command.PurpurCommand;
|
||||
@@ -141,6 +142,13 @@ public class PurpurConfig {
|
||||
@@ -145,6 +146,13 @@ public class PurpurConfig {
|
||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||
}
|
||||
|
||||
@@ -32,10 +32,10 @@ index d36b6208077254af5f0ebed8e8ce20fd45cbb79d..b09611f7c5177d3f5b22ffcaa9a65480
|
||||
int i = 3;
|
||||
int j = random.nextInt(2) + 2;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index fe76bde844a596eec47b2f9e5ca25b8b108fe494..9bc0cd75b4b8c5813b4a005c90275025719daf21 100644
|
||||
index f8bd48d530f2bc5463001b09d0dd526388c452f3..a027ab69a2e3cd12ca730aeed8a67e0379db0e85 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -142,10 +142,13 @@ public class PurpurConfig {
|
||||
@@ -146,10 +146,13 @@ public class PurpurConfig {
|
||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||
}
|
||||
|
||||
@@ -117,10 +117,10 @@ index f8e58d9f71703139a736d93e7f1996e027a29444..d3c8fd8399629efb8bcbaf7d9a0c4334
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 9bc0cd75b4b8c5813b4a005c90275025719daf21..cb71e9a46146b70ab34328bf840437646fed629f 100644
|
||||
index a027ab69a2e3cd12ca730aeed8a67e0379db0e85..4dfe883f7e3184ca85341d724c306f17c5abc91e 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -202,6 +202,15 @@ public class PurpurConfig {
|
||||
@@ -206,6 +206,15 @@ public class PurpurConfig {
|
||||
allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ index 6e0b5fbf5b0d216b6b7c647d45ef37cd6b591717..5ebedd6a156b06e98aded57c817f6342
|
||||
if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start
|
||||
for (int i = 0; i < 64; ++i) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index cb71e9a46146b70ab34328bf840437646fed629f..f2d9187c45b8ee90246d2b6042cc98ea9fc8c8dd 100644
|
||||
index 4dfe883f7e3184ca85341d724c306f17c5abc91e..1fab90fdafdcd9095d806727133bf3b7c17f2323 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -3,6 +3,8 @@ package net.pl3x.purpur;
|
||||
@@ -43,7 +43,7 @@ index cb71e9a46146b70ab34328bf840437646fed629f..f2d9187c45b8ee90246d2b6042cc98ea
|
||||
import net.pl3x.purpur.command.PurpurCommand;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
@@ -192,6 +194,12 @@ public class PurpurConfig {
|
||||
@@ -196,6 +198,12 @@ public class PurpurConfig {
|
||||
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index dc847857b7024572d6f6f669820e7d1476d2e866..3bf97664158760355263f4b3dcd48b9388d44231 100644
|
||||
index f226ea02e83246d8763e9b0587f986a6c148035b..238acdec48ee5524ecb7645252bec7613e286cf7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3630,11 +3630,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -3638,11 +3638,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index c07b5d1f1ef8b5e6026c7555d476880c8802d6c5..068f1b184a3694603f564d49fa45d5ce
|
||||
private final LevelAccessor level;
|
||||
private final Direction.Axis axis;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index f2d9187c45b8ee90246d2b6042cc98ea9fc8c8dd..ebaa80b52f236a8c7376006b4b7f4f37b409c31d 100644
|
||||
index 1fab90fdafdcd9095d806727133bf3b7c17f2323..289bc6840b6d3f68b93a565c9cf3079231fab367 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -178,6 +178,7 @@ public class PurpurConfig {
|
||||
@@ -182,6 +182,7 @@ public class PurpurConfig {
|
||||
public static boolean barrelSixRows = false;
|
||||
public static boolean enderChestSixRows = false;
|
||||
public static boolean enderChestPermissionRows = false;
|
||||
@@ -29,7 +29,7 @@ index f2d9187c45b8ee90246d2b6042cc98ea9fc8c8dd..ebaa80b52f236a8c7376006b4b7f4f37
|
||||
private static void blockSettings() {
|
||||
if (version < 3) {
|
||||
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
|
||||
@@ -192,6 +193,7 @@ public class PurpurConfig {
|
||||
@@ -196,6 +197,7 @@ public class PurpurConfig {
|
||||
enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows);
|
||||
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
|
||||
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 3bf97664158760355263f4b3dcd48b9388d44231..70d436a272d03d1f2eb754a83f1ea7e81d97ff3b 100644
|
||||
index 238acdec48ee5524ecb7645252bec7613e286cf7..98609a741b9a47417e7de1be4b972e2a398952e5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2507,7 +2507,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Stonecutter damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 70d436a272d03d1f2eb754a83f1ea7e81d97ff3b..5ff219cefec41d87c98e0e33e94ad44b9ba52910 100644
|
||||
index 98609a741b9a47417e7de1be4b972e2a398952e5..4717b3292bbbc5c1ee7246668b30e515caf48a80 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -897,7 +897,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -17,10 +17,10 @@ index 3aece8245060dd1ba269c08d226c84247a6f0a83..6763d0b96c83d1b462999f525bf1f31c
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index ebaa80b52f236a8c7376006b4b7f4f37b409c31d..91605de2724dc3b4f533be168719371060ef105d 100644
|
||||
index 289bc6840b6d3f68b93a565c9cf3079231fab367..1727f4069f8f7172d4de7ddf72321e4a5b68ea80 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -196,6 +196,16 @@ public class PurpurConfig {
|
||||
@@ -200,6 +200,16 @@ public class PurpurConfig {
|
||||
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
|
||||
}
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: montlikadani <montlikada@gmail.com>
|
||||
Date: Thu, 12 Nov 2020 11:02:50 +0100
|
||||
Subject: [PATCH] Add tablist suffix option for afk
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 8a0487c8c1c4bcff6d92bcbbadf555b04f04717d..5b395fb6f0e7bee4a24fb2d5b0bc9421b70e5b8d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1956,7 +1956,11 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
|
||||
if (level.purpurConfig.idleTimeoutUpdateTabList) {
|
||||
- this.getBukkitEntity().setPlayerListName((afk ? net.pl3x.purpur.PurpurConfig.afkTabListPrefix : "") + this.getName());
|
||||
+ if (afk) {
|
||||
+ getBukkitEntity().setPlayerListName(net.pl3x.purpur.PurpurConfig.afkTabListPrefix + getName().getString() + net.pl3x.purpur.PurpurConfig.afkTabListSuffix);
|
||||
+ } else {
|
||||
+ getBukkitEntity().setPlayerListName(getName().getString());
|
||||
+ }
|
||||
}
|
||||
|
||||
((ServerLevel) level).updateSleepingPlayerList();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 91605de2724dc3b4f533be168719371060ef105d..a6c0d16ec697d01ed7576bd8b92e6995e6141681 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -135,12 +135,14 @@ public class PurpurConfig {
|
||||
public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
|
||||
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
|
||||
public static String afkTabListPrefix = "[AFK] ";
|
||||
+ public static String afkTabListSuffix = "";
|
||||
public static String pingCommandOutput = "§a%s's ping is %sms";
|
||||
private static void messages() {
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
|
||||
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
+ afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
|
||||
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
|
||||
}
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||||
Date: Mon, 30 Nov 2020 06:03:06 -0600
|
||||
Date: Sat, 19 Jun 2021 18:38:48 -0500
|
||||
Subject: [PATCH] Left handed API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||
index 125be4ca56d38c6cba1d1f4e7587abda075ee491..30d3b2f89e08056db128aa95e76c319b196b89ea 100644
|
||||
index 6549d7c40d6a0ca307fdcb6fd3ca01d2ab732b59..c128bb7fbea43e9b4245870d78f920dfb23e23f3 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
|
||||
@@ -133,4 +133,14 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
|
||||
@@ -132,4 +132,16 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
|
||||
return getHandle().getMaxHeadXRot();
|
||||
}
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public boolean isLeftHanded() {
|
||||
+ return getHandle().isLeftHanded();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setLeftHanded(boolean leftHanded) {
|
||||
+ getHandle().setLeftHanded(leftHanded);
|
||||
+ }
|
||||
Reference in New Issue
Block a user