Commit graph

2133 commits

Author SHA1 Message Date
CovertJaguar
7ee74d56a1 First Iteration of Gate Rewrite
GateKind enum is gone, replaced with two enums: GateMaterial and
GateLogic.

Pulsars and Timers are abstracted into GateExpansions that can be
applied to "upgrade" a gate. (Incomplete)

GateExpansions will eventually be moved to the API so that other can
define new expansions easily.

GateExpansions are not currently serialized or synced to the client.
This remains to be done.

Legacy migration support is included, but untested.

Currently only the base logic texture layer (white/black) are being
rendered. Eventually the material and expansions will each render an
additional texture layer onto the gate.
2013-12-05 13:38:00 -08:00
CovertJaguar
f41cc82eca Allow water springs to be disable independently of everything else 2013-12-05 09:56:03 -08:00
CovertJaguar
d443f279a6 Merge branch 'master' of https://github.com/BuildCraft/BuildCraft 2013-12-03 15:48:28 -08:00
CovertJaguar
03acd96b2b Version 4.2.1 2013-12-03 15:47:57 -08:00
CovertJaguar
5f9e171de9 Merge pull request #1353 from ItsMeElConquistador/marmot
Added colorRenderCache to refinery filter slots
2013-12-03 00:13:43 -08:00
CovertJaguar
1acf4ba5b5 Cache Traveling Items
There existed a race condition where either the client could pass an
item from one pipe to another (with intact ItemStack NBT data) or a
packet could arrive from the server to inject the item into the pipe
(without NBT data). This resulted in incorrect Icons being occasionally
displayed for a moment for Items that use NBT to determine the Icon
(Forestry Bees/Trees).

To eliminate this race condition, all Traveling Items are now cached
(weakly) and ItemStacks are no longer sent as part of the Traveler
Packet. The client must instead request the ItemStack from the server.
The bonus being that the ItemStack (NBT and all) needs only be requested
when it first enters the network.

This also has the affect of further reducing bandwidth usage by Item
pipes, though it should be noted that Item pipes where already the least
bandwidth intensive pipe.

Additionally I rewrote the Item Grouping code. I'd never looked at it
before, but I figured I should make sure it properly maintains the pipe
state after grouping. What I found was 200 lines of wtf code that was
horribly outdated and broken. I replaced it with 20 lines of code that
are less dependent on implementation details of how pipes work. -.-
2013-12-02 17:45:08 -08:00
ElConquistador
76c35e28af Added colorRenderCache to refinery filter slots 2013-12-02 21:09:22 +01:00
CovertJaguar
4b80435f3d Merge Timer into Marmot 2013-12-01 22:27:42 -08:00
CovertJaguar
a6a4d46b29 Merge branch 'master' into marmot 2013-12-01 22:21:38 -08:00
CovertJaguar
802f63e858 Merge pull request #1351 from ItsMeElConquistador/master
Combustion Engine also now uses the colorRenderCache. Closes #1333
2013-12-01 22:19:00 -08:00
CovertJaguar
c802c45c93 Random Pipe API musings 2013-12-01 22:15:03 -08:00
CovertJaguar
cc0298ce5b Clean up Recipe API 2013-12-01 21:57:31 -08:00
ElConquistador
3776286e2e Combustion Engine also now uses the colorRenderCache 2013-12-01 19:48:08 +01:00
CovertJaguar
09ef987875 Merge pull request #1349 from ItsMeElConquistador/master
Added a fluid color render cache to pipes
2013-12-01 06:05:26 -08:00
ElConquistador
fb52387094 Added colorRenderCache to Tank and Refinery 2013-12-01 08:18:19 +01:00
ElConquistador
4a0d2d2478 Merge remote-tracking branch 'upstream/master' 2013-12-01 07:40:08 +01:00
CovertJaguar
b9b2f1a238 Add some API failsafes 2013-11-30 14:08:38 -08:00
CovertJaguar
1f65388c80 Another perf tweak 2013-11-30 13:57:25 -08:00
ElConquistador
5aab6ecf88 Merge remote-tracking branch 'upstream/master' 2013-11-30 18:20:03 +01:00
CovertJaguar
0dd0c6c885 Various minor performance tweaks 2013-11-30 08:49:10 -08:00
ElConquistador
6c770a90a1 Added a fluid color render cache so fluids that use colors will get properly renderered in pipes 2013-11-30 17:14:43 +01:00
Flow86
797aef5082 Merge pull request #1348 from SandGrainOne/master
Corrected method names in gold and void pipe.
2013-11-30 05:57:20 -08:00
SandGrainOne
ae67ae3a2c Corrected method names in gold and void pipe. 2013-11-30 13:41:49 +01:00
CovertJaguar
5dd82d7a95 Don't render fluid in disconnected pipes 2013-11-29 19:32:45 -08:00
CovertJaguar
0cbc63e919 Version 4.2.0 2013-11-29 17:08:49 -08:00
CovertJaguar
6d79989435 Changelog for 4.2.0 2013-11-29 12:11:38 -08:00
CovertJaguar
de8f738412 Merge branch 'ganymedes01-master
Closes #1345
2013-11-29 07:02:05 -08:00
ganymedes01
17e7cb9a11 Fix for Gates with ItemStacks with NBT data
Closes #1344
2013-11-29 06:56:52 -08:00
CovertJaguar
8fb3197276 Allow placement of Facades over Plugs 2013-11-29 06:50:07 -08:00
taelnia
3c51073653 Add call to onInventoryChanged to extraction pipes 2013-11-29 06:50:06 -08:00
CovertJaguar
1527c313cd Allow placement of Facades over Plugs 2013-11-28 03:03:37 -08:00
CovertJaguar
229063500b Merge pull request #1343 from taelnia/master
Add call to onInventoryChanged to extraction pipes
2013-11-27 06:47:08 -08:00
CovertJaguar
38a6c81ab3 Pipe Block shouldn't appear in creative 2013-11-27 06:21:53 -08:00
CovertJaguar
ff227f9de9 Fix texture fighting on tank bottom 2013-11-27 06:21:52 -08:00
taelnia
029c448712 Add call to onInventoryChanged to extraction pipes 2013-11-27 00:29:55 -05:00
Yopu
25ee549253 Added quartz gates and chipsets.
Quartz gates act like gold gates with 2 exceptions:
They can connect to all pipe wire types.
There are 3 additional gate triggers that function as timers.

The timers have a short, medium, and long mode which can be set via config.
2013-11-25 20:29:36 -05:00
CovertJaguar
d9980fe99c Merge pull request #1336 from viliml/patch-1
Add possible simpler way to send IMC facade requests
2013-11-25 17:26:39 -08:00
CovertJaguar
6b8ec69b37 Store owner information in the Tile 2013-11-25 12:44:01 -08:00
CovertJaguar
5c10517acb Merge branch 'emzuli' 2013-11-25 12:27:32 -08:00
CovertJaguar
1b2f2ae730 Merge branch 'master' of https://github.com/BuildCraft/BuildCraft 2013-11-25 12:27:23 -08:00
viliml
1e24cf4d85 Add possible simpler way to send IMC facade requests
IMC has a built-in way of sending ItemStacks through it, and it would be simpler if mods could simply use that, instead of encoding the ID and metadata a string. Decoding is a lot simpler too, just one line.
2013-11-25 21:12:14 +01:00
CovertJaguar
65bff981e5 Fix block placement sync
Closes #1334
Closes #1335
2013-11-25 05:59:05 -08:00
CovertJaguar
81b45b692e Fix Emzuli tooltip 2013-11-24 07:24:08 -08:00
CovertJaguar
cc8c707c46 Rename Lapis Pipe to Lazuli Pipe 2013-11-24 07:21:48 -08:00
CovertJaguar
52ce3ac8c3 Fix full inv item bounce client animation 2013-11-24 07:09:01 -08:00
CovertJaguar
0f63603bd6 Rework Diazuli Pipe routing to handle overflow 2013-11-24 06:50:23 -08:00
CovertJaguar
023a5d51fb Some cleanup 2013-11-24 06:31:40 -08:00
CovertJaguar
6f57b4a80d Logemerald->Emzuli Rework + PipeEvents
Modified Logemerald:
-Added ability to paint items as they are extracted
-Renamed to Emzuli, texture and recipe changed accordingly

PipeEvents:
-Added PipeEvents a replacement for Hook interfaces, precursor to 1.7
Pipe API
-Implement methods with signature "eventHandler(PipeEventClass event)"
to receive events

Widgets:
-General improvements for use as a button
2013-11-24 06:23:37 -08:00
CovertJaguar
14dc0014c9 Prevent NPE in Coolant API 2013-11-23 23:23:38 -08:00
CovertJaguar
b301571629 Merge branch 'master' into emzuli 2013-11-23 12:30:04 -08:00