added ores
This commit is contained in:
		| @@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory; | |||||||
| import de.jottyfan.quickiemod.block.ModBlocks; | import de.jottyfan.quickiemod.block.ModBlocks; | ||||||
| import de.jottyfan.quickiemod.blockentity.ModBlockentity; | import de.jottyfan.quickiemod.blockentity.ModBlockentity; | ||||||
| import de.jottyfan.quickiemod.event.EventBlockBreak; | import de.jottyfan.quickiemod.event.EventBlockBreak; | ||||||
|  | import de.jottyfan.quickiemod.feature.ModFeatures; | ||||||
| import de.jottyfan.quickiemod.item.ModItems; | import de.jottyfan.quickiemod.item.ModItems; | ||||||
| import de.jottyfan.quickiemod.itemgroup.ModItemGroup; | import de.jottyfan.quickiemod.itemgroup.ModItemGroup; | ||||||
| import net.fabricmc.api.ModInitializer; | import net.fabricmc.api.ModInitializer; | ||||||
| @@ -29,6 +30,7 @@ public class Quickiemod implements ModInitializer { | |||||||
| 		ModBlockentity.registerModBlockentities(); | 		ModBlockentity.registerModBlockentities(); | ||||||
| 		List<Item> items = ModItems.registerModItems(); | 		List<Item> items = ModItems.registerModItems(); | ||||||
| 		List<Block> blocks = ModBlocks.registerModBlocks(); | 		List<Block> blocks = ModBlocks.registerModBlocks(); | ||||||
|  | 		ModFeatures.registerFeatures(); | ||||||
| 		ModItemGroup.registerItemGroup(items, blocks); | 		ModItemGroup.registerItemGroup(items, blocks); | ||||||
|  |  | ||||||
| 		PlayerBlockBreakEvents.AFTER.register((world, player, pos, state, blockEntity) -> { | 		PlayerBlockBreakEvents.AFTER.register((world, player, pos, state, blockEntity) -> { | ||||||
|   | |||||||
| @@ -0,0 +1,48 @@ | |||||||
|  | package de.jottyfan.quickiemod.block; | ||||||
|  |  | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Random; | ||||||
|  |  | ||||||
|  | import com.mojang.serialization.MapCodec; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.item.ModItems; | ||||||
|  | import net.minecraft.block.AbstractBlock; | ||||||
|  | import net.minecraft.block.BlockState; | ||||||
|  | import net.minecraft.block.Blocks; | ||||||
|  | import net.minecraft.block.FallingBlock; | ||||||
|  | import net.minecraft.item.ItemStack; | ||||||
|  | import net.minecraft.item.Items; | ||||||
|  | import net.minecraft.loot.context.LootWorldContext.Builder; | ||||||
|  | import net.minecraft.registry.RegistryKey; | ||||||
|  | import net.minecraft.registry.RegistryKeys; | ||||||
|  | import net.minecraft.util.Identifier; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class BlockDirtSalpeter extends FallingBlock { | ||||||
|  |  | ||||||
|  | 	public BlockDirtSalpeter(Identifier identifier) { | ||||||
|  | 		super(AbstractBlock.Settings.create().hardness(3.1f).registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public List<ItemStack> getDroppedStacks(BlockState blockState, Builder builder) { | ||||||
|  | 		Integer count = (Double.valueOf(new Random().nextDouble() * 10).intValue() / 4) + 1; | ||||||
|  | 		boolean spawnBoneMeal = new Random().nextDouble() > 0.5f; | ||||||
|  | 		ItemStack boneMealStack = new ItemStack(Items.BONE_MEAL); | ||||||
|  | 		ItemStack salpeterStack = new ItemStack(ModItems.ITEM_SALPETER, count); | ||||||
|  | 		ItemStack dirtStack = new ItemStack(Blocks.DIRT); | ||||||
|  | 		ItemStack[] spawnies = spawnBoneMeal ? new ItemStack[] { boneMealStack, salpeterStack, dirtStack } | ||||||
|  | 				: new ItemStack[] { salpeterStack, dirtStack }; | ||||||
|  | 		return Arrays.asList(spawnies); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	protected MapCodec<? extends FallingBlock> getCodec() { | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,33 @@ | |||||||
|  | package de.jottyfan.quickiemod.block; | ||||||
|  |  | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.block.help.IntProviderHelper; | ||||||
|  | import de.jottyfan.quickiemod.item.ModItems; | ||||||
|  | import net.minecraft.block.BlockState; | ||||||
|  | import net.minecraft.block.ExperienceDroppingBlock; | ||||||
|  | import net.minecraft.item.ItemStack; | ||||||
|  | import net.minecraft.loot.context.LootWorldContext.Builder; | ||||||
|  | import net.minecraft.registry.RegistryKey; | ||||||
|  | import net.minecraft.registry.RegistryKeys; | ||||||
|  | import net.minecraft.sound.BlockSoundGroup; | ||||||
|  | import net.minecraft.util.Identifier; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class BlockOreDeepslateSulphor extends ExperienceDroppingBlock { | ||||||
|  |  | ||||||
|  | 	public BlockOreDeepslateSulphor(Identifier identifier) { | ||||||
|  | 		super(IntProviderHelper.of(0, 2), Settings.create().strength(2.5f).hardness(1.9f).sounds(BlockSoundGroup.SOUL_SAND) | ||||||
|  | 				.requiresTool().registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) { | ||||||
|  | 		return Arrays.asList(new ItemStack[] { new ItemStack(ModItems.ITEM_SULFOR, 4) }); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,33 @@ | |||||||
|  | package de.jottyfan.quickiemod.block; | ||||||
|  |  | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.block.help.IntProviderHelper; | ||||||
|  | import de.jottyfan.quickiemod.item.ModItems; | ||||||
|  | import net.minecraft.block.BlockState; | ||||||
|  | import net.minecraft.block.ExperienceDroppingBlock; | ||||||
|  | import net.minecraft.item.ItemStack; | ||||||
|  | import net.minecraft.loot.context.LootWorldContext.Builder; | ||||||
|  | import net.minecraft.registry.RegistryKey; | ||||||
|  | import net.minecraft.registry.RegistryKeys; | ||||||
|  | import net.minecraft.sound.BlockSoundGroup; | ||||||
|  | import net.minecraft.util.Identifier; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class BlockOreNetherSulphor extends ExperienceDroppingBlock { | ||||||
|  |  | ||||||
|  | 	public BlockOreNetherSulphor(Identifier identifier) { | ||||||
|  | 		super(IntProviderHelper.of(0, 2), Settings.create().strength(2.5f).hardness(2.1f).sounds(BlockSoundGroup.SOUL_SAND) | ||||||
|  | 				.requiresTool().registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) { | ||||||
|  | 		return Arrays.asList(new ItemStack[] { new ItemStack(ModItems.ITEM_SULFOR) }); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,34 @@ | |||||||
|  | package de.jottyfan.quickiemod.block; | ||||||
|  |  | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.block.help.IntProviderHelper; | ||||||
|  | import de.jottyfan.quickiemod.item.ModItems; | ||||||
|  | import net.minecraft.block.BlockState; | ||||||
|  | import net.minecraft.block.ExperienceDroppingBlock; | ||||||
|  | import net.minecraft.item.ItemStack; | ||||||
|  | import net.minecraft.loot.context.LootWorldContext.Builder; | ||||||
|  | import net.minecraft.registry.RegistryKey; | ||||||
|  | import net.minecraft.registry.RegistryKeys; | ||||||
|  | import net.minecraft.sound.BlockSoundGroup; | ||||||
|  | import net.minecraft.util.Identifier; | ||||||
|  | import net.minecraft.util.math.random.Random; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class BlockOreSalpeter extends ExperienceDroppingBlock { | ||||||
|  |  | ||||||
|  | 	public BlockOreSalpeter(Identifier identifier) { | ||||||
|  | 		super(IntProviderHelper.of(0, 2), Settings.create().strength(2.5f).hardness(3.1f).sounds(BlockSoundGroup.SOUL_SAND) | ||||||
|  | 				.requiresTool().registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) { | ||||||
|  | 		return Arrays.asList(new ItemStack[] { new ItemStack(ModItems.ITEM_SALPETER, 2 + Random.create().nextInt(3)) }); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,34 @@ | |||||||
|  | package de.jottyfan.quickiemod.block; | ||||||
|  |  | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.block.help.IntProviderHelper; | ||||||
|  | import de.jottyfan.quickiemod.item.ModItems; | ||||||
|  | import net.minecraft.block.BlockState; | ||||||
|  | import net.minecraft.block.Blocks; | ||||||
|  | import net.minecraft.block.ExperienceDroppingBlock; | ||||||
|  | import net.minecraft.item.ItemStack; | ||||||
|  | import net.minecraft.loot.context.LootWorldContext.Builder; | ||||||
|  | import net.minecraft.registry.RegistryKey; | ||||||
|  | import net.minecraft.registry.RegistryKeys; | ||||||
|  | import net.minecraft.sound.BlockSoundGroup; | ||||||
|  | import net.minecraft.util.Identifier; | ||||||
|  | import net.minecraft.util.math.random.Random; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class BlockOreSandSalpeter extends ExperienceDroppingBlock { | ||||||
|  |  | ||||||
|  | 	public BlockOreSandSalpeter(Identifier identifier) { | ||||||
|  | 		super(IntProviderHelper.of(0,  2), Settings.create().strength(2.5f).hardness(2.9f).sounds(BlockSoundGroup.SOUL_SAND).requiresTool().registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) { | ||||||
|  | 		return Arrays.asList(new ItemStack[] { new ItemStack(ModItems.ITEM_SALPETER, 7 + Random.create().nextInt(4)), new ItemStack(Blocks.SAND) }); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,33 @@ | |||||||
|  | package de.jottyfan.quickiemod.block; | ||||||
|  |  | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.block.help.IntProviderHelper; | ||||||
|  | import de.jottyfan.quickiemod.item.ModItems; | ||||||
|  | import net.minecraft.block.BlockState; | ||||||
|  | import net.minecraft.block.ExperienceDroppingBlock; | ||||||
|  | import net.minecraft.item.ItemStack; | ||||||
|  | import net.minecraft.loot.context.LootWorldContext.Builder; | ||||||
|  | import net.minecraft.registry.RegistryKey; | ||||||
|  | import net.minecraft.registry.RegistryKeys; | ||||||
|  | import net.minecraft.sound.BlockSoundGroup; | ||||||
|  | import net.minecraft.util.Identifier; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class BlockOreSulphor extends ExperienceDroppingBlock { | ||||||
|  |  | ||||||
|  | 	public BlockOreSulphor(Identifier identifier) { | ||||||
|  | 		super(IntProviderHelper.of(0, 2), Settings.create().strength(2.5f).hardness(1.9f).sounds(BlockSoundGroup.SOUL_SAND) | ||||||
|  | 				.requiresTool().registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) { | ||||||
|  | 		return Arrays.asList(new ItemStack[] { new ItemStack(ModItems.ITEM_SULFOR) }); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,43 @@ | |||||||
|  | package de.jottyfan.quickiemod.block; | ||||||
|  |  | ||||||
|  | import java.util.Arrays; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import com.mojang.serialization.MapCodec; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.item.ModItems; | ||||||
|  | import net.minecraft.block.BlockState; | ||||||
|  | import net.minecraft.block.Blocks; | ||||||
|  | import net.minecraft.block.FallingBlock; | ||||||
|  | import net.minecraft.item.ItemStack; | ||||||
|  | import net.minecraft.loot.context.LootWorldContext.Builder; | ||||||
|  | import net.minecraft.registry.RegistryKey; | ||||||
|  | import net.minecraft.registry.RegistryKeys; | ||||||
|  | import net.minecraft.sound.BlockSoundGroup; | ||||||
|  | import net.minecraft.util.Identifier; | ||||||
|  | import net.minecraft.util.math.random.Random; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class BlockSandSalpeter extends FallingBlock { | ||||||
|  |  | ||||||
|  | 	public BlockSandSalpeter(Identifier identifier) { | ||||||
|  | 		super(Settings.create().strength(2.5f).hardness(3.1f).sounds(BlockSoundGroup.SOUL_SAND).requiresTool() | ||||||
|  | 				.registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	public List<ItemStack> getDroppedStacks(BlockState state, Builder builder) { | ||||||
|  | 		return Arrays.asList(new ItemStack[] { new ItemStack(ModItems.ITEM_SALPETER, 3 + Random.create().nextInt(2)), | ||||||
|  | 				new ItemStack(Blocks.SAND) }); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	@Override | ||||||
|  | 	protected MapCodec<? extends FallingBlock> getCodec() { | ||||||
|  | 		// TODO Auto-generated method stub | ||||||
|  | 		return null; | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -39,6 +39,20 @@ public class ModBlocks { | |||||||
| 			new BlockEmptyLavahoarder(ModIdentifiers.BLOCK_EMPTYLAVAHOARDER)); | 			new BlockEmptyLavahoarder(ModIdentifiers.BLOCK_EMPTYLAVAHOARDER)); | ||||||
| 	public static final Block BLOCK_ITEMHOARDER = registerBlock(ModIdentifiers.BLOCK_ITEMHOARDER, | 	public static final Block BLOCK_ITEMHOARDER = registerBlock(ModIdentifiers.BLOCK_ITEMHOARDER, | ||||||
| 			new BlockItemhoarder(ModIdentifiers.BLOCK_ITEMHOARDER)); | 			new BlockItemhoarder(ModIdentifiers.BLOCK_ITEMHOARDER)); | ||||||
|  | 	public static final Block BLOCK_DIRTSALPETER = registerBlock(ModIdentifiers.BLOCK_DIRTSALPETER, | ||||||
|  | 			new BlockDirtSalpeter(ModIdentifiers.BLOCK_DIRTSALPETER)); | ||||||
|  | 	public static final Block BLOCK_OREDEEPSLATESULFOR = registerBlock(ModIdentifiers.BLOCK_OREDEEPSLATESULFOR, | ||||||
|  | 			new BlockOreDeepslateSulphor(ModIdentifiers.BLOCK_OREDEEPSLATESULFOR)); | ||||||
|  | 	public static final Block BLOCK_ORENETHERSULFOR = registerBlock(ModIdentifiers.BLOCK_ORENETHERSULFOR, | ||||||
|  | 			new BlockOreNetherSulphor(ModIdentifiers.BLOCK_ORENETHERSULFOR)); | ||||||
|  | 	public static final Block BLOCK_ORESALPETER = registerBlock(ModIdentifiers.BLOCK_ORESALPETER, | ||||||
|  | 			new BlockOreSalpeter(ModIdentifiers.BLOCK_ORESALPETER)); | ||||||
|  | 	public static final Block BLOCK_ORESANDSALPETER = registerBlock(ModIdentifiers.BLOCK_ORESANDSALPETER, | ||||||
|  | 			new BlockOreSandSalpeter(ModIdentifiers.BLOCK_ORESANDSALPETER)); | ||||||
|  | 	public static final Block BLOCK_ORESULFOR = registerBlock(ModIdentifiers.BLOCK_ORESULFOR, | ||||||
|  | 			new BlockOreSulphor(ModIdentifiers.BLOCK_ORESULFOR)); | ||||||
|  | 	public static final Block BLOCK_SANDSALPETER = registerBlock(ModIdentifiers.BLOCK_SANDSALPETER, | ||||||
|  | 			new BlockSandSalpeter(ModIdentifiers.BLOCK_SANDSALPETER)); | ||||||
|  |  | ||||||
| 	private static final Block registerBlock(Identifier identifier, Block block) { | 	private static final Block registerBlock(Identifier identifier, Block block) { | ||||||
| 		Registry.register(Registries.ITEM, identifier, new BlockItem(block, new Item.Settings() | 		Registry.register(Registries.ITEM, identifier, new BlockItem(block, new Item.Settings() | ||||||
| @@ -58,6 +72,13 @@ public class ModBlocks { | |||||||
| 		blocks.add(BLOCK_EMPTYLAVAHOARDER); | 		blocks.add(BLOCK_EMPTYLAVAHOARDER); | ||||||
| 		blocks.add(BLOCK_LAVAHOARDER); | 		blocks.add(BLOCK_LAVAHOARDER); | ||||||
| 		blocks.add(BLOCK_ITEMHOARDER); | 		blocks.add(BLOCK_ITEMHOARDER); | ||||||
|  | 		blocks.add(BLOCK_DIRTSALPETER); | ||||||
|  | 		blocks.add(BLOCK_OREDEEPSLATESULFOR); | ||||||
|  | 		blocks.add(BLOCK_ORENETHERSULFOR); | ||||||
|  | 		blocks.add(BLOCK_ORESALPETER); | ||||||
|  | 		blocks.add(BLOCK_ORESANDSALPETER); | ||||||
|  | 		blocks.add(BLOCK_ORESULFOR); | ||||||
|  | 		blocks.add(BLOCK_SANDSALPETER); | ||||||
| 		return blocks; | 		return blocks; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -0,0 +1,37 @@ | |||||||
|  | package de.jottyfan.quickiemod.block.help; | ||||||
|  |  | ||||||
|  | import net.minecraft.util.math.intprovider.IntProvider; | ||||||
|  | import net.minecraft.util.math.intprovider.IntProviderType; | ||||||
|  | import net.minecraft.util.math.random.Random; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class IntProviderHelper { | ||||||
|  | 	public static final IntProvider of(Integer min, Integer max) { | ||||||
|  | 		return new IntProvider() { | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public IntProviderType<?> getType() { | ||||||
|  | 				return IntProviderType.CONSTANT; | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public int getMin() { | ||||||
|  | 				return min; | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public int getMax() { | ||||||
|  | 				return max; | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			@Override | ||||||
|  | 			public int get(Random random) { | ||||||
|  | 				return random.nextBetween(min, max); | ||||||
|  | 			} | ||||||
|  | 		}; | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,66 @@ | |||||||
|  | package de.jottyfan.quickiemod.feature; | ||||||
|  |  | ||||||
|  | import de.jottyfan.quickiemod.Quickiemod; | ||||||
|  | import net.fabricmc.fabric.api.biome.v1.BiomeModifications; | ||||||
|  | import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; | ||||||
|  | import net.fabricmc.fabric.api.biome.v1.ModificationPhase; | ||||||
|  | import net.minecraft.registry.RegistryKey; | ||||||
|  | import net.minecraft.registry.RegistryKeys; | ||||||
|  | import net.minecraft.util.Identifier; | ||||||
|  | import net.minecraft.world.gen.GenerationStep; | ||||||
|  | import net.minecraft.world.gen.feature.ConfiguredFeature; | ||||||
|  | import net.minecraft.world.gen.feature.PlacedFeature; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * @author jotty | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | public class ModFeatures { | ||||||
|  |  | ||||||
|  | 	public static final RegistryKey<ConfiguredFeature<?, ?>> CF_ORESULFUR = genCf("oresulphor"); | ||||||
|  | 	public static final RegistryKey<ConfiguredFeature<?, ?>> CF_OREDEEPSLATESULFUR = genCf("oredepslatesulphor"); | ||||||
|  | 	public static final RegistryKey<ConfiguredFeature<?, ?>> CF_ORESALPETER = genCf("oresalpeter"); | ||||||
|  | 	public static final RegistryKey<ConfiguredFeature<?, ?>> CF_ORENETHERSULPHOR = genCf("orenethersulphore"); | ||||||
|  | 	public static final RegistryKey<ConfiguredFeature<?, ?>> CF_BLOCKSULPHOR = genCf("blocksulphor"); | ||||||
|  | 	public static final RegistryKey<ConfiguredFeature<?, ?>> CF_DIRTSALPETER = genCf("dirtsalpeter"); | ||||||
|  | 	public static final RegistryKey<ConfiguredFeature<?, ?>> CF_SANDSALPETER = genCf("sandsalpeter"); | ||||||
|  | 	public static final RegistryKey<ConfiguredFeature<?, ?>> CF_ORESANDSALPETER = genCf("oresandsalpeter"); | ||||||
|  |  | ||||||
|  | 	public static final RegistryKey<PlacedFeature> PF_ORESULPHOR = genPf("oresulphor"); | ||||||
|  | 	public static final RegistryKey<PlacedFeature> PF_OREDEEPSLATESULPHOR = genPf("oredeepslatesulphor"); | ||||||
|  | 	public static final RegistryKey<PlacedFeature> PF_ORESALPETER = genPf("oresalpeter"); | ||||||
|  | 	public static final RegistryKey<PlacedFeature> PF_ORENETHERSULPHOR = genPf("orenethersulphor"); | ||||||
|  | 	public static final RegistryKey<PlacedFeature> PF_BLOCKSULPHOR = genPf("blocksulphor"); | ||||||
|  | 	public static final RegistryKey<PlacedFeature> PF_DIRTSALPETER = genPf("dirtsalpeter"); | ||||||
|  | 	public static final RegistryKey<PlacedFeature> PF_SANDSALPETER = genPf("sandsalpeter"); | ||||||
|  | 	public static final RegistryKey<PlacedFeature> PF_ORESANDSALPETER = genPf("oresandsalpeter"); | ||||||
|  |  | ||||||
|  | 	private static final RegistryKey<ConfiguredFeature<?, ?>> genCf(String name) { | ||||||
|  | 		return RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, Identifier.of(Quickiemod.MOD_ID, name)); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	private static final RegistryKey<PlacedFeature> genPf(String name) { | ||||||
|  | 		return RegistryKey.of(RegistryKeys.PLACED_FEATURE, Identifier.of(Quickiemod.MOD_ID, name)); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public static final void registerFeatures() { | ||||||
|  | 		// Overworld features | ||||||
|  | 		BiomeModifications.create(Identifier.of(Quickiemod.MOD_ID, "features")).add(ModificationPhase.ADDITIONS, | ||||||
|  | 				BiomeSelectors.foundInOverworld(), (bsc, bmc) -> { | ||||||
|  | 					bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_ORESULPHOR); | ||||||
|  | 					bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_ORESALPETER); | ||||||
|  | 					bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_DIRTSALPETER); | ||||||
|  | 					bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_SANDSALPETER); | ||||||
|  | 					bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_ORESANDSALPETER); | ||||||
|  | 					bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_OREDEEPSLATESULPHOR); | ||||||
|  | 				}); | ||||||
|  |  | ||||||
|  | 		// Nether features | ||||||
|  | 		BiomeModifications.create(Identifier.of(Quickiemod.MOD_ID, "nether_features")).add(ModificationPhase.ADDITIONS, | ||||||
|  | 				BiomeSelectors.foundInTheNether(), (bsc, bmc) -> { | ||||||
|  | 					bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_ORENETHERSULPHOR); | ||||||
|  | 					bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_BLOCKSULPHOR); | ||||||
|  | 				}); | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -40,6 +40,13 @@ public class ModIdentifiers { | |||||||
| 	public static final Identifier BLOCK_LAVAHOARDER = Identifier.of(Quickiemod.MOD_ID, "lavahoarder"); | 	public static final Identifier BLOCK_LAVAHOARDER = Identifier.of(Quickiemod.MOD_ID, "lavahoarder"); | ||||||
| 	public static final Identifier BLOCK_EMPTYLAVAHOARDER = Identifier.of(Quickiemod.MOD_ID, "emptylavahoarder"); | 	public static final Identifier BLOCK_EMPTYLAVAHOARDER = Identifier.of(Quickiemod.MOD_ID, "emptylavahoarder"); | ||||||
| 	public static final Identifier BLOCK_ITEMHOARDER = Identifier.of(Quickiemod.MOD_ID, "itemhoarder"); | 	public static final Identifier BLOCK_ITEMHOARDER = Identifier.of(Quickiemod.MOD_ID, "itemhoarder"); | ||||||
|  | 	public static final Identifier BLOCK_DIRTSALPETER = Identifier.of(Quickiemod.MOD_ID, "dirtsalpeter"); | ||||||
|  | 	public static final Identifier BLOCK_OREDEEPSLATESULFOR = Identifier.of(Quickiemod.MOD_ID, "oredeepslatesulphor"); | ||||||
|  | 	public static final Identifier BLOCK_ORENETHERSULFOR = Identifier.of(Quickiemod.MOD_ID, "orenethersulphor"); | ||||||
|  | 	public static final Identifier BLOCK_ORESALPETER = Identifier.of(Quickiemod.MOD_ID, "oresalpeter"); | ||||||
|  | 	public static final Identifier BLOCK_ORESANDSALPETER = Identifier.of(Quickiemod.MOD_ID, "oresandsalpeter"); | ||||||
|  | 	public static final Identifier BLOCK_ORESULFOR = Identifier.of(Quickiemod.MOD_ID, "oresulphor"); | ||||||
|  | 	public static final Identifier BLOCK_SANDSALPETER = Identifier.of(Quickiemod.MOD_ID, "sandsalpeter"); | ||||||
|  |  | ||||||
| 	public static final Identifier BLOCKENTITY_ITEMHOARDER = Identifier.of(Quickiemod.MOD_ID, "itemhoarderblockentity"); | 	public static final Identifier BLOCKENTITY_ITEMHOARDER = Identifier.of(Quickiemod.MOD_ID, "itemhoarderblockentity"); | ||||||
| 	public static final Identifier BLOCKENTITY_BLOCKSTACKER = Identifier.of(Quickiemod.MOD_ID, "blockstackerblockentity"); | 	public static final Identifier BLOCKENTITY_BLOCKSTACKER = Identifier.of(Quickiemod.MOD_ID, "blockstackerblockentity"); | ||||||
|   | |||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 	"variants": { | ||||||
|  | 		"": { | ||||||
|  | 			"model": "quickiemod:block/dirtsalpeter" | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 	"variants": { | ||||||
|  | 		"": { | ||||||
|  | 			"model": "quickiemod:block/oredeepslatesulphor" | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 	"variants": { | ||||||
|  | 		"": { | ||||||
|  | 			"model": "quickiemod:block/orenethersulphor" | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 	"variants": { | ||||||
|  | 		"": { | ||||||
|  | 			"model": "quickiemod:block/oresalpeter" | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 	"variants": { | ||||||
|  | 		"": { | ||||||
|  | 			"model": "quickiemod:block/oresandsalpeter" | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 	"variants": { | ||||||
|  | 		"": { | ||||||
|  | 			"model": "quickiemod:block/oresulphor" | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 	"variants": { | ||||||
|  | 		"": { | ||||||
|  | 			"model": "quickiemod:block/sandsalpeter" | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "block/cube_all", | ||||||
|  | 		"textures": { | ||||||
|  | 				"all": "quickiemod:block/dirtsalpeter" | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "block/cube_all", | ||||||
|  | 		"textures": { | ||||||
|  | 				"all": "quickiemod:block/oredeepslatesulphor" | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "block/cube_all", | ||||||
|  | 		"textures": { | ||||||
|  | 				"all": "quickiemod:block/orenethersulphor" | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "block/cube_all", | ||||||
|  | 		"textures": { | ||||||
|  | 				"all": "quickiemod:block/oresalpeter" | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "block/cube_column", | ||||||
|  | 		"textures": { | ||||||
|  | 				"end" : "minecraft:block/sandstone_top", | ||||||
|  | 				"side": "quickiemod:block/oresandsalpeter" | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "block/cube_all", | ||||||
|  | 		"textures": { | ||||||
|  | 				"all": "quickiemod:block/oresulphor" | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "block/cube_all", | ||||||
|  | 		"textures": { | ||||||
|  | 				"all": "quickiemod:block/sandsalpeter" | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "quickiemod:block/dirtsalpeter", | ||||||
|  | 		"display": { | ||||||
|  | 				"thirdperson": { | ||||||
|  | 						"rotation": [ 10, -45, 170 ], | ||||||
|  | 						"translation": [ 0, 1.5, -2.75 ], | ||||||
|  | 						"scale": [ 0.375, 0.375, 0.375 ] | ||||||
|  | 				} | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "quickiemod:block/oredeepslatesulphor", | ||||||
|  | 		"display": { | ||||||
|  | 				"thirdperson": { | ||||||
|  | 						"rotation": [ 10, -45, 170 ], | ||||||
|  | 						"translation": [ 0, 1.5, -2.75 ], | ||||||
|  | 						"scale": [ 0.375, 0.375, 0.375 ] | ||||||
|  | 				} | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "quickiemod:block/orenethersulphor", | ||||||
|  | 		"display": { | ||||||
|  | 				"thirdperson": { | ||||||
|  | 						"rotation": [ 10, -45, 170 ], | ||||||
|  | 						"translation": [ 0, 1.5, -2.75 ], | ||||||
|  | 						"scale": [ 0.375, 0.375, 0.375 ] | ||||||
|  | 				} | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "quickiemod:block/oresalpeter", | ||||||
|  | 		"display": { | ||||||
|  | 				"thirdperson": { | ||||||
|  | 						"rotation": [ 10, -45, 170 ], | ||||||
|  | 						"translation": [ 0, 1.5, -2.75 ], | ||||||
|  | 						"scale": [ 0.375, 0.375, 0.375 ] | ||||||
|  | 				} | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "quickiemod:block/oresandsalpeter", | ||||||
|  | 		"display": { | ||||||
|  | 				"thirdperson": { | ||||||
|  | 						"rotation": [ 10, -45, 170 ], | ||||||
|  | 						"translation": [ 0, 1.5, -2.75 ], | ||||||
|  | 						"scale": [ 0.375, 0.375, 0.375 ] | ||||||
|  | 				} | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "quickiemod:block/oresulphor", | ||||||
|  | 		"display": { | ||||||
|  | 				"thirdperson": { | ||||||
|  | 						"rotation": [ 10, -45, 170 ], | ||||||
|  | 						"translation": [ 0, 1.5, -2.75 ], | ||||||
|  | 						"scale": [ 0.375, 0.375, 0.375 ] | ||||||
|  | 				} | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  | 		"parent": "quickiemod:block/sandsalpeter", | ||||||
|  | 		"display": { | ||||||
|  | 				"thirdperson": { | ||||||
|  | 						"rotation": [ 10, -45, 170 ], | ||||||
|  | 						"translation": [ 0, 1.5, -2.75 ], | ||||||
|  | 						"scale": [ 0.375, 0.375, 0.375 ] | ||||||
|  | 				} | ||||||
|  | 		} | ||||||
|  | } | ||||||
| @@ -5,6 +5,13 @@ | |||||||
| 			"quickiemod:blocksalpeter", | 			"quickiemod:blocksalpeter", | ||||||
| 			"quickiemod:monsterhoarder", | 			"quickiemod:monsterhoarder", | ||||||
| 			"quickiemod:lavahoarder", | 			"quickiemod:lavahoarder", | ||||||
| 			"quickiemod:emptylavahoarder" | 			"quickiemod:emptylavahoarder", | ||||||
|  | 			"quickiemod:oresulphor", | ||||||
|  | 			"quickiemod:oredeepslatesulphor", | ||||||
|  | 			"quickiemod:orenethersulphor", | ||||||
|  | 			"quickiemod:oresalpeter", | ||||||
|  | 			"quickiemod:oresandsalpeter", | ||||||
|  | 			"quickiemod:sandsalpeter", | ||||||
|  | 			"quickiemod:dirtsalpeter" | ||||||
| 		] | 		] | ||||||
| 	} | 	} | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  |   "replace": false, | ||||||
|  |   "values": [ | ||||||
|  |     "quickiemod:oresalpeter" | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | { | ||||||
|  |   "replace": false, | ||||||
|  |   "values": [ | ||||||
|  |     "quickiemod:oresulphor" | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,12 @@ | |||||||
|  | 	{ | ||||||
|  | 		"replace": false, | ||||||
|  | 		"values": [ | ||||||
|  | 			"quickiemod:oresulphor", | ||||||
|  | 			"quickiemod:oredeepslatesulphor", | ||||||
|  | 			"quickiemod:orenethersulphor", | ||||||
|  | 			"quickiemod:oresalpeter", | ||||||
|  | 			"quickiemod:oresandsalpeter", | ||||||
|  | 			"quickiemod:sandsalpeter", | ||||||
|  | 			"quickiemod:dirtsalpeter" | ||||||
|  | 		] | ||||||
|  | 	} | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   "type": "minecraft:ore", | ||||||
|  |   "config": { | ||||||
|  |     "discard_chance_on_air_exposure": 0.0, | ||||||
|  |     "size": 3, | ||||||
|  |     "targets": [ | ||||||
|  |       { | ||||||
|  |         "state": { | ||||||
|  |           "Name": "quickiemod:blocksulphor" | ||||||
|  |         }, | ||||||
|  |         "target": { | ||||||
|  |           "predicate_type": "minecraft:block_match", | ||||||
|  |           "block": "minecraft:netherrack" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   "type": "minecraft:ore", | ||||||
|  |   "config": { | ||||||
|  |     "discard_chance_on_air_exposure": 0.0, | ||||||
|  |     "size": 4, | ||||||
|  |     "targets": [ | ||||||
|  |       { | ||||||
|  |         "state": { | ||||||
|  |           "Name": "quickiemod:dirtsalpeter" | ||||||
|  |         }, | ||||||
|  |         "target": { | ||||||
|  |           "predicate_type": "minecraft:block_match", | ||||||
|  |           "block": "minecraft:dirt" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   "type": "minecraft:ore", | ||||||
|  |   "config": { | ||||||
|  |     "discard_chance_on_air_exposure": 0.0, | ||||||
|  |     "size": 20, | ||||||
|  |     "targets": [ | ||||||
|  |       { | ||||||
|  |         "state": { | ||||||
|  |           "Name": "quickiemod:oredeepslatesulphor" | ||||||
|  |         }, | ||||||
|  |         "target": { | ||||||
|  |           "predicate_type": "minecraft:tag_match", | ||||||
|  |           "tag": "minecraft:deepslate_ore_replaceables" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   "type": "minecraft:ore", | ||||||
|  |   "config": { | ||||||
|  |     "discard_chance_on_air_exposure": 0.0, | ||||||
|  |     "size": 20, | ||||||
|  |     "targets": [ | ||||||
|  |       { | ||||||
|  |         "state": { | ||||||
|  |           "Name": "quickiemod:orenethersulphor" | ||||||
|  |         }, | ||||||
|  |         "target": { | ||||||
|  |           "predicate_type": "minecraft:block_match", | ||||||
|  |           "block": "minecraft:netherrack" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   "type": "minecraft:ore", | ||||||
|  |   "config": { | ||||||
|  |     "discard_chance_on_air_exposure": 0.0, | ||||||
|  |     "size": 12, | ||||||
|  |     "targets": [ | ||||||
|  |       { | ||||||
|  |         "state": { | ||||||
|  |           "Name": "quickiemod:oresalpeter" | ||||||
|  |         }, | ||||||
|  |         "target": { | ||||||
|  |           "predicate_type": "minecraft:tag_match", | ||||||
|  |           "tag": "minecraft:stone_ore_replaceables" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   "type": "minecraft:ore", | ||||||
|  |   "config": { | ||||||
|  |     "discard_chance_on_air_exposure": 0.0, | ||||||
|  |     "size": 6, | ||||||
|  |     "targets": [ | ||||||
|  |       { | ||||||
|  |         "state": { | ||||||
|  |           "Name": "quickiemod:oresandsalpeter" | ||||||
|  |         }, | ||||||
|  |         "target": { | ||||||
|  |           "predicate_type": "minecraft:block_match", | ||||||
|  |           "block": "minecraft:sandstone" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   "type": "minecraft:ore", | ||||||
|  |   "config": { | ||||||
|  |     "discard_chance_on_air_exposure": 0.0, | ||||||
|  |     "size": 10, | ||||||
|  |     "targets": [ | ||||||
|  |       { | ||||||
|  |         "state": { | ||||||
|  |           "Name": "quickiemod:oresulphor" | ||||||
|  |         }, | ||||||
|  |         "target": { | ||||||
|  |           "predicate_type": "minecraft:tag_match", | ||||||
|  |           "tag": "minecraft:stone_ore_replaceables" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   "type": "minecraft:ore", | ||||||
|  |   "config": { | ||||||
|  |     "discard_chance_on_air_exposure": 0.0, | ||||||
|  |     "size": 8, | ||||||
|  |     "targets": [ | ||||||
|  |       { | ||||||
|  |         "state": { | ||||||
|  |           "Name": "quickiemod:sandsalpeter" | ||||||
|  |         }, | ||||||
|  |         "target": { | ||||||
|  |           "predicate_type": "minecraft:block_match", | ||||||
|  |           "block": "minecraft:sand" | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |   "feature": "quickiemod:blocksulphor", | ||||||
|  |   "placement": [ | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:count", | ||||||
|  |       "count": 4 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:in_square" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:height_range", | ||||||
|  |       "height": { | ||||||
|  |         "type": "minecraft:trapezoid", | ||||||
|  |         "max_inclusive": { | ||||||
|  |           "absolute": 125 | ||||||
|  |         }, | ||||||
|  |         "min_inclusive": { | ||||||
|  |           "absolute": 5 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:biome" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |   "feature": "quickiemod:dirtsalpeter", | ||||||
|  |   "placement": [ | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:count", | ||||||
|  |       "count": 5 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:in_square" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:height_range", | ||||||
|  |       "height": { | ||||||
|  |         "type": "minecraft:trapezoid", | ||||||
|  |         "max_inclusive": { | ||||||
|  |           "absolute": 125 | ||||||
|  |         }, | ||||||
|  |         "min_inclusive": { | ||||||
|  |           "absolute": 16 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:biome" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |   "feature": "quickiemod:oredeepslatesulphor", | ||||||
|  |   "placement": [ | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:count", | ||||||
|  |       "count": 9 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:in_square" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:height_range", | ||||||
|  |       "height": { | ||||||
|  |         "type": "minecraft:trapezoid", | ||||||
|  |         "max_inclusive": { | ||||||
|  |           "absolute": 0 | ||||||
|  |         }, | ||||||
|  |         "min_inclusive": { | ||||||
|  |           "absolute": -125 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:biome" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |   "feature": "quickiemod:orenethersulphor", | ||||||
|  |   "placement": [ | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:count", | ||||||
|  |       "count": 12 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:in_square" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:height_range", | ||||||
|  |       "height": { | ||||||
|  |         "type": "minecraft:trapezoid", | ||||||
|  |         "max_inclusive": { | ||||||
|  |           "absolute": 125 | ||||||
|  |         }, | ||||||
|  |         "min_inclusive": { | ||||||
|  |           "absolute": 5 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:biome" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |   "feature": "quickiemod:oresalpeter", | ||||||
|  |   "placement": [ | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:count", | ||||||
|  |       "count": 10 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:in_square" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:height_range", | ||||||
|  |       "height": { | ||||||
|  |         "type": "minecraft:trapezoid", | ||||||
|  |         "max_inclusive": { | ||||||
|  |           "absolute": 125 | ||||||
|  |         }, | ||||||
|  |         "min_inclusive": { | ||||||
|  |           "absolute": 0 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:biome" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |   "feature": "quickiemod:oresandsalpeter", | ||||||
|  |   "placement": [ | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:count", | ||||||
|  |       "count": 15 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:in_square" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:height_range", | ||||||
|  |       "height": { | ||||||
|  |         "type": "minecraft:trapezoid", | ||||||
|  |         "max_inclusive": { | ||||||
|  |           "absolute": 125 | ||||||
|  |         }, | ||||||
|  |         "min_inclusive": { | ||||||
|  |           "absolute": 32 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:biome" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |   "feature": "quickiemod:oresulphor", | ||||||
|  |   "placement": [ | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:count", | ||||||
|  |       "count": 9 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:in_square" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:height_range", | ||||||
|  |       "height": { | ||||||
|  |         "type": "minecraft:trapezoid", | ||||||
|  |         "max_inclusive": { | ||||||
|  |           "absolute": 64 | ||||||
|  |         }, | ||||||
|  |         "min_inclusive": { | ||||||
|  |           "absolute": 0 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:biome" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |   "feature": "quickiemod:sandsalpeter", | ||||||
|  |   "placement": [ | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:count", | ||||||
|  |       "count": 10 | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:in_square" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:height_range", | ||||||
|  |       "height": { | ||||||
|  |         "type": "minecraft:trapezoid", | ||||||
|  |         "max_inclusive": { | ||||||
|  |           "absolute": 125 | ||||||
|  |         }, | ||||||
|  |         "min_inclusive": { | ||||||
|  |           "absolute": 32 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "minecraft:biome" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user