diff --git a/src/main/generated/assets/acesbs/blockstates/lemonwood_planks.json b/src/main/generated/assets/acesbs/blockstates/lemonwood_planks.json new file mode 100644 index 0000000..c6f7113 --- /dev/null +++ b/src/main/generated/assets/acesbs/blockstates/lemonwood_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "acesbs:block/lemonwood_planks" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/lemonwood_planks.json b/src/main/generated/assets/acesbs/models/block/lemonwood_planks.json new file mode 100644 index 0000000..ef260c0 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/lemonwood_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "acesbs:block/lemonwood_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/item/lemonwood_planks.json b/src/main/generated/assets/acesbs/models/item/lemonwood_planks.json new file mode 100644 index 0000000..2e4a227 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/item/lemonwood_planks.json @@ -0,0 +1,3 @@ +{ + "parent": "acesbs:block/lemonwood_planks" +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/lemonwood_planks.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/lemonwood_planks.json new file mode 100644 index 0000000..fc8e0a1 --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/lemonwood_planks.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lemon": { + "conditions": { + "items": [ + { + "items": "acesbs:lemon" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:lemonwood_planks" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_lemon" + ] + ], + "rewards": { + "recipes": [ + "acesbs:lemonwood_planks" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/loot_table/blocks/lemonwood_planks.json b/src/main/generated/data/acesbs/loot_table/blocks/lemonwood_planks.json new file mode 100644 index 0000000..bbc7e8e --- /dev/null +++ b/src/main/generated/data/acesbs/loot_table/blocks/lemonwood_planks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "acesbs:lemonwood_planks" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/lemonwood_planks.json b/src/main/generated/data/acesbs/recipe/lemonwood_planks.json new file mode 100644 index 0000000..d8a56e6 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/lemonwood_planks.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "minecraft:birch_planks" + }, + { + "item": "minecraft:birch_planks" + }, + { + "item": "minecraft:birch_planks" + }, + { + "item": "minecraft:birch_planks" + }, + { + "item": "acesbs:lemon" + } + ], + "result": { + "count": 4, + "id": "acesbs:lemonwood_planks" + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/block/mineable/axe.json b/src/main/generated/data/minecraft/tags/block/mineable/axe.json new file mode 100644 index 0000000..b308d88 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/block/mineable/axe.json @@ -0,0 +1,5 @@ +{ + "values": [ + "acesbs:lemonwood_planks" + ] +} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java b/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java index 689db72..6b65fa8 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java +++ b/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java @@ -3,12 +3,11 @@ package com.acethewildfire.acesbs.block; import com.acethewildfire.acesbs.AcesBS; import com.acethewildfire.acesbs.block.custom.EntropyBlock; import com.acethewildfire.acesbs.block.custom.StableEntropyBlock; -import net.minecraft.block.AbstractBlock; -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.block.ExperienceDroppingBlock; +import net.minecraft.block.*; +import net.minecraft.block.enums.NoteBlockInstrument; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; +import net.minecraft.item.Items; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.sound.BlockSoundGroup; @@ -31,6 +30,7 @@ public class ModBlocks { .requiresTool() .sounds(BlockSoundGroup.STONE))); + public static final Block STABLE_ENTROPY_BLOCK = registerBlock("stable_entropy_block", new StableEntropyBlock(AbstractBlock.Settings.create() .strength(5f) @@ -43,6 +43,16 @@ public class ModBlocks { .requiresTool() .sounds(BlockSoundGroup.LODESTONE))); + public static final Block LEMONWOOD_PLANKS = registerBlock("lemonwood_planks", + new Block( + AbstractBlock.Settings.create() + .mapColor(MapColor.PALE_YELLOW) + .instrument(NoteBlockInstrument.BASS) + .strength(2.0F, 3.0F) + .sounds(BlockSoundGroup.WOOD) + .burnable() + )); + private static Block registerBlock(String name, Block block){ registerBlockItem(name, block); return Registry.register(Registries.BLOCK, Identifier.of(AcesBS.MOD_ID, name), block); diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java index 2ddf4a6..e96f1e9 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java @@ -24,5 +24,7 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider { getOrCreateTagBuilder(BlockTags.NEEDS_IRON_TOOL) .add(ModBlocks.ENTROPY_ORE) .add(ModBlocks.ENTROPY_BLOCK); + getOrCreateTagBuilder(BlockTags.AXE_MINEABLE) + .add(ModBlocks.LEMONWOOD_PLANKS); } } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java index 63a4de6..747cb99 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java @@ -29,6 +29,7 @@ public class ModLootTableProvider extends FabricBlockLootTableProvider { public void generate() { addDrop(ModBlocks.ENTROPY_BLOCK); addDrop(ModBlocks.STABLE_ENTROPY_BLOCK); + addDrop(ModBlocks.LEMONWOOD_PLANKS); addDrop(ModBlocks.ENTROPY_ORE, multipleOreDrops(ModBlocks.ENTROPY_ORE, ModItems.RAW_ENTROPY, 1, 5)); } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java index f68944b..f07dde8 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java @@ -20,6 +20,8 @@ public class ModModelProvider extends FabricModelProvider { // blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.ENTROPY_BLOCK); // Has a complex texture, use the default blockbench method. blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENTROPY_BLOCK); + blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.LEMONWOOD_PLANKS); + } @Override diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java index 13a4fe8..63f94ac 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java @@ -5,8 +5,10 @@ import com.acethewildfire.acesbs.block.ModBlocks; import com.acethewildfire.acesbs.item.ModItems; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.block.Blocks; import net.minecraft.data.server.recipe.RecipeExporter; import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder; +import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder; import net.minecraft.item.ItemConvertible; import net.minecraft.recipe.CampfireCookingRecipe; import net.minecraft.recipe.RecipeSerializer; @@ -45,6 +47,12 @@ public class ModRecipeProvider extends FabricRecipeProvider { .criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON)) .offerTo(recipeExporter); + ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, ModBlocks.LEMONWOOD_PLANKS, 4) + .input(Blocks.BIRCH_PLANKS, 4) + .input(ModItems.LEMON, 1) + .criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON)) + .offerTo(recipeExporter); + // For 2+ recipes with the same RESULT use // .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item")); } diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java index 2e429d8..3676422 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java @@ -35,6 +35,7 @@ public class ModItemGroups { entries.add(ModBlocks.ENTROPY_ORE); entries.add(ModBlocks.ENTROPY_BLOCK); entries.add(ModBlocks.STABLE_ENTROPY_BLOCK); + entries.add(ModBlocks.LEMONWOOD_PLANKS); }) .build()); diff --git a/src/main/resources/assets/acesbs/lang/en_us.json b/src/main/resources/assets/acesbs/lang/en_us.json index 861930d..da32e9e 100644 --- a/src/main/resources/assets/acesbs/lang/en_us.json +++ b/src/main/resources/assets/acesbs/lang/en_us.json @@ -14,6 +14,7 @@ "block.acesbs.entropy_block": "Block of Entropy", "block.acesbs.entropy_ore": "Entropic Ore", "block.acesbs.stable_entropy_block": "Block of Stabilized Entropy", + "block.acesbs.lemonwood_planks": "Lemonwood Planks", "itemgroup.acesbs.items": "Ace's BS Items", "itemgroup.acesbs.blocks": "Ace's BS Blocks", diff --git a/src/main/resources/assets/acesbs/textures/block/lemonwood_planks.png b/src/main/resources/assets/acesbs/textures/block/lemonwood_planks.png new file mode 100644 index 0000000..d51cd8e Binary files /dev/null and b/src/main/resources/assets/acesbs/textures/block/lemonwood_planks.png differ