Class LanguageGenProvider

java.lang.Object
net.minheur.techno_lib.lang.LanguageGenProvider
All Implemented Interfaces:
net.minecraft.data.DataProvider
Direct Known Subclasses:
ModLangGen

public abstract class LanguageGenProvider extends Object implements net.minecraft.data.DataProvider
  • Field Details

    • data

      private final Map<String,Map<String,String>> data
      This is the saver for data. The first Map if String, Map. The String is the lang name (ex. fr_fr, en_us...) and the Map is filled with key with translation.
    • output

      private final net.minecraft.data.PackOutput output
      This is the output to write the finished files.
    • modid

      private final String modid
      The ID of the mod which extends this class. It's used when registering advancements.
  • Constructor Details

    • LanguageGenProvider

      protected LanguageGenProvider(net.minecraft.data.PackOutput output, String modid)
  • Method Details

    • addTranslation

      protected abstract void addTranslation()
      This method is the one who get Override by the class extending this.
    • run

      public CompletableFuture<?> run(net.minecraft.data.CachedOutput pOutput)
      Executes when the datagen is running
      Specified by:
      run in interface net.minecraft.data.DataProvider
      Parameters:
      pOutput - the output for saving
      Returns:
      the list of CompletableFuture
    • save

      @NotNull private @NotNull CompletableFuture<?> save(net.minecraft.data.CachedOutput cache, @NotNull @NotNull Map<String,String> data, Path target)
      Saving one lang file from its Map
      Parameters:
      cache - the buimder
      data - the Map with data
      target - the path to set the file in
      Returns:
      the single CompletableFuture of this lang
    • getName

      public String getName()
      Gets a name for this provider, to use in logging.
      Specified by:
      getName in interface net.minecraft.data.DataProvider
    • add

      Main function to add a traduction
      Parameters:
      key - the long id of the translation
      Returns:
      a built translation
    • addBlock

      public LanguageGenProvider.TranslationBuilder addBlock(@NotNull @NotNull Supplier<? extends net.minecraft.world.level.block.Block> key)
      Create a Block translation builder from the extended Block you gave.
      Parameters:
      key - the extended Block
      Returns:
      a builder for Block
    • add

      public LanguageGenProvider.TranslationBuilder add(@NotNull @NotNull net.minecraft.world.level.block.Block key)
      Create a Block translation builder from the Block you gave
      Parameters:
      key - the Block
      Returns:
      a builder for Block
    • addItem

      public LanguageGenProvider.TranslationBuilder addItem(@NotNull @NotNull Supplier<? extends net.minecraft.world.item.Item> key)
      Create an Item translation builder from the extended Item you gave.
      Parameters:
      key - the extended Item
      Returns:
      a builder for Item
    • add

      public LanguageGenProvider.TranslationBuilder add(@NotNull @NotNull net.minecraft.world.item.Item key)
      Create an Item translation builder from the Item you gave
      Parameters:
      key - the Item
      Returns:
      a builder for Item
    • addItemStack

      public LanguageGenProvider.TranslationBuilder addItemStack(@NotNull @NotNull Supplier<net.minecraft.world.item.ItemStack> key)
      Create an ItemStack translation builder from the extended ItemStack you gave.
      Parameters:
      key - the extended ItemStack
      Returns:
      a builder for ItemStack
    • add

      public LanguageGenProvider.TranslationBuilder add(@NotNull @NotNull net.minecraft.world.item.ItemStack key)
      Create an ItemStack translation builder from the ItemStack you gave
      Parameters:
      key - the ItemStack
      Returns:
      a builder for ItemStack
    • addEnchantment

      public LanguageGenProvider.TranslationBuilder addEnchantment(@NotNull @NotNull Supplier<? extends net.minecraft.world.item.enchantment.Enchantment> key)
      Create an Enchantment translation builder from the extended Enchantment you gave.
      Parameters:
      key - the extended Enchantment
      Returns:
      a builder for Enchantment
    • add

      public LanguageGenProvider.TranslationBuilder add(@NotNull @NotNull net.minecraft.world.item.enchantment.Enchantment key)
      Create an Enchantment translation builder from the Enchantment you gave
      Parameters:
      key - the Enchantment
      Returns:
      a builder for Enchantment
    • addEffect

      public LanguageGenProvider.TranslationBuilder addEffect(@NotNull @NotNull Supplier<? extends net.minecraft.world.effect.MobEffect> key)
      Create a MobEffect translation builder from the extended MobEffect you gave.
      Parameters:
      key - the extended MobEffect
      Returns:
      a builder for MobEffect
    • add

      public LanguageGenProvider.TranslationBuilder add(@NotNull @NotNull net.minecraft.world.effect.MobEffect key)
      Create a MobEffect translation builder from the MobEffect you gave
      Parameters:
      key - the MobEffect
      Returns:
      a builder for MobEffect
    • addEntityType

      public LanguageGenProvider.TranslationBuilder addEntityType(@NotNull @NotNull Supplier<? extends net.minecraft.world.entity.EntityType<?>> key)
      Create an EntityType translation builder from the extended EntityType you gave.
      Parameters:
      key - the extended EntityType
      Returns:
      a builder for EntityType
    • add

      public LanguageGenProvider.TranslationBuilder add(@NotNull @NotNull net.minecraft.world.entity.EntityType<?> key)
      Create an EntityType translation builder from the EntityType you gave
      Parameters:
      key - the EntityType
      Returns:
      a builder for EntityType
    • addCreativeTab

      public LanguageGenProvider.TranslationBuilder addCreativeTab(@NotNull @NotNull net.minecraft.world.item.CreativeModeTab tab)
      Create a CreativeModeTab translation builder from the CreativeModeTab you gave.
      Parameters:
      tab - the CreativeModeTab
      Returns:
      a builder for CreativeModeTab
    • addAdvancementTitle

      public LanguageGenProvider.TranslationBuilder addAdvancementTitle(String group, String key)
      Create an advancement title translation builder from the group and key of an advancement.
      Parameters:
      group - the group of the advancement
      key - the key of the advancement
      Returns:
      a builder for an advancement title
    • addAdvancementTitle

      public LanguageGenProvider.TranslationBuilder addAdvancementTitle(@NotNull @NotNull AdvancementBuilder adv)
      Create an advancement title translation builder from the AdvancementBuilder you set. Used to get easier translation when using this system of advancements.
      Parameters:
      adv - the AdvancementBuilder you want.
      Returns:
      a builder for advancement
    • addAdvancementDesc

      public LanguageGenProvider.TranslationBuilder addAdvancementDesc(String group, String key)
      Create an Advancement description translation builder from the group and key of an advancement.
      Parameters:
      group - the group of the advancement
      key - the key of the advancement
      Returns:
      a builder for an Advancement description
    • addAdvancementDesc

      public LanguageGenProvider.TranslationBuilder addAdvancementDesc(@NotNull @NotNull AdvancementBuilder adv)
      Create an advancement description translation builder from the AdvancementBuilder you set. Used to get easier translation when using this system of advancements.
      Parameters:
      adv - the AdvancementBuilder you want.
      Returns:
      a builder for advancement
    • addTooltip

      public LanguageGenProvider.TranslationBuilder addTooltip(String tooltipId)
      Create a translation for tooltip.
      Parameters:
      tooltipId - the ID of your tooltip
      Returns:
      a builder for tooltip
    • addTooltipCredit

      public LanguageGenProvider.TranslationBuilder addTooltipCredit(String creditId)
      Create a translation for credit tooltip.
      Parameters:
      creditId - the ID of your credit
      Returns:
      a builder for tooltip
    • addSound

      public LanguageGenProvider.TranslationBuilder addSound(String soundName)
      Create a translation for a sound
      Parameters:
      soundName - the name of your sound
      Returns:
      a builder for sound
    • addRecipeName

      public LanguageGenProvider.TranslationBuilder addRecipeName(String recipeName)
      Create a translation for the name of your recipe
      Parameters:
      recipeName - the name of your recipe
      Returns:
      a builder for recipe
    • addRecipeProperty

      public LanguageGenProvider.TranslationBuilder addRecipeProperty(String recipeName, String property)
      Create a translation for a property of a recipe
      Parameters:
      recipeName - the name of the recipe
      property - the property you want to define
      Returns:
      a builder for a recipe property
    • addGuiName

      Create a translation for a gui name
      Parameters:
      guiId - the id of your GUI
      Returns:
      a builder for a gui name
    • addVillagerType

      public LanguageGenProvider.TranslationBuilder addVillagerType(String villagerId)
      Create a translation for the name of your villager
      Parameters:
      villagerId - the id of your villager
      Returns:
      a builder for a villager name
    • addAttackDeath

      public LanguageGenProvider.TranslationBuilder addAttackDeath(String damage)
      Create a translation for a death message
      Parameters:
      damage - the death type id
      Returns:
      a builder for a death message
    • addAttackDeathItem

      public LanguageGenProvider.TranslationBuilder addAttackDeathItem(String damage)
      Create a translation for a death by player with item message
      Parameters:
      damage - the death type id
      Returns:
      a builder for a death message
    • addAttackDeathPlayer

      public LanguageGenProvider.TranslationBuilder addAttackDeathPlayer(String damage)
      Create a translation for a death by player message
      Parameters:
      damage - the death type id
      Returns:
      a builder for a death message