convert 1.20.5-21.1 module to kotlin as much as possible

This commit is contained in:
nelle 2024-12-22 02:19:07 -07:00
parent 157feb8e05
commit d0f31746dd
6 changed files with 277 additions and 230 deletions

View file

@ -1,30 +1,25 @@
package observer.nelle.roses.datagen; package observer.nelle.roses.datagen
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider
import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.RegistryWrapper
import net.minecraft.registry.tag.BlockTags; import net.minecraft.registry.tag.BlockTags
import observer.nelle.roses.RosesBlocks; import observer.nelle.roses.RosesBlocks.cyanRoseBush
import observer.nelle.roses.RosesBlocks.cyanRoseFlower
import observer.nelle.roses.RosesBlocks.pottedCyan
import observer.nelle.roses.RosesBlocks.pottedRose
import observer.nelle.roses.RosesBlocks.roseFlower
import java.util.concurrent.CompletableFuture
import java.util.concurrent.CompletableFuture; class RosesBlockTagProvider(
output: FabricDataOutput,
registriesFuture: CompletableFuture<RegistryWrapper.WrapperLookup?>?,
) : FabricTagProvider.BlockTagProvider(output, registriesFuture) {
override fun configure(wrapperLookup: RegistryWrapper.WrapperLookup) {
getOrCreateTagBuilder(BlockTags.TALL_FLOWERS).add(cyanRoseBush)
public class RosesBlockTagProvider extends FabricTagProvider.BlockTagProvider { getOrCreateTagBuilder(BlockTags.SMALL_FLOWERS).add(roseFlower).add(cyanRoseFlower)
public RosesBlockTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output, registriesFuture);
}
@Override getOrCreateTagBuilder(BlockTags.FLOWER_POTS).add(pottedRose).add(pottedCyan)
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { }
getOrCreateTagBuilder(BlockTags.TALL_FLOWERS)
.add(RosesBlocks.INSTANCE.getCyanRoseBush())
;
getOrCreateTagBuilder(BlockTags.SMALL_FLOWERS)
.add(RosesBlocks.INSTANCE.getRoseFlower())
.add(RosesBlocks.INSTANCE.getCyanRoseFlower())
;
getOrCreateTagBuilder(BlockTags.FLOWER_POTS)
.add(RosesBlocks.INSTANCE.getPottedRose())
.add(RosesBlocks.INSTANCE.getPottedCyan())
;
}
} }

View file

@ -1,43 +1,58 @@
package observer.nelle.roses.datagen; package observer.nelle.roses.datagen
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput
import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider
import net.minecraft.block.Block; import net.minecraft.block.Block
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks
import net.minecraft.enchantment.Enchantments; import net.minecraft.enchantment.Enchantments
import net.minecraft.item.Item; import net.minecraft.loot.LootTable
import net.minecraft.loot.LootTable; import net.minecraft.loot.entry.ItemEntry
import net.minecraft.loot.entry.ItemEntry; import net.minecraft.loot.function.ApplyBonusLootFunction
import net.minecraft.loot.function.ApplyBonusLootFunction; import net.minecraft.loot.function.SetCountLootFunction
import net.minecraft.loot.function.SetCountLootFunction; import net.minecraft.loot.provider.number.UniformLootNumberProvider
import net.minecraft.loot.provider.number.UniformLootNumberProvider; import net.minecraft.registry.RegistryWrapper
import net.minecraft.registry.RegistryWrapper; import observer.nelle.roses.RosesBlocks.cyanRoseBush
import observer.nelle.roses.RosesBlocks; import observer.nelle.roses.RosesBlocks.cyanRoseFlower
import observer.nelle.roses.RosesBlocks.pottedCyan
import observer.nelle.roses.RosesBlocks.pottedRose
import observer.nelle.roses.RosesBlocks.roseFlower
import java.util.concurrent.CompletableFuture
import java.util.Objects; class RosesLootTableProvider(
import java.util.concurrent.CompletableFuture; dataOutput: FabricDataOutput?,
registryLookup: CompletableFuture<RegistryWrapper.WrapperLookup?>?,
) : FabricBlockLootTableProvider(dataOutput, registryLookup) {
override fun generate() {
addDrop(roseFlower)
addDrop(cyanRoseFlower)
public class RosesLootTableProvider extends FabricBlockLootTableProvider { addPottedPlantDrops(pottedRose)
public RosesLootTableProvider(FabricDataOutput dataOutput, CompletableFuture<RegistryWrapper.WrapperLookup> registryLookup) { addPottedPlantDrops(pottedCyan)
super(dataOutput, registryLookup);
}
@Override addDrop(
public void generate() { Blocks.ROSE_BUSH,
addDrop(RosesBlocks.INSTANCE.getRoseFlower()); roseBushDrops(Blocks.ROSE_BUSH, roseFlower, 2.0f, 5.0f),
addDrop(RosesBlocks.INSTANCE.getCyanRoseFlower()); )
addDrop(
cyanRoseBush,
roseBushDrops(cyanRoseBush!!, cyanRoseFlower, 2.0f, 5.0f),
)
}
addPottedPlantDrops(RosesBlocks.INSTANCE.getPottedRose()); private fun roseBushDrops(
addPottedPlantDrops(RosesBlocks.INSTANCE.getPottedCyan()); input: Block,
output: Block?,
addDrop(Blocks.ROSE_BUSH, roseBushDrops(Blocks.ROSE_BUSH, Objects.requireNonNull(RosesBlocks.INSTANCE.getRoseFlower()).asItem(), 2.0F, 5.0F)); min: Float,
addDrop(RosesBlocks.INSTANCE.getCyanRoseBush(), roseBushDrops(RosesBlocks.INSTANCE.getCyanRoseBush(), Objects.requireNonNull(RosesBlocks.INSTANCE.getCyanRoseFlower()).asItem(), 2.0F, 5.0F)); max: Float,
} ): LootTable.Builder =
dropsWithShears(
public LootTable.Builder roseBushDrops(Block input, Item output, Float min, Float max) { input,
return dropsWithShears(input, this this.applyExplosionDecay(
.applyExplosionDecay(input, ItemEntry.builder(output) input,
.apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(min, max))) ItemEntry
.apply(ApplyBonusLootFunction.oreDrops(Enchantments.FORTUNE)))); .builder(output)
} .apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(min, max)))
.apply(ApplyBonusLootFunction.oreDrops(Enchantments.FORTUNE)),
),
)
} }

View file

@ -1,27 +1,47 @@
package observer.nelle.roses.datagen; package observer.nelle.roses.datagen
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider
import net.minecraft.data.server.recipe.RecipeExporter; import net.minecraft.data.server.recipe.RecipeExporter
import net.minecraft.item.Items; import net.minecraft.item.Items
import net.minecraft.recipe.book.RecipeCategory; import net.minecraft.recipe.book.RecipeCategory
import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.RegistryWrapper
import observer.nelle.roses.RosesBlocks; import observer.nelle.roses.RosesBlocks.cyanRoseBush
import observer.nelle.roses.RosesBlocks.cyanRoseFlower
import observer.nelle.roses.RosesBlocks.roseFlower
import java.util.concurrent.CompletableFuture
import java.util.Objects; class RosesRecipeProvider(
import java.util.concurrent.CompletableFuture; output: FabricDataOutput?,
registriesFuture: CompletableFuture<RegistryWrapper.WrapperLookup?>?,
) : FabricRecipeProvider(output, registriesFuture) {
override fun generate(recipeExporter: RecipeExporter) {
offerShapelessRecipe(
recipeExporter,
Items.RED_DYE,
roseFlower,
"dye",
2,
)
offerShapelessRecipe(
recipeExporter,
Items.CYAN_DYE,
cyanRoseFlower,
"dye",
2,
)
public class RosesRecipeProvider extends FabricRecipeProvider { offer2x2CompactingRecipe(
public RosesRecipeProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) { recipeExporter,
super(output, registriesFuture); RecipeCategory.DECORATIONS,
} Items.ROSE_BUSH,
roseFlower,
@Override )
public void generate(RecipeExporter recipeExporter) { offer2x2CompactingRecipe(
offerShapelessRecipe(recipeExporter, Items.RED_DYE, Objects.requireNonNull(RosesBlocks.INSTANCE.getRoseFlower()), "dye", 2); recipeExporter,
offerShapelessRecipe(recipeExporter, Items.CYAN_DYE, Objects.requireNonNull(RosesBlocks.INSTANCE.getCyanRoseFlower()), "dye", 2); RecipeCategory.DECORATIONS,
cyanRoseBush,
offer2x2CompactingRecipe(recipeExporter, RecipeCategory.DECORATIONS, Items.ROSE_BUSH, RosesBlocks.INSTANCE.getRoseFlower()); cyanRoseFlower,
offer2x2CompactingRecipe(recipeExporter, RecipeCategory.DECORATIONS, Objects.requireNonNull(RosesBlocks.INSTANCE.getCyanRoseBush()).asItem(), RosesBlocks.INSTANCE.getCyanRoseFlower()); )
} }
} }

View file

@ -1,25 +1,22 @@
package observer.nelle.roses.datagen; package observer.nelle.roses.datagen
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput
import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider
import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.RegistryKeys
import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.RegistryWrapper
import java.util.concurrent.CompletableFuture
import java.util.concurrent.CompletableFuture; class RosesRegistryGenerator(
output: FabricDataOutput?,
registriesFuture: CompletableFuture<RegistryWrapper.WrapperLookup?>?,
) : FabricDynamicRegistryProvider(output, registriesFuture) {
override fun configure(
registries: RegistryWrapper.WrapperLookup,
entries: Entries,
) {
entries.addAll(registries.getWrapperOrThrow(RegistryKeys.CONFIGURED_FEATURE))
entries.addAll(registries.getWrapperOrThrow(RegistryKeys.PLACED_FEATURE))
}
public class RosesRegistryGenerator extends FabricDynamicRegistryProvider { override fun getName(): String = ""
public RosesRegistryGenerator(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output, registriesFuture);
}
@Override
protected void configure(RegistryWrapper.WrapperLookup registries, Entries entries) {
entries.addAll(registries.getWrapperOrThrow(RegistryKeys.CONFIGURED_FEATURE));
entries.addAll(registries.getWrapperOrThrow(RegistryKeys.PLACED_FEATURE));
}
@Override
public String getName() {
return "";
}
} }

View file

@ -1,128 +1,148 @@
package observer.nelle.roses.world.gen; package observer.nelle.roses.world.gen
import net.fabricmc.fabric.api.biome.v1.BiomeModifications; import net.fabricmc.fabric.api.biome.v1.BiomeModifications
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; import net.fabricmc.fabric.api.biome.v1.BiomeSelectors
import net.minecraft.world.biome.BiomeKeys; import net.minecraft.world.biome.BiomeKeys
import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.GenerationStep
import observer.nelle.roses.world.RosesPlacedFeatures; import observer.nelle.roses.world.RosesPlacedFeatures
public class RosesVegetationGeneration { object RosesVegetationGeneration {
public static void generateVegetation() { fun generateVegetation() {
BiomeModifications.addFeature( BiomeModifications.addFeature(
BiomeSelectors.includeByKey( BiomeSelectors.includeByKey(
BiomeKeys.FOREST, BiomeKeys.FOREST,
BiomeKeys.FLOWER_FOREST, BiomeKeys.FLOWER_FOREST,
BiomeKeys.BIRCH_FOREST, BiomeKeys.BIRCH_FOREST,
BiomeKeys.OLD_GROWTH_BIRCH_FOREST, BiomeKeys.OLD_GROWTH_BIRCH_FOREST,
BiomeKeys.DARK_FOREST), BiomeKeys.DARK_FOREST,
GenerationStep.Feature.VEGETAL_DECORATION, RosesPlacedFeatures.cyanRoseBushPlacedKey); ),
GenerationStep.Feature.VEGETAL_DECORATION,
RosesPlacedFeatures.cyanRoseBushPlacedKey,
)
// regular // regular
BiomeModifications.addFeature( BiomeModifications.addFeature(
BiomeSelectors.includeByKey( BiomeSelectors.includeByKey(
BiomeKeys.PLAINS, BiomeKeys.PLAINS,
BiomeKeys.SUNFLOWER_PLAINS, BiomeKeys.SUNFLOWER_PLAINS,
BiomeKeys.MEADOW, // https://minecraft.wiki/w/Flower#Flower_gradients BiomeKeys.MEADOW, // https://minecraft.wiki/w/Flower#Flower_gradients
BiomeKeys.FLOWER_FOREST, // https://minecraft.wiki/w/Flower#Flower_gradients BiomeKeys.FLOWER_FOREST, // https://minecraft.wiki/w/Flower#Flower_gradients
BiomeKeys.SNOWY_PLAINS, BiomeKeys.SNOWY_PLAINS,
BiomeKeys.FOREST, BiomeKeys.FOREST,
BiomeKeys.BIRCH_FOREST, BiomeKeys.BIRCH_FOREST,
BiomeKeys.OLD_GROWTH_BIRCH_FOREST, BiomeKeys.OLD_GROWTH_BIRCH_FOREST,
BiomeKeys.TAIGA, BiomeKeys.TAIGA,
BiomeKeys.OLD_GROWTH_PINE_TAIGA, BiomeKeys.OLD_GROWTH_PINE_TAIGA,
BiomeKeys.OLD_GROWTH_SPRUCE_TAIGA, BiomeKeys.OLD_GROWTH_SPRUCE_TAIGA,
BiomeKeys.SNOWY_TAIGA, BiomeKeys.SNOWY_TAIGA,
BiomeKeys.DARK_FOREST, BiomeKeys.DARK_FOREST,
BiomeKeys.WINDSWEPT_HILLS, BiomeKeys.WINDSWEPT_HILLS,
BiomeKeys.WINDSWEPT_FOREST, BiomeKeys.WINDSWEPT_FOREST,
BiomeKeys.WINDSWEPT_GRAVELLY_HILLS, BiomeKeys.WINDSWEPT_GRAVELLY_HILLS,
BiomeKeys.RIVER, BiomeKeys.RIVER,
BiomeKeys.FROZEN_RIVER), BiomeKeys.FROZEN_RIVER,
GenerationStep.Feature.VEGETAL_DECORATION, RosesPlacedFeatures.cyanRosePlacedKey); ),
GenerationStep.Feature.VEGETAL_DECORATION,
RosesPlacedFeatures.cyanRosePlacedKey,
)
BiomeModifications.addFeature(BiomeSelectors.includeByKey( BiomeModifications.addFeature(
BiomeKeys.PLAINS, BiomeSelectors.includeByKey(
BiomeKeys.SUNFLOWER_PLAINS, BiomeKeys.PLAINS,
BiomeKeys.MEADOW, // https://minecraft.wiki/w/Flower#Flower_gradients BiomeKeys.SUNFLOWER_PLAINS,
BiomeKeys.FLOWER_FOREST, // https://minecraft.wiki/w/Flower#Flower_gradients BiomeKeys.MEADOW, // https://minecraft.wiki/w/Flower#Flower_gradients
BiomeKeys.SNOWY_PLAINS, BiomeKeys.FLOWER_FOREST, // https://minecraft.wiki/w/Flower#Flower_gradients
BiomeKeys.FOREST, BiomeKeys.SNOWY_PLAINS,
BiomeKeys.BIRCH_FOREST, BiomeKeys.FOREST,
BiomeKeys.OLD_GROWTH_BIRCH_FOREST, BiomeKeys.BIRCH_FOREST,
BiomeKeys.TAIGA, BiomeKeys.OLD_GROWTH_BIRCH_FOREST,
BiomeKeys.OLD_GROWTH_PINE_TAIGA, BiomeKeys.TAIGA,
BiomeKeys.OLD_GROWTH_SPRUCE_TAIGA, BiomeKeys.OLD_GROWTH_PINE_TAIGA,
BiomeKeys.SNOWY_TAIGA, BiomeKeys.OLD_GROWTH_SPRUCE_TAIGA,
BiomeKeys.DARK_FOREST, BiomeKeys.SNOWY_TAIGA,
BiomeKeys.WINDSWEPT_HILLS, BiomeKeys.DARK_FOREST,
BiomeKeys.WINDSWEPT_FOREST, BiomeKeys.WINDSWEPT_HILLS,
BiomeKeys.WINDSWEPT_GRAVELLY_HILLS, BiomeKeys.WINDSWEPT_FOREST,
BiomeKeys.RIVER, BiomeKeys.WINDSWEPT_GRAVELLY_HILLS,
BiomeKeys.FROZEN_RIVER), BiomeKeys.RIVER,
GenerationStep.Feature.VEGETAL_DECORATION, RosesPlacedFeatures.rosePlacedKey); BiomeKeys.FROZEN_RIVER,
),
GenerationStep.Feature.VEGETAL_DECORATION,
RosesPlacedFeatures.rosePlacedKey,
)
// rarer // rarer
BiomeModifications.addFeature( BiomeModifications.addFeature(
BiomeSelectors.includeByKey( BiomeSelectors.includeByKey(
BiomeKeys.BEACH, BiomeKeys.BEACH,
BiomeKeys.SNOWY_BEACH, BiomeKeys.SNOWY_BEACH,
BiomeKeys.STONY_SHORE, BiomeKeys.STONY_SHORE,
BiomeKeys.OCEAN, BiomeKeys.OCEAN,
BiomeKeys.DEEP_COLD_OCEAN, BiomeKeys.DEEP_COLD_OCEAN,
BiomeKeys.COLD_OCEAN, BiomeKeys.COLD_OCEAN,
BiomeKeys.DEEP_FROZEN_OCEAN, BiomeKeys.DEEP_FROZEN_OCEAN,
BiomeKeys.DEEP_LUKEWARM_OCEAN, BiomeKeys.DEEP_LUKEWARM_OCEAN,
BiomeKeys.DEEP_OCEAN, BiomeKeys.DEEP_OCEAN,
BiomeKeys.FROZEN_OCEAN, BiomeKeys.FROZEN_OCEAN,
BiomeKeys.LUKEWARM_OCEAN, BiomeKeys.LUKEWARM_OCEAN,
BiomeKeys.WARM_OCEAN, BiomeKeys.WARM_OCEAN,
BiomeKeys.DESERT, BiomeKeys.DESERT,
BiomeKeys.ICE_SPIKES, BiomeKeys.ICE_SPIKES,
BiomeKeys.DRIPSTONE_CAVES, BiomeKeys.DRIPSTONE_CAVES,
BiomeKeys.DEEP_DARK BiomeKeys.DEEP_DARK,
), ),
GenerationStep.Feature.VEGETAL_DECORATION, RosesPlacedFeatures.cyanRoseRarerPlacedKey); GenerationStep.Feature.VEGETAL_DECORATION,
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
)
BiomeModifications.addFeature(BiomeSelectors.includeByKey( BiomeModifications.addFeature(
BiomeKeys.BEACH, BiomeSelectors.includeByKey(
BiomeKeys.SNOWY_BEACH, BiomeKeys.BEACH,
BiomeKeys.STONY_SHORE, BiomeKeys.SNOWY_BEACH,
BiomeKeys.OCEAN, BiomeKeys.STONY_SHORE,
BiomeKeys.DEEP_COLD_OCEAN, BiomeKeys.OCEAN,
BiomeKeys.COLD_OCEAN, BiomeKeys.DEEP_COLD_OCEAN,
BiomeKeys.DEEP_FROZEN_OCEAN, BiomeKeys.COLD_OCEAN,
BiomeKeys.DEEP_LUKEWARM_OCEAN, BiomeKeys.DEEP_FROZEN_OCEAN,
BiomeKeys.DEEP_OCEAN, BiomeKeys.DEEP_LUKEWARM_OCEAN,
BiomeKeys.FROZEN_OCEAN, BiomeKeys.DEEP_OCEAN,
BiomeKeys.LUKEWARM_OCEAN, BiomeKeys.FROZEN_OCEAN,
BiomeKeys.WARM_OCEAN, BiomeKeys.LUKEWARM_OCEAN,
BiomeKeys.DESERT, BiomeKeys.WARM_OCEAN,
BiomeKeys.ICE_SPIKES, BiomeKeys.DESERT,
BiomeKeys.DRIPSTONE_CAVES, BiomeKeys.ICE_SPIKES,
BiomeKeys.DEEP_DARK BiomeKeys.DRIPSTONE_CAVES,
), BiomeKeys.DEEP_DARK,
GenerationStep.Feature.VEGETAL_DECORATION, RosesPlacedFeatures.roseRarerPlacedKey); ),
GenerationStep.Feature.VEGETAL_DECORATION,
RosesPlacedFeatures.roseRarerPlacedKey,
)
// more common // more common
BiomeModifications.addFeature( BiomeModifications.addFeature(
BiomeSelectors.includeByKey( BiomeSelectors.includeByKey(
BiomeKeys.JUNGLE, BiomeKeys.JUNGLE,
BiomeKeys.BAMBOO_JUNGLE, BiomeKeys.BAMBOO_JUNGLE,
BiomeKeys.SPARSE_JUNGLE, BiomeKeys.SPARSE_JUNGLE,
BiomeKeys.SAVANNA, BiomeKeys.SAVANNA,
BiomeKeys.SAVANNA_PLATEAU, BiomeKeys.SAVANNA_PLATEAU,
BiomeKeys.WINDSWEPT_SAVANNA BiomeKeys.WINDSWEPT_SAVANNA,
), ),
GenerationStep.Feature.VEGETAL_DECORATION, RosesPlacedFeatures.cyanRoseCommonPlacedKey); GenerationStep.Feature.VEGETAL_DECORATION,
RosesPlacedFeatures.cyanRoseCommonPlacedKey,
)
BiomeModifications.addFeature(BiomeSelectors.includeByKey( BiomeModifications.addFeature(
BiomeKeys.JUNGLE, BiomeSelectors.includeByKey(
BiomeKeys.BAMBOO_JUNGLE, BiomeKeys.JUNGLE,
BiomeKeys.SPARSE_JUNGLE, BiomeKeys.BAMBOO_JUNGLE,
BiomeKeys.SAVANNA, BiomeKeys.SPARSE_JUNGLE,
BiomeKeys.SAVANNA_PLATEAU, BiomeKeys.SAVANNA,
BiomeKeys.WINDSWEPT_SAVANNA BiomeKeys.SAVANNA_PLATEAU,
), BiomeKeys.WINDSWEPT_SAVANNA,
GenerationStep.Feature.VEGETAL_DECORATION, RosesPlacedFeatures.roseCommonPlacedKey); ),
} GenerationStep.Feature.VEGETAL_DECORATION,
RosesPlacedFeatures.roseCommonPlacedKey,
)
}
} }

View file

@ -1,7 +1,7 @@
package observer.nelle.roses.world.gen; package observer.nelle.roses.world.gen
public class RosesWorldGeneration { object RosesWorldGeneration {
public static void generateRosesWorldGen() { fun generateRosesWorldGen() {
RosesVegetationGeneration.generateVegetation(); RosesVegetationGeneration.generateVegetation()
} }
} }