You didn't rename the datablock.
Lines that say new Datablock(Arrow____) should be something like new Datablock(PlethArrow) .
um I just said that? also you should always make your datablocks named correctly like PlethArrowProjectile, you don't want them to not have the correct suffix or you could risk datablocks overwriting eachother