Skip to content

Commit

Permalink
done
Browse files Browse the repository at this point in the history
  • Loading branch information
RealYusufIsmail committed Jun 29, 2024
1 parent 8ef1abc commit 7bdf13b
Show file tree
Hide file tree
Showing 12 changed files with 116 additions and 7 deletions.
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ minecraft_version=1.21
# as they do not follow standard versioning conventions.
minecraft_version_range=[1.21,1.21.1)
# The Neo version must agree with the Minecraft version to get a valid artifact
neo_version=21.0.20-beta
neo_version=21.0.42-beta
# The Neo version range can use any version of Neo as bounds
neo_version_range=[21.0.20-beta,)
neo_version_range=[21.0.42-beta,)
# The loader version range can only use the major version of FML as bounds
loader_version_range=[4,)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// 1.21 2024-06-29T09:32:44.039614 Tags for minecraft:item mod id tutorialmod
c83f9edda4547a4af3f0016fda0c2621839849b3 data/tutorialmod/tags/item/example_block.json
45f5e001644f26668bdf88ee06c051953b522b28 data/tutorialmod/tags/item/example_item.json
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
// 1.21 2024-06-19T15:13:52.90318 Tags for minecraft:block mod id tutorialmod
c83f9edda4547a4af3f0016fda0c2621839849b3 data/minecraft/tags/block/mineable/pickaxe.json
// 1.21 2024-06-29T09:32:44.037156 Tags for minecraft:block mod id tutorialmod
b8703e5871ce664cf6783f815f1c5120f04d8ce8 data/minecraft/tags/block/mineable/pickaxe.json
b8703e5871ce664cf6783f815f1c5120f04d8ce8 data/minecraft/tags/block/needs_iron_tool.json
c83f9edda4547a4af3f0016fda0c2621839849b3 data/tutorialmod/tags/block/example_block.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"values": [
"tutorialmod:example_block"
"#tutorialmod:example_block"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"#tutorialmod:example_block"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"tutorialmod:example_block"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"tutorialmod:example_block"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"values": [
"tutorialmod:example_item"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import io.github.realyusufismail.data.lang.ModEnLangProvider;
import io.github.realyusufismail.data.loottable.ModLootTables;
import io.github.realyusufismail.data.tag.ModBlockTagsProvider;
import io.github.realyusufismail.data.tag.ModItemTagProvider;
import io.github.realyusufismail.data.texture.ModBlockStateProvider;
import io.github.realyusufismail.data.texture.ModItemStateProvider;
import net.minecraft.data.DataGenerator;
Expand All @@ -22,7 +23,9 @@ public static void gatherData(GatherDataEvent event) {
generator.addProvider(true, new ModEnLangProvider(output));
generator.addProvider(true, new ModItemStateProvider(output, existingFileHelper));
generator.addProvider(true, new ModBlockStateProvider(output, existingFileHelper));
generator.addProvider(true, new ModBlockTagsProvider(output, event.getLookupProvider(), existingFileHelper));
ModBlockTagsProvider modBlockTagsProvider = new ModBlockTagsProvider(output, event.getLookupProvider(), existingFileHelper);
generator.addProvider(true, modBlockTagsProvider);
generator.addProvider(true, new ModItemTagProvider(output, event.getLookupProvider(), modBlockTagsProvider, existingFileHelper));
generator.addProvider(true, new ModLootTables(output, event.getLookupProvider()));
} catch (RuntimeException e) {
TutorialMod.logger.error("Failed to gather data", e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import io.github.realyusufismail.TutorialMod;
import io.github.realyusufismail.init.BlockInit;
import io.github.realyusufismail.init.TagsInit;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.PackOutput;
import net.minecraft.tags.BlockTags;
Expand All @@ -19,7 +20,13 @@ public ModBlockTagsProvider(PackOutput output, CompletableFuture<HolderLookup.Pr

@Override
protected void addTags(HolderLookup.Provider pProvider) {
tag(BlockTags.MINEABLE_WITH_PICKAXE)
tag(TagsInit.BlockTagsInit.EXAMPLE_BLOCK_TAG)
.add(BlockInit.EXAMPLE_BLOCK.get());

tag(BlockTags.MINEABLE_WITH_PICKAXE)
.addTag(TagsInit.BlockTagsInit.EXAMPLE_BLOCK_TAG);

// TagKey<Block> netherite = createNeoForgeTag("needs_netherite_tool")
tag(BlockTags.NEEDS_IRON_TOOL).addTag(TagsInit.BlockTagsInit.EXAMPLE_BLOCK_TAG);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package io.github.realyusufismail.data.tag;

import io.github.realyusufismail.TutorialMod;
import io.github.realyusufismail.init.ItemInit;
import io.github.realyusufismail.init.TagsInit;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.PackOutput;
import net.minecraft.data.tags.ItemTagsProvider;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.level.block.Block;
import net.neoforged.neoforge.common.data.BlockTagsProvider;
import net.neoforged.neoforge.common.data.ExistingFileHelper;

import java.util.concurrent.CompletableFuture;

public class ModItemTagProvider extends ItemTagsProvider {
public ModItemTagProvider(PackOutput pOutput, CompletableFuture<HolderLookup.Provider> pLookupProvider, BlockTagsProvider provider, ExistingFileHelper existingFileHelper) {
super(pOutput, pLookupProvider, provider.contentsGetter(), TutorialMod.MOD_ID, existingFileHelper);
}

@Override
protected void addTags(HolderLookup.Provider pProvider) {
copy(TagsInit.BlockTagsInit.EXAMPLE_BLOCK_TAG, TagsInit.ItemTagsInit.EXAMPLE_BLOCK_TAG);

tag(TagsInit.ItemTagsInit.EXAMPLE_ITEM_TAG).add(ItemInit.EXAMPLE_ITEM.get());

// tag(ItemTags.TRIMMABLE_ARMOR)
}
}
45 changes: 45 additions & 0 deletions src/main/java/io/github/realyusufismail/init/TagsInit.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package io.github.realyusufismail.init;

import io.github.realyusufismail.TutorialMod;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;

public class TagsInit {
public static ResourceLocation createOreLocation(String name) {
return ResourceLocation.fromNamespaceAndPath(TutorialMod.MOD_ID, "ores/" + name);
}

public static ResourceLocation createBlockLocation(String name) {
return ResourceLocation.fromNamespaceAndPath(TutorialMod.MOD_ID, name);
}

public static ResourceLocation createGenericItemsLocation(String name) {
return ResourceLocation.fromNamespaceAndPath(TutorialMod.MOD_ID, name);
}

public static ResourceLocation createRawItemsLocation(String name) {
return ResourceLocation.fromNamespaceAndPath(TutorialMod.MOD_ID, "raw/" + name);
}

public static TagKey<Block> createToolTag(String name) {
return TagKey.create(BuiltInRegistries.BLOCK.key(), ResourceLocation.fromNamespaceAndPath(TutorialMod.MOD_ID, name));
}

public static class ItemTagsInit {
// Items
public static final TagKey<Item> EXAMPLE_ITEM_TAG = ItemTags.create(createGenericItemsLocation("example_item"));

// Blocks
public static final TagKey<Item> EXAMPLE_BLOCK_TAG = ItemTags.create(createBlockLocation("example_block"));
}

public static class BlockTagsInit {
public static final TagKey<Block> EXAMPLE_BLOCK_TAG =
BlockTags.create(createBlockLocation("example_block"));
}
}

0 comments on commit 7bdf13b

Please sign in to comment.