mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 09:27:43 +01:00
Add Origami's patch to fix ProtocolLib on Java 15
This commit is contained in:
@@ -0,0 +1,65 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Phoenix616 Date: Mon, 19 Oct 2020 17:20:53 +0100" <max@themoep.de>
|
||||||
|
Date: Mon, 30 Nov 2020 06:53:44 -0600
|
||||||
|
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..fa71b36c0c 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() { // Purpur - flatten lambda
|
||||||
|
if (enumprotocol != enumprotocol1) {
|
||||||
|
- this.setProtocol(enumprotocol);
|
||||||
|
+ NetworkManager.this.setProtocol(enumprotocol); // Purpur - 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 // Purpur - flatten lambda
|
||||||
|
|
||||||
|
|
||||||
|
if (genericfuturelistener != null) {
|
||||||
|
@@ -424,12 +424,12 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||||
|
packet.onPacketDispatchFinish(player, null);
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
|
- };
|
||||||
|
+ }}; // Purpur - flatten lambda
|
||||||
|
} else {
|
||||||
|
// explicitly declare a variable to make the lambda use the type
|
||||||
|
- choice2 = () -> {
|
||||||
|
+ choice2 = new AbstractEventExecutor.LazyRunnable() { public void run() { // Purpur - flatten lambda
|
||||||
|
if (enumprotocol != enumprotocol1) {
|
||||||
|
- this.setProtocol(enumprotocol);
|
||||||
|
+ NetworkManager.this.setProtocol(enumprotocol); // Purpur - 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 // Purpur - flatten lambda
|
||||||
|
|
||||||
|
|
||||||
|
if (genericfuturelistener != null) {
|
||||||
|
@@ -459,7 +459,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||||
|
packet.onPacketDispatchFinish(player, null);
|
||||||
|
}
|
||||||
|
// Paper end
|
||||||
|
- };
|
||||||
|
+ }}; // Purpur - flatten lambda
|
||||||
|
}
|
||||||
|
this.channel.eventLoop().execute(choice1 != null ? choice1 : choice2);
|
||||||
|
// Tuinity end - optimise packets that are not flushed
|
||||||
Reference in New Issue
Block a user