mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: cc0494817 Tick inactive goal selectors c19ec6394 fix 4878 by always calling events using bukkit singleton 5d216be1d Fix MC-181190 curing zombie villager discount exploit (#4871)
66 lines
3.7 KiB
Diff
66 lines
3.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Phoenix616 <max@themoep.de>
|
|
Date: Mon, 19 Oct 2020 17:20:53 +0100
|
|
Subject: [PATCH] Origami - Fix ProtocolLib issues on Java 15
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
|
|
index 7a2a8acea9..8a452173c0 100644
|
|
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
|
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
|
@@ -392,9 +392,9 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
|
// note: since the type is not dynamic here, we need to actually copy the old executor code
|
|
// into two branches. On conflict, just re-copy - no changes were made inside the executor code.
|
|
if (flush) {
|
|
- choice1 = () -> {
|
|
+ choice1 = new Runnable() { public void run() { // Origami - flatten lambda
|
|
if (enumprotocol != enumprotocol1) {
|
|
- this.setProtocol(enumprotocol);
|
|
+ NetworkManager.this.setProtocol(enumprotocol); // Origami - flatten lambda
|
|
}
|
|
|
|
// Paper start
|
|
@@ -404,7 +404,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
|
}
|
|
try {
|
|
// Paper end
|
|
- ChannelFuture channelfuture1 = (flush) ? this.channel.writeAndFlush(packet) : this.channel.write(packet); // Tuinity - add flush parameter
|
|
+ ChannelFuture channelfuture1 = (flush) ? NetworkManager.this.channel.writeAndFlush(packet) : NetworkManager.this.channel.write(packet); // Tuinity - add flush parameter // Origami - flatten lambda
|
|
|
|
|
|
if (genericfuturelistener != null) {
|
|
@@ -424,12 +424,12 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
|
packet.onPacketDispatchFinish(player, null);
|
|
}
|
|
// Paper end
|
|
- };
|
|
+ }}; // Origami - flatten lambda
|
|
} else {
|
|
// explicitly declare a variable to make the lambda use the type
|
|
- choice2 = () -> {
|
|
+ choice2 = new AbstractEventExecutor.LazyRunnable() { public void run() { // Origami - flatten lambda
|
|
if (enumprotocol != enumprotocol1) {
|
|
- this.setProtocol(enumprotocol);
|
|
+ NetworkManager.this.setProtocol(enumprotocol); // Origami - flatten lambda
|
|
}
|
|
|
|
// Paper start
|
|
@@ -439,7 +439,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
|
}
|
|
try {
|
|
// Paper end
|
|
- ChannelFuture channelfuture1 = (flush) ? this.channel.writeAndFlush(packet) : this.channel.write(packet); // Tuinity - add flush parameter
|
|
+ ChannelFuture channelfuture1 = (flush) ? NetworkManager.this.channel.writeAndFlush(packet) : NetworkManager.this.channel.write(packet); // Tuinity - add flush parameter // Origami - flatten lambda
|
|
|
|
|
|
if (genericfuturelistener != null) {
|
|
@@ -459,7 +459,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
|
packet.onPacketDispatchFinish(player, null);
|
|
}
|
|
// Paper end
|
|
- };
|
|
+ }}; // Origami - flatten lambda
|
|
}
|
|
this.channel.eventLoop().execute(choice1 != null ? choice1 : choice2);
|
|
// Tuinity end - optimise packets that are not flushed
|