From 91c6baead10686fdab018ead27f5c75719308f48 Mon Sep 17 00:00:00 2001 From: Leijurv Date: Tue, 30 Oct 2018 17:42:58 -0700 Subject: [PATCH] dont allocate parent tasks with empty priority --- src/main/java/tenor/AquireCraftingItems.java | 2 +- src/main/java/tenor/ScarceParentPriorityAllocator.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/tenor/AquireCraftingItems.java b/src/main/java/tenor/AquireCraftingItems.java index f461dfc01..036633f10 100644 --- a/src/main/java/tenor/AquireCraftingItems.java +++ b/src/main/java/tenor/AquireCraftingItems.java @@ -35,7 +35,7 @@ public class AquireCraftingItems extends QuantizedTaskNode implements IClaimProv // they could provide us with quantity int actualQuantity = (int) Math.ceil(quantity * 1.0D / amount); // so we could do the crafting recipe this many times - // how good would that be?allocatedPriority + // how good would that be? return priority().value(actualQuantity); } diff --git a/src/main/java/tenor/ScarceParentPriorityAllocator.java b/src/main/java/tenor/ScarceParentPriorityAllocator.java index b6aa1f2d5..736aa529e 100644 --- a/src/main/java/tenor/ScarceParentPriorityAllocator.java +++ b/src/main/java/tenor/ScarceParentPriorityAllocator.java @@ -38,13 +38,13 @@ public class ScarceParentPriorityAllocator { int[] taken = new int[parents.size()]; while (true) { - double bestRatio = Double.MIN_VALUE; + double bestRatio = 0; int bestParent = -1; int bestQuantity = -1; for (int i = 0; i < priorities.length; i++) { for (int j = 1; j < quantity - filled; j++) { double ratio = priorities[i][j] / j; - if (ratio > bestRatio || bestRatio == Double.MIN_VALUE) { + if (ratio > bestRatio) { bestRatio = ratio; bestParent = i; bestQuantity = j; @@ -52,7 +52,7 @@ public class ScarceParentPriorityAllocator { } } - if (bestParent == -1) { + if (bestParent == -1 || bestRatio == 0) { return new Tuple<>(totalPriority, taken); } taken[bestParent] += bestQuantity;