C# is 99.5% the same as Java (syntax wise)
Forge 1.13 just came it yesterday, and it changed everything, it’s a complete rewrite of everything to do with modding. I haven’t updated my Modding skeleton to it yet, but the 1.12.2 version of it exists at https://github.com/Cadiboo/Example-Mod. I’m going to be doing some 1.13 tutorials which you’ll be able to find at https://cadiboo.github.io/tutorials/.
Tile entities are completely different from entities. You can get a list of tile entires 2 ways
1) iterate over all the positions a tile entity could be at (great for small radiuss)
2) get all the tiles in a chunk
Subscribe to a TickEvent
Only run your check when world.getTotalTime() % cooldown == 0
Create & register your keybind statically, then use the client tick event to check if yourKeyBind.isPressed()