I was browsing the bukkit fourms and came across this, so LWC may have an update that makes it fail not as hard.
http://forums.bukkit.org/threads/mech-minecart-mania-1-2-700-818.388/page-282
@Afforess @ArmEagle
I'm assuming this is actually related to http://leaky.bukkit.org/issues/656 , which I just found out about tonight while tracking to track down an issue in LWC. @Hidendra was able to push a workaround to get LWC working again despite this Bukkit bug, but when I saw the 656 issue I thought of this discussion here. The heart of the issue is that Bukkit returns different values for getBlockTypeIdAt() and getBlockAt(). So one might be returning a Sign while the other is just returning Air.
My "fix" just double-checks that what it got from getBlockAt() is the same as what getBlockTypeIdAt() reported, so effectively works around the Bukkit issue until it's fixed. In truth, since getBlockTypeIdAt() seems to be the more accurate call, this probably means some signs get "skipped" with my changes, but I much prefer that to my server crashing.
http://forums.bukkit.org/threads/mech-minecart-mania-1-2-700-818.388/page-282
@Afforess @ArmEagle
I'm assuming this is actually related to http://leaky.bukkit.org/issues/656 , which I just found out about tonight while tracking to track down an issue in LWC. @Hidendra was able to push a workaround to get LWC working again despite this Bukkit bug, but when I saw the 656 issue I thought of this discussion here. The heart of the issue is that Bukkit returns different values for getBlockTypeIdAt() and getBlockAt(). So one might be returning a Sign while the other is just returning Air.
My "fix" just double-checks that what it got from getBlockAt() is the same as what getBlockTypeIdAt() reported, so effectively works around the Bukkit issue until it's fixed. In truth, since getBlockTypeIdAt() seems to be the more accurate call, this probably means some signs get "skipped" with my changes, but I much prefer that to my server crashing.