reduce operation cost
This commit is contained in:
parent
533031863f
commit
123c0d0787
@ -26,7 +26,6 @@ import org.bukkit.event.block.BlockBreakEvent;
|
|||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
import org.bukkit.event.block.BlockPlaceEvent;
|
||||||
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
@ -101,15 +100,9 @@ public class OptimizeByWorkstation implements VillagerOptimizerModule, Listener
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Iterator<WrappedVillager> villagerIterator = workstationLoc.getNearbyEntitiesByType(Villager.class, search_radius)
|
for (Villager villager : workstationLoc.getNearbyEntitiesByType(Villager.class, search_radius)) {
|
||||||
.stream()
|
if (villager.getProfession() != workstationProfession) continue;
|
||||||
.filter(villager -> villager.isAdult() && villager.getProfession() != Villager.Profession.NITWIT)
|
WrappedVillager wrapped = villagerCache.getOrAdd(villager);
|
||||||
.map(villagerCache::getOrAdd)
|
|
||||||
.iterator();
|
|
||||||
|
|
||||||
while (villagerIterator.hasNext()) {
|
|
||||||
final WrappedVillager wrapped = villagerIterator.next();
|
|
||||||
if (wrapped.villager().getProfession() != workstationProfession) continue;
|
|
||||||
if (wrapped.getJobSite() == null) continue;
|
if (wrapped.getJobSite() == null) continue;
|
||||||
if (wrapped.getJobSite().distanceSquared(workstationLoc) > 1) continue;
|
if (wrapped.getJobSite().distanceSquared(workstationLoc) > 1) continue;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user