mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-27 10:59:16 +00:00
* Added Leaf Commands base * Added WIP /leaf reload * Added /leaf version * Change /gale permission to OP as default
54 lines
3.7 KiB
Diff
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;
|
|
}
|
|
}
|