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:
+1
-1
@@ -1,4 +1,4 @@
|
||||
package dev.u9g.minecraftdatagenerator.ClientSideAnnoyances;
|
||||
package dev.u9g.minecraftdatagenerator.clientsideannoyances;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package dev.u9g.minecraftdatagenerator.ClientSideAnnoyances;
|
||||
package dev.u9g.minecraftdatagenerator.clientsideannoyances;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
+2
-3
@@ -1,4 +1,4 @@
|
||||
package dev.u9g.minecraftdatagenerator.ClientSideAnnoyances;
|
||||
package dev.u9g.minecraftdatagenerator.clientsideannoyances;
|
||||
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.class_2181;
|
||||
@@ -56,8 +56,7 @@ public class BlockColors {
|
||||
public void method_12158(BlockColorable blockColorable, Block... blocks) {
|
||||
int var4 = blocks.length;
|
||||
|
||||
for (int var5 = 0; var5 < var4; ++var5) {
|
||||
Block block = blocks[var5];
|
||||
for (Block block : blocks) {
|
||||
this.BlockColor2Id.set(blockColorable, Registry.BLOCK.getRawId(block));
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
-1
@@ -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
-1
@@ -1,4 +1,4 @@
|
||||
package dev.u9g.minecraftdatagenerator.ClientSideAnnoyances;
|
||||
package dev.u9g.minecraftdatagenerator.clientsideannoyances;
|
||||
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
+1
-2
@@ -13,12 +13,11 @@ import java.util.Objects;
|
||||
public class BiomesDataGenerator implements IDataGenerator {
|
||||
|
||||
private static String guessBiomeDimensionFromCategory(Biome biome) {
|
||||
String category = switch (biome.getCategory()) {
|
||||
return switch (biome.getCategory()) {
|
||||
case NETHER -> "nether";
|
||||
case THEEND -> "end";
|
||||
default -> "overworld";
|
||||
};
|
||||
return category;
|
||||
}
|
||||
|
||||
private static int getBiomeColorFor(String biomeName) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -77,7 +77,7 @@ public class EntitiesDataGenerator implements IDataGenerator {
|
||||
if (entityType == EntityType.PLAYER) return "other"; // fail early for player entities
|
||||
Class<? extends Entity> entityClazz = getEntityClass(entityType);
|
||||
String packageName = entityClazz.getPackage().getName();
|
||||
String category = switch (packageName) {
|
||||
return switch (packageName) {
|
||||
case "net.minecraft.entity.decoration", "net.minecraft.entity.decoration.painting" -> "Immobile";
|
||||
case "net.minecraft.entity.boss", "net.minecraft.entity.mob", "net.minecraft.entity.boss.dragon" ->
|
||||
"Hostile mobs";
|
||||
@@ -87,7 +87,6 @@ public class EntitiesDataGenerator implements IDataGenerator {
|
||||
case "net.minecraft.entity" -> "other";
|
||||
default -> throw new Error("Unexpected entity type: " + packageName);
|
||||
};
|
||||
return category;
|
||||
}
|
||||
|
||||
//Honestly, both "type" and "category" fields in the schema and examples do not contain any useful information
|
||||
|
||||
+4
-4
@@ -2,10 +2,10 @@ package dev.u9g.minecraftdatagenerator.generators;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
import dev.u9g.minecraftdatagenerator.ClientSideAnnoyances.BlockColors;
|
||||
import dev.u9g.minecraftdatagenerator.ClientSideAnnoyances.FoliageColors;
|
||||
import dev.u9g.minecraftdatagenerator.ClientSideAnnoyances.GrassColors;
|
||||
import dev.u9g.minecraftdatagenerator.ClientSideAnnoyances.ServerSideRedstoneWireBlock;
|
||||
import dev.u9g.minecraftdatagenerator.clientsideannoyances.BlockColors;
|
||||
import dev.u9g.minecraftdatagenerator.clientsideannoyances.FoliageColors;
|
||||
import dev.u9g.minecraftdatagenerator.clientsideannoyances.GrassColors;
|
||||
import dev.u9g.minecraftdatagenerator.clientsideannoyances.ServerSideRedstoneWireBlock;
|
||||
import dev.u9g.minecraftdatagenerator.util.DGU;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
|
||||
@@ -16,13 +16,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 = DGU.getCurrentlyRunningServer().getVersion();
|
||||
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().stopServer();
|
||||
System.exit(0);
|
||||
Main.LOGGER.info("Done data generation!");
|
||||
Runtime.getRuntime().halt(0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user