Skip to content

Commit

Permalink
woopsie i forgot to delete some files so now it wont build
Browse files Browse the repository at this point in the history
  • Loading branch information
Fugimii committed Feb 9, 2024
1 parent 7ed2985 commit a001049
Show file tree
Hide file tree
Showing 42 changed files with 396 additions and 371 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.4 2024-02-09T19:55:16.427174908 TutorialMod/Block Loot Tables
// 1.20.4 2024-02-09T19:56:31.486249818 TutorialMod/Block Loot Tables
cc949d0a6d37d42537b3f6a8856eca6dfd258e66 data/tutorialmod/loot_tables/blocks/sound_block.json
03a3b82f1a2fb709266d0911c5987cde08a8ef10 data/tutorialmod/loot_tables/blocks/end_stone_ruby_ore.json
6cbee860a058aff1471e8886d74965f5a072e318 data/tutorialmod/loot_tables/blocks/raw_ruby_block.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.4 2024-02-09T19:55:16.426924015 TutorialMod/Recipes
// 1.20.4 2024-02-09T19:56:31.485889538 TutorialMod/Recipes
bdd1a2f3a87947bfdd91e6ea415c2385b43970db data/tutorialmod/advancements/recipes/misc/raw_ruby.json
e3dbaaf86976c41d3eda2ced039349ad46b7dd23 data/tutorialmod/recipes/raw_ruby.json
c4731ffbf4e6eaad4f517142169df11021461215 data/tutorialmod/recipes/ruby_from_smelting_end_stone_ruby_ore.json
Expand All @@ -12,8 +12,8 @@ adbd6aa707967bbb53ca9e96ba7a75e707a3ab1f data/tutorialmod/advancements/recipes/m
ea3f2fa9245d18a2803d0eb21c54bec74d0924df data/tutorialmod/recipes/ruby_from_blasting_raw_ruby.json
4ef393bccf338995ca1f883c7374d69f6d505b00 data/tutorialmod/advancements/recipes/misc/ruby_from_smelting_raw_ruby.json
dd79d75efdf8e6fe6d262df085f3fc17a170dd4b data/tutorialmod/advancements/recipes/misc/ruby_from_smelting_end_stone_ruby_ore.json
f44a020805f68e57af1ec2cdf9c08d65a0a2493e data/tutorialmod/recipes/ruby_from_blasting_nether_ruby_ore.json
403a5552172030b1233c33869ec3eb673b2ed654 data/tutorialmod/advancements/recipes/misc/ruby_from_blasting_end_stone_ruby_ore.json
f44a020805f68e57af1ec2cdf9c08d65a0a2493e data/tutorialmod/recipes/ruby_from_blasting_nether_ruby_ore.json
1f79ee072c381aa558c6d92b1c1c915618f073de data/tutorialmod/advancements/recipes/building_blocks/ruby.json
ff1d1c860db286c03a200fb7e99386372ea23007 data/tutorialmod/recipes/ruby_from_smelting_ruby_ore.json
68d274b6bd0a38ce27e947d3182a794f5c8dcb72 data/tutorialmod/recipes/ruby.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
// 1.20.4 2024-02-09T19:55:16.426504133 TutorialMod/Tags for minecraft:item
// 1.20.4 2024-02-09T19:56:31.485153601 TutorialMod/Tags for minecraft:item
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.4 2024-02-09T19:55:16.426617517 TutorialMod/Model Definitions
// 1.20.4 2024-02-09T19:56:31.485343038 TutorialMod/Model Definitions
1e28efa60d451a0277c0e06152dd9c47e3e73701 assets/tutorialmod/blockstates/ruby_ore.json
dac8730911a1737e4cdd2e70cfc8d32b0b0ba457 assets/tutorialmod/models/block/sound_block.json
fdfadf4fbed71a5d0dee8237f61cf4a05d5b93d4 assets/tutorialmod/models/item/raw_ruby_block.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.4 2024-02-09T19:55:16.426121011 TutorialMod/Tags for minecraft:block
// 1.20.4 2024-02-09T19:56:31.484353042 TutorialMod/Tags for minecraft:block
04af89ac372616814468363bf06eb4e154e54d25 data/minecraft/tags/blocks/mineable/pickaxe.json
73c07b084712b06dbb0b224fdf6348000e5741df data/fabric/tags/blocks/needs_tool_level_4.json
6446ed28cb4ab3f15e9b978234672715ad219d65 data/minecraft/tags/blocks/needs_diamond_tool.json
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/net/fugimii/tutorial/TutorialMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import net.fabricmc.api.ModInitializer;

import net.fabricmc.fabric.api.registry.FuelRegistry;
import net.fugimii.tutorial.block.ModBlocks;
import net.fugimii.tutorial.item.ModItemGroups;
import net.fugimii.tutorial.item.ModItems;
Expand All @@ -19,5 +20,7 @@ public void onInitialize() {
ModItemGroups.registerItemGroups();
ModItems.registerModItems();
ModBlocks.registerModBlocks();

FuelRegistry.INSTANCE.add(ModItems.COAL_BRIQUETTE, 200);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,17 @@

import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
import net.fugimii.tutorial.datagen.*;

public class TutorialModDataGenerator implements DataGeneratorEntrypoint {
@Override
public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
FabricDataGenerator.Pack pack = fabricDataGenerator.createPack();

pack.addProvider(ModBlockTagProvider::new);
pack.addProvider(ModItemTagProvider::new);
pack.addProvider(ModLootTableProvider::new);
pack.addProvider(ModModelProvider::new);
pack.addProvider(ModRecipeProvider::new);
}
}
}
21 changes: 17 additions & 4 deletions src/main/java/net/fugimii/tutorial/block/ModBlocks.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,34 @@
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fugimii.tutorial.TutorialMod;
import net.fugimii.tutorial.block.custom.SoundBlock;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.ExperienceDroppingBlock;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.intprovider.UniformIntProvider;

public class ModBlocks {
public static final Block RUBY_BLOCK = registerBlock("ruby_block",
new Block(FabricBlockSettings.copyOf(Blocks.EMERALD_BLOCK).sounds(BlockSoundGroup.AMETHYST_BLOCK)));
new Block(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).sounds(BlockSoundGroup.AMETHYST_BLOCK)));
public static final Block RAW_RUBY_BLOCK = registerBlock("raw_ruby_block",
new Block(FabricBlockSettings.copyOf(Blocks.IRON_ORE).sounds(BlockSoundGroup.AMETHYST_BLOCK)));
new ExperienceDroppingBlock(UniformIntProvider.create(2, 5), FabricBlockSettings.copyOf(Blocks.STONE).strength(2f)));
public static final Block RUBY_ORE = registerBlock("ruby_ore",
new ExperienceDroppingBlock(UniformIntProvider.create(2, 5), FabricBlockSettings.copyOf(Blocks.STONE)));
public static final Block DEEPSLATE_RUBY_ORE = registerBlock("deepslate_ruby_ore",
new ExperienceDroppingBlock(UniformIntProvider.create(2, 5), FabricBlockSettings.copyOf(Blocks.STONE).strength(4f)));
public static final Block NETHER_RUBY_ORE = registerBlock("nether_ruby_ore",
new ExperienceDroppingBlock(UniformIntProvider.create(2, 5), FabricBlockSettings.copyOf(Blocks.STONE).strength(1.5f)));
public static final Block END_STONE_RUBY_ORE = registerBlock("end_stone_ruby_ore",
new ExperienceDroppingBlock(UniformIntProvider.create(2, 5), FabricBlockSettings.copyOf(Blocks.STONE).strength(4f)));

public static final Block SOUND_BLOCK = registerBlock("sound_block",
new SoundBlock(FabricBlockSettings.copyOf(Blocks.STONE).sounds(BlockSoundGroup.AMETHYST_BLOCK)));

private static Block registerBlock(String name, Block block) {
registerBlockItem(name, block);
Expand All @@ -30,6 +43,6 @@ private static Item registerBlockItem(String name, Block block) {
}

public static void registerModBlocks() {
TutorialMod.LOGGER.info("Registering mod blocks for " + TutorialMod.MOD_ID);
TutorialMod.LOGGER.info("Registering ModBlocks for " + TutorialMod.MOD_ID);
}
}
}
41 changes: 40 additions & 1 deletion src/main/java/net/fugimii/tutorial/block/custom/SoundBlock.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,41 @@
package net.fugimii.tutorial.block.custom;public class SoundBlock {
package net.fugimii.tutorial.block.custom;

import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvent;
import net.minecraft.sound.SoundEvents;
import net.minecraft.text.Text;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable;

import java.util.List;

public class SoundBlock extends Block {
public SoundBlock(Settings settings) {
super(settings);
}

@Override
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {

world.playSound(player, pos, SoundEvents.BLOCK_NOTE_BLOCK_XYLOPHONE.value(), SoundCategory.BLOCKS, 1f, 1f);

return ActionResult.SUCCESS;
}

@Override
public void appendTooltip(ItemStack stack, @Nullable BlockView world, List<Text> tooltip, TooltipContext options) {
tooltip.add(Text.translatable("tooltip.tutorialmod.soundblock"));

super.appendTooltip(stack, world, tooltip, options);
}
}
Original file line number Diff line number Diff line change
@@ -1,2 +1,56 @@
package net.fugimii.tutorial.datagen;public class ModBlockTagProvider {
}
package net.fugimii.tutorial.datagen;

import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
import net.fugimii.tutorial.block.ModBlocks;
import net.fugimii.tutorial.util.ModTags;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.RegistryWrapper;
import net.minecraft.registry.tag.BlockTags;
import net.minecraft.registry.tag.TagKey;
import net.minecraft.util.Identifier;

import java.util.concurrent.CompletableFuture;

public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
public ModBlockTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output, registriesFuture);
}

@Override
protected void configure(RegistryWrapper.WrapperLookup arg) {
getOrCreateTagBuilder(ModTags.Blocks.METAL_DETECTOR_DETECTABLE_BLOCKS)
.add(ModBlocks.RUBY_ORE)
.forceAddTag(BlockTags.GOLD_ORES)
.forceAddTag(BlockTags.EMERALD_ORES)
.forceAddTag(BlockTags.REDSTONE_ORES)
.forceAddTag(BlockTags.LAPIS_ORES)
.forceAddTag(BlockTags.DIAMOND_ORES)
.forceAddTag(BlockTags.IRON_ORES)
.forceAddTag(BlockTags.COPPER_ORES)
.forceAddTag(BlockTags.COAL_ORES);

getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE)
.add(ModBlocks.RAW_RUBY_BLOCK)
.add(ModBlocks.RUBY_BLOCK)
.add(ModBlocks.RUBY_ORE)
.add(ModBlocks.DEEPSLATE_RUBY_ORE)
.add(ModBlocks.NETHER_RUBY_ORE)
.add(ModBlocks.END_STONE_RUBY_ORE)
.add(ModBlocks.SOUND_BLOCK);

getOrCreateTagBuilder(BlockTags.NEEDS_STONE_TOOL)
.add(ModBlocks.RUBY_BLOCK);

getOrCreateTagBuilder(BlockTags.NEEDS_IRON_TOOL)
.add(ModBlocks.RAW_RUBY_BLOCK)
.add(ModBlocks.RUBY_ORE);

getOrCreateTagBuilder(BlockTags.NEEDS_DIAMOND_TOOL)
.add(ModBlocks.DEEPSLATE_RUBY_ORE);

getOrCreateTagBuilder(TagKey.of(RegistryKeys.BLOCK, new Identifier("fabric", "needs_tool_level_4")))
.add(ModBlocks.END_STONE_RUBY_ORE);
}
}
Original file line number Diff line number Diff line change
@@ -1,2 +1,18 @@
package net.fugimii.tutorial.datagen;public class ModItemTagProvider {
package net.fugimii.tutorial.datagen;

import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
import net.minecraft.registry.RegistryWrapper;

import java.util.concurrent.CompletableFuture;

public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
public ModItemTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> completableFuture) {
super(output, completableFuture);
}

@Override
protected void configure(RegistryWrapper.WrapperLookup arg) {

}
}
Original file line number Diff line number Diff line change
@@ -1,2 +1,46 @@
package net.fugimii.tutorial.datagen;public class ModLootTableProvider {
}
package net.fugimii.tutorial.datagen;

import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider;
import net.fugimii.tutorial.block.ModBlocks;
import net.fugimii.tutorial.item.ModItems;
import net.minecraft.block.Block;
import net.minecraft.data.server.loottable.BlockLootTableGenerator;
import net.minecraft.enchantment.Enchantments;
import net.minecraft.item.Item;
import net.minecraft.item.Items;
import net.minecraft.loot.LootTable;
import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.loot.entry.LeafEntry;
import net.minecraft.loot.entry.LootPoolEntry;
import net.minecraft.loot.function.ApplyBonusLootFunction;
import net.minecraft.loot.function.SetCountLootFunction;
import net.minecraft.loot.provider.number.UniformLootNumberProvider;

public class ModLootTableProvider extends FabricBlockLootTableProvider {
public ModLootTableProvider(FabricDataOutput dataOutput) {
super(dataOutput);
}

@Override
public void generate() {
addDrop(ModBlocks.RUBY_BLOCK);
addDrop(ModBlocks.RAW_RUBY_BLOCK);
addDrop(ModBlocks.SOUND_BLOCK);

addDrop(ModBlocks.RUBY_ORE, copperLikeOreDrops(ModBlocks.RUBY_ORE, ModItems.RAW_RUBY));
addDrop(ModBlocks.DEEPSLATE_RUBY_ORE, copperLikeOreDrops(ModBlocks.DEEPSLATE_RUBY_ORE, ModItems.RAW_RUBY));
addDrop(ModBlocks.NETHER_RUBY_ORE, copperLikeOreDrops(ModBlocks.NETHER_RUBY_ORE, ModItems.RAW_RUBY));
addDrop(ModBlocks.END_STONE_RUBY_ORE, copperLikeOreDrops(ModBlocks.END_STONE_RUBY_ORE, ModItems.RAW_RUBY));
}

public LootTable.Builder copperLikeOreDrops(Block drop, Item item) {
return BlockLootTableGenerator.dropsWithSilkTouch(drop, (LootPoolEntry.Builder)this.applyExplosionDecay(drop,
((LeafEntry.Builder)
ItemEntry.builder(item)
.apply(SetCountLootFunction
.builder(UniformLootNumberProvider
.create(2.0f, 5.0f))))
.apply(ApplyBonusLootFunction.oreDrops(Enchantments.FORTUNE))));
}
}
38 changes: 36 additions & 2 deletions src/main/java/net/fugimii/tutorial/datagen/ModModelProvider.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,36 @@
package net.fugimii.tutorial.datagen;public class ModModelProvider {
}
package net.fugimii.tutorial.datagen;

import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider;
import net.fugimii.tutorial.block.ModBlocks;
import net.fugimii.tutorial.item.ModItems;
import net.minecraft.data.client.BlockStateModelGenerator;
import net.minecraft.data.client.ItemModelGenerator;
import net.minecraft.data.client.Models;

public class ModModelProvider extends FabricModelProvider {
public ModModelProvider(FabricDataOutput output) {
super(output);
}

@Override
public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) {
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.RUBY_BLOCK);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.RAW_RUBY_BLOCK);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.RUBY_ORE);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.DEEPSLATE_RUBY_ORE);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.NETHER_RUBY_ORE);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.END_STONE_RUBY_ORE);
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.SOUND_BLOCK);
}

@Override
public void generateItemModels(ItemModelGenerator itemModelGenerator) {
itemModelGenerator.register(ModItems.RUBY, Models.GENERATED);
itemModelGenerator.register(ModItems.RAW_RUBY, Models.GENERATED);

itemModelGenerator.register(ModItems.COAL_BRIQUETTE, Models.GENERATED);
itemModelGenerator.register(ModItems.TOMATO, Models.GENERATED);
itemModelGenerator.register(ModItems.METAL_DETECTOR, Models.GENERATED);
}
}
Original file line number Diff line number Diff line change
@@ -1,2 +1,40 @@
package net.fugimii.tutorial.datagen;public class ModRecipeProvider {
package net.fugimii.tutorial.datagen;

import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider;
import net.fugimii.tutorial.block.ModBlocks;
import net.fugimii.tutorial.item.ModItems;
import net.minecraft.data.server.recipe.RecipeExporter;
import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder;
import net.minecraft.item.ItemConvertible;
import net.minecraft.item.Items;
import net.minecraft.recipe.book.RecipeCategory;
import net.minecraft.util.Identifier;

import java.util.List;

public class ModRecipeProvider extends FabricRecipeProvider {
private static final List<ItemConvertible> RUBY_SMELTABLES = List.of(ModItems.RAW_RUBY,
ModBlocks.RUBY_ORE, ModBlocks.END_STONE_RUBY_ORE, ModBlocks.NETHER_RUBY_ORE);
public ModRecipeProvider(FabricDataOutput output) {
super(output);
}

@Override
public void generate(RecipeExporter exporter) {
offerSmelting(exporter, RUBY_SMELTABLES, RecipeCategory.MISC, ModItems.RUBY, 0.7f, 200, "ruby");
offerBlasting(exporter, RUBY_SMELTABLES, RecipeCategory.MISC, ModItems.RUBY, 0.7f, 100, "ruby");

offerReversibleCompactingRecipes(exporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RUBY, RecipeCategory.DECORATIONS, ModBlocks.RUBY_BLOCK);

ShapedRecipeJsonBuilder.create(RecipeCategory.MISC, ModItems.RAW_RUBY, 1)
.pattern("SSS")
.pattern("SRS")
.pattern("SSS")
.input('S', Items.STONE)
.input('R', ModItems.RUBY)
.criterion(hasItem(Items.STONE), conditionsFromItem(Items.STONE))
.criterion(hasItem(ModItems.RUBY), conditionsFromItem(ModItems.RUBY))
.offerTo(exporter, new Identifier(getRecipeName(ModItems.RAW_RUBY)));
}
}
10 changes: 9 additions & 1 deletion src/main/java/net/fugimii/tutorial/item/ModFoodComponents.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
package net.fugimii.tutorial.item;public class ModFoodComponents {
package net.fugimii.tutorial.item;

import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.FoodComponent;

public class ModFoodComponents {
public static final FoodComponent TOMATO = new FoodComponent.Builder().hunger(3).saturationModifier(0.25f)
.statusEffect(new StatusEffectInstance(StatusEffects.LUCK, 200), 0.25f).build();
}
Loading

0 comments on commit a001049

Please sign in to comment.