Commit graph

1550 commits

Author SHA1 Message Date
CovertJaguar
f41cc82eca Allow water springs to be disable independently of everything else 2013-12-05 09:56:03 -08:00
CovertJaguar
b788dfde6a Merge master into builder 2013-12-03 18:41:13 -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
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
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
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
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
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
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
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
5d5d5a2706 Merge branch 'SandGrainOne-master' 2013-11-23 12:25:57 -08:00
CovertJaguar
25d411ce1a Merge Filler into Master 2013-11-23 12:25:15 -08:00
CovertJaguar
b5fc98ad2c Merge branch 'master' of git://github.com/SandGrainOne/BuildCraft into SandGrainOne-master 2013-11-23 11:49:39 -08:00
Taelnia
71ebc1fb69 Fix for creative mode pick block on gates for re-loaded worlds.
Also fixes Highlight Overlays such as NEI and Waila
2013-11-23 02:21:40 -05:00
CovertJaguar
5971a75e42 Allow Draining of Fuel in Iron Engine 2013-11-22 15:18:43 -08:00
SandGrainOne
ec4ed4df99 Adding Logemerald pipe
This is an action sensitive extraction pipe. The pipe can be configured
with 4 different items and actions will decide which one to extract from
the connected inventory.
2013-11-21 20:57:18 +01:00
CovertJaguar
7ee48c9cbd Fix Fluid Localization 2013-11-20 20:32:11 -08:00
CovertJaguar
b89e5718db Merge branch 'master' into filler 2013-11-20 20:21:54 -08:00
CovertJaguar
e7c5090e1e Pumps can now be disabled with redstone 2013-11-20 20:13:38 -08:00
CovertJaguar
9d4b1b9782 Move ILaserTarget to the power API 2013-11-20 17:27:28 -08:00
DemoXin
9631ef5de6 * BlockUtil.getItemStackFromBlock() now properly posts HarvestDropsEvent and loads its results for compatibility.
* BlockUtil.breakBlock() now utilizes BlockUtil.getItemStackFromBlock() to get its drop list.
2013-11-19 21:02:30 -05:00
CovertJaguar
d870fcb182 Fix Emerald Pipe Button Tooltip
Closes #1322
2013-11-19 06:11:20 -08:00
CovertJaguar
f1bec62b90 Rewrite previous Assembly Table commit
Yeah...there were better ways to do that...
2013-11-19 05:26:30 -08:00
CovertJaguar
0f5a47f31f Fairly Major Filler Rework
Changes:
-The "crafting grid" is gone.
-API completely reworked
-Patterns can be "stateful", this could bring major improvements to the
scanning algorithms if utilized
-You can change the pattern via Gate Actions
-Various peripherally related GUI framework changes
2013-11-19 03:54:37 -08:00
Player
26a65250f2 minor blueprint db tweaks 2013-11-18 17:58:03 +01:00
Player
a035a15632 some work on the blueprint database, new unique id concept 2013-11-18 16:06:38 +01:00
Taelnia
26572907bc Changes to AssemblyRecipe to support OreDict
- Moved AssemblyRecipes to Init phase in BuildCraftTransport so that the

OreDictionary is completed by then
- Added new AssemblyRecipe constructor that can take ore tag strings
paired with a desired stack size
- Changed pipe wires over to new constructor
2013-11-16 20:19:54 -05:00
CovertJaguar
b37f33c104 Merge pull request #1320 from taelnia/IronPipeFacingFix
Prevent Iron Pipes from switching to plugged output
2013-11-16 16:22:58 -08:00
taelnia
372941c32f simplify code for iron pipe facing check 2013-11-16 11:23:37 -05:00
CovertJaguar
05fedb059e Buff Oil Spring output
It should now produce 4x time amount of Oil, resulting in the same
energy output from before the Oil nerf.
2013-11-15 21:20:46 -08:00
CovertJaguar
7594b70a2e Minor stuff 2013-11-15 21:19:25 -08:00
taelnia
91e5648903 Prevent Iron Pipes from switching to a plugged side 2013-11-15 22:32:30 -05:00
Taelnia
e825066fd0 Revert "Add Ore Dictionary support for Assembly Recipes"
This reverts commit 3d1815595b.
2013-11-15 22:27:30 -05:00
taelnia
3d1815595b Add Ore Dictionary support for Assembly Recipes 2013-11-15 21:07:15 -05:00
CovertJaguar
8f8e8f9b9b Make it obey material costs
That was easier than expected!
2013-11-15 04:39:19 -08:00
CovertJaguar
0c9a923fc5 Fixed Lasers and added rotation support
Things it still doesn't do:
-blueprints are not persistent between sessions
-serialization code isn't being called and needs a rewrite
-material usage is not implemented
-path building doesn't exist
-vanilla block handlers don't exist
-templates don't work
2013-11-15 04:03:51 -08:00
CovertJaguar
12b11be88f It Builds! Sort of....
Things it doesn't do:
-blueprints are not persistent between sessions
-serialization code isn't being called and needs a rewrite
-bounding box lasers won't appear
-orientation is wrong
-material usage is not implemented
-path building doesn't exist
-default block handlers don't exist
-templates don't work
2013-11-14 21:25:35 -08:00
CovertJaguar
39d869a993 Merge master into builder 2013-11-14 02:04:40 -08:00
CovertJaguar
696c206792 Register all items with FML so they survive 1.7 2013-11-13 17:23:41 -08:00
Scott M. Barbour
7073a10fc5 CraftingHelper - Properly name the variables 2013-11-13 10:37:24 -06:00
CovertJaguar
1e00cf012b Possible fix for Pipe placement sync issue
Theoretically this should send an update on placement to all watching
players so everyone can see the pipe.
2013-11-05 16:28:21 -08:00
bdew
9a8f9606cf Workaround for scala compiler derp 2013-11-02 11:25:22 +02:00
CovertJaguar
643545b271 Split API into individual sections
Yes, I know this fails.  Don't use it. It needs to be fixed on FML's
side.
2013-10-30 23:16:03 -07:00
Christian
0aad0c785b Add in API markers for all the BC API packages. They come under the umbrella "BuildCraftAPI", expect warnings from now on if you don't include these in your BC dependent mods. 2013-10-30 23:09:35 -04:00
taelnia
17ff442867 Adjusted FluidContainerTrigger to pass through the side being checked 2013-10-30 15:54:31 -04:00
CovertJaguar
7f73cc2691 Clean up Gate GUIs a bit
Size them appropriately and align the slots properly.
2013-10-29 03:08:22 -07:00
CovertJaguar
6969d43d4b Tweak Engines a bit to restore some old behavior 2013-10-28 16:35:00 -07:00
CovertJaguar
206f2fe712 Do it right this time 2013-10-27 08:19:59 -07:00
CovertJaguar
a5de67f4f0 Allow regex version matching in version file 2013-10-27 08:16:03 -07:00
CovertJaguar
bfbd2ef55d Clean plug matrix after rerender
Should fix constant chunk refreshes.
2013-10-27 07:07:55 -07:00
Player
36da365ccb pipes: improve render performance 2013-10-27 12:14:14 +01:00
CovertJaguar
bdf93e12ba Register chipset stacks with FML for good measure 2013-10-26 03:14:23 -07:00
CovertJaguar
9074f10c1d Register chipsets with FML 2013-10-26 03:03:19 -07:00
CovertJaguar
d7739cc8cb Triggers can now require a parameter..
...and will not be show on gates that don't support parameters.

Also moved logger to own class and added a API error function.
2013-10-25 18:11:10 -07:00
CovertJaguar
4bdf0f22d5 Buffer Triggers now apply to all Inventories
Also adjusted inventory triggers to account for whether an item can be
put in a slot when calculating if there is space in the inventory.
2013-10-24 18:31:42 -07:00
CovertJaguar
f593cf7a20 Version 4.1.1 2013-10-23 21:57:26 -07:00
CovertJaguar
12552b3b04 Increase Gate respond time 2013-10-23 13:30:15 -07:00
CovertJaguar
c16a0266e8 Allow Facades and Plugs to be placed over Gates 2013-10-23 13:21:24 -07:00
CovertJaguar
8166cb0bd8 Fix slot click issue with Phantom Slots 2013-10-22 21:44:43 -07:00
CovertJaguar
ce2efe13bb Remove some dead code 2013-10-20 11:50:40 -07:00
CovertJaguar
aa67b6dd5a More Facade Rendering tweaks
No, this does not fix #1287, sorry.
2013-10-20 11:49:38 -07:00
CovertJaguar
93f9dceb90 Improve Facade Rendering + Interaction 2013-10-20 00:37:04 -07:00
CovertJaguar
d6e0277b7d Wood Item Pipes shouldn't never explode themselves 2013-10-20 00:37:03 -07:00
CovertJaguar
4d845eb5c5 Merge branch 'master' of https://github.com/BuildCraft/BuildCraft 2013-10-19 04:23:26 -07:00
CovertJaguar
29e5657b0a Fix pumplist case confusion 2013-10-19 04:22:50 -07:00
CovertJaguar
1e224ba4ef Add some commented out debug statements to PowerHandlers 2013-10-15 16:40:09 -07:00
CovertJaguar
4a9eb69b91 Attempt to make pickBlock supports Gate/Plugs
Whether a Gate is an Autoarchic Gate or not is not sync to the client unfortunately.
2013-10-15 16:38:30 -07:00
CovertJaguar
6fdbd8c525 Move Facades to own tab 2013-10-15 16:37:17 -07:00
CovertJaguar
e4cad84af6 Fix Gate removal 2013-10-15 14:33:11 -07:00
CovertJaguar
8e92d0494c Fuel/Oil should explode when placed in the nether 2013-10-15 10:41:04 -07:00
CovertJaguar
3438566406 Fix marker rendering 2013-10-15 10:09:23 -07:00
CovertJaguar
8b2093b7ea Fix painted Item rendering 2013-10-15 09:53:20 -07:00
CovertJaguar
068066d9bd Allows bouncing on Diazuli Pipe 2013-10-15 09:15:28 -07:00