Yes. The glitch seems to be caused by player pushing horse. It's intended for horse to bump against obsidian, but collision check doesn't work. Why is that?
There's no reason to spread fire from nether rack. You could just make extra check BEFORE trying to spread: needs it to. It will also make fire dissapating a bit easier.
Seems like block updates should force liquids to go in stationary state. Random ticks shouldn't influence liquid flowing speed, so it won't affect cobblestone generators. In this example liquid will go back in flowing state, hopefully restarting the timer.
From all comments I noticed this is both client-side and server-side issue. When removing light source at underground, it would lag more than if you remove it at surface during daytime. More checks needed about light updates client-side and server-side.
I think it is ca used by inconsistency of block updates. In very specific locations block updates doesn't work properly. If you want to confirm this, then place piston where lava left unupdated and power it.
If it's intended for liquid DISSAPATING, then you can change code like this: don't generate water when ticked, remove it instand when needed.
What may happen if random tick updates piston?
I think you've missed extra check; you need to check if player can fit in.
Did you ever intended to mention redstone components in spawn code?
If yes, than you need to check if it ACCUALY provides signal, not if it CAN.
If no, than simply remove the check.
I think that this is caused by 2 thins.
The first is that the extended piston base is non-solid top.
The second is that when the piston retracting it turns into block 36.
Fixing that isn't simple. You need to keep the base extended, but still create tile entity like if it was block 36. Once it's timer expires, you make base retracted.
i've torn touchscrn mode off it helps
Nicklaus Ekstrand is right, I think. But there is my solution:
1) Cache the coordinates of destination portal as long as chunk is loaded. This will already resolve laggy portal issues.
2) Search for nether portal blocks in order of distance. This can be made by first looking in chunk where estimated point is and loading more chunks if needed. This will lower initial lag.
3) Clear cache of neighbor portals at destination dimension when new portal is created/destroyed at source dimension. This will resolve leftover issues.