mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 08:57:44 +01:00
Add back multithreaded entity tracker
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
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/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
index 0f8cbe1f656b46f71c6494bd2e0057be63017272..f46488155d8bd07719a282e4a1027562973dbef6 100644
|
||||
--- a/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
@@ -435,9 +435,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
|
||||
@@ -447,7 +447,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) {
|
||||
@@ -467,12 +467,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
|
||||
@@ -482,7 +482,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) {
|
||||
@@ -502,7 +502,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
|
||||
Reference in New Issue
Block a user