I would say the reason it’s not working is because the tile entity is destroyed before you can query it.
BlockSnapshot is an ImmutableDataHolder so it is possible to query for data that way, example:
trans.getOriginal().get(ImmutableSignData.class);
However it seems that doesn’t work when I tested it but I think that would be the correct way.
[17:14:33] [Server thread/ERROR] [Sponge/]: Could not pass ChangeBlockEvent$Break$Impl to Plugin{id=grave, name=Grave, version=0.1}
java.util.NoSuchElementException: No value present
at java.util.Optional.get(Unknown Source) ~[?:1.8.0_66]
at io.github.azatik.grave.events.EventChangeGrave.lambda$onChangeGrave$3(EventChangeGrave.java:84) ~[EventChangeGrave.class:?]
at java.util.Iterator.forEachRemaining(Unknown Source) ~[?:1.8.0_66]
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_66]
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source) ~[?:1.8.0_66]
at io.github.azatik.grave.events.EventChangeGrave.onChangeGrave(EventChangeGrave.java:59) ~[EventChangeGrave.class:?]
at org.spongepowered.common.event.listener.BreakListener_EventChangeGrave_onChangeGrave9.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:86) ~[RegisteredListener.class:1.8-1577-2.1-DEV-915]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:230) [SpongeModEventManager.class:1.8-1577-2.1-DEV-915]
at org.spongepowered.mod.event.SpongeModEventManager.postBulk(SpongeModEventManager.java:218) [SpongeModEventManager.class:1.8-1577-2.1-DEV-915]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:255) [SpongeModEventManager.class:1.8-1577-2.1-DEV-915]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:242) [SpongeModEventManager.class:1.8-1577-2.1-DEV-915]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:111) [SpongeImpl.class:1.8-1577-2.1-DEV-915]
at net.minecraft.world.World.handlePostTickCaptures(World.java:805) [aqu.class:?]
at net.minecraft.network.PacketThreadUtil$1.onProcessPacket(SourceFile:87) [ih.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [ih.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_66]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_66]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:656) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:364) [po.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_66]