package ljfa.glassshards.handlers;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemTool;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class BreakSpeedHandler {
@SubscribeEvent
public void onBreakSpeed(PlayerEvent.BreakSpeed event) {
Block block = event.getState().getBlock();
if(event.getState().getMaterial() == Material.GLASS && block.getHarvestTool(event.getState()) == null) {
ItemStack stack = event.getEntityPlayer().getHeldItemMainhand();
if(stack == null)
return;
Item tool = stack.getItem();
if(tool instanceof ItemTool && tool.getHarvestLevel(stack, "pickaxe", event.getEntityPlayer(), event.getState()) >= 0) {
float factor = 0.35f * ((ItemTool)tool).getToolMaterial().getEfficiencyOnProperMaterial();
int efficiency = EnchantmentHelper.getEfficiencyModifier(event.getEntityPlayer());
if(efficiency > 0)
factor *= 1.0f + 0.15f * efficiency*efficiency;
if(factor > 1.0f)
event.setNewSpeed(factor * event.getOriginalSpeed());
}
}
}
}