From 1db133b5ef4fe2d6cde5e7a7db60b79a32a24475 Mon Sep 17 00:00:00 2001 From: csskrouble Date: Wed, 1 May 2024 13:21:54 +0200 Subject: [PATCH] feat: add even distrubition --- .../extrastorage/nodes/AdvancedCrafterNetworkNode.java | 4 ++-- src/main/java/edivad/extrastorage/setup/Config.java | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/edivad/extrastorage/nodes/AdvancedCrafterNetworkNode.java b/src/main/java/edivad/extrastorage/nodes/AdvancedCrafterNetworkNode.java index 70a13ea..d8bd7ac 100644 --- a/src/main/java/edivad/extrastorage/nodes/AdvancedCrafterNetworkNode.java +++ b/src/main/java/edivad/extrastorage/nodes/AdvancedCrafterNetworkNode.java @@ -296,7 +296,7 @@ public int getUpdateInterval() public int getMaximumSuccessfulCraftingUpdates() { int speed = getTierSpeed(); - if(hasConnectedInventory()) + if(Config.AdvancedCrafter.UNIFORMLY_DISTRIBUTE_PROCESSING.get() && hasConnectedInventory()) return Math.min(speed, getConnectedInventory().getSlots()); return speed; } @@ -305,7 +305,7 @@ public int getTierSpeed() { int upgradesCount = upgrades.getUpgradeCount(UpgradeItem.Type.SPEED); if(tier.equals(CrafterTier.IRON)) return upgradesCount + tier.getCraftingSpeed(); - return (upgradesCount * (tier.getCraftingSpeed() / 5)) + tier.getCraftingSpeed();//PREV Min:1 Max:5 + return (upgradesCount * (tier.getCraftingSpeed() / 5)) + tier.getCraftingSpeed(); } @Nullable diff --git a/src/main/java/edivad/extrastorage/setup/Config.java b/src/main/java/edivad/extrastorage/setup/Config.java index 9ad305a..0e3aa6f 100644 --- a/src/main/java/edivad/extrastorage/setup/Config.java +++ b/src/main/java/edivad/extrastorage/setup/Config.java @@ -18,6 +18,7 @@ public static void init() { public static class AdvancedCrafter { public static ForgeConfigSpec.IntValue BASE_ENERGY; public static ForgeConfigSpec.BooleanValue INCLUDE_PATTERN_ENERGY; + public static ForgeConfigSpec.BooleanValue UNIFORMLY_DISTRIBUTE_PROCESSING; public static void registerServerConfig(ForgeConfigSpec.Builder SERVER_BUILDER) { SERVER_BUILDER.push("crafters"); @@ -30,6 +31,11 @@ public static void registerServerConfig(ForgeConfigSpec.Builder SERVER_BUILDER) .comment("Include the amount of patterns in the crafter in your power consumption") .define("include_pattern_energy", true); + UNIFORMLY_DISTRIBUTE_PROCESSING = SERVER_BUILDER + .comment("The crafter's speed is limited to the number of available slots in the inventory it is connected to.", + "https://github.com/Edivad99/ExtraStorage/issues/55") + .define("uniformly_distribute_processing", false); + SERVER_BUILDER.pop(); } }