forked from Minestom/Minestom
-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathGenerators.java
More file actions
57 lines (47 loc) · 4.08 KB
/
Generators.java
File metadata and controls
57 lines (47 loc) · 4.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package net.minestom.codegen;
import net.minestom.codegen.color.DyeColorGenerator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.InputStream;
public class Generators {
private static final Logger LOGGER = LoggerFactory.getLogger(Generators.class);
public static void main(String[] args) {
if (args.length != 1) {
LOGGER.error("Usage: <target folder>");
return;
}
File outputFolder = new File(args[0]);
// Generate DyeColors
new DyeColorGenerator(resource("dye_colors.json"), outputFolder).generate();
var generator = new CodeGenerator(outputFolder);
generator.generate(resource("blocks.json"), "net.minestom.server.instance.block", "Block", "BlockImpl", "Blocks");
generator.generate(resource("items.json"), "net.minestom.server.item", "Material", "MaterialImpl", "Materials");
generator.generate(resource("entities.json"), "net.minestom.server.entity", "EntityType", "EntityTypeImpl", "EntityTypes");
generator.generate(resource("biomes.json"), "net.minestom.server.world.biomes", "Biome", "BiomeImpl", "Biomes");
generator.generate(resource("enchantments.json"), "net.minestom.server.item", "Enchantment", "EnchantmentImpl", "Enchantments");
generator.generate(resource("potion_effects.json"), "net.minestom.server.potion", "PotionEffect", "PotionEffectImpl", "PotionEffects");
generator.generate(resource("potions.json"), "net.minestom.server.potion", "PotionType", "PotionTypeImpl", "PotionTypes");
generator.generate(resource("particles.json"), "net.minestom.server.particle", "Particle", "ParticleImpl", "Particles");
generator.generate(resource("sounds.json"), "net.minestom.server.sound", "SoundEvent", "SoundEventImpl", "SoundEvents");
generator.generate(resource("custom_statistics.json"), "net.minestom.server.statistic", "StatisticType", "StatisticTypeImpl", "StatisticTypes");
generator.generate(resource("damage_types.json"), "net.minestom.server.entity.damage", "DamageType", "DamageTypeImpl", "DamageTypes");
generator.generate(resource("trim_materials.json"), "net.minestom.server.item.armor", "TrimMaterial", "TrimMaterialImpl", "TrimMaterials");
generator.generate(resource("trim_patterns.json"), "net.minestom.server.item.armor", "TrimPattern", "TrimPatternImpl", "TrimPatterns");
generator.generate(resource("banner_patterns.json"), "net.minestom.server.item.banner", "BannerPattern", "BannerPatternImpl", "BannerPatterns"); // Microtus - Banner and Shield Meta
generator.generate(resource("villager_professions.json"), "net.minestom.server.entity.villager", "VillagerProfession", "VillagerProfessionImpl", "VillagerProfessions");
generator.generate(resource("villager_types.json"), "net.minestom.server.entity.villager", "VillagerType", "VillagerTypeImpl", "VillagerTypes");
generator.generate(resource("attributes.json"), "net.minestom.server.attribute", "Attribute", "AttributeImpl", "Attributes");
generator.generate(resource("fluids.json"), "net.minestom.server.fluid", "Fluid", "FluidImpl", "Fluids");
generator.generate(resource("feature_flags.json"), "net.minestom.server.featureflag", "FeatureFlag", "FeatureFlagImpl", "FeatureFlags");
generator.generate(resource("tags/gameplay_tags.json"), "net.minestom.server.gametag", "Tag", "GameEventTag", "GameEventTags");
generator.generate(resource("tags/entity_type_tags.json"), "net.minestom.server.gametag", "Tag", "EntityTag", "EntityTags");
generator.generate(resource("tags/block_tags.json"), "net.minestom.server.gametag", "Tag", "BlockTag", "BlockTags");
generator.generate(resource("tags/item_tags.json"), "net.minestom.server.gametag", "Tag", "ItemTag", "ItemTags");
generator.generate(resource("tags/fluid_tags.json"), "net.minestom.server.gametag", "Tag", "FluidTag", "FluidTags");
LOGGER.info("Finished generating code");
}
private static InputStream resource(String name) {
return Generators.class.getResourceAsStream("/" + name);
}
}