Skip to content

Commit

Permalink
紫水晶工具在合成后添加附魔
Browse files Browse the repository at this point in the history
  • Loading branch information
DancingSnow0517 committed Sep 30, 2024
1 parent 7256a54 commit 0e0c559
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 28 deletions.
15 changes: 8 additions & 7 deletions src/main/java/dev/dubhe/anvilcraft/item/AmethystAxeItem.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
package dev.dubhe.anvilcraft.item;

import dev.dubhe.anvilcraft.init.ModEnchantments;
import net.minecraft.core.component.DataComponents;
import net.minecraft.world.item.AxeItem;
import net.minecraft.world.item.ItemStack;

import org.jetbrains.annotations.NotNull;
import net.minecraft.world.item.enchantment.ItemEnchantments;
import net.minecraft.world.level.Level;

public class AmethystAxeItem extends AxeItem {
/**
*
*/
public AmethystAxeItem(Properties properties) {
super(ModTiers.AMETHYST, properties.attributes(AxeItem.createAttributes(ModTiers.AMETHYST, 7, -3.2f)));
}

@Override
public @NotNull ItemStack getDefaultInstance() {
ItemStack stack = super.getDefaultInstance();
return stack;
public void onCraftedPostProcess(ItemStack stack, Level level) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(ItemEnchantments.EMPTY);
enchantments.set(level.registryAccess().holderOrThrow(ModEnchantments.FELLING_KEY), 1);
stack.set(DataComponents.ENCHANTMENTS, enchantments.toImmutable());
}
}
14 changes: 8 additions & 6 deletions src/main/java/dev/dubhe/anvilcraft/item/AmethystHoeItem.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
package dev.dubhe.anvilcraft.item;

import dev.dubhe.anvilcraft.init.ModEnchantments;
import net.minecraft.core.component.DataComponents;
import net.minecraft.world.item.AxeItem;
import net.minecraft.world.item.HoeItem;
import net.minecraft.world.item.ItemStack;

import net.minecraft.world.item.enchantment.ItemEnchantments;
import net.minecraft.world.level.Level;
import org.jetbrains.annotations.NotNull;

public class AmethystHoeItem extends HoeItem {
/**
*
*/
public AmethystHoeItem(Properties properties) {
super(ModTiers.AMETHYST, properties.attributes(AxeItem.createAttributes(ModTiers.AMETHYST, -1, -2.0f)));
}

@Override
public @NotNull ItemStack getDefaultInstance() {
ItemStack stack = super.getDefaultInstance();
return stack;
public void onCraftedPostProcess(ItemStack stack, Level level) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(ItemEnchantments.EMPTY);
enchantments.set(level.registryAccess().holderOrThrow(ModEnchantments.HARVEST_KEY), 1);
stack.set(DataComponents.ENCHANTMENTS, enchantments.toImmutable());
}
}
15 changes: 12 additions & 3 deletions src/main/java/dev/dubhe/anvilcraft/item/AmethystPickaxeItem.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
package dev.dubhe.anvilcraft.item;

import dev.dubhe.anvilcraft.init.ModEnchantments;
import net.minecraft.ChatFormatting;
import net.minecraft.MethodsReturnNonnullByDefault;
import net.minecraft.core.component.DataComponents;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.AxeItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraft.world.item.enchantment.ItemEnchantments;
import net.minecraft.world.level.Level;

import java.util.List;

Expand All @@ -16,9 +21,6 @@
@MethodsReturnNonnullByDefault
public class AmethystPickaxeItem extends PickaxeItem {
public AmethystPickaxeItem(Properties properties) {
/**
*
*/
super(ModTiers.AMETHYST, properties.attributes(AxeItem.createAttributes(ModTiers.AMETHYST, 1, -2.8f)));
}

Expand All @@ -29,4 +31,11 @@ public void appendHoverText(
pTooltipComponents.add(Component.translatable("item.anvilcraft.amethyst_pickaxe.tooltip")
.withStyle(ChatFormatting.GRAY));
}

@Override
public void onCraftedPostProcess(ItemStack stack, Level level) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(ItemEnchantments.EMPTY);
enchantments.set(level.registryAccess().holderOrThrow(Enchantments.FORTUNE), 3);
stack.set(DataComponents.ENCHANTMENTS, enchantments.toImmutable());
}
}
15 changes: 9 additions & 6 deletions src/main/java/dev/dubhe/anvilcraft/item/AmethystShovelItem.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
package dev.dubhe.anvilcraft.item;

import dev.dubhe.anvilcraft.init.ModEnchantments;
import net.minecraft.core.component.DataComponents;
import net.minecraft.world.item.AxeItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ShovelItem;

import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraft.world.item.enchantment.ItemEnchantments;
import net.minecraft.world.level.Level;
import org.jetbrains.annotations.NotNull;

public class AmethystShovelItem extends ShovelItem {
/**
*
*/
public AmethystShovelItem(Properties properties) {
super(ModTiers.AMETHYST, properties.attributes(AxeItem.createAttributes(ModTiers.AMETHYST, 1.5f, -3.0f)));
}

@Override
public @NotNull ItemStack getDefaultInstance() {
ItemStack stack = super.getDefaultInstance();
return stack;
public void onCraftedPostProcess(ItemStack stack, Level level) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(ItemEnchantments.EMPTY);
enchantments.set(level.registryAccess().holderOrThrow(Enchantments.EFFICIENCY), 3);
stack.set(DataComponents.ENCHANTMENTS, enchantments.toImmutable());
}
}
14 changes: 8 additions & 6 deletions src/main/java/dev/dubhe/anvilcraft/item/AmethystSwordItem.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
package dev.dubhe.anvilcraft.item;

import dev.dubhe.anvilcraft.init.ModEnchantments;
import net.minecraft.core.component.DataComponents;
import net.minecraft.world.item.AxeItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.SwordItem;

import net.minecraft.world.item.enchantment.ItemEnchantments;
import net.minecraft.world.level.Level;
import org.jetbrains.annotations.NotNull;

public class AmethystSwordItem extends SwordItem {
/**
*
*/
public AmethystSwordItem(Properties properties) {
super(ModTiers.AMETHYST, properties.attributes(AxeItem.createAttributes(ModTiers.AMETHYST, 3, -2.4f)));
}

@Override
public @NotNull ItemStack getDefaultInstance() {
ItemStack stack = super.getDefaultInstance();
return stack;
public void onCraftedPostProcess(ItemStack stack, Level level) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(ItemEnchantments.EMPTY);
enchantments.set(level.registryAccess().holderOrThrow(ModEnchantments.BEHEADING_KEY), 1);
stack.set(DataComponents.ENCHANTMENTS, enchantments.toImmutable());
}
}

0 comments on commit 0e0c559

Please sign in to comment.