diff --git a/gradle.properties b/gradle.properties index 9e95b84..71c2848 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ yarn_mappings=1.21.7+build.2 loader_version=0.16.14 # Mod Properties -mod_version=1.21.7.0 +mod_version=1.21.7.1 maven_group=de.jottyfan.quickiemod archives_base_name=quickiemod diff --git a/src/main/java/de/jottyfan/quickiemod/block/BlockOreDeepslateSpeedpowder.java b/src/main/java/de/jottyfan/quickiemod/block/BlockOreDeepslateSpeedpowder.java new file mode 100644 index 0000000..999d5c1 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/block/BlockOreDeepslateSpeedpowder.java @@ -0,0 +1,31 @@ +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.util.Identifier; + +/** + * + * @author jotty + * + */ +public class BlockOreDeepslateSpeedpowder extends ExperienceDroppingBlock { + + public BlockOreDeepslateSpeedpowder(Identifier identifier) { + super(IntProviderHelper.of(0, 2), Settings.create().strength(2.5f).hardness(1.9f).requiresTool().registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + return Arrays.asList(new ItemStack[] { new ItemStack(ModItems.ITEM_SPEEDPOWDER, 2) }); + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/block/BlockOreSpeedpowder.java b/src/main/java/de/jottyfan/quickiemod/block/BlockOreSpeedpowder.java new file mode 100644 index 0000000..fb42e5c --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/block/BlockOreSpeedpowder.java @@ -0,0 +1,31 @@ +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.util.Identifier; + +/** + * + * @author jotty + * + */ +public class BlockOreSpeedpowder extends ExperienceDroppingBlock { + + public BlockOreSpeedpowder(Identifier identifier) { + super(IntProviderHelper.of(0, 2), Settings.create().strength(2.5f).hardness(1.9f).requiresTool().registryKey(RegistryKey.of(RegistryKeys.BLOCK, identifier))); + } + + @Override + public List getDroppedStacks(BlockState state, Builder builder) { + return Arrays.asList(new ItemStack[] { new ItemStack(ModItems.ITEM_SPEEDPOWDER) }); + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java b/src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java index dd00aa1..56a460e 100644 --- a/src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java +++ b/src/main/java/de/jottyfan/quickiemod/block/ModBlocks.java @@ -53,6 +53,10 @@ public class ModBlocks { 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_ORESPEEDPOWDER = registerBlock(ModIdentifiers.BLOCK_ORESPEEDPOWDER, + new BlockOreSpeedpowder(ModIdentifiers.BLOCK_ORESPEEDPOWDER)); + public static final Block BLOCK_OREDEEPSLATESPEEDPOWDER = registerBlock(ModIdentifiers.BLOCK_OREDEEPSLATESPEEDPOWDER, + new BlockOreDeepslateSpeedpowder(ModIdentifiers.BLOCK_OREDEEPSLATESPEEDPOWDER)); public static final Block BLOCK_SANDSALPETER = registerBlock(ModIdentifiers.BLOCK_SANDSALPETER, new BlockSandSalpeter(ModIdentifiers.BLOCK_SANDSALPETER)); public static final Block BLOCK_KELPSTACK = registerBlock(ModIdentifiers.BLOCK_KELPSTACK, @@ -114,6 +118,8 @@ public class ModBlocks { blocks.add(BLOCK_ORESALPETER); blocks.add(BLOCK_ORESANDSALPETER); blocks.add(BLOCK_ORESULFOR); + blocks.add(BLOCK_ORESPEEDPOWDER); + blocks.add(BLOCK_OREDEEPSLATESPEEDPOWDER); blocks.add(BLOCK_SANDSALPETER); blocks.add(BLOCK_KELPSTACK); blocks.add(BLOCK_DRILL_DOWN); diff --git a/src/main/java/de/jottyfan/quickiemod/feature/ModFeatures.java b/src/main/java/de/jottyfan/quickiemod/feature/ModFeatures.java index 30350e4..d0db514 100644 --- a/src/main/java/de/jottyfan/quickiemod/feature/ModFeatures.java +++ b/src/main/java/de/jottyfan/quickiemod/feature/ModFeatures.java @@ -26,6 +26,7 @@ public class ModFeatures { public static final RegistryKey> CF_DIRTSALPETER = genCf("dirtsalpeter"); public static final RegistryKey> CF_SANDSALPETER = genCf("sandsalpeter"); public static final RegistryKey> CF_ORESANDSALPETER = genCf("oresandsalpeter"); + public static final RegistryKey> CF_ORESPEEDPOWDER = genCf("orespeedpowder"); public static final RegistryKey PF_ORESULPHOR = genPf("oresulphor"); public static final RegistryKey PF_OREDEEPSLATESULPHOR = genPf("oredeepslatesulphor"); @@ -35,6 +36,7 @@ public class ModFeatures { public static final RegistryKey PF_DIRTSALPETER = genPf("dirtsalpeter"); public static final RegistryKey PF_SANDSALPETER = genPf("sandsalpeter"); public static final RegistryKey PF_ORESANDSALPETER = genPf("oresandsalpeter"); + public static final RegistryKey PF_ORESPEEDPOWDER = genPf("orespeedpowder"); private static final RegistryKey> genCf(String name) { return RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, Identifier.of(Quickiemod.MOD_ID, name)); @@ -54,6 +56,7 @@ public class ModFeatures { 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); + bmc.getGenerationSettings().addFeature(GenerationStep.Feature.UNDERGROUND_ORES, PF_ORESPEEDPOWDER); }); // Nether features diff --git a/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java b/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java index 97f1dcc..79185ed 100644 --- a/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java +++ b/src/main/java/de/jottyfan/quickiemod/identifier/ModIdentifiers.java @@ -59,6 +59,8 @@ public class ModIdentifiers { 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_ORESPEEDPOWDER = Identifier.of(Quickiemod.MOD_ID, "orespeedpowder"); + public static final Identifier BLOCK_OREDEEPSLATESPEEDPOWDER = Identifier.of(Quickiemod.MOD_ID, "oredeepslatespeedpowder"); public static final Identifier BLOCK_SANDSALPETER = Identifier.of(Quickiemod.MOD_ID, "sandsalpeter"); public static final Identifier BLOCK_KELPSTACK = Identifier.of(Quickiemod.MOD_ID, "kelpstack"); public static final Identifier BLOCK_COTTONPLANT = Identifier.of(Quickiemod.MOD_ID, "blockcottonplant"); diff --git a/src/main/resources/assets/quickiemod/blockstates/oredeepslatespeedpowder.json b/src/main/resources/assets/quickiemod/blockstates/oredeepslatespeedpowder.json new file mode 100644 index 0000000..8550e7d --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/oredeepslatespeedpowder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiemod:block/oredeepslatespeedpowder" + } + } +} diff --git a/src/main/resources/assets/quickiemod/blockstates/orespeedpowder.json b/src/main/resources/assets/quickiemod/blockstates/orespeedpowder.json new file mode 100644 index 0000000..2d8548c --- /dev/null +++ b/src/main/resources/assets/quickiemod/blockstates/orespeedpowder.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "quickiemod:block/orespeedpowder" + } + } +} diff --git a/src/main/resources/assets/quickiemod/items/oredeepslatespeedpowder.json b/src/main/resources/assets/quickiemod/items/oredeepslatespeedpowder.json new file mode 100644 index 0000000..cc13a89 --- /dev/null +++ b/src/main/resources/assets/quickiemod/items/oredeepslatespeedpowder.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "quickiemod:block/oredeepslatespeedpowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/items/orespeedpowder.json b/src/main/resources/assets/quickiemod/items/orespeedpowder.json new file mode 100644 index 0000000..03ee01c --- /dev/null +++ b/src/main/resources/assets/quickiemod/items/orespeedpowder.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "quickiemod:block/orespeedpowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/lang/de_de.json b/src/main/resources/assets/quickiemod/lang/de_de.json index 5724e12..2abcc34 100644 --- a/src/main/resources/assets/quickiemod/lang/de_de.json +++ b/src/main/resources/assets/quickiemod/lang/de_de.json @@ -59,6 +59,8 @@ "block.quickiemod.oresandsalpeter": "Salpetergestein", "block.quickiemod.oresulphor": "Schwefelgestein", "block.quickiemod.oredeepslatesulphor": "Schwefeltiefengestein", + "block.quickiemod.orespeedpowder": "Eilpulvererz", + "block.quickiemod.oredeepslatespeedpowder": "Eilpulvertiefengesteinerz", "block.quickiemod.dirtsalpeter": "Salpetererde", "block.quickiemod.sandsalpeter": "Salpetersand", "block.quickiemod.constructionborder": "Bauplangrenzblock", diff --git a/src/main/resources/assets/quickiemod/lang/en_us.json b/src/main/resources/assets/quickiemod/lang/en_us.json index 0f1c7bd..bcbf3a0 100644 --- a/src/main/resources/assets/quickiemod/lang/en_us.json +++ b/src/main/resources/assets/quickiemod/lang/en_us.json @@ -59,6 +59,8 @@ "block.quickiemod.oresandsalpeter": "salpeter stone", "block.quickiemod.oresulphor": "sulfur stone", "block.quickiemod.oredeepslatesulphor": "deepslate sulfur stone", + "block.quickiemod.orespeedpowder": "speed powder ore", + "block.quickiemod.oredeepslatespeedpowder": "deepslate speed powder ore", "block.quickiemod.dirtsalpeter": "salpeter dirt", "block.quickiemod.sandsalpeter": "salpeter sand", "block.quickiemod.constructionborder": "building plan border block", diff --git a/src/main/resources/assets/quickiemod/models/block/oredeepslatespeedpowder.json b/src/main/resources/assets/quickiemod/models/block/oredeepslatespeedpowder.json new file mode 100644 index 0000000..1194dbf --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/oredeepslatespeedpowder.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiemod:block/oredeepslatespeedpowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/block/orespeedpowder.json b/src/main/resources/assets/quickiemod/models/block/orespeedpowder.json new file mode 100644 index 0000000..efcfc01 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/block/orespeedpowder.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "quickiemod:block/orespeedpowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/oredeepslatespeedpowder.json b/src/main/resources/assets/quickiemod/models/item/oredeepslatespeedpowder.json new file mode 100644 index 0000000..12b69fd --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/oredeepslatespeedpowder.json @@ -0,0 +1,10 @@ +{ + "parent": "quickiemod:block/oredeepslatespeedpowder", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/models/item/orespeedpowder.json b/src/main/resources/assets/quickiemod/models/item/orespeedpowder.json new file mode 100644 index 0000000..da5d6a0 --- /dev/null +++ b/src/main/resources/assets/quickiemod/models/item/orespeedpowder.json @@ -0,0 +1,10 @@ +{ + "parent": "quickiemod:block/orespeedpowder", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/textures/block/oredeepslatespeedpowder.png b/src/main/resources/assets/quickiemod/textures/block/oredeepslatespeedpowder.png new file mode 100644 index 0000000..aa13b99 Binary files /dev/null and b/src/main/resources/assets/quickiemod/textures/block/oredeepslatespeedpowder.png differ diff --git a/src/main/resources/assets/quickiemod/textures/block/orespeedpowder.png b/src/main/resources/assets/quickiemod/textures/block/orespeedpowder.png new file mode 100644 index 0000000..3910956 Binary files /dev/null and b/src/main/resources/assets/quickiemod/textures/block/orespeedpowder.png differ diff --git a/src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json index d22f488..f57b23d 100644 --- a/src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json +++ b/src/main/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -12,6 +12,8 @@ "quickiemod:oresalpeter", "quickiemod:oresandsalpeter", "quickiemod:sandsalpeter", - "quickiemod:dirtsalpeter" + "quickiemod:dirtsalpeter", + "quickiemod:orespeedpowder", + "quickiemod:oredeepslatespeedpowder" ] } \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/loot_table/blocks/oredeepslatespeedpowder.json b/src/main/resources/data/quickiemod/loot_table/blocks/oredeepslatespeedpowder.json new file mode 100644 index 0000000..f89fb06 --- /dev/null +++ b/src/main/resources/data/quickiemod/loot_table/blocks/oredeepslatespeedpowder.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "quickiefabric:speedpowder" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/loot_table/blocks/orespeedpowder.json b/src/main/resources/data/quickiemod/loot_table/blocks/orespeedpowder.json new file mode 100644 index 0000000..f89fb06 --- /dev/null +++ b/src/main/resources/data/quickiemod/loot_table/blocks/orespeedpowder.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "quickiefabric:speedpowder" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/tag/items/ores/orespeedpowder.json b/src/main/resources/data/quickiemod/tag/items/ores/orespeedpowder.json new file mode 100644 index 0000000..8ddc01e --- /dev/null +++ b/src/main/resources/data/quickiemod/tag/items/ores/orespeedpowder.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "quickiemod:orespeedpowder" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/tags/block/mineable/pickaxe.json b/src/main/resources/data/quickiemod/tags/block/mineable/pickaxe.json index 406d026..2eb0bd1 100644 --- a/src/main/resources/data/quickiemod/tags/block/mineable/pickaxe.json +++ b/src/main/resources/data/quickiemod/tags/block/mineable/pickaxe.json @@ -7,6 +7,8 @@ "quickiemod:oresalpeter", "quickiemod:oresandsalpeter", "quickiemod:sandsalpeter", - "quickiemod:dirtsalpeter" + "quickiemod:dirtsalpeter", + "quickiemod:orespeedpowder", + "quickiemod:oredeepslatespeedpowder" ] } \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/worldgen/configured_feature/orespeedpowder.json b/src/main/resources/data/quickiemod/worldgen/configured_feature/orespeedpowder.json new file mode 100644 index 0000000..3f6fd2d --- /dev/null +++ b/src/main/resources/data/quickiemod/worldgen/configured_feature/orespeedpowder.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 7, + "targets": [ + { + "state": { + "Name": "quickiemod:orespeedpowder" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + }, + { + "state": { + "Name": "quickiemod:oredeepslatespeedpowder" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:deepslate_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/quickiemod/worldgen/placed_feature/orespeedpowder.json b/src/main/resources/data/quickiemod/worldgen/placed_feature/orespeedpowder.json new file mode 100644 index 0000000..f783595 --- /dev/null +++ b/src/main/resources/data/quickiemod/worldgen/placed_feature/orespeedpowder.json @@ -0,0 +1,27 @@ +{ + "feature": "quickiemod:orespeedpowder", + "placement": [ + { + "type": "minecraft:count", + "count": 12 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:trapezoid", + "max_inclusive": { + "absolute": 60 + }, + "min_inclusive": { + "absolute": -120 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file