if your using a straight copy of arrow, make sure your changing the specific factors that relate to your mod. The advice i can offer ou is to compare yours to the arrow, and see where its going wrong. the problem may be arrow texture, or how the entity spawns (possibly behind the target) you can test if it is by shooting at a block to see where the arrow ends up
Seems to be a problem with how you may have declared the obsidian as a material. then the enchant class isn't recognizing it as a material so it can't enchant to it
i'd recommend not using a custom item material for now, and let it be treated as gold iron diamond etc. I honestly don't know how to add enchanting compatibility to custom blocks, it's probably something within the material file.
^works too, but it's easier with the code i supplied. Basically, yes this can be enchanted. what can be enchanted onto it is already determined by the item type. either weapon or tool etc. Your doing work minecraft already does. (code supplied is tested)
public int getItemEnchantability()
{
return 1;
}
in case you missed it from my spam