Added air-exposure to ore API
This commit is contained in:
parent
7594b029c1
commit
e8786eb939
1 changed files with 78 additions and 4 deletions
|
@ -94,6 +94,39 @@ public class BCLFeature {
|
||||||
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, VerticalAnchor.absolute(minY), VerticalAnchor.absolute(maxY), false);
|
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, VerticalAnchor.absolute(minY), VerticalAnchor.absolute(maxY), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will create a basic ore feature.
|
||||||
|
* @param id {@link ResourceLocation} feature ID.
|
||||||
|
* @param blockOre {@link Decoration} feature step.
|
||||||
|
* @param hostBlock {@link Block} to generate feature in.
|
||||||
|
* @param veins iterations per chunk.
|
||||||
|
* @param veinSize size of ore vein.
|
||||||
|
* @param airDiscardChance chance that this orge gets discarded when it is exposed to air
|
||||||
|
* @param minY minimum height
|
||||||
|
* @param maxY maximum height.
|
||||||
|
* @return new BCLFeature instance.
|
||||||
|
*/
|
||||||
|
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, float airDiscardChance, int minY, int maxY) {
|
||||||
|
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, airDiscardChance, VerticalAnchor.absolute(minY), VerticalAnchor.absolute(maxY), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will create a basic ore feature.
|
||||||
|
* @param id {@link ResourceLocation} feature ID.
|
||||||
|
* @param blockOre {@link Decoration} feature step.
|
||||||
|
* @param hostBlock {@link Block} to generate feature in.
|
||||||
|
* @param veins iterations per chunk.
|
||||||
|
* @param veinSize size of ore vein.
|
||||||
|
* @param airDiscardChance chance that this orge gets discarded when it is exposed to air
|
||||||
|
* @param minY A {@link VerticalAnchor} for the minimum height, for example
|
||||||
|
* {@code VerticalAnchor.bottom()}, {@code VerticalAnchor.absolute(10)}, {@code VerticalAnchor.aboveBottom(10)}
|
||||||
|
* @param maxY A {@link VerticalAnchor} for the maximum height.
|
||||||
|
* @return new BCLFeature instance.
|
||||||
|
*/
|
||||||
|
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, float airDiscardChance, VerticalAnchor minY, VerticalAnchor maxY) {
|
||||||
|
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, airDiscardChance, minY, maxY, false);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Will create a basic ore feature.
|
* Will create a basic ore feature.
|
||||||
* @param id {@link ResourceLocation} feature ID.
|
* @param id {@link ResourceLocation} feature ID.
|
||||||
|
@ -107,9 +140,29 @@ public class BCLFeature {
|
||||||
* @return new BCLFeature instance.
|
* @return new BCLFeature instance.
|
||||||
*/
|
*/
|
||||||
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, VerticalAnchor minY, VerticalAnchor maxY) {
|
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, VerticalAnchor minY, VerticalAnchor maxY) {
|
||||||
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, minY, maxY, false);
|
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, 0.0f, minY, maxY, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will create a basic ore feature.
|
||||||
|
*
|
||||||
|
* @param id {@link ResourceLocation} feature ID.
|
||||||
|
* @param blockOre {@link Decoration} feature step.
|
||||||
|
* @param hostBlock {@link Block} to generate feature in.
|
||||||
|
* @param veins iterations per chunk.
|
||||||
|
* @param veinSize size of ore vein.
|
||||||
|
* @param airDiscardChance chance that this orge gets discarded when it is exposed to air
|
||||||
|
* @param minY A {@link VerticalAnchor} for the minimum height, for example
|
||||||
|
* {@code VerticalAnchor.bottom()}, {@code VerticalAnchor.absolute(10)}, {@code VerticalAnchor.aboveBottom(10)}
|
||||||
|
* @param maxY A {@link VerticalAnchor} for the maximum height.
|
||||||
|
* @param rare when true, this is placed as a rare resource
|
||||||
|
* @return new BCLFeature instance.
|
||||||
|
*/
|
||||||
|
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, float airDiscardChance, VerticalAnchor minY, VerticalAnchor maxY, boolean rare) {
|
||||||
|
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, airDiscardChance, HeightRangePlacement.uniform(minY, maxY), rare);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated(forRemoval = true)
|
||||||
/**
|
/**
|
||||||
* Will create a basic ore feature.
|
* Will create a basic ore feature.
|
||||||
*
|
*
|
||||||
|
@ -125,7 +178,7 @@ public class BCLFeature {
|
||||||
* @return new BCLFeature instance.
|
* @return new BCLFeature instance.
|
||||||
*/
|
*/
|
||||||
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, VerticalAnchor minY, VerticalAnchor maxY, boolean rare) {
|
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, VerticalAnchor minY, VerticalAnchor maxY, boolean rare) {
|
||||||
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, HeightRangePlacement.uniform(minY, maxY), rare);
|
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, 0.0f, HeightRangePlacement.uniform(minY, maxY), rare);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -136,16 +189,18 @@ public class BCLFeature {
|
||||||
* @param hostBlock {@link Block} to generate feature in.
|
* @param hostBlock {@link Block} to generate feature in.
|
||||||
* @param veins iterations per chunk.
|
* @param veins iterations per chunk.
|
||||||
* @param veinSize size of ore vein.
|
* @param veinSize size of ore vein.
|
||||||
|
* @param airDiscardChance chance that this orge gets discarded when it is exposed to air
|
||||||
* @param placement {@link net.minecraft.world.level.levelgen.placement.PlacementModifier} for the ore distribution,
|
* @param placement {@link net.minecraft.world.level.levelgen.placement.PlacementModifier} for the ore distribution,
|
||||||
* for example {@code PlacementUtils.FULL_RANGE}, {@code PlacementUtils.RANGE_10_10}
|
* for example {@code PlacementUtils.FULL_RANGE}, {@code PlacementUtils.RANGE_10_10}
|
||||||
* @param rare when true, this is placed as a rare resource
|
* @param rare when true, this is placed as a rare resource
|
||||||
* @return new BCLFeature instance.
|
* @return new BCLFeature instance.
|
||||||
*/
|
*/
|
||||||
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, PlacementModifier placement, boolean rare) {
|
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, float airDiscardChance, PlacementModifier placement, boolean rare) {
|
||||||
OreConfiguration featureConfig = new OreConfiguration(
|
OreConfiguration featureConfig = new OreConfiguration(
|
||||||
new BlockMatchTest(hostBlock),
|
new BlockMatchTest(hostBlock),
|
||||||
blockOre.defaultBlockState(),
|
blockOre.defaultBlockState(),
|
||||||
veinSize
|
veinSize,
|
||||||
|
airDiscardChance
|
||||||
);
|
);
|
||||||
|
|
||||||
PlacedFeature oreFeature = Feature.ORE
|
PlacedFeature oreFeature = Feature.ORE
|
||||||
|
@ -162,6 +217,25 @@ public class BCLFeature {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated(forRemoval = true)
|
||||||
|
/**
|
||||||
|
* Will create a basic ore feature.
|
||||||
|
*
|
||||||
|
* @param id {@link ResourceLocation} feature ID.
|
||||||
|
* @param blockOre {@link Decoration} feature step.
|
||||||
|
* @param hostBlock {@link Block} to generate feature in.
|
||||||
|
* @param veins iterations per chunk.
|
||||||
|
* @param veinSize size of ore vein.
|
||||||
|
* @param placement {@link net.minecraft.world.level.levelgen.placement.PlacementModifier} for the ore distribution,
|
||||||
|
* for example {@code PlacementUtils.FULL_RANGE}, {@code PlacementUtils.RANGE_10_10}
|
||||||
|
* @param rare when true, this is placed as a rare resource
|
||||||
|
* @return new BCLFeature instance.
|
||||||
|
*/
|
||||||
|
public static BCLFeature makeOreFeature(ResourceLocation id, Block blockOre, Block hostBlock, int veins, int veinSize, PlacementModifier placement, boolean rare) {
|
||||||
|
return makeOreFeature(id, blockOre, hostBlock, veins, veinSize, 0.0f, placement, rare);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Will create feature which will be generated once in each chunk.
|
* Will create feature which will be generated once in each chunk.
|
||||||
* @param id {@link ResourceLocation} feature ID.
|
* @param id {@link ResourceLocation} feature ID.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue