All Known Implementing Classes:
MissingSoilGenerator, TaggedSoilGenerator

public interface SoilGenerator
Soil generators are used to find potential soil candidates and generate data pack files for them. Generators are not meant to be perfect, they are only meant to save as much time as possible when writing data pack files.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    canGenerateSoil(net.minecraft.server.level.ServerLevel level, net.minecraft.world.item.ItemStack stack)
    Determines if the generator can generate a soil for a specific item.
    com.google.gson.JsonObject
    generateData(net.minecraft.server.level.ServerLevel level, net.minecraft.world.item.ItemStack stack)
    Generates the JSON data for the soil.
  • Method Details

    • canGenerateSoil

      boolean canGenerateSoil(net.minecraft.server.level.ServerLevel level, net.minecraft.world.item.ItemStack stack)
      Determines if the generator can generate a soil for a specific item. If a generator returns true the item will be considered claimed by the generator and other generators will not be given the chance to generate a soil for the item.
      Parameters:
      level - The current world level. Used to provide context like registry access and the recipe manager.
      stack - The item to test.
      Returns:
      If the generator can generate a soil for the provided item.
    • generateData

      com.google.gson.JsonObject generateData(net.minecraft.server.level.ServerLevel level, net.minecraft.world.item.ItemStack stack)
      Generates the JSON data for the soil.
      Parameters:
      level - The current world level. Used to provide context like registry access and the recipe manager.
      stack - The item to test.
      Returns:
      The JSON representation of the soil. The produced data must be a valid JSON representation that can be parsed by a registered recipe serializer.