diff --git a/leaves-server/minecraft-patches/features/0070-Fix-villagers-dont-release-memory.patch b/leaves-server/minecraft-patches/features/0070-Fix-villagers-dont-release-memory.patch index a0bbecb3..9ddde458 100644 --- a/leaves-server/minecraft-patches/features/0070-Fix-villagers-dont-release-memory.patch +++ b/leaves-server/minecraft-patches/features/0070-Fix-villagers-dont-release-memory.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix villagers dont release memory diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 8cc7dff9c0843fd474df00d08aa2bc0721f91349..e3256e6358aa9bcbc943d427a295ebeab9b73951 100644 +index 60838630325ec86cb19d7849ead5954eb51b737f..f26d415d93ec8ad27d2633a8e2433ac436b751db 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -4033,7 +4033,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -18,7 +18,7 @@ index 8cc7dff9c0843fd474df00d08aa2bc0721f91349..e3256e6358aa9bcbc943d427a295ebea List list = new ArrayList<>(passengers.size()); this.ejectPassengers(); diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java -index e1e2bdb35866a8f32a41f6efd24ad77cf916b2e9..2330415f8e3bc021e43facff4c99177cc0c9fc5c 100644 +index e1e2bdb35866a8f32a41f6efd24ad77cf916b2e9..22ef2d7bc8f514bf5a7a1f2fdb9a05a256378c5e 100644 --- a/net/minecraft/world/entity/npc/Villager.java +++ b/net/minecraft/world/entity/npc/Villager.java @@ -1033,4 +1033,19 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -28,7 +28,7 @@ index e1e2bdb35866a8f32a41f6efd24ad77cf916b2e9..2330415f8e3bc021e43facff4c99177c + + // Leaves start - fixes a memory leak when villagers get moved to another world + @Override -+ public Entity teleportCrossDimension(ServerLevel world, net.minecraft.world.level.portal.TeleportTransition transition) { ++ public Entity teleportCrossDimension(ServerLevel oldWorld, ServerLevel newWorld, net.minecraft.world.level.portal.TeleportTransition transition) { + if (org.leavesmc.leaves.LeavesConfig.performance.villagersDontReleaseMemoryFix) { + this.releaseAllPois(); + this.getBrain().eraseMemory(MemoryModuleType.HOME); @@ -37,7 +37,7 @@ index e1e2bdb35866a8f32a41f6efd24ad77cf916b2e9..2330415f8e3bc021e43facff4c99177c + this.getBrain().eraseMemory(MemoryModuleType.MEETING_POINT); + this.refreshBrain(transition.newLevel()); + } -+ return super.teleportCrossDimension(world, transition); ++ return super.teleportCrossDimension(oldWorld, newWorld, transition); + } + // Leaves end - fixes a memory leak when villagers get moved to another world }