mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-22 16:39:22 +00:00
Remove stream in RecipeManager getRecipeFor
This commit is contained in:
75
patches/server/0099-Dont-send-useless-entity-packets.patch
Normal file
75
patches/server/0099-Dont-send-useless-entity-packets.patch
Normal file
@@ -0,0 +1,75 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Sat, 6 Jul 2019 17:00:04 -0500
|
||||
Subject: [PATCH] Dont send useless entity packets
|
||||
|
||||
TODO: Add more reducers
|
||||
|
||||
Original license: MIT
|
||||
Original project: https://github.com/PurpurMC/Purpur
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
index feacc41ecf7f4028e0a1cce5d2012ced96a26d30..05125144ce0cb50fa6ac769fa025cda010c93f14 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
@@ -229,6 +229,8 @@ public class ServerEntity {
|
||||
flag5 = true;
|
||||
}
|
||||
|
||||
+ if (org.dreeam.leaf.config.modules.opt.ReduceUselessPackets.reduceUselessEntityMovePackets && isUselessMoveEntityPacket(packet1)) packet1 = null; // Purpur
|
||||
+
|
||||
if ((this.trackDelta || this.entity.hasImpulse || this.entity instanceof LivingEntity && ((LivingEntity) this.entity).isFallFlying()) && this.tickCount > 0) {
|
||||
Vec3 vec3d1 = this.entity.getDeltaMovement();
|
||||
if (vec3d1 != this.lastSentMovement) { // SparklyPaper start - skip distanceToSqr call in ServerEntity#sendChanges if the delta movement hasn't changed
|
||||
@@ -311,6 +313,27 @@ public class ServerEntity {
|
||||
});
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ private boolean isUselessMoveEntityPacket(@Nullable Packet<?> packet) {
|
||||
+ if (packet instanceof ClientboundMoveEntityPacket moveEntityPacket) {
|
||||
+ switch (packet) {
|
||||
+ case ClientboundMoveEntityPacket.Pos pos -> {
|
||||
+ return moveEntityPacket.getXa() == 0 && moveEntityPacket.getYa() == 0 && moveEntityPacket.getZa() == 0;
|
||||
+ }
|
||||
+ case ClientboundMoveEntityPacket.PosRot posRot -> {
|
||||
+ return moveEntityPacket.getXa() == 0 && moveEntityPacket.getYa() == 0 && moveEntityPacket.getZa() == 0 && moveEntityPacket.getyRot() == 0 && moveEntityPacket.getxRot() == 0;
|
||||
+ }
|
||||
+ case ClientboundMoveEntityPacket.Rot rot -> {
|
||||
+ return moveEntityPacket.getyRot() == 0 && moveEntityPacket.getxRot() == 0;
|
||||
+ }
|
||||
+ default -> {
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return false;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
public void removePairing(ServerPlayer player) {
|
||||
this.entity.stopSeenByPlayer(player);
|
||||
player.connection.send(new ClientboundRemoveEntitiesPacket(new int[]{this.entity.getId()}));
|
||||
diff --git a/src/main/java/org/dreeam/leaf/config/modules/opt/ReduceUselessPackets.java b/src/main/java/org/dreeam/leaf/config/modules/opt/ReduceUselessPackets.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..1598298420dbfa6a2611826a4a499a41cfc3740a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/dreeam/leaf/config/modules/opt/ReduceUselessPackets.java
|
||||
@@ -0,0 +1,18 @@
|
||||
+package org.dreeam.leaf.config.modules.opt;
|
||||
+
|
||||
+import org.dreeam.leaf.config.ConfigModules;
|
||||
+import org.dreeam.leaf.config.EnumConfigCategory;
|
||||
+
|
||||
+public class ReduceUselessPackets extends ConfigModules {
|
||||
+
|
||||
+ public String getBasePath() {
|
||||
+ return EnumConfigCategory.PERF.getBaseKeyName() + ".reduce-packets";
|
||||
+ }
|
||||
+
|
||||
+ public static boolean reduceUselessEntityMovePackets = false;
|
||||
+
|
||||
+ @Override
|
||||
+ public void onLoaded() {
|
||||
+ reduceUselessEntityMovePackets = config.getBoolean(getBasePath() + ".reduce-entity-move-packets", reduceUselessEntityMovePackets);
|
||||
+ }
|
||||
+}
|
||||
Reference in New Issue
Block a user