mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-29 20:09:17 +00:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@b0da38c2 Repository details in RuntimeException for MavenLibraryResolver#addRepository (#12939) PaperMC/Paper@1922be90 Update custom tags (#12183) PaperMC/Paper@79cf1353 Ignore HopperInventorySearchEvent when it has no listeners (#13009) PaperMC/Paper@ea014f7a feat: add stuckEntityPoiRetryDelay config (#12949) PaperMC/Paper@a9e76749 Support for showNotification in PlayerRecipeDiscoverEvent (#12992) PaperMC/Paper@5622c9dd Expose attribute sentiment (#12974) PaperMC/Paper@42b653b1 Expose more argument types (#12665) PaperMC/Paper@52d9a221 [ci/skip] Fix typo in Display javadoc (#13010) PaperMC/Paper@614e9acf Improve APIs around riptide tridents (#12996) PaperMC/Paper@51706e5a Fixed DyeItem sheep dye hunk
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 44340aa26bc89faaf8842bb36048cf61dba34314..811cbeafaf907b1fc96cc0916073c5f0100c555e 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;
|
|
}
|
|
}
|