package io.gitlab.jfronny.combit.mixin; import com.google.common.collect.ImmutableMultimap; import io.gitlab.jfronny.combit.Combit; import io.gitlab.jfronny.combit.MiningToolItemExt; import io.gitlab.jfronny.combit.config.AttackDelay; import net.minecraft.block.Block; import net.minecraft.entity.attribute.EntityAttribute; import net.minecraft.entity.attribute.EntityAttributeModifier; import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.item.*; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.ModifyArg; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.util.Set; @Mixin(AxeItem.class) public class AxeItemMixin { @Inject(at = @At("RETURN"), method = "(Lnet/minecraft/item/ToolMaterial;FFLnet/minecraft/item/Item$Settings;)V") private void afterInit(ToolMaterial material, float attackDamage, float attackSpeed, Item.Settings settings, CallbackInfo info) { MiningToolItemExt t = (MiningToolItemExt)this; float damage2 = t.getDamage() * Combit.getCfg().attackDelay.axeAttackDamageFactor; //hard-coded values if (material == ToolMaterials.WOOD || material == ToolMaterials.GOLD) damage2 = 2; else if (material == ToolMaterials.STONE) damage2 = 3; else if (material == ToolMaterials.IRON) damage2 = 4; else if (material == ToolMaterials.DIAMOND) damage2 = 5; else if (material == ToolMaterials.NETHERITE) damage2 = 6; AttackDelay attackDelay = Combit.getCfg().attackDelay; if (attackDelay.enable && attackDelay.axeAttackDamageFactor >= 0) { t.setDamage(damage2); } } }