9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-27 10:59:16 +00:00
Files
Leaf/leaf-server/minecraft-patches/features/0062-Remove-stream-in-YieldJobSite.patch
Dreeam 01fa6ac227 Add Leaf Commands (WIP)
* Added Leaf Commands base
* Added WIP /leaf reload
* Added /leaf version
* Change /gale permission to OP as default
2025-02-22 03:15:42 -05:00

54 lines
3.7 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com>
Date: Sat, 26 Oct 2024 14:04:54 +0800
Subject: [PATCH] Remove stream in YieldJobSite
diff --git a/net/minecraft/world/entity/ai/behavior/YieldJobSite.java b/net/minecraft/world/entity/ai/behavior/YieldJobSite.java
index 37ad79e201e36a1a9520219e3faa4dcffa7b4dfd..d174bb065911c22526b8d6c58f2c748e4f816894 100644
--- a/net/minecraft/world/entity/ai/behavior/YieldJobSite.java
+++ b/net/minecraft/world/entity/ai/behavior/YieldJobSite.java
@@ -38,23 +38,26 @@ public class YieldJobSite {
if (type.isEmpty()) {
return true;
} else {
- instance.<List<LivingEntity>>get(nearestLivingEntities)
- .stream()
- .filter(nearEntity -> nearEntity instanceof Villager && nearEntity != villager)
- .map(nearEntity -> (Villager)nearEntity)
- .filter(LivingEntity::isAlive)
- .filter(nearVillager -> nearbyWantsJobsite(type.get(), nearVillager, blockPos))
- .findFirst()
- .ifPresent(nearVillager -> {
- walkTarget.erase();
- lookTarget.erase();
- potentialJobSite.erase();
- if (nearVillager.getBrain().getMemory(MemoryModuleType.JOB_SITE).isEmpty()) {
- BehaviorUtils.setWalkAndLookTargetMemories(nearVillager, blockPos, speedModifier, 1);
- nearVillager.getBrain().setMemory(MemoryModuleType.POTENTIAL_JOB_SITE, GlobalPos.of(level.dimension(), blockPos));
- DebugPackets.sendPoiTicketCountPacket(level, blockPos);
+ // Leaf start - Remove stream in YieldJobSite
+ List<LivingEntity> mobsList = instance.get(nearestLivingEntities);
+ for (LivingEntity nearEntity : mobsList) {
+ if (nearEntity instanceof Villager nearVillager && nearEntity != villager && nearEntity.isAlive()) {
+ if (nearbyWantsJobsite(type.get(), nearVillager, blockPos)) {
+ walkTarget.erase();
+ lookTarget.erase();
+ potentialJobSite.erase();
+
+ if (nearVillager.getBrain().getMemory(MemoryModuleType.JOB_SITE).isEmpty()) {
+ BehaviorUtils.setWalkAndLookTargetMemories(nearVillager, blockPos, speedModifier, 1);
+ nearVillager.getBrain().setMemory(MemoryModuleType.POTENTIAL_JOB_SITE, GlobalPos.of(level.dimension(), blockPos));
+ DebugPackets.sendPoiTicketCountPacket(level, blockPos);
+ }
+
+ break;
}
- });
+ }
+ }
+ // Leaf end - Remove stream in YieldJobSite
return true;
}
}