Tested and it looks like it works as well though i have to give
aidancbrandy(IDK github name) some credit for giving me the ideal
earlier to remove non-source Fluid Block each update. It will the
collection sorter lets the drain method over power water's ability to
refill the area.
This should if done correctly place the closest and lowest Y fill-able
blocks at the top of the list so they get fill first. So far in testing
it looked like it worked as the water bubble created expanded evenly
outward instead of more in one direction.
can't recall all the work i've done since last commit. However, i've
test and improve the path finder and how its used by the drain. It now
works 100% but need more improvement. Especial the draining part as
source will keep refilling if not drained right
This path finder no longer depends on Calc's PathFinder to function.
however it is derived from his work so he still gets credit.
The new pathfinder works about the same as calc's except instead of
trying to find a path its trying to find all resources along the path. I
still need to improve this to have a dumped down version of A* so that
i'm filling the closest blocks first and draining the furthest block
first.
This should? Fix the issue with the drain trying to fill outside of the
possible path bounds. What is is doing is finding a bath from the drain
to the next Y level change. If it fails to find a path the yFillStart
doesn't increase to the next level.
the idea is to have the pipe act like a normal pipe but connected to
another pipe and merge its network with the current pipe's network. This
way no real extra code is required as the two split networks will act as
one.
Just a quick Ideal for creating new Gases or Liquid block on the fly.
Gases will behave like grass and will spread from there source location.
Over time they will decay and vanish.
Well i still need to check using other liquids than water
Also need to recode to actual put the water somewhere else
Need to make models, and textures
A Gui for the pump to select liquid to pump and set the volume
Added path finder to get highest water source block with in 10K block
process
Added Vars for max drain for drain and pump. Pump will have a gui
setting for this later and drain a config option
Added PatherFinder for finding highest block of an ID
working on rewriting this from scratch based off of a demo pump i've
been working of out of project. The demo pump was limited though it
functioned very well.
This new pump will be designed to drain lakes, and even oceans if the
area can stay loaded. As well it works like the redpower one and will
drain water threw a drain rather than an actual block pump. The pump
will request the drain to find it liquid and fill the pump(Not how it
works in real life but best way to simulate it).
I was doing it wrong just to be short. Long story though when calling
for the addon to render you can't do any of the normal GL11 call for
changing the location, scale, etc., or at least not the way i was doing
it. Only thing the addon creator should need to do is call for the part
of the model to render connected to the pipe core.
Still haven't got the pipe addons to work client side. I think it has
something to do with a packet handling issue but i can't tell yet. As
well some method are not getting called right in the sub tiles.
Has not been tested yet so most likely i will need to make more changes
to this code to prevent error.
Also i added some packet code to update the client with the new
TileEntities
Added Tick updating to the pipe addons
Added packet sending for the pipe addons though reading packets still
needs to be done
Added IPipeExtentionRender interface so the pipe render can render the
pipe addon on one of its sides.
A pipe addon will be a sub Tile that will attach itself to one of the
faces of a pipe. Then the pipe will store, and update this tile as if it
was a real TileEntity.
Fixed pump pumping flowing sources, next step is to make a lava pump
Fixed connection issue with tanks and pipes. Not sure what the cause was
but i remove some code i added to the prefab fluidStorage class just to
be safe.
spent an hour looking for that bug and it turned out to be a missing !
(FacePalm). Though it did lead me to correct a missing ForgeDirection in
the on block activated code.
Go rid of LiquidData.class. Had my reasons for its use to store
pressure, name, colorcode, etc. However, the new system doesn't need it
and there are other ways to store the data i need. As well i no longer
need to store the string name as LiquidDictionary can get the name for
me