03-03-2013, 12:59 PM
(03-03-2013, 06:31 AM)xoft Wrote: Sand simulator has been converted.
Also, I finally implemented that blocks falling on torches / rails etc. break into pickups. I even noticed that some blocks get overwritten by the falling block (sand falling on top of tall grass will remove the tall grass block), so that is implemented as well. Some blocks, such as half-slabs, cause all sand falling through them to convert into pickups, so I made sure that works, too.
It only needs some volunteer testers to test out all the possible combinations and if I forgot a combination, update the cSandSimulator functions:
Code:/// Returns true if a falling-able block can start falling through the specified block type
static bool CanStartFallingThrough(BLOCKTYPE a_BlockType);
/// Returns true if an already-falling block can pass through the specified block type (e. g. torch)
static bool CanContinueFallThrough(BLOCKTYPE a_BlockType);
/// Returns true if the falling block rematerializing will replace the specified block type (e. g. tall grass)
static bool IsReplacedOnRematerialization(BLOCKTYPE a_BlockType);
/// Returns true if the specified block breaks falling blocks while they fall through it (e. g. halfslabs)
static bool DoesBreakFallingThrough(BLOCKTYPE a_BlockType);
And wait, there's more! I even added an "InstantFall" mode, in which the simulator doesn't create the falling entities, but instead makes the sand fall immediately (just like it was in the old versions of MCServer). The point of this mode is to have less strain on a server if it is too burdened.
Now I've gotta document all the new parameters in the wiki...
Done.
That means I've run out of simulators to rewrite I'm not rewriting the ClassicFluidSimulator, that one's gonna go very soon, so there's only redstone left. Since Keyboard seems to have started working on mob AI, I guess I'll try converting the redstone simulator.
Oh ok, cool. Yeah, I'm working on the mob AI