mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
58 lines
1.6 KiB
Java
58 lines
1.6 KiB
Java
package com.hbm.items.tool;
|
|
|
|
import com.google.common.collect.Multimap;
|
|
import com.hbm.items.ModItems;
|
|
|
|
import api.hbm.block.IToolable.ToolType;
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
import net.minecraft.entity.SharedMonsterAttributes;
|
|
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.Vec3;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ItemToolingWeapon extends ItemTooling {
|
|
|
|
protected float damage = 0;
|
|
|
|
public ItemToolingWeapon(ToolType type, int durability, float damage) {
|
|
super(type, durability);
|
|
this.damage = damage;
|
|
}
|
|
|
|
@Override
|
|
public boolean hitEntity(ItemStack stack, EntityLivingBase entity, EntityLivingBase player) {
|
|
|
|
World world = player.worldObj;
|
|
|
|
if(this == ModItems.wrench) {
|
|
|
|
Vec3 vec = player.getLookVec();
|
|
|
|
double dX = vec.xCoord * 0.5;
|
|
double dY = vec.yCoord * 0.5;
|
|
double dZ = vec.zCoord * 0.5;
|
|
|
|
entity.motionX += dX;
|
|
entity.motionY += dY;
|
|
entity.motionZ += dZ;
|
|
world.playSoundAtEntity(entity, "random.anvil_land", 3.0F, 0.75F);
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public Multimap getAttributeModifiers(ItemStack stack) {
|
|
|
|
Multimap multimap = super.getAttributeModifiers(stack);
|
|
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Weapon modifier", damage, 0));
|
|
|
|
if(this == ModItems.wrench) {
|
|
multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Wrench modifier", -0.1, 1));
|
|
}
|
|
|
|
return multimap;
|
|
}
|
|
}
|