Compare commits
No commits in common. "main" and "3.0" have entirely different histories.
24 changed files with 161 additions and 461 deletions
|
@ -9,7 +9,7 @@ org.gradle.jvmargs=-Xmx1G
|
||||||
kotlin_loader_version=1.13.0+kotlin.2.1.0
|
kotlin_loader_version=1.13.0+kotlin.2.1.0
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version = 3.0+1.19.3-1.19.4
|
mod_version = 2.0+1.19.3-1.19.4
|
||||||
maven_group = observer.nelle
|
maven_group = observer.nelle
|
||||||
archives_base_name = roses_mod
|
archives_base_name = roses_mod
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,9 @@ public class RosesPlacedFeatures {
|
||||||
public static final RegistryKey<PlacedFeature> cyanRoseRarerPlacedKey = registerKey("cyan_rose_rare_placed");
|
public static final RegistryKey<PlacedFeature> cyanRoseRarerPlacedKey = registerKey("cyan_rose_rare_placed");
|
||||||
public static final RegistryKey<PlacedFeature> roseRarerPlacedKey = registerKey("rose_rare_placed");
|
public static final RegistryKey<PlacedFeature> roseRarerPlacedKey = registerKey("rose_rare_placed");
|
||||||
|
|
||||||
|
public static final RegistryKey<PlacedFeature> cyanRoseCommonPlacedKey = registerKey("cyan_rose_common_placed");
|
||||||
|
public static final RegistryKey<PlacedFeature> roseCommonPlacedKey = registerKey("rose_common_placed");
|
||||||
|
|
||||||
public static void bootstrap(Registerable<PlacedFeature> context) {
|
public static void bootstrap(Registerable<PlacedFeature> context) {
|
||||||
var configuredFeatures = context.getRegistryLookup(RegistryKeys.CONFIGURED_FEATURE);
|
var configuredFeatures = context.getRegistryLookup(RegistryKeys.CONFIGURED_FEATURE);
|
||||||
|
|
||||||
|
@ -58,6 +61,19 @@ public class RosesPlacedFeatures {
|
||||||
SquarePlacementModifier.of(),
|
SquarePlacementModifier.of(),
|
||||||
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
BiomePlacementModifier.of());
|
BiomePlacementModifier.of());
|
||||||
|
|
||||||
|
// more common
|
||||||
|
register(context, cyanRoseCommonPlacedKey, configuredFeatures.getOrThrow(RosesConfiguredFeatures.cyanRoseKey),
|
||||||
|
RarityFilterPlacementModifier.of(45),
|
||||||
|
SquarePlacementModifier.of(),
|
||||||
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
|
BiomePlacementModifier.of());
|
||||||
|
|
||||||
|
register(context, roseCommonPlacedKey, configuredFeatures.getOrThrow(RosesConfiguredFeatures.roseKey),
|
||||||
|
RarityFilterPlacementModifier.of(4),
|
||||||
|
SquarePlacementModifier.of(),
|
||||||
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
|
BiomePlacementModifier.of());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RegistryKey<PlacedFeature> registerKey(String name) {
|
public static RegistryKey<PlacedFeature> registerKey(String name) {
|
||||||
|
|
|
@ -90,12 +90,6 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.ICE_SPIKES,
|
BiomeKeys.ICE_SPIKES,
|
||||||
BiomeKeys.DRIPSTONE_CAVES,
|
BiomeKeys.DRIPSTONE_CAVES,
|
||||||
BiomeKeys.DEEP_DARK,
|
BiomeKeys.DEEP_DARK,
|
||||||
BiomeKeys.JUNGLE,
|
|
||||||
BiomeKeys.BAMBOO_JUNGLE,
|
|
||||||
BiomeKeys.SPARSE_JUNGLE,
|
|
||||||
BiomeKeys.SAVANNA,
|
|
||||||
BiomeKeys.SAVANNA_PLATEAU,
|
|
||||||
BiomeKeys.WINDSWEPT_SAVANNA,
|
|
||||||
),
|
),
|
||||||
GenerationStep.Feature.VEGETAL_DECORATION,
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
|
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
|
||||||
|
@ -119,6 +113,14 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.ICE_SPIKES,
|
BiomeKeys.ICE_SPIKES,
|
||||||
BiomeKeys.DRIPSTONE_CAVES,
|
BiomeKeys.DRIPSTONE_CAVES,
|
||||||
BiomeKeys.DEEP_DARK,
|
BiomeKeys.DEEP_DARK,
|
||||||
|
),
|
||||||
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
|
RosesPlacedFeatures.roseRarerPlacedKey,
|
||||||
|
)
|
||||||
|
|
||||||
|
// more common
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.includeByKey(
|
||||||
BiomeKeys.JUNGLE,
|
BiomeKeys.JUNGLE,
|
||||||
BiomeKeys.BAMBOO_JUNGLE,
|
BiomeKeys.BAMBOO_JUNGLE,
|
||||||
BiomeKeys.SPARSE_JUNGLE,
|
BiomeKeys.SPARSE_JUNGLE,
|
||||||
|
@ -127,7 +129,20 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.WINDSWEPT_SAVANNA,
|
BiomeKeys.WINDSWEPT_SAVANNA,
|
||||||
),
|
),
|
||||||
GenerationStep.Feature.VEGETAL_DECORATION,
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
RosesPlacedFeatures.roseRarerPlacedKey,
|
RosesPlacedFeatures.cyanRoseCommonPlacedKey,
|
||||||
|
)
|
||||||
|
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.includeByKey(
|
||||||
|
BiomeKeys.JUNGLE,
|
||||||
|
BiomeKeys.BAMBOO_JUNGLE,
|
||||||
|
BiomeKeys.SPARSE_JUNGLE,
|
||||||
|
BiomeKeys.SAVANNA,
|
||||||
|
BiomeKeys.SAVANNA_PLATEAU,
|
||||||
|
BiomeKeys.WINDSWEPT_SAVANNA,
|
||||||
|
),
|
||||||
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
|
RosesPlacedFeatures.roseCommonPlacedKey,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,9 @@ public class RosesPlacedFeatures {
|
||||||
public static final RegistryKey<PlacedFeature> cyanRoseRarerPlacedKey = registerKey("cyan_rose_rare_placed");
|
public static final RegistryKey<PlacedFeature> cyanRoseRarerPlacedKey = registerKey("cyan_rose_rare_placed");
|
||||||
public static final RegistryKey<PlacedFeature> roseRarerPlacedKey = registerKey("rose_rare_placed");
|
public static final RegistryKey<PlacedFeature> roseRarerPlacedKey = registerKey("rose_rare_placed");
|
||||||
|
|
||||||
|
public static final RegistryKey<PlacedFeature> cyanRoseCommonPlacedKey = registerKey("cyan_rose_common_placed");
|
||||||
|
public static final RegistryKey<PlacedFeature> roseCommonPlacedKey = registerKey("rose_common_placed");
|
||||||
|
|
||||||
public static void bootstrap(Registerable<PlacedFeature> context) {
|
public static void bootstrap(Registerable<PlacedFeature> context) {
|
||||||
var configuredFeatures = context.getRegistryLookup(RegistryKeys.CONFIGURED_FEATURE);
|
var configuredFeatures = context.getRegistryLookup(RegistryKeys.CONFIGURED_FEATURE);
|
||||||
|
|
||||||
|
@ -58,6 +61,19 @@ public class RosesPlacedFeatures {
|
||||||
SquarePlacementModifier.of(),
|
SquarePlacementModifier.of(),
|
||||||
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
BiomePlacementModifier.of());
|
BiomePlacementModifier.of());
|
||||||
|
|
||||||
|
// more common
|
||||||
|
register(context, cyanRoseCommonPlacedKey, configuredFeatures.getOrThrow(RosesConfiguredFeatures.cyanRoseKey),
|
||||||
|
RarityFilterPlacementModifier.of(45),
|
||||||
|
SquarePlacementModifier.of(),
|
||||||
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
|
BiomePlacementModifier.of());
|
||||||
|
|
||||||
|
register(context, roseCommonPlacedKey, configuredFeatures.getOrThrow(RosesConfiguredFeatures.roseKey),
|
||||||
|
RarityFilterPlacementModifier.of(4),
|
||||||
|
SquarePlacementModifier.of(),
|
||||||
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
|
BiomePlacementModifier.of());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RegistryKey<PlacedFeature> registerKey(String name) {
|
public static RegistryKey<PlacedFeature> registerKey(String name) {
|
||||||
|
|
|
@ -90,12 +90,6 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.ICE_SPIKES,
|
BiomeKeys.ICE_SPIKES,
|
||||||
BiomeKeys.DRIPSTONE_CAVES,
|
BiomeKeys.DRIPSTONE_CAVES,
|
||||||
BiomeKeys.DEEP_DARK,
|
BiomeKeys.DEEP_DARK,
|
||||||
BiomeKeys.JUNGLE,
|
|
||||||
BiomeKeys.BAMBOO_JUNGLE,
|
|
||||||
BiomeKeys.SPARSE_JUNGLE,
|
|
||||||
BiomeKeys.SAVANNA,
|
|
||||||
BiomeKeys.SAVANNA_PLATEAU,
|
|
||||||
BiomeKeys.WINDSWEPT_SAVANNA,
|
|
||||||
),
|
),
|
||||||
GenerationStep.Feature.VEGETAL_DECORATION,
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
|
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
|
||||||
|
@ -119,6 +113,14 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.ICE_SPIKES,
|
BiomeKeys.ICE_SPIKES,
|
||||||
BiomeKeys.DRIPSTONE_CAVES,
|
BiomeKeys.DRIPSTONE_CAVES,
|
||||||
BiomeKeys.DEEP_DARK,
|
BiomeKeys.DEEP_DARK,
|
||||||
|
),
|
||||||
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
|
RosesPlacedFeatures.roseRarerPlacedKey,
|
||||||
|
)
|
||||||
|
|
||||||
|
// more common
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.includeByKey(
|
||||||
BiomeKeys.JUNGLE,
|
BiomeKeys.JUNGLE,
|
||||||
BiomeKeys.BAMBOO_JUNGLE,
|
BiomeKeys.BAMBOO_JUNGLE,
|
||||||
BiomeKeys.SPARSE_JUNGLE,
|
BiomeKeys.SPARSE_JUNGLE,
|
||||||
|
@ -127,7 +129,20 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.WINDSWEPT_SAVANNA,
|
BiomeKeys.WINDSWEPT_SAVANNA,
|
||||||
),
|
),
|
||||||
GenerationStep.Feature.VEGETAL_DECORATION,
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
RosesPlacedFeatures.roseRarerPlacedKey,
|
RosesPlacedFeatures.cyanRoseCommonPlacedKey,
|
||||||
|
)
|
||||||
|
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.includeByKey(
|
||||||
|
BiomeKeys.JUNGLE,
|
||||||
|
BiomeKeys.BAMBOO_JUNGLE,
|
||||||
|
BiomeKeys.SPARSE_JUNGLE,
|
||||||
|
BiomeKeys.SAVANNA,
|
||||||
|
BiomeKeys.SAVANNA_PLATEAU,
|
||||||
|
BiomeKeys.WINDSWEPT_SAVANNA,
|
||||||
|
),
|
||||||
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
|
RosesPlacedFeatures.roseCommonPlacedKey,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.intprovider.ClampedIntProvider;
|
import net.minecraft.util.math.intprovider.ClampedIntProvider;
|
||||||
import net.minecraft.util.math.intprovider.UniformIntProvider;
|
import net.minecraft.util.math.intprovider.UniformIntProvider;
|
||||||
import net.minecraft.world.gen.feature.*;
|
import net.minecraft.world.gen.feature.*;
|
||||||
|
import net.minecraft.world.gen.placementmodifier.PlacementModifier;
|
||||||
import net.minecraft.world.gen.placementmodifier.*;
|
import net.minecraft.world.gen.placementmodifier.*;
|
||||||
import observer.nelle.roses.RosesModKt;
|
import observer.nelle.roses.RosesModKt;
|
||||||
|
|
||||||
|
@ -23,6 +24,8 @@ public class RosesPlacedFeatures {
|
||||||
public static final RegistryKey<PlacedFeature> cyanRoseRarerPlacedKey = registerKey("cyan_rose_rare_placed");
|
public static final RegistryKey<PlacedFeature> cyanRoseRarerPlacedKey = registerKey("cyan_rose_rare_placed");
|
||||||
public static final RegistryKey<PlacedFeature> roseRarerPlacedKey = registerKey("rose_rare_placed");
|
public static final RegistryKey<PlacedFeature> roseRarerPlacedKey = registerKey("rose_rare_placed");
|
||||||
|
|
||||||
|
public static final RegistryKey<PlacedFeature> cyanRoseCommonPlacedKey = registerKey("cyan_rose_common_placed");
|
||||||
|
public static final RegistryKey<PlacedFeature> roseCommonPlacedKey = registerKey("rose_common_placed");
|
||||||
|
|
||||||
public static void bootstrap(Registerable<PlacedFeature> context) {
|
public static void bootstrap(Registerable<PlacedFeature> context) {
|
||||||
var configuredFeatures = context.getRegistryLookup(RegistryKeys.CONFIGURED_FEATURE);
|
var configuredFeatures = context.getRegistryLookup(RegistryKeys.CONFIGURED_FEATURE);
|
||||||
|
@ -59,6 +62,19 @@ public class RosesPlacedFeatures {
|
||||||
SquarePlacementModifier.of(),
|
SquarePlacementModifier.of(),
|
||||||
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
BiomePlacementModifier.of());
|
BiomePlacementModifier.of());
|
||||||
|
|
||||||
|
// more common
|
||||||
|
register(context, cyanRoseCommonPlacedKey, configuredFeatures.getOrThrow(RosesConfiguredFeatures.cyanRoseKey),
|
||||||
|
RarityFilterPlacementModifier.of(45),
|
||||||
|
SquarePlacementModifier.of(),
|
||||||
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
|
BiomePlacementModifier.of());
|
||||||
|
|
||||||
|
register(context, roseCommonPlacedKey, configuredFeatures.getOrThrow(RosesConfiguredFeatures.roseKey),
|
||||||
|
RarityFilterPlacementModifier.of(4),
|
||||||
|
SquarePlacementModifier.of(),
|
||||||
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
|
BiomePlacementModifier.of());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RegistryKey<PlacedFeature> registerKey(String name) {
|
public static RegistryKey<PlacedFeature> registerKey(String name) {
|
||||||
|
|
|
@ -90,12 +90,6 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.ICE_SPIKES,
|
BiomeKeys.ICE_SPIKES,
|
||||||
BiomeKeys.DRIPSTONE_CAVES,
|
BiomeKeys.DRIPSTONE_CAVES,
|
||||||
BiomeKeys.DEEP_DARK,
|
BiomeKeys.DEEP_DARK,
|
||||||
BiomeKeys.JUNGLE,
|
|
||||||
BiomeKeys.BAMBOO_JUNGLE,
|
|
||||||
BiomeKeys.SPARSE_JUNGLE,
|
|
||||||
BiomeKeys.SAVANNA,
|
|
||||||
BiomeKeys.SAVANNA_PLATEAU,
|
|
||||||
BiomeKeys.WINDSWEPT_SAVANNA,
|
|
||||||
),
|
),
|
||||||
GenerationStep.Feature.VEGETAL_DECORATION,
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
|
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
|
||||||
|
@ -119,6 +113,14 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.ICE_SPIKES,
|
BiomeKeys.ICE_SPIKES,
|
||||||
BiomeKeys.DRIPSTONE_CAVES,
|
BiomeKeys.DRIPSTONE_CAVES,
|
||||||
BiomeKeys.DEEP_DARK,
|
BiomeKeys.DEEP_DARK,
|
||||||
|
),
|
||||||
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
|
RosesPlacedFeatures.roseRarerPlacedKey,
|
||||||
|
)
|
||||||
|
|
||||||
|
// more common
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.includeByKey(
|
||||||
BiomeKeys.JUNGLE,
|
BiomeKeys.JUNGLE,
|
||||||
BiomeKeys.BAMBOO_JUNGLE,
|
BiomeKeys.BAMBOO_JUNGLE,
|
||||||
BiomeKeys.SPARSE_JUNGLE,
|
BiomeKeys.SPARSE_JUNGLE,
|
||||||
|
@ -127,7 +129,20 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.WINDSWEPT_SAVANNA,
|
BiomeKeys.WINDSWEPT_SAVANNA,
|
||||||
),
|
),
|
||||||
GenerationStep.Feature.VEGETAL_DECORATION,
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
RosesPlacedFeatures.roseRarerPlacedKey,
|
RosesPlacedFeatures.cyanRoseCommonPlacedKey,
|
||||||
|
)
|
||||||
|
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.includeByKey(
|
||||||
|
BiomeKeys.JUNGLE,
|
||||||
|
BiomeKeys.BAMBOO_JUNGLE,
|
||||||
|
BiomeKeys.SPARSE_JUNGLE,
|
||||||
|
BiomeKeys.SAVANNA,
|
||||||
|
BiomeKeys.SAVANNA_PLATEAU,
|
||||||
|
BiomeKeys.WINDSWEPT_SAVANNA,
|
||||||
|
),
|
||||||
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
|
RosesPlacedFeatures.roseCommonPlacedKey,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ org.gradle.jvmargs=-Xmx1G
|
||||||
kotlin_loader_version=1.13.0+kotlin.2.1.0
|
kotlin_loader_version=1.13.0+kotlin.2.1.0
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version = 3.2+1.21.2-1.21.4
|
mod_version = 3.0+1.21.2-1.21.4
|
||||||
maven_group = observer.nelle
|
maven_group = observer.nelle
|
||||||
archives_base_name = roses_mod
|
archives_base_name = roses_mod
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,19 @@ public class RosesPlacedFeatures {
|
||||||
SquarePlacementModifier.of(),
|
SquarePlacementModifier.of(),
|
||||||
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
BiomePlacementModifier.of());
|
BiomePlacementModifier.of());
|
||||||
|
|
||||||
|
// more common
|
||||||
|
register(context, cyanRoseCommonPlacedKey, configuredFeatures.getOrThrow(RosesConfiguredFeatures.cyanRoseKey),
|
||||||
|
RarityFilterPlacementModifier.of(45),
|
||||||
|
SquarePlacementModifier.of(),
|
||||||
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
|
BiomePlacementModifier.of());
|
||||||
|
|
||||||
|
register(context, roseCommonPlacedKey, configuredFeatures.getOrThrow(RosesConfiguredFeatures.roseKey),
|
||||||
|
RarityFilterPlacementModifier.of(4),
|
||||||
|
SquarePlacementModifier.of(),
|
||||||
|
PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP,
|
||||||
|
BiomePlacementModifier.of());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RegistryKey<PlacedFeature> registerKey(String name) {
|
public static RegistryKey<PlacedFeature> registerKey(String name) {
|
||||||
|
|
|
@ -90,12 +90,6 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.ICE_SPIKES,
|
BiomeKeys.ICE_SPIKES,
|
||||||
BiomeKeys.DRIPSTONE_CAVES,
|
BiomeKeys.DRIPSTONE_CAVES,
|
||||||
BiomeKeys.DEEP_DARK,
|
BiomeKeys.DEEP_DARK,
|
||||||
BiomeKeys.JUNGLE,
|
|
||||||
BiomeKeys.BAMBOO_JUNGLE,
|
|
||||||
BiomeKeys.SPARSE_JUNGLE,
|
|
||||||
BiomeKeys.SAVANNA,
|
|
||||||
BiomeKeys.SAVANNA_PLATEAU,
|
|
||||||
BiomeKeys.WINDSWEPT_SAVANNA,
|
|
||||||
),
|
),
|
||||||
GenerationStep.Feature.VEGETAL_DECORATION,
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
|
RosesPlacedFeatures.cyanRoseRarerPlacedKey,
|
||||||
|
@ -119,6 +113,14 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.ICE_SPIKES,
|
BiomeKeys.ICE_SPIKES,
|
||||||
BiomeKeys.DRIPSTONE_CAVES,
|
BiomeKeys.DRIPSTONE_CAVES,
|
||||||
BiomeKeys.DEEP_DARK,
|
BiomeKeys.DEEP_DARK,
|
||||||
|
),
|
||||||
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
|
RosesPlacedFeatures.roseRarerPlacedKey,
|
||||||
|
)
|
||||||
|
|
||||||
|
// more common
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.includeByKey(
|
||||||
BiomeKeys.JUNGLE,
|
BiomeKeys.JUNGLE,
|
||||||
BiomeKeys.BAMBOO_JUNGLE,
|
BiomeKeys.BAMBOO_JUNGLE,
|
||||||
BiomeKeys.SPARSE_JUNGLE,
|
BiomeKeys.SPARSE_JUNGLE,
|
||||||
|
@ -127,7 +129,20 @@ object RosesVegetationGeneration {
|
||||||
BiomeKeys.WINDSWEPT_SAVANNA,
|
BiomeKeys.WINDSWEPT_SAVANNA,
|
||||||
),
|
),
|
||||||
GenerationStep.Feature.VEGETAL_DECORATION,
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
RosesPlacedFeatures.roseRarerPlacedKey,
|
RosesPlacedFeatures.cyanRoseCommonPlacedKey,
|
||||||
|
)
|
||||||
|
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.includeByKey(
|
||||||
|
BiomeKeys.JUNGLE,
|
||||||
|
BiomeKeys.BAMBOO_JUNGLE,
|
||||||
|
BiomeKeys.SPARSE_JUNGLE,
|
||||||
|
BiomeKeys.SAVANNA,
|
||||||
|
BiomeKeys.SAVANNA_PLATEAU,
|
||||||
|
BiomeKeys.WINDSWEPT_SAVANNA,
|
||||||
|
),
|
||||||
|
GenerationStep.Feature.VEGETAL_DECORATION,
|
||||||
|
RosesPlacedFeatures.roseCommonPlacedKey,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "roses_mod:item/cyan_rose"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "roses_mod:item/cyan_rose_bush"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "roses_mod:item/rose_flower"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -6,12 +6,12 @@
|
||||||
"name": "Roses Mod",
|
"name": "Roses Mod",
|
||||||
"description": "Reinstates the classic roses to Minecraft.",
|
"description": "Reinstates the classic roses to Minecraft.",
|
||||||
"authors": [
|
"authors": [
|
||||||
"nelle (limepotato/nellePoint)"
|
"nellePoint"
|
||||||
],
|
],
|
||||||
"contact": {
|
"contact": {
|
||||||
"homepage": "https://modrinth.com/mod/roses-mod",
|
"homepage": "https://modrinth.com/mod/roses-mod",
|
||||||
"issues": "https://nelle.observer/email",
|
"issues": "https://git.nullafati.xyz/limepotato/roses-mod/issues",
|
||||||
"sources": "https://git.limbo.town/nelle/roses-mod"
|
"sources": "https://git.nullafati.xyz/limepotato/roses-mod"
|
||||||
},
|
},
|
||||||
|
|
||||||
"license": "LGPL-3.0",
|
"license": "LGPL-3.0",
|
||||||
|
@ -37,6 +37,6 @@
|
||||||
"fabricloader": ">=${loader_version}",
|
"fabricloader": ">=${loader_version}",
|
||||||
"fabric-language-kotlin": ">=${kotlin_loader_version}",
|
"fabric-language-kotlin": ">=${kotlin_loader_version}",
|
||||||
"fabric": "*",
|
"fabric": "*",
|
||||||
"minecraft": ">=1.21.2 <=1.21.4"
|
"minecraft": ">=1.21.2 <1.21.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,178 +0,0 @@
|
||||||
plugins {
|
|
||||||
id 'java-library'
|
|
||||||
id 'maven-publish'
|
|
||||||
id 'idea'
|
|
||||||
id 'net.neoforged.moddev' version '2.0.77'
|
|
||||||
id 'org.jetbrains.kotlin.jvm' version '2.0.0'
|
|
||||||
}
|
|
||||||
|
|
||||||
version = mod_version
|
|
||||||
group = mod_group_id
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenLocal()
|
|
||||||
maven {
|
|
||||||
name = 'Kotlin for Forge'
|
|
||||||
url = 'https://thedarkcolour.github.io/KotlinForForge/'
|
|
||||||
content { includeGroup "thedarkcolour" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
base {
|
|
||||||
archivesName = mod_id
|
|
||||||
}
|
|
||||||
|
|
||||||
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
|
|
||||||
kotlin.jvmToolchain(21)
|
|
||||||
|
|
||||||
neoForge {
|
|
||||||
// Specify the version of NeoForge to use.
|
|
||||||
version = project.neo_version
|
|
||||||
|
|
||||||
parchment {
|
|
||||||
mappingsVersion = project.parchment_mappings_version
|
|
||||||
minecraftVersion = project.parchment_minecraft_version
|
|
||||||
}
|
|
||||||
|
|
||||||
// This line is optional. Access Transformers are automatically detected
|
|
||||||
// accessTransformers.add('src/main/resources/META-INF/accesstransformer.cfg')
|
|
||||||
|
|
||||||
// Default run configurations.
|
|
||||||
// These can be tweaked, removed, or duplicated as needed.
|
|
||||||
runs {
|
|
||||||
client {
|
|
||||||
client()
|
|
||||||
|
|
||||||
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
|
|
||||||
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
server()
|
|
||||||
programArgument '--nogui'
|
|
||||||
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
|
|
||||||
}
|
|
||||||
|
|
||||||
// This run config launches GameTestServer and runs all registered gametests, then exits.
|
|
||||||
// By default, the server will crash when no gametests are provided.
|
|
||||||
// The gametest system is also enabled by default for other run configs under the /test command.
|
|
||||||
gameTestServer {
|
|
||||||
type = "gameTestServer"
|
|
||||||
systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id
|
|
||||||
}
|
|
||||||
|
|
||||||
data {
|
|
||||||
clientData()
|
|
||||||
|
|
||||||
// example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it
|
|
||||||
// gameDirectory = project.file('run-data')
|
|
||||||
|
|
||||||
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
|
|
||||||
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
|
|
||||||
}
|
|
||||||
|
|
||||||
// applies to all the run configs above
|
|
||||||
configureEach {
|
|
||||||
// Recommended logging data for a userdev environment
|
|
||||||
// The markers can be added/remove as needed separated by commas.
|
|
||||||
// "SCAN": For mods scan.
|
|
||||||
// "REGISTRIES": For firing of registry events.
|
|
||||||
// "REGISTRYDUMP": For getting the contents of all registries.
|
|
||||||
systemProperty 'forge.logging.markers', 'REGISTRIES'
|
|
||||||
|
|
||||||
// Recommended logging level for the console
|
|
||||||
// You can set various levels here.
|
|
||||||
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
|
|
||||||
logLevel = org.slf4j.event.Level.DEBUG
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mods {
|
|
||||||
// define mod <-> source bindings
|
|
||||||
// these are used to tell the game which sources are for which mod
|
|
||||||
// mostly optional in a single mod project
|
|
||||||
// but multi mod projects should define one per mod
|
|
||||||
"${mod_id}" {
|
|
||||||
sourceSet(sourceSets.main)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Include resources generated by data generators.
|
|
||||||
sourceSets.main.resources { srcDir 'src/generated/resources' }
|
|
||||||
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation 'thedarkcolour:kotlinforforge-neoforge:5.3.0'
|
|
||||||
|
|
||||||
// Example mod dependency with JEI
|
|
||||||
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
|
|
||||||
// compileOnly "mezz.jei:jei-${mc_version}-common-api:${jei_version}"
|
|
||||||
// compileOnly "mezz.jei:jei-${mc_version}-forge-api:${jei_version}"
|
|
||||||
// runtimeOnly "mezz.jei:jei-${mc_version}-forge:${jei_version}"
|
|
||||||
|
|
||||||
// Example mod dependency using a mod jar from ./libs with a flat dir repository
|
|
||||||
// This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
|
|
||||||
// The group id is ignored when searching -- in this case, it is "blank"
|
|
||||||
// implementation "blank:coolmod-${mc_version}:${coolmod_version}"
|
|
||||||
|
|
||||||
// Example mod dependency using a file as dependency
|
|
||||||
// implementation files("libs/coolmod-${mc_version}-${coolmod_version}.jar")
|
|
||||||
|
|
||||||
// Example project dependency using a sister or child project:
|
|
||||||
// implementation project(":myproject")
|
|
||||||
|
|
||||||
// For more info:
|
|
||||||
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
|
|
||||||
// http://www.gradle.org/docs/current/userguide/dependency_management.html
|
|
||||||
}
|
|
||||||
|
|
||||||
// This block of code expands all declared replace properties in the specified resource targets.
|
|
||||||
// A missing property will result in an error. Properties are expanded using ${} Groovy notation.
|
|
||||||
var generateModMetadata = tasks.register("generateModMetadata", ProcessResources) {
|
|
||||||
var replaceProperties = [
|
|
||||||
minecraft_version : minecraft_version,
|
|
||||||
minecraft_version_range: minecraft_version_range,
|
|
||||||
neo_version : neo_version,
|
|
||||||
neo_version_range : neo_version_range,
|
|
||||||
loader_version_range : loader_version_range,
|
|
||||||
mod_id : mod_id,
|
|
||||||
mod_name : mod_name,
|
|
||||||
mod_license : mod_license,
|
|
||||||
mod_version : mod_version,
|
|
||||||
mod_authors : mod_authors,
|
|
||||||
mod_description : mod_description
|
|
||||||
]
|
|
||||||
inputs.properties replaceProperties
|
|
||||||
expand replaceProperties
|
|
||||||
from "src/main/templates"
|
|
||||||
into "build/generated/sources/modMetadata"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Include the output of "generateModMetadata" as an input directory for the build
|
|
||||||
// this works with both building through Gradle and the IDE.
|
|
||||||
sourceSets.main.resources.srcDir generateModMetadata
|
|
||||||
// To avoid having to run "generateModMetadata" manually, make it run on every project reload
|
|
||||||
neoForge.ideSyncTask generateModMetadata
|
|
||||||
|
|
||||||
// Example configuration to allow publishing using the maven-publish plugin
|
|
||||||
publishing {
|
|
||||||
publications {
|
|
||||||
register('mavenJava', MavenPublication) {
|
|
||||||
from components.java
|
|
||||||
}
|
|
||||||
}
|
|
||||||
repositories {
|
|
||||||
maven {
|
|
||||||
url "file://${project.projectDir}/repo"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// IDEA no longer automatically downloads sources/javadoc jars for dependencies, so we need to explicitly enable the behavior.
|
|
||||||
idea {
|
|
||||||
module {
|
|
||||||
downloadSources = true
|
|
||||||
downloadJavadoc = true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,40 +0,0 @@
|
||||||
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
|
|
||||||
org.gradle.jvmargs=-Xmx2G
|
|
||||||
|
|
||||||
## Environment Properties
|
|
||||||
# You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge
|
|
||||||
# The Minecraft version must agree with the Neo version to get a valid artifact
|
|
||||||
minecraft_version=1.21.4
|
|
||||||
# The Minecraft version range can use any release version of Minecraft as bounds.
|
|
||||||
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
|
|
||||||
# as they do not follow standard versioning conventions.
|
|
||||||
minecraft_version_range=[1.21.4,1.22)
|
|
||||||
# The Neo version must agree with the Minecraft version to get a valid artifact
|
|
||||||
neo_version=21.4.80-beta
|
|
||||||
# The Neo version range can use any version of Neo as bounds
|
|
||||||
neo_version_range=[21,)
|
|
||||||
# The loader version range can only use the major version of FML as bounds
|
|
||||||
loader_version_range=[5.3,)
|
|
||||||
|
|
||||||
parchment_minecraft_version=1.21.4
|
|
||||||
parchment_mappings_version=2025.01.19
|
|
||||||
|
|
||||||
## Mod Properties
|
|
||||||
|
|
||||||
# The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63}
|
|
||||||
# Must match the String constant located in the main mod class annotated with @Mod.
|
|
||||||
mod_id=roses
|
|
||||||
# The human-readable display name for the mod.
|
|
||||||
mod_name=roses
|
|
||||||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
|
||||||
mod_license=All Rights Reserved
|
|
||||||
# The mod version. See https://semver.org/
|
|
||||||
mod_version=0.0
|
|
||||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
|
||||||
# This should match the base package used for the mod sources.
|
|
||||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
|
||||||
mod_group_id=observer.nelle
|
|
||||||
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.
|
|
||||||
mod_authors=nelle (limepotato/nellePoint)
|
|
||||||
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
|
|
||||||
mod_description=adds the classic roses and cyan roses back to the game, in a modern way
|
|
|
@ -1 +0,0 @@
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
|
|
|
@ -1,70 +0,0 @@
|
||||||
package observer.nelle.roses
|
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft
|
|
||||||
import net.neoforged.bus.api.SubscribeEvent
|
|
||||||
import net.neoforged.fml.common.EventBusSubscriber
|
|
||||||
import net.neoforged.fml.common.Mod
|
|
||||||
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent
|
|
||||||
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent
|
|
||||||
import net.neoforged.fml.event.lifecycle.FMLDedicatedServerSetupEvent
|
|
||||||
import org.apache.logging.log4j.Level
|
|
||||||
import org.apache.logging.log4j.LogManager
|
|
||||||
import org.apache.logging.log4j.Logger
|
|
||||||
import thedarkcolour.kotlinforforge.neoforge.forge.MOD_BUS
|
|
||||||
import thedarkcolour.kotlinforforge.neoforge.forge.runForDist
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Main mod class.
|
|
||||||
*
|
|
||||||
* An example for blocks is in the `blocks` package of this mod.
|
|
||||||
*/
|
|
||||||
@Mod(Roses.ID)
|
|
||||||
@EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD)
|
|
||||||
object Roses {
|
|
||||||
const val ID = "roses"
|
|
||||||
|
|
||||||
// the logger for our mod
|
|
||||||
val LOGGER: Logger = LogManager.getLogger(ID)
|
|
||||||
|
|
||||||
init {
|
|
||||||
LOGGER.log(Level.INFO, "Hello world!")
|
|
||||||
|
|
||||||
// Register the KDeferredRegister to the mod-specific event bus
|
|
||||||
// ModBlocks.REGISTRY.register(MOD_BUS)
|
|
||||||
|
|
||||||
val obj =
|
|
||||||
runForDist(
|
|
||||||
clientTarget = {
|
|
||||||
MOD_BUS.addListener(::onClientSetup)
|
|
||||||
Minecraft.getInstance()
|
|
||||||
},
|
|
||||||
serverTarget = {
|
|
||||||
MOD_BUS.addListener(::onServerSetup)
|
|
||||||
"test"
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
println(obj)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This is used for initializing client specific
|
|
||||||
* things such as renderers and keymaps
|
|
||||||
* Fired on the mod specific event bus.
|
|
||||||
*/
|
|
||||||
private fun onClientSetup(event: FMLClientSetupEvent) {
|
|
||||||
LOGGER.log(Level.INFO, "Initializing client...")
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fired on the global Forge bus.
|
|
||||||
*/
|
|
||||||
private fun onServerSetup(event: FMLDedicatedServerSetupEvent) {
|
|
||||||
LOGGER.log(Level.INFO, "Server starting...")
|
|
||||||
}
|
|
||||||
|
|
||||||
@SubscribeEvent
|
|
||||||
fun onCommonSetup(event: FMLCommonSetupEvent) {
|
|
||||||
LOGGER.log(Level.INFO, "Hello! This is working!")
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
package observer.nelle.roses.block
|
|
||||||
|
|
||||||
// THIS LINE IS REQUIRED FOR USING PROPERTY DELEGATES
|
|
||||||
|
|
||||||
object ModBlocks {
|
|
||||||
/* val REGISTRY = DeferredRegister.createBlocks(Roses.ID)
|
|
||||||
|
|
||||||
// If you get an "overload resolution ambiguity" error, include the arrow at the start of the closure.
|
|
||||||
val EXAMPLE_BLOCK by REGISTRY.register("example_block") { Block(
|
|
||||||
BlockBehaviour.Properties
|
|
||||||
.of()
|
|
||||||
.lightLevel { 15 }
|
|
||||||
.strength(3.0f),
|
|
||||||
)
|
|
||||||
}*/
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"itemGroup.roses": "Example Mod Tab",
|
|
||||||
"block.roses.example_block": "Example Block",
|
|
||||||
"item.roses.example_item": "Example Item"
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
{
|
|
||||||
"required": true,
|
|
||||||
"minVersion": "0.8",
|
|
||||||
"package": "observer.nelle.roses.mixin",
|
|
||||||
"compatibilityLevel": "JAVA_8",
|
|
||||||
"refmap": "roses.refmap.json",
|
|
||||||
"mixins": [
|
|
||||||
],
|
|
||||||
"client": [
|
|
||||||
],
|
|
||||||
"injectors": {
|
|
||||||
"defaultRequire": 1
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,79 +0,0 @@
|
||||||
# This is an example mods.toml file. It contains the data relating to the loading mods.
|
|
||||||
# There are several mandatory fields (#mandatory), and many more that are optional (#optional).
|
|
||||||
# The overall format is standard TOML format, v0.5.0.
|
|
||||||
# Note that there are a couple of TOML lists in this file.
|
|
||||||
# Find more information on toml format here: https://github.com/toml-lang/toml
|
|
||||||
# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
|
|
||||||
modLoader="kotlinforforge" #mandatory
|
|
||||||
# A version range to match for said mod loader - for regular FML @Mod it will be the the FML version. This is currently 47.
|
|
||||||
loaderVersion="${loader_version_range}" #mandatory
|
|
||||||
# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties.
|
|
||||||
# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here.
|
|
||||||
license="${mod_license}"
|
|
||||||
# A URL to refer people to when problems occur with this mod
|
|
||||||
#issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional
|
|
||||||
# A list of mods - how many allowed here is determined by the individual mod loader
|
|
||||||
[[mods]] #mandatory
|
|
||||||
# The modid of the mod
|
|
||||||
modId="${mod_id}" #mandatory
|
|
||||||
# The version number of the mod
|
|
||||||
version="${mod_version}" #mandatory
|
|
||||||
# A display name for the mod
|
|
||||||
displayName="${mod_name}" #mandatory
|
|
||||||
# A URL to query for updates for this mod. See the JSON update specification https://docs.neoforge.net/docs/misc/updatechecker/
|
|
||||||
#updateJSONURL="https://change.me.example.invalid/updates.json" #optional
|
|
||||||
# A URL for the "homepage" for this mod, displayed in the mod UI
|
|
||||||
#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional
|
|
||||||
# A file name (in the root of the mod JAR) containing a logo for display
|
|
||||||
#logoFile="roses.png" #optional
|
|
||||||
# A text field displayed in the mod UI
|
|
||||||
#credits="" #optional
|
|
||||||
# A text field displayed in the mod UI
|
|
||||||
authors="${mod_authors}" #optional
|
|
||||||
|
|
||||||
# The description text for the mod (multi line!) (#mandatory)
|
|
||||||
description='''${mod_description}'''
|
|
||||||
|
|
||||||
# The [[mixins]] block allows you to declare your mixin config to FML so that it gets loaded.
|
|
||||||
[[mixins]]
|
|
||||||
config="${mod_id}.mixins.json"
|
|
||||||
|
|
||||||
# The [[accessTransformers]] block allows you to declare where your AT file is.
|
|
||||||
# If this block is omitted, a fallback attempt will be made to load an AT from META-INF/accesstransformer.cfg
|
|
||||||
#[[accessTransformers]]
|
|
||||||
#file="META-INF/accesstransformer.cfg"
|
|
||||||
|
|
||||||
# The coremods config file path is not configurable and is always loaded from META-INF/coremods.json
|
|
||||||
|
|
||||||
# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional.
|
|
||||||
[[dependencies."${mod_id}"]] #optional
|
|
||||||
# the modid of the dependency
|
|
||||||
modId="neoforge" #mandatory
|
|
||||||
# The type of the dependency. Can be one of "required", "optional", "incompatible" or "discouraged" (case insensitive).
|
|
||||||
# 'required' requires the mod to exist, 'optional' does not
|
|
||||||
# 'incompatible' will prevent the game from loading when the mod exists, and 'discouraged' will show a warning
|
|
||||||
type="required" #mandatory
|
|
||||||
# Optional field describing why the dependency is required or why it is incompatible
|
|
||||||
# reason="..."
|
|
||||||
# The version range of the dependency
|
|
||||||
versionRange="${neo_version_range}" #mandatory
|
|
||||||
# An ordering relationship for the dependency.
|
|
||||||
# BEFORE - This mod is loaded BEFORE the dependency
|
|
||||||
# AFTER - This mod is loaded AFTER the dependency
|
|
||||||
ordering="NONE"
|
|
||||||
# Side this dependency is applied on - BOTH, CLIENT, or SERVER
|
|
||||||
side="BOTH"
|
|
||||||
# Here's another dependency
|
|
||||||
[[dependencies."${mod_id}"]]
|
|
||||||
modId="minecraft"
|
|
||||||
type="required"
|
|
||||||
# This version range declares a minimum of the current minecraft version up to but not including the next major version
|
|
||||||
versionRange="${minecraft_version_range}"
|
|
||||||
ordering="NONE"
|
|
||||||
side="BOTH"
|
|
||||||
|
|
||||||
# Features are specific properties of the game environment, that you may want to declare you require. This example declares
|
|
||||||
# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't
|
|
||||||
# stop your mod loading on the server for example.
|
|
||||||
#[features."${mod_id}"]
|
|
||||||
#openGLVersion="[3.2,)"
|
|
|
@ -1,6 +1,11 @@
|
||||||
# Roses Mod
|
# Roses Mod
|
||||||
|
|
||||||

|
> **Note**
|
||||||
|
> The mod has been rewritten in kotlin and fabric, instead of java quilt,
|
||||||
|
> previous versions have some bugs and not all bug fixes or features have been backported,
|
||||||
|
> I will be backporting the mod after this rewrite back as far as I can while being sane.
|
||||||
|
>
|
||||||
|
> I have removed all older versions from modrinth to prevent confusion
|
||||||
|
|
||||||
This mod brings back the classic roses and other classic flowers to minecraft, without replacing any newer flower types.
|
This mod brings back the classic roses and other classic flowers to minecraft, without replacing any newer flower types.
|
||||||
|
|
||||||
|
@ -12,7 +17,6 @@ This mod brings back the classic roses and other classic flowers to minecraft, w
|
||||||
- Bees can pollinate all flowers
|
- Bees can pollinate all flowers
|
||||||
|
|
||||||
<!-- modrinth_exclude.start -->
|
<!-- modrinth_exclude.start -->
|
||||||
|
|
||||||
## Versioning
|
## Versioning
|
||||||
1.0: where the first number is the grander version (all mc versions will have the same),
|
1.0: where the first number is the grander version (all mc versions will have the same),
|
||||||
second number is specific mc version patch
|
second number is specific mc version patch
|
||||||
|
|
|
@ -20,9 +20,6 @@ pluginManagement {
|
||||||
maven("https://maven.quiltmc.org/repository/release") {
|
maven("https://maven.quiltmc.org/repository/release") {
|
||||||
name = "Quilt"
|
name = "Quilt"
|
||||||
}
|
}
|
||||||
maven("https://maven.neoforged.net/releases") {
|
|
||||||
name = "NeoForge"
|
|
||||||
}
|
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,4 +35,3 @@ include(":MC20.5-21.1")
|
||||||
include(":MC20-20.4")
|
include(":MC20-20.4")
|
||||||
include(":MC21.2-21.4")
|
include(":MC21.2-21.4")
|
||||||
include(":MC19.3-19.4")
|
include(":MC19.3-19.4")
|
||||||
include(":MC21.4-neoforge")
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue