superb-warfare/src/main/java/com/atsuishio/superbwarfare/item/Crowbar.java
2024-11-26 22:52:05 +08:00

76 lines
2.4 KiB
Java

package com.atsuishio.superbwarfare.item;
import com.atsuishio.superbwarfare.init.ModBlocks;
import com.atsuishio.superbwarfare.init.ModItems;
import net.minecraft.core.BlockPos;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.Tier;
import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.items.ItemHandlerHelper;
public class Crowbar extends SwordItem {
public Crowbar() {
super(new Tier() {
public int getUses() {
return 400;
}
public float getSpeed() {
return 4f;
}
public float getAttackDamageBonus() {
return 3.5f;
}
public int getLevel() {
return 1;
}
public int getEnchantmentValue() {
return 9;
}
public Ingredient getRepairIngredient() {
return Ingredient.of(new ItemStack(Items.IRON_INGOT));
}
}, 2, -2f, new Properties());
}
@Override
public boolean hasCraftingRemainingItem(ItemStack stack) {
return true;
}
@Override
public ItemStack getCraftingRemainingItem(ItemStack itemstack) {
ItemStack retval = new ItemStack(this);
retval.setDamageValue(itemstack.getDamageValue() + 1);
if (retval.getDamageValue() >= retval.getMaxDamage()) {
return ItemStack.EMPTY;
}
return retval;
}
@Override
public boolean isRepairable(ItemStack itemstack) {
return true;
}
@Override
public InteractionResult useOn(UseOnContext context) {
super.useOn(context);
if ((context.getLevel().getBlockState(BlockPos.containing(context.getClickedPos().getX(), context.getClickedPos().getY(), context.getClickedPos().getZ()))).getBlock() == ModBlocks.JUMP_PAD.get()) {
context.getLevel().setBlock(BlockPos.containing(context.getClickedPos().getX(), context.getClickedPos().getY(), context.getClickedPos().getZ()), Blocks.AIR.defaultBlockState(), 3);
ItemHandlerHelper.giveItemToPlayer(context.getPlayer(), new ItemStack(ModItems.JUMP_PAD.get()));
}
return InteractionResult.SUCCESS;
}
}