mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2026-01-04 15:41:40 +00:00
ClassInstanceMultiMap belongs to Minecraft vanilla entity storage. And is unused, since replaced by spottedleaf's entity storage (rewrite chunk system). However these patches might be useful for vanilla entity storage if is used.
32 lines
1.6 KiB
Diff
32 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
|
|
Date: Fri, 4 Apr 2025 17:12:53 -0400
|
|
Subject: [PATCH] Remove stream in entity mountedOrDismounted changes update
|
|
|
|
|
|
diff --git a/net/minecraft/server/level/ServerEntity.java b/net/minecraft/server/level/ServerEntity.java
|
|
index 4859433b0a4160e7ee0af4c2e750956f6ca07649..d605c4da4475fdc47a6d0c90fbca2713fc9d8fef 100644
|
|
--- a/net/minecraft/server/level/ServerEntity.java
|
|
+++ b/net/minecraft/server/level/ServerEntity.java
|
|
@@ -118,7 +118,19 @@ public class ServerEntity {
|
|
// Paper end - optimise collisions
|
|
List<Entity> passengers = this.entity.getPassengers();
|
|
if (!passengers.equals(this.lastPassengers)) {
|
|
- List<UUID> list = this.mountedOrDismounted(passengers).map(Entity::getUUID).toList();
|
|
+ // Leaf start - Remove stream in entity mountedOrDismounted changes update
|
|
+ List<UUID> list = new ArrayList<>();
|
|
+ for (Entity entity : this.lastPassengers) {
|
|
+ if (!passengers.contains(entity)) {
|
|
+ list.add(entity.getUUID());
|
|
+ }
|
|
+ }
|
|
+ for (Entity entity : passengers) {
|
|
+ if (!this.lastPassengers.contains(entity)) {
|
|
+ list.add(entity.getUUID());
|
|
+ }
|
|
+ }
|
|
+ // Leaf end - Remove stream in entity mountedOrDismounted changes update
|
|
this.broadcastWithIgnore.accept(new ClientboundSetPassengersPacket(this.entity), list);
|
|
// Paper start - Allow riding players
|
|
if (this.entity instanceof ServerPlayer player) {
|