diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/QuickieFabric.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/QuickieFabric.java index 37c1920..75b7fd1 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/QuickieFabric.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/QuickieFabric.java @@ -1,7 +1,16 @@ package de.jottyfan.minecraft.quickiefabric; +import java.util.ArrayList; +import java.util.List; + +import de.jottyfan.minecraft.quickiefabric.blocks.QuickieBlocks; import de.jottyfan.minecraft.quickiefabric.init.RegistryManager; import net.fabricmc.api.ModInitializer; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.util.registry.Registry; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.gen.feature.OreFeatureConfig; /** * @@ -15,6 +24,32 @@ public class QuickieFabric implements ModInitializer { RegistryManager.registerItems(); RegistryManager.registerTools(); RegistryManager.registerEvents(); + RegistryManager.registerBlocks(); + Registry.BIOME.forEach(this::handleBiome); } + /** + * add the quickiefabric ores to the biome + * + * @param biome + * the biome + */ + private void handleBiome(Biome biome) { + if (biome.getCategory() == Biome.Category.NETHER) { + RegistryManager.generateOreForTarget(biome, OreFeatureConfig.Target.NETHER_ORE_REPLACEABLES, QuickieBlocks.ORE_NETHER_SULPHOR, 24, 10, 0, 0, 128); + } else if (biome.getCategory() != Biome.Category.THEEND) { + } else { + List sandlike = new ArrayList<>(); + sandlike.add(Blocks.SAND.getDefaultState()); + sandlike.add(Blocks.SANDSTONE.getDefaultState()); + sandlike.add(Blocks.SANDSTONE_WALL.getDefaultState()); + sandlike.add(Blocks.CHISELED_SANDSTONE.getDefaultState()); + List dirtlike = new ArrayList<>(); + dirtlike.add(Blocks.DIRT.getDefaultState()); + RegistryManager.generateOreForBlocks(biome, sandlike, sandlike, sandlike, QuickieBlocks.SAND_SALPETER, 10, 64, 196, 255); + RegistryManager.generateOreForBlocks(biome, sandlike, sandlike, sandlike, QuickieBlocks.ORE_SAND_SALPETER, 10, 64, 196, 255); + RegistryManager.generateOreForTarget(biome, OreFeatureConfig.Target.NATURAL_STONE, QuickieBlocks.ORE_SULPHOR, 16, 4, 4, 196, 255); + RegistryManager.generateOreForTarget(biome, OreFeatureConfig.Target.NATURAL_STONE, QuickieBlocks.ORE_SALPETER, 12, 10, 4, 196, 255); + } + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java new file mode 100644 index 0000000..17dfad3 --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java @@ -0,0 +1,35 @@ +package de.jottyfan.minecraft.quickiefabric.blocks; + +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +import de.jottyfan.minecraft.quickiefabric.items.Items; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.block.OreBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext.Builder; + +/** + * + * @author jotty + * + */ +public class BlockOreNetherSulphor extends OreBlock { + + public BlockOreNetherSulphor() { + super(FabricBlockSettings.of(Material.STONE).hardness(2.1f)); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + return Arrays.asList(new ItemStack[] { new ItemStack(Items.SULPHOR) }); + } + + @Override + protected int getExperienceWhenMined(Random random) { + return random.nextInt(3); + } +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java new file mode 100644 index 0000000..9bb874b --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java @@ -0,0 +1,35 @@ +package de.jottyfan.minecraft.quickiefabric.blocks; + +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +import de.jottyfan.minecraft.quickiefabric.items.Items; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.block.OreBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext.Builder; + +/** + * + * @author jotty + * + */ +public class BlockOreSalpeter extends OreBlock { + + public BlockOreSalpeter() { + super(FabricBlockSettings.of(Material.STONE).hardness(3.1f)); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + return Arrays.asList(new ItemStack[] { new ItemStack(Items.SALPETER) }); + } + + @Override + protected int getExperienceWhenMined(Random random) { + return random.nextInt(3); + } +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java new file mode 100644 index 0000000..1a8e2c5 --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java @@ -0,0 +1,36 @@ +package de.jottyfan.minecraft.quickiefabric.blocks; + +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +import de.jottyfan.minecraft.quickiefabric.items.Items; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.Material; +import net.minecraft.block.OreBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext.Builder; + +/** + * + * @author jotty + * + */ +public class BlockOreSandSalpeter extends OreBlock { + + public BlockOreSandSalpeter() { + super(FabricBlockSettings.of(Material.STONE).hardness(2.9f)); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + return Arrays.asList(new ItemStack[] { new ItemStack(Items.SALPETER), new ItemStack(Blocks.SAND) }); + } + + @Override + protected int getExperienceWhenMined(Random random) { + return random.nextInt(3); + } +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java new file mode 100644 index 0000000..15bee04 --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java @@ -0,0 +1,35 @@ +package de.jottyfan.minecraft.quickiefabric.blocks; + +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +import de.jottyfan.minecraft.quickiefabric.items.Items; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.block.OreBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext.Builder; + +/** + * + * @author jotty + * + */ +public class BlockOreSulphor extends OreBlock { + + public BlockOreSulphor() { + super(FabricBlockSettings.of(Material.STONE).hardness(1.9f)); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + return Arrays.asList(new ItemStack[] { new ItemStack(Items.SULPHOR) }); + } + + @Override + protected int getExperienceWhenMined(Random random) { + return random.nextInt(3); + } +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java new file mode 100644 index 0000000..6177232 --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java @@ -0,0 +1,30 @@ +package de.jottyfan.minecraft.quickiefabric.blocks; + +import java.util.Arrays; +import java.util.List; + +import de.jottyfan.minecraft.quickiefabric.items.Items; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.GravelBlock; +import net.minecraft.block.Material; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext.Builder; + +/** + * + * @author jotty + * + */ +public class BlockSandSalpeter extends GravelBlock { + + public BlockSandSalpeter() { + super(FabricBlockSettings.of(Material.STONE).hardness(3.1f)); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + return Arrays.asList(new ItemStack[] { new ItemStack(Items.SALPETER), new ItemStack(Blocks.SAND) }); + } +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java new file mode 100644 index 0000000..717b7fc --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java @@ -0,0 +1,13 @@ +package de.jottyfan.minecraft.quickiefabric.blocks; +/** + * + * @author jotty + * + */ +public class QuickieBlocks { + public static final BlockOreNetherSulphor ORE_NETHER_SULPHOR = new BlockOreNetherSulphor(); + public static final BlockOreSalpeter ORE_SALPETER = new BlockOreSalpeter(); + public static final BlockOreSandSalpeter ORE_SAND_SALPETER = new BlockOreSandSalpeter(); + public static final BlockOreSulphor ORE_SULPHOR = new BlockOreSulphor(); + public static final BlockSandSalpeter SAND_SALPETER = new BlockSandSalpeter(); +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/event/BlockBreakMixin.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/event/BlockBreakMixin.java index 3b271ab..bdb2a8b 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/event/BlockBreakMixin.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/event/BlockBreakMixin.java @@ -21,9 +21,10 @@ import net.minecraft.world.World; */ @Mixin(Block.class) public class BlockBreakMixin { - @Inject(method = "injectBlockBreakCallback", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/Block;onBreak(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/player/PlayerEntity;)V"), cancellable = true) - private void interactOnBreak(final World world, final BlockPos blockPos, final BlockState blockState, final PlayerEntity player, final CallbackInfo info) { - ActionResult result = BreakBlockCallback.EVENT.invoker().injectBlockBreakCallback(world, blockPos, blockState, player); +// @Inject(method = "injectBlockBreakCallback", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/Block;onBreak(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/player/PlayerEntity;)V"), cancellable = true) + @Inject(method = "injectBlockBreakCallback", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/Block;onBroken(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V"), cancellable = true) + private void interactOnBreak(final World world, final BlockPos blockPos, final BlockState blockState, final CallbackInfo info) { + ActionResult result = BreakBlockCallback.EVENT.invoker().injectBlockBreakCallback(world, blockPos, blockState); if (result == ActionResult.FAIL) { info.cancel(); } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/event/BreakBlockCallback.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/event/BreakBlockCallback.java index e7c82a3..811b22b 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/event/BreakBlockCallback.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/event/BreakBlockCallback.java @@ -15,9 +15,9 @@ import net.minecraft.world.World; */ public interface BreakBlockCallback { Event EVENT = EventFactory.createArrayBacked(BreakBlockCallback.class, - (listeners) -> (world, blockPos, blockState, player) -> { + (listeners) -> (world, blockPos, blockState) -> { for (BreakBlockCallback listener : listeners) { - ActionResult result = listener.injectBlockBreakCallback(world, blockPos, blockState, player); + ActionResult result = listener.injectBlockBreakCallback(world, blockPos, blockState); if (result != ActionResult.PASS) { return result; } @@ -25,5 +25,5 @@ public interface BreakBlockCallback { return ActionResult.PASS; }); - ActionResult injectBlockBreakCallback(World world, BlockPos blockPos, BlockState blockState, PlayerEntity player); + ActionResult injectBlockBreakCallback(World world, BlockPos blockPos, BlockState blockState); } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java index 775eadf..4349c7f 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/init/RegistryManager.java @@ -1,16 +1,31 @@ package de.jottyfan.minecraft.quickiefabric.init; +import java.util.List; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; + +import de.jottyfan.minecraft.quickiefabric.blocks.QuickieBlocks; import de.jottyfan.minecraft.quickiefabric.event.BreakBlockCallback; import de.jottyfan.minecraft.quickiefabric.items.Items; import de.jottyfan.minecraft.quickiefabric.tools.Tools; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.gen.GenerationStep; +import net.minecraft.world.gen.decorator.Decorator; +import net.minecraft.world.gen.decorator.RangeDecoratorConfig; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.OreFeatureConfig; +import net.minecraft.world.gen.feature.OreFeatureConfig.Target; /** * @@ -29,30 +44,80 @@ public class RegistryManager { stacks.add(new ItemStack(Items.LEVELUP)); stacks.add(new ItemStack(Items.PENCIL)); stacks.add(new ItemStack(Tools.SPEEDPOWDERAXE)); + stacks.add(new ItemStack(QuickieBlocks.ORE_NETHER_SULPHOR)); + stacks.add(new ItemStack(QuickieBlocks.ORE_SALPETER)); + stacks.add(new ItemStack(QuickieBlocks.ORE_SAND_SALPETER)); + stacks.add(new ItemStack(QuickieBlocks.ORE_SULPHOR)); + stacks.add(new ItemStack(QuickieBlocks.SAND_SALPETER)); }).build(); + private static final void registerBlock(Block block, String name) { + Registry.register(Registry.BLOCK, new Identifier(QUICKIEFABRIC, name), block); + Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, name), new BlockItem(block, new Item.Settings().group(RegistryManager.QUICKIEFABRIC_GROUP))); + } + + private static final void registerItem(Item item, String name) { + Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, name), item); + } + + public static final void registerBlocks() { + LOGGER.debug("registering quickiefabric blocks"); + registerBlock(QuickieBlocks.ORE_NETHER_SULPHOR, "orenethersulphor"); + registerBlock(QuickieBlocks.ORE_SALPETER, "oresalpeter"); + registerBlock(QuickieBlocks.ORE_SAND_SALPETER, "oresandsalpeter"); + registerBlock(QuickieBlocks.ORE_SULPHOR, "oresulphor"); + registerBlock(QuickieBlocks.SAND_SALPETER, "sandsalpeter"); + } + public static final void registerItems() { LOGGER.debug("registering quickiefabric items"); - Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, "speedpowder"), Items.SPEEDPOWDER); - Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, "levelup"), Items.LEVELUP); - Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, "pencil"), Items.PENCIL); - Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, "salpeter"), Items.SALPETER); - Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, "sulphor"), Items.SULPHOR); + registerItem(Items.SPEEDPOWDER, "speedpowder"); + registerItem(Items.LEVELUP, "levelup"); + registerItem(Items.PENCIL, "pencil"); + registerItem(Items.SALPETER, "salpeter"); + registerItem(Items.SULPHOR, "sulphor"); } public static final void registerTools() { LOGGER.debug("registering quickiefabric tools"); - Registry.register(Registry.ITEM, new Identifier(QUICKIEFABRIC, "speedpowderaxe"), Tools.SPEEDPOWDERAXE); + registerItem(Tools.SPEEDPOWDERAXE, "speedpowderaxe"); } public static final void registerEvents() { LOGGER.debug("registering quickiefabric events"); - BreakBlockCallback.EVENT.register((world, blockPos, blockState, player) -> { + BreakBlockCallback.EVENT.register((world, blockPos, blockState) -> { // TODO: add code to break the corresponding surroundings also if hand hold the right tool // return ActionResult.PASS; // if the breaking replaces another event, but this does not appear for the speedpowder tools - LOGGER.info("player %s broke block %s as %s", player.getName(), blockState.getBlock().getName(), blockPos.toString()); + LOGGER.info("broke block %s at %s", blockState.getBlock().getName(), blockPos.toString()); return ActionResult.SUCCESS; }); } + + /** + * generate ores + * + * @param biome the biome to generate the veins in + * @param target the block to be replaced + * @param block the block that is the replacement + * @param veinsize the size of the vein + * @param count the number of veins in a chunk + * @param bottomOffset the lower limit + * @param topOffset the upper limit + * @param maximum the maximum number of blocks in a vein + */ + public static void generateOreForTarget(Biome biome, Target target, Block block, int veinsize, int count, int bottomOffset, int topOffset, int maximum) { + OreFeatureConfig ofc = new OreFeatureConfig(target, block.getDefaultState(), veinsize); + RangeDecoratorConfig rdc = new RangeDecoratorConfig(count, bottomOffset, topOffset, maximum); + biome.addFeature(GenerationStep.Feature.UNDERGROUND_ORES, Feature.ORE.configure(ofc).createDecoratedFeature(Decorator.COUNT_RANGE.configure(rdc))); + } + + public static void generateOreForBlocks(Biome biome, List placeOn, List placeIn, List placeUnder, Block block, int nrPerChunk, + int minHeight, int maxHeightBase, int maxHeight) { + // TODO +// BlockWithContextConfig config = new BlockWithContextConfig(block.getDefaultState(), placeOn, placeIn, placeUnder); +// RangeDecoratorConfig rdc = new RangeDecoratorConfig(nrPerChunk, minHeight, maxHeightBase, maxHeight); +// ConfiguredPlacement placement = Placement.COUNT_RANGE.configure(rdc); +// biome.addFeature(GenerationStep.Feature.UNDERGROUND_ORES, Feature.SIMPLE_BLOCK.configure(config).withPlacement(placement)); + } } diff --git a/src/main/resources/assets/quickiefabric/blockstates/orenethersulphor.json b/src/main/resources/assets/quickiefabric/blockstates/orenethersulphor.json new file mode 100644 index 0000000..f3c76e5 --- /dev/null +++ b/src/main/resources/assets/quickiefabric/blockstates/orenethersulphor.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiefabric:block/orenethersulphor" + } + } +} diff --git a/src/main/resources/assets/quickiefabric/blockstates/oresalpeter.json b/src/main/resources/assets/quickiefabric/blockstates/oresalpeter.json new file mode 100644 index 0000000..657e043 --- /dev/null +++ b/src/main/resources/assets/quickiefabric/blockstates/oresalpeter.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiefabric:block/oresalpeter" + } + } +} diff --git a/src/main/resources/assets/quickiefabric/blockstates/oresandsalpeter.json b/src/main/resources/assets/quickiefabric/blockstates/oresandsalpeter.json new file mode 100644 index 0000000..be087a1 --- /dev/null +++ b/src/main/resources/assets/quickiefabric/blockstates/oresandsalpeter.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiefabric:block/oresandsalpeter" + } + } +} diff --git a/src/main/resources/assets/quickiefabric/blockstates/oresulphor.json b/src/main/resources/assets/quickiefabric/blockstates/oresulphor.json new file mode 100644 index 0000000..1bc53a3 --- /dev/null +++ b/src/main/resources/assets/quickiefabric/blockstates/oresulphor.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiefabric:block/oresulphor" + } + } +} diff --git a/src/main/resources/assets/quickiefabric/blockstates/sandsalpeter.json b/src/main/resources/assets/quickiefabric/blockstates/sandsalpeter.json new file mode 100644 index 0000000..122650e --- /dev/null +++ b/src/main/resources/assets/quickiefabric/blockstates/sandsalpeter.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiefabric:block/sandsalpeter" + } + } +} diff --git a/src/main/resources/assets/quickiefabric/models/block/orenethersulphor.json b/src/main/resources/assets/quickiefabric/models/block/orenethersulphor.json new file mode 100644 index 0000000..2d56c02 --- /dev/null +++ b/src/main/resources/assets/quickiefabric/models/block/orenethersulphor.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiefabric:block/orenethersulphor" + } +} diff --git a/src/main/resources/assets/quickiefabric/models/block/oresalpeter.json b/src/main/resources/assets/quickiefabric/models/block/oresalpeter.json new file mode 100644 index 0000000..436403a --- /dev/null +++ b/src/main/resources/assets/quickiefabric/models/block/oresalpeter.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiefabric:block/oresalpeter" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiefabric/models/block/oresandsalpeter.json b/src/main/resources/assets/quickiefabric/models/block/oresandsalpeter.json new file mode 100644 index 0000000..1fe0706 --- /dev/null +++ b/src/main/resources/assets/quickiefabric/models/block/oresandsalpeter.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end" : "minecraft:block/sandstone_top", + "side": "quickiefabric:block/oresandsalpeter" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiefabric/models/block/oresulphor.json b/src/main/resources/assets/quickiefabric/models/block/oresulphor.json new file mode 100644 index 0000000..663529c --- /dev/null +++ b/src/main/resources/assets/quickiefabric/models/block/oresulphor.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiefabric:block/oresulphor" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiefabric/models/block/sandsalpeter.json b/src/main/resources/assets/quickiefabric/models/block/sandsalpeter.json new file mode 100644 index 0000000..fb517dd --- /dev/null +++ b/src/main/resources/assets/quickiefabric/models/block/sandsalpeter.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiefabric:block/sandsalpeter" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiefabric/textures/block/orenethersulphor.png b/src/main/resources/assets/quickiefabric/textures/block/orenethersulphor.png new file mode 100644 index 0000000..6ed0690 Binary files /dev/null and b/src/main/resources/assets/quickiefabric/textures/block/orenethersulphor.png differ diff --git a/src/main/resources/assets/quickiefabric/textures/block/oresalpeter.png b/src/main/resources/assets/quickiefabric/textures/block/oresalpeter.png new file mode 100644 index 0000000..0c46350 Binary files /dev/null and b/src/main/resources/assets/quickiefabric/textures/block/oresalpeter.png differ diff --git a/src/main/resources/assets/quickiefabric/textures/block/oresandsalpeter.png b/src/main/resources/assets/quickiefabric/textures/block/oresandsalpeter.png new file mode 100644 index 0000000..db9326b Binary files /dev/null and b/src/main/resources/assets/quickiefabric/textures/block/oresandsalpeter.png differ diff --git a/src/main/resources/assets/quickiefabric/textures/block/oresulphor.png b/src/main/resources/assets/quickiefabric/textures/block/oresulphor.png new file mode 100644 index 0000000..f408b21 Binary files /dev/null and b/src/main/resources/assets/quickiefabric/textures/block/oresulphor.png differ diff --git a/src/main/resources/assets/quickiefabric/textures/block/sandsalpeter.png b/src/main/resources/assets/quickiefabric/textures/block/sandsalpeter.png new file mode 100644 index 0000000..0cbd907 Binary files /dev/null and b/src/main/resources/assets/quickiefabric/textures/block/sandsalpeter.png differ diff --git a/src/main/resources/data/quickiefabric/recipes/salpeter1.json b/src/main/resources/data/quickiefabric/recipes/salpeter1.json new file mode 100644 index 0000000..9aae0ae --- /dev/null +++ b/src/main/resources/data/quickiefabric/recipes/salpeter1.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "group": "ores", + "ingredient": [ + { + "item": "quickiefabric:dirtsalpeter" + } + ], + "result": "quickiefabric:salpeter", + "count": 1, + "experience": 0.5, + "cookingtime": 200 +} diff --git a/src/main/resources/data/quickiefabric/recipes/salpeter2.json b/src/main/resources/data/quickiefabric/recipes/salpeter2.json new file mode 100644 index 0000000..9cb5186 --- /dev/null +++ b/src/main/resources/data/quickiefabric/recipes/salpeter2.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "group": "ores", + "ingredient": [ + { + "item": "quickiefabric:oresalpeter" + } + ], + "result": "quickiefabric:salpeter", + "count": 1, + "experience": 0.5, + "cookingtime": 200 +} diff --git a/src/main/resources/data/quickiefabric/recipes/salpeter3.json b/src/main/resources/data/quickiefabric/recipes/salpeter3.json new file mode 100644 index 0000000..b7be4a9 --- /dev/null +++ b/src/main/resources/data/quickiefabric/recipes/salpeter3.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "group": "ores", + "ingredient": [ + { + "item": "quickiefabric:oresandsalpeter" + } + ], + "result": "quickiefabric:salpeter", + "count": 1, + "experience": 0.5, + "cookingtime": 200 +} diff --git a/src/main/resources/data/quickiefabric/recipes/salpeter4.json b/src/main/resources/data/quickiefabric/recipes/salpeter4.json new file mode 100644 index 0000000..270c67d --- /dev/null +++ b/src/main/resources/data/quickiefabric/recipes/salpeter4.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "group": "ores", + "ingredient": [ + { + "item": "quickiefabric:sandsalpeter" + } + ], + "result": "quickiefabric:salpeter", + "count": 1, + "experience": 0.5, + "cookingtime": 200 +} diff --git a/src/main/resources/data/quickiefabric/recipes/sulfur1.json b/src/main/resources/data/quickiefabric/recipes/sulfur1.json new file mode 100644 index 0000000..8f249e6 --- /dev/null +++ b/src/main/resources/data/quickiefabric/recipes/sulfur1.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "group": "ores", + "ingredient": [ + { + "item": "quickiefabric:orenethersulphor" + } + ], + "result": "quickiefabric:sulphor", + "count": 1, + "experience": 0.5, + "cookingtime": 200 +} diff --git a/src/main/resources/data/quickiefabric/recipes/sulfur2.json b/src/main/resources/data/quickiefabric/recipes/sulfur2.json new file mode 100644 index 0000000..4af6b08 --- /dev/null +++ b/src/main/resources/data/quickiefabric/recipes/sulfur2.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "group": "ores", + "ingredient": [ + { + "item": "quickiefabric:oresulphor" + } + ], + "result": "quickiefabric:sulphor", + "count": 1, + "experience": 0.5, + "cookingtime": 200 +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index b399f11..8776446 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -23,7 +23,7 @@ ] }, "mixins": [ - "quickiefabric.mixins.json" + // "quickiefabric.mixins.json" ], "depends": { "fabricloader": ">=0.7.4",