Commit graph

360 commits

Author SHA1 Message Date
Rseifert
135e20f453 Merged pathfinder into one class
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.
2013-04-08 13:27:44 -04:00
Rseifert
8bc375b0ee change fill area to be limited
both drain and fill area will share a max edit limit per second. Current
its 30 blocks a second but a config later will allow this to be changed.
2013-04-07 22:15:29 -04:00
Rseifert
f491e6f599 forgot to reset yFillStart if A* results <= 0 2013-04-07 22:12:35 -04:00
Rseifert
0211f961c1 Added A* Path finder for Fill Area
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.
2013-04-07 22:11:46 -04:00
Rseifert
a5281b9a12 pre added ideal for teleporting liquid pipes
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.
2013-04-07 22:10:32 -04:00
Rseifert
cd91595423 Fixed pump sides 2013-04-07 22:09:03 -04:00
Rseifert
7967909aa0 Cleanup of drain code
rewrote pathfinder as well so not to need the second path finder to find
highest block. Instead it  works its way up first, then to everywhere
else.
2013-04-07 21:36:37 -04:00
Rseifert
dc5d67a22d Creating some Liquid/Gas prefabs
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.
2013-04-07 21:08:53 -04:00
Rseifert
b63526ddaf Fixed up drain fill world
Made the path finder work better and stop filling block out of range of
the water it was filling in.
2013-04-07 21:07:06 -04:00
Rseifert
e02f404d55 fixed rotation and add sudo textures
these textures are temp and for mostly testing. I will add models later
for these two blocks.
2013-04-07 09:00:47 -04:00
Rseifert
5d8af57115 Drain fill area mostly done
A ton of testing is need for this to confirm that it works. However, for
now its done enough to place in a release.
2013-04-07 08:21:09 -04:00
Rseifert
3063368d31 Adding fill world handling for drain
doesn't work at all but the ideal is there at least
2013-04-07 04:54:44 -04:00
Rseifert
66a1502bf4 Pump works \0/
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
2013-04-07 03:52:08 -04:00
Rseifert
6939d3ca6f got pathfinder simi functional
not sure what i f'd up between this and my test build repo. What ever
happened it works for water now and not for lava.
2013-04-07 02:56:41 -04:00
Rseifert
7154161a5d added textures too sides of block for testing
also added wrench support in the process though its basic
2013-04-06 23:38:37 -04:00
Rseifert
a5b1081c4b setup blocks for pump&drain
As well worked on the basic functionality of the machines. Not exactly
sure what was changed as i coded these 4 hours ago and am just now
uploading.
2013-04-06 23:04:13 -04:00
Robert WC Seifert
0bfdadfd52 Merge pull request #9 from calclavia/patch-1
Added MCVERSION for Jenkins
2013-04-06 17:20:31 -07:00
Henry Mao
9c5df95655 Added MCVERSION for Jenkins 2013-04-06 15:33:52 +08:00
Rseifert
e69c046ad4 Last min additions
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
2013-04-04 01:46:49 -04:00
Rseifert
21e340dd9d Finished up pump and drain tile code
Need to finish the blocks which i'll do later. As well i still need to
set the forgeDirection for input output for both tiles.
2013-04-04 01:25:44 -04:00
Rseifert
4ef06dc48a added construction pump
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).
2013-04-04 00:27:46 -04:00
Rseifert
c99bdb1e4e Clean up of unneeded files 2013-04-04 00:25:25 -04:00
Rseifert
33866aafff Changed canConnect to canPipeConnect 2013-04-03 22:35:42 -04:00
Rseifert
2eb5d04c85 updated to 1.5.1 2013-04-03 22:28:20 -04:00
Rseifert
a15208b618 Move pipe render files to there one package 2013-04-02 17:26:06 -04:00
Rseifert
a934bb4ad2 Mass Import cleanup 2013-04-02 14:00:03 -04:00
Rseifert
67454a0a29 Worked out client side rendering for addons
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.
2013-04-02 13:52:44 -04:00
Rseifert
da813ace2d still more work on getting the addon working client
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.
2013-04-02 03:06:30 -04:00
Rseifert
2270d67495 add modstats api 2013-04-02 03:05:10 -04:00
Rseifert
9e032eddd4 more of the last 2013-04-02 01:42:53 -04:00
Rseifert
c4f9bb386f more work on pipe addons 2013-04-02 00:51:34 -04:00
Rseifert
0ae6eb5283 worked on pipe addon's packet handling
Its really hard to test this code at the moment but it should be mostly
done.
2013-04-02 00:05:00 -04:00
Rseifert
dc40ad0eef simi finished load/save for 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
2013-04-01 23:07:54 -04:00
Rseifert
1e464d4b41 added packet and tick update for pipe addons
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.
2013-04-01 16:35:31 -04:00
Rseifert
b0f4273a92 working on pipe addons
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.
2013-03-31 23:53:01 -04:00
Rseifert
b3fa60ad63 bug fixes
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.
2013-03-31 03:37:58 -04:00
Rseifert
81717a4acc Fixed fill/drain bug with tanks
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.
2013-03-31 03:24:24 -04:00
Rseifert
5af51d85dc cleanup + possible bug fixes 2013-03-31 03:12:41 -04:00
Rseifert
557d3f1ea8 version bump
needed bumped since the changes are major
2013-03-31 02:32:53 -04:00
Rseifert
f716ff4320 Fixed NPE when pump has no fill target 2013-03-31 02:31:35 -04:00
Rseifert
83eb1f75a5 Cleanup 2013-03-31 02:31:06 -04:00
Rseifert
9bd0dfee26 Removed Liquid Data + Cleanup
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
2013-03-31 02:16:29 -04:00
Rseifert
6d65e5d242 Cleanup + prefab changes
Cleaned up and changed a few classes after i added the prefabs. The tank
and sink now use the FluidStorage prefab to make them easier to read.
Sink basicly went down to packet code. Tank will do the same later after
i add in Code to turn it into a fluid network of its own. Also toyed
with release valve but nothing major changed
2013-03-31 01:33:11 -04:00
Rseifert
e63ef2859b Deprecating unkown liquid type
This was a cool idea to prevent NPE errors in the api however its
leading to other issues. This could be with how i was using it but it
just needs too go.
2013-03-31 01:30:58 -04:00
Rseifert
9600d77a40 add prefabs
tbh at this point it looks like i'm just copying UE. However, UE is
formatted nice and i want people to be able to navigate my system just
as easy.
2013-03-31 01:29:57 -04:00
Rseifert
2cc44b1d26 Build # 32 2013-03-30 03:22:31 -04:00
Rseifert
8b4bdfb276 fixed an issue with the pump filling network
not sure the cause but its fixed now. Also fixed a NPE with some debug
code but that is not important.
2013-03-30 03:08:18 -04:00
Rseifert
6b72ce462b Fixed save/loading liquid in a network
Got it for sure this time though it looks like i need to fix the
autoDrain method some more. As well prevent the fill method from trying
to refill the source of the liquid.
2013-03-30 02:27:42 -04:00
Rseifert
5a2034015a Added autoDrain && Fixed network saving
Pipes on each connection update should try to drain liquid from there
connected sources. I'll improve this later to limit the network from
getting surged all at once.

Also fixed, i think, the network saving its stored liquid to all
connected parts that can stored liquid. There still might be a bit of a
lose but i'll fix that later
2013-03-30 01:31:23 -04:00
Rseifert
7488a448f0 Made my own path finder checker
It worked without this but just too be safe i copied and changed the one
i was using from UE.
2013-03-30 00:21:33 -04:00