尝试修复大锤复制bug

This commit is contained in:
17146 2025-02-04 02:10:36 +08:00
parent 553410f276
commit eb8c23c28c

View file

@ -1,9 +1,15 @@
package com.atsuishio.superbwarfare.item; package com.atsuishio.superbwarfare.item;
import com.atsuishio.superbwarfare.init.ModItems;
import net.minecraft.world.item.*; import net.minecraft.world.item.*;
import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Ingredient;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE)
public class Hammer extends SwordItem { public class Hammer extends SwordItem {
public Hammer() { public Hammer() {
super(new Tier() { super(new Tier() {
public int getUses() { public int getUses() {
@ -39,12 +45,12 @@ public class Hammer extends SwordItem {
@Override @Override
public ItemStack getCraftingRemainingItem(ItemStack itemstack) { public ItemStack getCraftingRemainingItem(ItemStack itemstack) {
ItemStack retval = new ItemStack(this); ItemStack stack = new ItemStack(this);
retval.setDamageValue(itemstack.getDamageValue() + 1); stack.setDamageValue(itemstack.getDamageValue() + 1);
if (retval.getDamageValue() >= retval.getMaxDamage()) { if (stack.getDamageValue() >= stack.getMaxDamage()) {
return ItemStack.EMPTY; return ItemStack.EMPTY;
} }
return retval; return stack;
} }
@Override @Override
@ -52,4 +58,23 @@ public class Hammer extends SwordItem {
return true; return true;
} }
@SubscribeEvent
public static void onItemCrafted(PlayerEvent.ItemCraftedEvent event) {
var item = event.getCrafting();
var container = event.getInventory();
var player = event.getEntity();
if (player == null) return;
if (player.level().isClientSide) return;
if (item.is(ModItems.HAMMER.get())) {
int count = 0;
for (int i = 0; i < container.getContainerSize(); i++) {
if (container.getItem(i).is(ModItems.HAMMER.get())) count++;
}
if (count == 2) {
container.clearContent();
}
}
}
} }