From ff2763df9ea3ae99272f53480caef5d5f7909c23 Mon Sep 17 00:00:00 2001 From: TomTheFurry Date: Mon, 25 Jul 2022 19:44:11 +0800 Subject: [PATCH] Rework forge to new a1.7 structure. Minecraft runs and it builds. But crash on loading into world due to... weirdness --- .../builders/worldGeneration/BatchGenerator.java | 2 +- .../java/com/seibel/lod/core/config/Config.java | 15 ++++++++++++--- .../dependencyInjection/ModAccessorInjector.java | 3 ++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java b/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java index 157ea30ef..586392eca 100644 --- a/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java +++ b/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java @@ -50,7 +50,7 @@ public class BatchGenerator implements IChunkGenerator public AbstractBatchGenerationEnvionmentWrapper generationGroup; public ILevel targetLodLevel; public static final int generationGroupSize = 4; - public static int previousThreadCount = Config.Client.Advanced.Threading.numberOfWorldGenerationThreads.get()<1 ? 1 : (int) Math.ceil(Config.Client.Advanced.Threading.numberOfWorldGenerationThreads.get()); + public static int previousThreadCount = Config.Client.Advanced.Threading.getWorldGenerationThreadPoolSize(); private static final Logger LOGGER = DhLoggerBuilder.getLogger(MethodHandles.lookup().lookupClass().getSimpleName()); // private int estimatedSampleNeeded = 128; diff --git a/src/main/java/com/seibel/lod/core/config/Config.java b/src/main/java/com/seibel/lod/core/config/Config.java index f63d24f6b..78fcfee35 100644 --- a/src/main/java/com/seibel/lod/core/config/Config.java +++ b/src/main/java/com/seibel/lod/core/config/Config.java @@ -669,7 +669,7 @@ public class Config public static class Threading { - public static ConfigEntry numberOfWorldGenerationThreads = new ConfigEntry.Builder() + public static final ConfigEntry numberOfWorldGenerationThreads = new ConfigEntry.Builder() .setMinDefaultMax(0.1, (double) Math.min(Runtime.getRuntime().availableProcessors()/2, 4), (double) Runtime.getRuntime().availableProcessors()) @@ -692,8 +692,17 @@ public class Config /** Returns the number of threads that can be used to generate terrain */ public static int getWorldGenerationThreadPoolSize() { - return numberOfWorldGenerationThreads.get() < 1 ? - 1 : (int) Math.ceil(numberOfWorldGenerationThreads.get()); + Double objValue = numberOfWorldGenerationThreads.get(); + double value = objValue; + //double value = numberOfWorldGenerationThreads.get(); + if (value < 1.0) + { + return 1; + } + else + { + return (int) value; + } } /** Returns how often world generator threads should run as a number between 0.0 and 1.0 */ public static double getWorldGenerationPartialRunTime() diff --git a/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java b/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java index 95d001927..b88bd2242 100644 --- a/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java +++ b/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java @@ -60,5 +60,6 @@ public class ModAccessorInjector extends DependencyInjector super.bind(interfaceClass, modAccessor); LOGGER.info("Registered mod compatibility accessor for: [" + modAccessor.getModName() + "]."); } - + + }