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