New changes (#12)

* Shutdown fast

* Change to order of releases

* Revert "Shutdown fast"

This reverts commit be2ea227718b19b00a0be0e59ec54bb87ffd5ea2.

* Remove all shutdown hook, we do not care about generator worlds

* Update README.md

* Fix typo

* Add OS-specific commands

* More code improvements

* Fix compilation

* Add job timeout

* Revert "Remove all shutdown hook, we do not care about generator worlds"

This reverts commit 44117795360c9d67fab15566e2fc6436bfe9ac6f.

* More aggressive server stopping
This commit is contained in:
Alex
2023-12-31 23:07:36 +01:00
committed by GitHub
parent 09fe9f6a2b
commit 0f1c6bdd04
117 changed files with 420 additions and 456 deletions
@@ -1,4 +1,4 @@
package dev.u9g.minecraftdatagenerator.ClientSideAnnoyances;
package dev.u9g.minecraftdatagenerator.clientsideannoyances;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.biome.Biome;
@@ -1,4 +1,4 @@
package dev.u9g.minecraftdatagenerator.ClientSideAnnoyances;
package dev.u9g.minecraftdatagenerator.clientsideannoyances;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.biome.Biome;
@@ -1,4 +1,4 @@
package dev.u9g.minecraftdatagenerator.ClientSideAnnoyances;
package dev.u9g.minecraftdatagenerator.clientsideannoyances;
import net.minecraft.client.util.math.Vector3f;
import net.minecraft.util.math.MathHelper;
@@ -44,16 +44,16 @@ public class DataGenerators {
try {
Files.createDirectories(outputDirectory);
} catch (IOException exception) {
logger.log(Level.INFO, "Failed to create data generator output directory at " + outputDirectory);
logger.info("Failed to create data generator output directory at " + outputDirectory);
exception.printStackTrace();
return false;
}
int generatorsFailed = 0;
logger.log(Level.INFO, MessageFormat.format("Running minecraft data generators, output at {0}", outputDirectory));
logger.info(MessageFormat.format("Running minecraft data generators, output at {0}", outputDirectory));
for (IDataGenerator dataGenerator : GENERATORS) {
logger.log(Level.INFO, MessageFormat.format("Running generator {0}", dataGenerator.getDataName()));
logger.info(MessageFormat.format("Running generator {0}", dataGenerator.getDataName()));
try {
String outputFileName = String.format("%s.json", dataGenerator.getDataName());
JsonElement outputElement = dataGenerator.generateDataJson();
@@ -64,16 +64,16 @@ public class DataGenerators {
jsonWriter.setIndent(" ");
Streams.write(outputElement, jsonWriter);
}
logger.log(Level.INFO, MessageFormat.format("Generator: {0} -> {1}", dataGenerator.getDataName(), outputFileName));
logger.info(MessageFormat.format("Generator: {0} -> {1}", dataGenerator.getDataName(), outputFileName));
} catch (Throwable exception) {
logger.log(Level.INFO, MessageFormat.format("Failed to run data generator {0}", dataGenerator.getDataName()));
logger.info(MessageFormat.format("Failed to run data generator {0}", dataGenerator.getDataName()));
exception.printStackTrace();
generatorsFailed++;
}
}
logger.log(Level.INFO, "Finishing running data generators");
logger.info("Finishing running data generators");
return generatorsFailed == 0;
}
}
@@ -75,7 +75,7 @@ public class EnchantmentsDataGenerator implements IDataGenerator {
List<Enchantment> incompatibleEnchantments = registry.stream()
.filter(other -> !enchantment.canCombine(other))
.filter(other -> other != enchantment)
.collect(Collectors.toList());
.toList();
JsonArray excludes = new JsonArray();
for (Enchantment excludedEnchantment : incompatibleEnchantments) {
@@ -2,9 +2,9 @@ package dev.u9g.minecraftdatagenerator.generators;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import dev.u9g.minecraftdatagenerator.ClientSideAnnoyances.FoliageColors;
import dev.u9g.minecraftdatagenerator.ClientSideAnnoyances.GrassColors;
import dev.u9g.minecraftdatagenerator.ClientSideAnnoyances.ServerSideRedstoneWireBlock;
import dev.u9g.minecraftdatagenerator.clientsideannoyances.FoliageColors;
import dev.u9g.minecraftdatagenerator.clientsideannoyances.GrassColors;
import dev.u9g.minecraftdatagenerator.clientsideannoyances.ServerSideRedstoneWireBlock;
import dev.u9g.minecraftdatagenerator.mixin.BiomeEffectsAccessor;
import dev.u9g.minecraftdatagenerator.util.EmptyRenderBlockView;
import net.fabricmc.api.EnvType;
@@ -17,12 +17,12 @@ import java.util.logging.Level;
public class ReadyMixin {
@Inject(method = "setupServer()Z", at = @At("TAIL"))
private void init(CallbackInfoReturnable<Boolean> cir) {
Main.LOGGER.log(Level.INFO, "Starting data generation!");
Main.LOGGER.info("Starting data generation!");
String versionName = MinecraftVersion.field_25319.getName();
Path serverRootDirectory = DGU.getCurrentlyRunningServer().getRunDirectory().toPath().toAbsolutePath();
Path dataDumpDirectory = serverRootDirectory.resolve("minecraft-data").resolve(versionName);
DataGenerators.runDataGenerators(dataDumpDirectory);
Main.LOGGER.log(Level.INFO, "Done data generation!");
DGU.getCurrentlyRunningServer().stop(false);
Main.LOGGER.info("Done data generation!");
Runtime.getRuntime().halt(0);
}
}