Skip to content

Commit

Permalink
迁移标签
Browse files Browse the repository at this point in the history
  • Loading branch information
ZhuRuoLing committed Sep 8, 2024
1 parent db9ae49 commit 6764ec3
Show file tree
Hide file tree
Showing 11 changed files with 441 additions and 652 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import net.minecraft.world.item.Items;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraft.world.item.crafting.SmokingRecipe;

public class VanillaRecipesLoader {
/**
Expand Down Expand Up @@ -90,8 +91,15 @@ public static void init(RegistrateRecipeProvider provider) {
Items.BREAD, 0.35f, 100)
.unlockedBy(AnvilCraftDatagen.hasItem(ModItems.DOUGH.get()), AnvilCraftDatagen.has(ModItems.DOUGH))
.save(provider, AnvilCraft.of("smoking_bread"));
SimpleCookingRecipeBuilder.generic(Ingredient.of(ModItemTags.DOUGH), RecipeCategory.FOOD,
Items.BREAD, 0.35f, 600, RecipeSerializer.SMOKING_RECIPE)
SimpleCookingRecipeBuilder.generic(
Ingredient.of(ModItemTags.DOUGH),
RecipeCategory.FOOD,
Items.BREAD,
0.35f,
600,
RecipeSerializer.SMOKING_RECIPE,
SmokingRecipe::new
)
.unlockedBy(AnvilCraftDatagen.hasItem(ModItems.DOUGH.get()), AnvilCraftDatagen.has(ModItems.DOUGH))
.save(provider, AnvilCraft.of("generic_cooking_bread"));

Expand Down
206 changes: 100 additions & 106 deletions src/main/java/dev/dubhe/anvilcraft/data/generator/tags/ItemTagLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
import dev.dubhe.anvilcraft.init.ModBlocks;
import dev.dubhe.anvilcraft.init.ModItemTags;
import dev.dubhe.anvilcraft.init.ModItems;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import org.jetbrains.annotations.NotNull;
Expand All @@ -15,113 +18,104 @@ public class ItemTagLoader {
* @param provider 提供器
*/
public static void init(@NotNull RegistrateTagsProvider<Item> provider) {
provider.addTag(ModItemTags.PLATES).setReplace(false)
.add(Items.HEAVY_WEIGHTED_PRESSURE_PLATE)
.add(Items.LIGHT_WEIGHTED_PRESSURE_PLATE);
provider.addTag(ModItemTags.IRON_PLATES).setReplace(false)
.add(Items.HEAVY_WEIGHTED_PRESSURE_PLATE);
provider.addTag(ModItemTags.GOLD_PLATES).setReplace(false)
.add(Items.LIGHT_WEIGHTED_PRESSURE_PLATE);
provider.addTag(ModItemTags.PLATES_FORGE).setReplace(false)
.add(Items.HEAVY_WEIGHTED_PRESSURE_PLATE)
.add(Items.LIGHT_WEIGHTED_PRESSURE_PLATE);
provider.addTag(ModItemTags.IRON_PLATES_FORGE).setReplace(false)
.add(Items.HEAVY_WEIGHTED_PRESSURE_PLATE);
provider.addTag(ModItemTags.GOLD_PLATES_FORGE).setReplace(false)
.add(Items.LIGHT_WEIGHTED_PRESSURE_PLATE);
provider.addTag(ModItemTags.ROYAL_STEEL_PICKAXE_BASE).setReplace(false)
.add(ModItems.AMETHYST_PICKAXE.get())
.add(Items.GOLDEN_PICKAXE)
.add(Items.IRON_PICKAXE)
.add(Items.DIAMOND_PICKAXE);
provider.addTag(ModItemTags.ROYAL_STEEL_AXE_BASE).setReplace(false)
.add(ModItems.AMETHYST_AXE.get())
.add(Items.GOLDEN_AXE)
.add(Items.IRON_AXE)
.add(Items.DIAMOND_AXE);
provider.addTag(ModItemTags.ROYAL_STEEL_HOE_BASE).setReplace(false)
.add(ModItems.AMETHYST_HOE.get())
.add(Items.GOLDEN_HOE)
.add(Items.IRON_HOE)
.add(Items.DIAMOND_HOE);
provider.addTag(ModItemTags.ROYAL_STEEL_SWORD_BASE).setReplace(false)
.add(ModItems.AMETHYST_SWORD.get())
.add(Items.GOLDEN_SWORD)
.add(Items.IRON_SWORD)
.add(Items.DIAMOND_SWORD);
provider.addTag(ModItemTags.ROYAL_STEEL_SHOVEL_BASE).setReplace(false)
.add(ModItems.AMETHYST_SHOVEL.get())
.add(Items.GOLDEN_SHOVEL)
.add(Items.IRON_SHOVEL)
.add(Items.DIAMOND_SHOVEL);
provider.addTag(ModItemTags.GEMS).setReplace(false)
.add(Items.EMERALD)
.add(ModItems.RUBY.get())
.add(ModItems.SAPPHIRE.get())
.add(ModItems.TOPAZ.get());
provider.addTag(ModItemTags.GEMS).setReplace(false)
.add(Items.EMERALD)
.add(ModItems.RUBY.get())
.add(ModItems.SAPPHIRE.get())
.add(ModItems.TOPAZ.get());
provider.addTag(ModItemTags.GEM_BLOCKS).setReplace(false)
.add(Items.EMERALD_BLOCK)
.add(ModBlocks.RUBY_BLOCK.asItem())
.add(ModBlocks.SAPPHIRE_BLOCK.asItem())
.add(ModBlocks.TOPAZ_BLOCK.asItem());
provider.addTag(ModItemTags.DEAD_TUBE).setReplace(false)
.add(Items.DEAD_BRAIN_CORAL)
.add(Items.DEAD_BUBBLE_CORAL)
.add(Items.DEAD_FIRE_CORAL)
.add(Items.DEAD_HORN_CORAL)
.add(Items.DEAD_TUBE_CORAL)
.add(Items.DEAD_TUBE_CORAL_FAN)
.add(Items.DEAD_BRAIN_CORAL_FAN)
.add(Items.DEAD_BUBBLE_CORAL_FAN)
.add(Items.DEAD_FIRE_CORAL_FAN)
.add(Items.DEAD_HORN_CORAL_FAN);
provider.addTag(ModItemTags.SEEDS_PACK_CONTENT).setReplace(false)
provider.addTag(ModItemTags.PLATES)
.add(findResourceKey(Items.HEAVY_WEIGHTED_PRESSURE_PLATE))
.add(findResourceKey(Items.LIGHT_WEIGHTED_PRESSURE_PLATE));
provider.addTag(ModItemTags.IRON_PLATES)
.add(findResourceKey(Items.HEAVY_WEIGHTED_PRESSURE_PLATE));
provider.addTag(ModItemTags.GOLD_PLATES)
.add(findResourceKey(Items.LIGHT_WEIGHTED_PRESSURE_PLATE));
provider.addTag(ModItemTags.ROYAL_STEEL_PICKAXE_BASE)
.add(findResourceKey(ModItems.AMETHYST_PICKAXE.get()))
.add(findResourceKey(Items.GOLDEN_PICKAXE))
.add(findResourceKey(Items.IRON_PICKAXE))
.add(findResourceKey(Items.DIAMOND_PICKAXE));
provider.addTag(ModItemTags.ROYAL_STEEL_AXE_BASE)
.add(findResourceKey(ModItems.AMETHYST_AXE.get()))
.add(findResourceKey(Items.GOLDEN_AXE))
.add(findResourceKey(Items.IRON_AXE))
.add(findResourceKey(Items.DIAMOND_AXE));
provider.addTag(ModItemTags.ROYAL_STEEL_HOE_BASE)
.add(findResourceKey(ModItems.AMETHYST_HOE.get()))
.add(findResourceKey(Items.GOLDEN_HOE))
.add(findResourceKey(Items.IRON_HOE))
.add(findResourceKey(Items.DIAMOND_HOE));
provider.addTag(ModItemTags.ROYAL_STEEL_SWORD_BASE)
.add(findResourceKey(ModItems.AMETHYST_SWORD.get()))
.add(findResourceKey(Items.GOLDEN_SWORD))
.add(findResourceKey(Items.IRON_SWORD))
.add(findResourceKey(Items.DIAMOND_SWORD));
provider.addTag(ModItemTags.ROYAL_STEEL_SHOVEL_BASE)
.add(findResourceKey(ModItems.AMETHYST_SHOVEL.get()))
.add(findResourceKey(Items.GOLDEN_SHOVEL))
.add(findResourceKey(Items.IRON_SHOVEL))
.add(findResourceKey(Items.DIAMOND_SHOVEL));
provider.addTag(ModItemTags.GEMS)
.add(findResourceKey(Items.EMERALD))
.add(findResourceKey(ModItems.RUBY.get()))
.add(findResourceKey(ModItems.SAPPHIRE.get()))
.add(findResourceKey(ModItems.TOPAZ.get()));
provider.addTag(ModItemTags.GEMS)
.add(findResourceKey(Items.EMERALD))
.add(findResourceKey(ModItems.RUBY.get()))
.add(findResourceKey(ModItems.SAPPHIRE.get()))
.add(findResourceKey(ModItems.TOPAZ.get()));
provider.addTag(ModItemTags.GEM_BLOCKS)
.add(findResourceKey(Items.EMERALD_BLOCK))
.add(findResourceKey(ModBlocks.RUBY_BLOCK.asItem()))
.add(findResourceKey(ModBlocks.SAPPHIRE_BLOCK.asItem()))
.add(findResourceKey(ModBlocks.TOPAZ_BLOCK.asItem()));
provider.addTag(ModItemTags.DEAD_TUBE)
.add(findResourceKey(Items.DEAD_BRAIN_CORAL))
.add(findResourceKey(Items.DEAD_BUBBLE_CORAL))
.add(findResourceKey(Items.DEAD_FIRE_CORAL))
.add(findResourceKey(Items.DEAD_HORN_CORAL))
.add(findResourceKey(Items.DEAD_TUBE_CORAL))
.add(findResourceKey(Items.DEAD_TUBE_CORAL_FAN))
.add(findResourceKey(Items.DEAD_BRAIN_CORAL_FAN))
.add(findResourceKey(Items.DEAD_BUBBLE_CORAL_FAN))
.add(findResourceKey(Items.DEAD_FIRE_CORAL_FAN))
.add(findResourceKey(Items.DEAD_HORN_CORAL_FAN));
provider.addTag(ModItemTags.SEEDS_PACK_CONTENT)
.addOptionalTag(ModItemTags.SEEDS)
.addOptionalTag(ModItemTags.BERRIES)
.addOptionalTag(ModItemTags.VEGETABLES)
.addOptionalTag(ModItemTags.SEEDS_FORGE)
.addOptionalTag(ModItemTags.BERRIES_FORGE)
.addOptionalTag(ModItemTags.VEGETABLES_FORGE);
provider.addTag(ModItemTags.VEGETABLES).setReplace(false)
.add(Items.POTATO)
.add(Items.CARROT);
provider.addTag(ModItemTags.BERRIES).setReplace(false)
.add(Items.SWEET_BERRIES)
.add(Items.GLOW_BERRIES);
provider.addTag(ModItemTags.WRENCHES).setReplace(false)
.add(ModItems.ANVIL_HAMMER.get())
.add(ModItems.ROYAL_ANVIL_HAMMER.get());
provider.addTag(ModItemTags.WRENCH_FORGE).setReplace(false)
.add(ModItems.ANVIL_HAMMER.get())
.add(ModItems.ROYAL_ANVIL_HAMMER.get());
provider.addTag(ModItemTags.FIRE_STARTER).setReplace(false)
.add(Items.TORCH)
.add(Items.SOUL_TORCH)
.add(Items.CAMPFIRE)
.add(Items.SOUL_CAMPFIRE)
.add(Items.BLAZE_POWDER);
provider.addTag(ModItemTags.UNBROKEN_FIRE_STARTER).setReplace(false)
.add(ModBlocks.REDHOT_NETHERITE.asItem())
.add(ModBlocks.GLOWING_NETHERITE.asItem())
.add(ModBlocks.HEATED_NETHERITE.asItem())
.add(ModBlocks.INCANDESCENT_NETHERITE.asItem())
.add(ModBlocks.REDHOT_TUNGSTEN.asItem())
.add(ModBlocks.GLOWING_TUNGSTEN.asItem())
.add(ModBlocks.HEATED_TUNGSTEN.asItem())
.add(ModBlocks.INCANDESCENT_TUNGSTEN.asItem());
provider.addTag(ModItemTags.NETHERITE_BLOCK).setReplace(false)
.add(ModBlocks.REDHOT_NETHERITE.asItem())
.add(ModBlocks.GLOWING_NETHERITE.asItem())
.add(ModBlocks.HEATED_NETHERITE.asItem())
.add(ModBlocks.INCANDESCENT_NETHERITE.asItem());
provider.addTag(ModItemTags.EXPLOSION_PROOF).setReplace(false)
.add(ModBlocks.EARTH_CORE_SHARD_BLOCK.asItem())
.add(ModBlocks.EARTH_CORE_SHARD_ORE.asItem())
.add(ModItems.EARTH_CORE_SHARD.get());
.addOptionalTag(ModItemTags.VEGETABLES);
provider.addTag(ModItemTags.VEGETABLES)
.add(findResourceKey(Items.POTATO))
.add(findResourceKey(Items.CARROT));
provider.addTag(ModItemTags.BERRIES)
.add(findResourceKey(Items.SWEET_BERRIES))
.add(findResourceKey(Items.GLOW_BERRIES));
provider.addTag(ModItemTags.WRENCH)
.add(findResourceKey(ModItems.ANVIL_HAMMER.get()))
.add(findResourceKey(ModItems.ROYAL_ANVIL_HAMMER.get()));
provider.addTag(ModItemTags.FIRE_STARTER)
.add(findResourceKey(Items.TORCH))
.add(findResourceKey(Items.SOUL_TORCH))
.add(findResourceKey(Items.CAMPFIRE))
.add(findResourceKey(Items.SOUL_CAMPFIRE))
.add(findResourceKey(Items.BLAZE_POWDER));
provider.addTag(ModItemTags.UNBROKEN_FIRE_STARTER)
.add(findResourceKey(ModBlocks.REDHOT_NETHERITE.asItem()))
.add(findResourceKey(ModBlocks.GLOWING_NETHERITE.asItem()))
.add(findResourceKey(ModBlocks.HEATED_NETHERITE.asItem()))
.add(findResourceKey(ModBlocks.INCANDESCENT_NETHERITE.asItem()))
.add(findResourceKey(ModBlocks.REDHOT_TUNGSTEN.asItem()))
.add(findResourceKey(ModBlocks.GLOWING_TUNGSTEN.asItem()))
.add(findResourceKey(ModBlocks.HEATED_TUNGSTEN.asItem()))
.add(findResourceKey(ModBlocks.INCANDESCENT_TUNGSTEN.asItem()));
provider.addTag(ModItemTags.NETHERITE_BLOCK)
.add(findResourceKey(ModBlocks.REDHOT_NETHERITE.asItem()))
.add(findResourceKey(ModBlocks.GLOWING_NETHERITE.asItem()))
.add(findResourceKey(ModBlocks.HEATED_NETHERITE.asItem()))
.add(findResourceKey(ModBlocks.INCANDESCENT_NETHERITE.asItem()));
provider.addTag(ModItemTags.EXPLOSION_PROOF)
.add(findResourceKey(ModBlocks.EARTH_CORE_SHARD_BLOCK.asItem()))
.add(findResourceKey(ModBlocks.EARTH_CORE_SHARD_ORE.asItem()))
.add(findResourceKey(ModItems.EARTH_CORE_SHARD.get()));
}

private static ResourceKey<Item> findResourceKey(Item item) {
return ResourceKey.create(Registries.ITEM, BuiltInRegistries.ITEM.getKey(item));
}
}
104 changes: 63 additions & 41 deletions src/main/java/dev/dubhe/anvilcraft/init/ModEnchantments.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package dev.dubhe.anvilcraft.init;

import dev.dubhe.anvilcraft.AnvilCraft;
import dev.dubhe.anvilcraft.util.Lazy;
import net.minecraft.core.Holder;
import net.minecraft.core.HolderGetter;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.worldgen.BootstrapContext;
import net.minecraft.resources.ResourceKey;
Expand All @@ -12,11 +16,31 @@
import net.minecraft.world.item.enchantment.Enchantment;
import net.minecraft.world.level.block.Block;

@SuppressWarnings("unchecked")
public class ModEnchantments {

public static final ResourceKey<Enchantment> FELLING = key("felling");
public static final ResourceKey<Enchantment> HARVEST = key("harvest");
public static final ResourceKey<Enchantment> BEHEADING = key("beheading");
public static final ResourceKey<Enchantment> FELLING_KEY = key("felling");
public static final ResourceKey<Enchantment> HARVEST_KEY = key("harvest");
public static final ResourceKey<Enchantment> BEHEADING_KEY = key("beheading");

public static final Lazy<Holder<Enchantment>> FELLING = new Lazy<>(() -> {
Registry<Enchantment> enchantmentRegistry =
(Registry<Enchantment>) BuiltInRegistries.REGISTRY.get(Registries.ENCHANTMENT.location());
return enchantmentRegistry.getHolderOrThrow(FELLING_KEY).getDelegate();
});

public static Lazy<Holder<Enchantment>> HARVEST = new Lazy<>(() -> {
Registry<Enchantment> enchantmentRegistry =
(Registry<Enchantment>) BuiltInRegistries.REGISTRY.get(Registries.ENCHANTMENT.location());
return enchantmentRegistry.getHolderOrThrow(HARVEST_KEY).getDelegate();
});
;
public static final Lazy<Holder<Enchantment>> BEHEADING = new Lazy<>(() -> {
Registry<Enchantment> enchantmentRegistry =
(Registry<Enchantment>) BuiltInRegistries.REGISTRY.get(Registries.ENCHANTMENT.location());
return enchantmentRegistry.getHolderOrThrow(BEHEADING_KEY).getDelegate();
});
;

// public static final RegistryEntry<FellingEnchantment> FELLING = REGISTRATE
// .enchantment("felling", EnchantmentCategory.DIGGER, FellingEnchantment::new)
Expand All @@ -40,53 +64,51 @@ public static void bootstrap(BootstrapContext<Enchantment> context) {
HolderGetter<Enchantment> enchantmentHolderGetter = context.lookup(Registries.ENCHANTMENT);
HolderGetter<Item> itemHolderGetter = context.lookup(Registries.ITEM);
HolderGetter<Block> blockHolderGetter = context.lookup(Registries.BLOCK);

register(
context,
FELLING,
Enchantment.enchantment(
Enchantment.definition(
itemHolderGetter.getOrThrow(ItemTags.AXES),
5,
3,
Enchantment.dynamicCost(1, 10),
Enchantment.dynamicCost(15, 10),
2,
EquipmentSlotGroup.MAINHAND
)
context,
FELLING_KEY,
Enchantment.enchantment(
Enchantment.definition(
itemHolderGetter.getOrThrow(ItemTags.AXES),
5,
3,
Enchantment.dynamicCost(1, 10),
Enchantment.dynamicCost(15, 10),
2,
EquipmentSlotGroup.MAINHAND
)
)
);
register(
context,
HARVEST,
Enchantment.enchantment(
Enchantment.definition(
itemHolderGetter.getOrThrow(ItemTags.HOES),
5,
3,
Enchantment.dynamicCost(1, 10),
Enchantment.dynamicCost(15, 10),
2,
EquipmentSlotGroup.MAINHAND
)
context,
HARVEST_KEY,
Enchantment.enchantment(
Enchantment.definition(
itemHolderGetter.getOrThrow(ItemTags.HOES),
5,
3,
Enchantment.dynamicCost(1, 10),
Enchantment.dynamicCost(15, 10),
2,
EquipmentSlotGroup.MAINHAND
)
)
);
register(
context,
BEHEADING,
Enchantment.enchantment(
Enchantment.definition(
itemHolderGetter.getOrThrow(ItemTags.SWORDS),
5,
3,
Enchantment.dynamicCost(1, 10),
Enchantment.dynamicCost(15, 10),
2,
EquipmentSlotGroup.MAINHAND
)
context,
BEHEADING_KEY,
Enchantment.enchantment(
Enchantment.definition(
itemHolderGetter.getOrThrow(ItemTags.SWORDS),
5,
3,
Enchantment.dynamicCost(1, 10),
Enchantment.dynamicCost(15, 10),
2,
EquipmentSlotGroup.MAINHAND
)
)
);

}

public static void register(BootstrapContext<Enchantment> context, ResourceKey<Enchantment> key, Enchantment.Builder builder) {
Expand Down
Loading

0 comments on commit 6764ec3

Please sign in to comment.