Commit graph

1349 commits

Author SHA1 Message Date
CovertJaguar
4dd867d606 Fix getWorld() function 2013-07-12 17:40:06 -07:00
CovertJaguar
425515504d Make Oil burn again 2013-07-12 17:10:52 -07:00
CovertJaguar
efcdbeb8c5 Merge mc16 into Builder 2013-07-12 16:54:26 -07:00
CovertJaguar
62a75524c8 Tweak Pipe Fluid renderer 2013-07-12 16:41:06 -07:00
CovertJaguar
a3e30d57cc More update work
Fluids are mostly converted, including rendering and registration. Added
Fuel Block.
2013-07-12 16:38:03 -07:00
CovertJaguar
1d11beaa6b More update work 2013-07-12 14:21:44 -07:00
CovertJaguar
5aecd9aa87 Merge Power into mc16 2013-07-12 10:37:11 -07:00
SirSengir
f074c0ad6a Fix incorrect casts in gui code.
Caused by removed IInventory implementations.
2013-07-10 20:39:48 +02:00
Christian
103a8c124b First draft 1.6. Lots still to do. :( 2013-07-07 22:57:05 -04:00
SirSengir
0cd627ce0d Unused imports must die. Some formatting. 2013-07-06 09:41:47 +02:00
Christian
190e6a2935 Merge branch 'master' into power 2013-07-05 14:32:26 -04:00
Christian
1e0fa98484 Fix facade rotation. It works again with new meta system. 2013-07-05 13:50:50 -04:00
CovertJaguar
d0a7a64505 Exploding Engines should kill themselves
Added because someone decided turning off explosions was a good idea.
2013-07-04 03:37:36 -07:00
CovertJaguar
93409516b1 Merge branch 'power' into builder 2013-07-04 03:22:41 -07:00
CovertJaguar
f83e2072d6 Merge branch 'master' into power 2013-07-04 03:22:07 -07:00
CovertJaguar
d1a39072af Removed unneeded ISpecial refs 2013-07-04 03:20:28 -07:00
CovertJaguar
392498ff74 Fix brightness issues with Quarry/Pump 2013-07-04 03:07:46 -07:00
CovertJaguar
599afc578e Cleaned up some code. 2013-07-04 00:30:15 -07:00
CovertJaguar
71c79606c0 Fix typo in javadocs 2013-07-02 08:01:09 -07:00
CovertJaguar
c3a54f2a24 Added IPowerEmitter 2013-07-02 07:56:36 -07:00
CovertJaguar
5492f83a31 Should fix Wooden Power Pipe power sources issues 2013-07-02 07:11:57 -07:00
CovertJaguar
c3d1df0c4e Merge Power into Builder 2013-07-02 06:56:03 -07:00
CovertJaguar
55c4abac12 Merge branch 'master' into power 2013-07-02 06:50:45 -07:00
CovertJaguar
9489bbb508 Merge branch 'master' into SandGrainOne-FilteredBuffer 2013-07-02 06:45:26 -07:00
CovertJaguar
4d547c89f4 Moved everything again.
Fleshed out Schematic classes.
Quarry works in this build.
2013-07-02 06:42:34 -07:00
CovertJaguar
499b6f342d Re-add update function
Some weirdness occurs with some applications without it unfortunately.
2013-07-01 15:53:33 -07:00
CovertJaguar
9daec45638 Fixed perdition issues 2013-07-01 15:26:57 -07:00
CovertJaguar
af89a9470b Power API Take 3 2013-07-01 14:21:51 -07:00
CovertJaguar
3a8c0f95c8 Significant rework of API
Moved everything not needed out of API package.
Rewrote BlockHandler and BlockSchematic to be more NBT dependant.
2013-07-01 05:40:51 -07:00
CovertJaguar
9262324160 Fix pipe plug select box + fill/drain
It should now be possible to add plugs to adjacent pipes without
breaking either pipe.
2013-07-01 00:44:38 -07:00
CovertJaguar
3cdcf094db Added color modifier support to Facades 2013-06-30 23:21:55 -07:00
CovertJaguar
670c2684e7 Fix Iron Engine heat issues 2013-06-30 17:52:57 -07:00
CovertJaguar
4a1469a055 Convert TileQuarry and EntityRobot to new API
Note this breaks the builder.
2013-06-30 17:49:20 -07:00
CovertJaguar
705798b744 Fix Iron Engine heat issues 2013-06-30 17:44:47 -07:00
CovertJaguar
6cdf94b109 First iteration of BlueprintBuilder
Some significant hurdles remain to be overcome in regard to how the
BlueprintBuilder interacts with EntityRobot.

Also, rotation and builder positioning is a massive headache that still
needs to be tackled.
2013-06-30 06:09:44 -07:00
CovertJaguar
2e4f27ba6a Merged Power into Builder 2013-06-30 00:48:33 -07:00
CovertJaguar
fd73836a67 Add Blueprint and Serialization
Also renabled the Builder for testing purposes.
2013-06-30 00:46:15 -07:00
CovertJaguar
88b98d044b Cleaned up buffer code a bit.
Just headers and stuff, and moved one of the slots out of the container
because it might be useful for other stuff.
2013-06-29 18:59:04 -07:00
SandGrainOne
370c33ee70 Adding FilteredBuffer 2013-06-29 19:03:36 +02:00
CovertJaguar
b1041e19d6 Some minor bits 2013-06-29 03:22:55 -07:00
CovertJaguar
593d889468 Fixed Legacy code 2013-06-29 02:21:54 -07:00
CovertJaguar
f92576ed36 Forgot a minor bit the alt impl 2013-06-29 01:37:41 -07:00
CovertJaguar
b25b08c827 Engine rewrite
Killed Engine class, merged into TileEngine and subclasses.
Converted to Forge rotation API.
Split heat from stored energy and set proper temp bounds.
Rewrote IronEngineCoolant API, changed to degree based temp reductions
(its 0.0025 times the previous values). Added support for solid coolants
(they have to melt into a liquid coolant, like Ice to Water).
There is a commented out alternative implementation for constant power
output instead of pulsed.
2013-06-29 01:33:21 -07:00
Krapht
8867512f38 Removed crafting/Creative inventory for Blueprints, Architect table and blueprint library 2013-06-28 20:36:02 +02:00
SirSengir
365d9a27d6 Fix determination of crafting equivalency.
Items can be registered with multiple ore ids in the OreDictionary. A direct comparison of the ore ids may fail in that case.
2013-06-28 20:05:48 +02:00
CovertJaguar
f9374eb0e5 Fixed Wooden Item and Liquid Pipes 2013-06-27 14:33:33 -07:00
CovertJaguar
c8db1dcb19 Merge branch 'master' into power 2013-06-27 13:49:31 -07:00
CovertJaguar
12de71213a Convert Pipe Icon Prov to enum
And fixed a issue with the PowerProvider casting objects to TileEntities
that aren't TileEntities. Fixed by adding a getWorldObj() function to
IPowerReceptor.
2013-06-27 13:10:01 -07:00
CovertJaguar
42181dbc7f Remove min check on receive
The check broke pipes
2013-06-26 08:50:25 -07:00
CovertJaguar
1d7e160d2f Some cleanup 2013-06-26 08:35:34 -07:00
CovertJaguar
080a4d6ca4 Added bounds checks for set 2013-06-26 08:22:19 -07:00
CovertJaguar
fe6d2e6b3a Add some Javadocs 2013-06-26 08:02:05 -07:00
CovertJaguar
2b5dc5c9ff Minor stuff 2013-06-26 07:29:32 -07:00
CovertJaguar
b92c81f638 Changes for KL and cpw
Added set/add for KL

Added perdition calculator for cpw
2013-06-26 07:26:07 -07:00
CovertJaguar
91a3ac95c6 Don't need to pass receptor, already have it 2013-06-25 20:54:21 -07:00
CovertJaguar
2d281c56d1 Opts 2013-06-25 20:25:03 -07:00
CovertJaguar
73aa6260a6 Removed update return value, meaningless, unused 2013-06-25 20:21:01 -07:00
CovertJaguar
475d6cd2f5 Make receptor public 2013-06-25 20:08:22 -07:00
CovertJaguar
013fe4ecb4 Possible Tickless compatible system PowerProvider
doWork() callback is now handled in receiveEnergy() as well as in the
tick update. So you can respond more effectively even if you don't want
to tick.
2013-06-25 19:46:07 -07:00
viliml
1d0a902217 Update BlockQuarry.java
Fixes https://github.com/BuildCraft/BuildCraft/issues/972
2013-06-25 19:31:28 +03:00
CovertJaguar
4f6ba954cd Better connection rules 2013-06-25 05:23:41 -07:00
CovertJaguar
8d1b33b268 Pipes won't connect to a receptor with no provider
And a tweak to powerRequest()
2013-06-25 01:29:11 -07:00
CovertJaguar
1f8c9f78ee Power API rewrite
PowerFrameWork is gone.
PowerProvider is final.
Can have multiple PowerProviders (one for each block side).
PowerProviders can either accept power from pipes or they can't, defined
in constructor.
Removed a bunch of excess code that just cluttered the API.
2013-06-25 01:00:24 -07:00
CovertJaguar
ee02561cd0 Adjust pump for new default 2013-06-24 21:22:45 -07:00
CovertJaguar
b223fd4440 Increased default power perdition to 1 MJ/t 2013-06-24 21:15:49 -07:00
CovertJaguar
8b6546a8bd Fixed Power Request Trigger
Its now restricted to Wooden Power pipes.

Before:
The trigger was useless because it was triggering off the powerQuery
array which was always true so long as there was any device on the
network requesting power. This made it rather useless for scaling
production to demand.

After:
It now triggers whenever the Wooden Power Pipe's internal power buffer
drops below a certain point. This however required a modification of the
wooden pipe's internals because it was getting stuck in the "Off" state
due to how it handled transferring power from the buffer to the pipe
network.

Anyway, it works now and is somewhat useful.

Note: The Wooden Power Pipe's internal buffer stores 1500 MJ, this was
true even before this commit.
2013-06-24 21:02:48 -07:00
CovertJaguar
5f58280e5f Merge branch 'master' of https://github.com/BuildCraft/BuildCraft 2013-06-24 18:15:06 -07:00
CovertJaguar
c50847c196 Added two new Power Pipe Triggers
Requests Energy: Activated when the pipe has an active power request.
Use to allow your network to respond to demand dynamically.

Energy Overloaded: Activated when the pipe turns red, in case anyone
wants to know when that happens.
2013-06-24 18:13:54 -07:00
Christian
22b202fb25 Fix single energy pulse 2013-06-24 20:22:31 -04:00
CovertJaguar
318eb5c4a7 Crafting generally ignores NBT, we should too
Let the recipe decide.
2013-06-24 06:13:15 -07:00
CovertJaguar
fb374cf7fc Increased Mining Well cost per block
Its now the same as the quarry, 60 MJ per block.

Also tweaked power provider settings on the Mining Well and Quarry to
prevent smaller engines from being unable to overcome the maintenance
drain.
2013-06-24 05:43:27 -07:00
CovertJaguar
0882dadce3 Fixed a bug that was causing pipes to leak excess
This is an interesting commit, it not only fixes the RS Cells
(@King_Lemming) it also makes it so the network can respond to demand as
needed by shutting down overheating engines, since the pipes won't
accept power now unless something is requesting it.
2013-06-21 17:28:22 -07:00
CovertJaguar
cdebf25a03 Cleaned up engine power display 2013-06-21 17:13:54 -07:00
CovertJaguar
fc0df8e84f Removed a bit of unneeded code in the Wood PPipe
@King_Lemming this will break compat with RS Cells because you're doing
it wrong. Don't use powerRequest() like that and don't ignore the return
of receiveEnergy().

PS. It was already broken because the cell was just throwing power away
because it was ignoring the return of receiveEnergy().
2013-06-21 16:44:07 -07:00
CovertJaguar
951292da37 Reduce Oil chance in deserts, etc...
Blame this one on myst's flatlands.
2013-06-21 04:31:17 -07:00
CovertJaguar
1e3d704fd4 ACT can handle damagable items correctly now
Note it still can't (and probably won't ever be able to) handle
wildcarded subtypes like different colored wool.
2013-06-21 03:14:28 -07:00
CovertJaguar
821605b71d Fix for Refinery not accepting power 2013-06-19 21:23:43 -07:00
CovertJaguar
d4c5452a1c Added Power throughput tooltip to power pipes 2013-06-19 17:48:24 -07:00
Player
4f740be088 Assembly Table: prevent planning recipies multiple times 2013-06-19 10:28:48 +02:00
Player
50efde2217 Assembly Table: use currentRequiredEnergy to scale the progress bar 2013-06-18 23:31:29 +02:00
CovertJaguar
32bab2251e Mining Well should break pipes when invalidated 2013-06-18 03:14:19 -07:00
Dylan Miller
d9da8bddc5 Fixed pipes rendering in hand as flat texture 2013-06-16 14:20:25 -07:00
Player
0c6ad8f247 fix last commit, wrong texture sheet 2013-06-16 22:01:21 +02:00
Player
1e0d1eb750 Add fallback to the missing icon while rendering pipes in the inventory 2013-06-16 21:51:20 +02:00
CovertJaguar
a0f57c57ca Wooden Power Pipes now add power to themselves...
...instead of their neighbor. The result being that they are constrained
by the new limits and that they actually render the power flow in
themselves.

Wooden Pipes are set with a input cap of 32 MJ/t, buffed from the
previous effective limit of 29 MJ/t.

Note that this also effectively adds a 32 MJ/t pipe that can be used for
limiting flows.
2013-06-15 16:27:43 -07:00
CovertJaguar
40b8c72ada Added rotation helper 2013-06-14 23:19:56 -07:00
CovertJaguar
633b650110 We don't need x,y,z to get a handler 2013-06-14 22:52:52 -07:00
CovertJaguar
03c308a599 Javadoc work 2013-06-14 22:39:54 -07:00
CovertJaguar
e178aad28d Added Handler registration
I do not think we should provide a block interface, better to keep the
API self contained and separated from the actual block implementations.
2013-06-14 22:25:25 -07:00
CovertJaguar
1dda771c18 Removed Schematic orientation
The block already stores that info in meta or NBT anyway. A separate
field isn't really needed.
2013-06-14 22:06:29 -07:00
CovertJaguar
a5e2be13af Initial commit of a possible Builder API 2013-06-14 22:02:37 -07:00
Player
e18031d223 fix AssemblyTable processing client-side 2013-06-14 19:32:49 +02:00
Alex Binnie
91430f4279 Changed Assembly Table Recipe packets to NBT 2013-06-14 17:45:48 +01:00
Alex Binnie
d62a0d440c Facades now store both block id and meta in nbt 2013-06-14 17:09:11 +01:00
Alex Binnie
8933df795a Support for facades with metadata >= 16 by using NBT 2013-06-14 00:18:11 +01:00
CovertJaguar
7a320cbba0 Added progress bar to ACT 2013-06-13 15:09:55 -07:00
CovertJaguar
4ac9a0fc45 Fixed ACT support for OreDict/Wildcards
Also gave StackHelper a proper static accessor, one that should be
compatible with Krapht's Tests.
2013-06-13 14:35:54 -07:00
CovertJaguar
782995b035 Merge branch 'master' of https://github.com/BuildCraft/BuildCraft 2013-06-13 13:51:25 -07:00
CovertJaguar
77b92a8ce9 Added Oil Burn config 2013-06-13 13:50:51 -07:00
SirSengir
c2465a7cf8 Don't get the oreID twice if it isn't needed. 2013-06-13 18:08:25 +02:00
CovertJaguar
7b818ec45c Wrong header (oops) 2013-06-12 21:41:25 -07:00
CovertJaguar
69736013e6 Minor rework of ACT (Laser)
Split inventory into input/output sections.

Added support for retrieving ingredients from neighboring inventories.
Yes, this means crafting chains are possible.

Various other minor tweaks to when it requests power, how it decides it
has everything it needs to craft, etc...
2013-06-12 21:39:55 -07:00
CovertJaguar
fd548a4954 Add removal support to Transactors
Can only remove 1 item at a time, but that's almost always sufficient.

Also added a bunch of helper functions in InvUtils (moving items between
inventories, counting items, etc..).
2013-06-12 21:36:56 -07:00
CovertJaguar
d585770ce3 Limit Filler slots to 1 item 2013-06-12 21:34:07 -07:00
CovertJaguar
ad2ead2e89 Added Quartz Pipes
Item and Power.

Item Pipe won't connect to Stone or Cobblestone and has half the
friction of Stone.

Power Pipe takes the place of Gold (64 MJ/t) and bumps Gold and Diamond
up to 256 MJ/t and 1024 MJ/t respectively. Expanding the upper tier
power distribution capacity.

Various textures adjusted to keep pipes distinct.
2013-06-12 19:26:46 -07:00
CovertJaguar
61fe020b89 Proving once again that I cant spell 2013-06-12 14:56:48 -07:00
SirSengir
400cde7d78 Made TileAssemblyTable aware of OreDictionary. 2013-06-12 19:40:52 +02:00
CovertJaguar
da4ec07112 Better error 2013-06-12 08:56:27 -07:00
CovertJaguar
bb9ac3e1ca Lets not break ABO 2013-06-12 08:52:44 -07:00
CovertJaguar
a949418fab Fix potential Engine NPE
If somehow you get an engine with an invalid metadata value, it would
crash.
2013-06-12 08:26:52 -07:00
CovertJaguar
e996f64660 Some minor optimizations 2013-06-12 07:47:28 -07:00
CovertJaguar
5760844dae Added Horizon Filler Pattern
This pattern is basically the old Flatten pattern that would clear all
the way to the sky.

Recipe
GGG
GGG
BBB

Flatten got a matching recipe:
GGG
BBB
BBB
2013-06-12 06:43:15 -07:00
CovertJaguar
d17a384a2f Add pipe uncrafting recipes
Closes #677
2013-06-12 06:14:23 -07:00
CovertJaguar
69df314c36 A better attempt 2013-06-12 06:13:21 -07:00
CovertJaguar
7336dfd882 Attempt to prevent pipes from tossing excess
This NEEDS extensive testing. I only have a vague idea how this code
works.

The original code was just tossing any power beyond what it could
handle, with no throttle on how much it was requesting from its
neighbors.

I think its working, more or less, but you'd probably have to hook it to
some TE Cells or something to know for sure.
2013-06-12 03:36:22 -07:00
CovertJaguar
ff0e36a784 Immibis' Filler changes
Closes #838
2013-06-12 02:45:56 -07:00
CovertJaguar
8f7292ec06 Power Pipe rework
Explosions are gone, loss over distance is gone.

Added two new Power pipes, Cobble and Diamond.

All pipes have much smaller max throughput:
Cobble = 8 MJ/t
Stone = 16 MJ/t
Gold = 64 MJ/t
Diamond = 256 MJ/t

The power display will turn red if a pipe has hit its max capacity. You
can use smaller pipes to throttle certain parts of your power net.

Machines are more lossy now to make up for the lossless pipes. Expect
low power draws even when idle.

Also added on/off Gate action support to lasers and ACTs.
2013-06-12 02:35:15 -07:00
CovertJaguar
6dd4287945 Iron Engines now accept liquids via right click. 2013-06-11 23:02:47 -07:00
CovertJaguar
9891f99f25 Make Flatten less stupid
It now processes in columns, greatly increasing the performance.

It is no longer halted entirely by anything it can't break. In other
words, you can use it to fill over bedrock.

Changed how the clear portion works, it no longer clears all the way to
sky, instead it only clears IN the box.
2013-06-11 21:29:08 -07:00
CovertJaguar
d9702f43c5 Fix Laser brightness (again) 2013-06-11 21:26:01 -07:00
CovertJaguar
96b11465ed And because I can't spell 2013-06-11 20:30:11 -07:00
CovertJaguar
9f72d8b5f1 Merge pull request #933 from DelusionalLogic/master
Fix gate texture update
2013-06-11 20:21:42 -07:00
CovertJaguar
e430d4c8dc Make Markers less derpy 2013-06-11 20:19:58 -07:00
CovertJaguar
3b113b9f2e More tweaks 2013-06-11 15:44:51 -07:00
CovertJaguar
bbc5881fd0 More Oil gen rebalancing
Reduced the chances of spawning wells.
2013-06-11 14:54:15 -07:00
DelusionalLogic
d663104a0b Turns out you indent with tabs 2013-06-11 23:12:27 +02:00
Jesper Jensen
eaae07352b Optimized pulser disable slightly 2013-06-11 23:10:06 +02:00
Jesper Jensen
d9b3fd1842 Fixed gate pulser texture update 2013-06-11 23:01:17 +02:00
SandGrainOne
a1340f864c Fix for duplication bug.
It was possible to get the item in a phantom slot with the new inventory
management features. This prevents for example the item double click
feature (make stack) to take items from the ghosted inventory.
2013-06-11 23:00:08 +02:00
CovertJaguar
8854353da3 Fix ACT eating Minium Stones
Closes #931
2013-06-11 12:41:28 -07:00
CovertJaguar
b34c96cc06 Fix Filler pipe interaction 2013-06-11 00:58:58 -07:00
CovertJaguar
2b0588fe5f Fixed minor GUI issue with AWB 2013-06-10 17:12:02 -07:00
Christian
e6c0361f4f Add support for rotated log textures. To change a facade, put it in your crafting grid- it'll turn around..
Works with any mod logs using render 31 as well..
2013-06-10 20:02:38 -04:00
CovertJaguar
3ea39c78bb NPEs must die!
Closes #927
2013-06-10 14:16:41 -07:00
CovertJaguar
8d5e520c96 Randomize potential oil biome spawns on worldseed
Also reduced Oil Ocean Biome chances again.

Previously it was using the same noise field for all seeds. Now it
randomly offsets the noise field based on the world seed. Its not truly
random, but at least you won't be able to travel to the same coordinates
in every world and find an Oil Biome.
2013-06-10 13:52:14 -07:00
CovertJaguar
f404eccb3d Fix possible NPE in Wrench 2013-06-10 11:40:05 -07:00
CovertJaguar
8a9314a8f6 Fix critical dupe bug in AWB
Closes #895
2013-06-10 03:37:44 -07:00
CovertJaguar
f19ab165ef Oil Tweaks
Fix Oil being consumed by Fire.
Reduce Oil Biome oil spawn bonus: 40x -> 30x.
Nerf Ocean Oil Field spawns a bit.
Fix Oil on Water, Closes #919
2013-06-10 03:27:58 -07:00
Christian
0bb43992d7 Attempt to workaround trigger api change for backward compatibility 2013-06-08 13:37:41 -04:00
Krapht
5662741cd2 Remove old double-chest detection code and use the vanilla approach. Fixes #914 2013-06-07 02:17:31 +02:00
Player
f04af071b8 Fix pump not passing through air blocks 2013-06-01 02:11:38 +02:00
CovertJaguar
fa3d0bb7b6 Smarter space check for buffer. 2013-05-29 09:49:53 -07:00
CovertJaguar
e43cf0a2b6 Add legacy migration to AWB
This should prevent wiping of the crafting grid on upgrade.
2013-05-28 23:16:56 -07:00
CovertJaguar
02e2fadcf4 Tweaks and code cleanup 2013-05-28 22:54:59 -07:00
CovertJaguar
8a6022962c Name crafting fake players just in case 2013-05-28 20:21:22 -07:00
CovertJaguar
f581682158 Added some comments 2013-05-28 19:00:24 -07:00
CovertJaguar
2451b6925f Complete reimagining of the ACT
Renamed "Auto Workbench" to reduce confusion with the "Advanced Crafting
Table".

Once again I barrowed liberally from Railcraft. This time from the
Rolling Machine. You will recognize the new GUI.

Auto Workbenches are 100% compatible with vanilla Hoppers, or whatever
you want to use to interface with it. It no longer implements
ISpecialInventory at all. Even RP2 would work with it now.

Implemented the same "Sample Output" vs "Real Output" design that the
Rolling Machine uses. If there are enough items to craft multiple times,
it will craft automatically. But if there are only enough items for one
craft job, you must click the sample output slot to start the process.
Separating the display from the output helps reduce the complexity of
the code by a large factor.

Banned all items that can't stack or that have containers from being
used in the Auto Workbench. Supporting these types of items is the major
reason the previous version was so buggy. The Advanced Crafting Table
does a much better job with that kind of thing, use it instead.

Crafting now has a time cost. It take 256 ticks to craft an item. Unlike
the Rolling Machine, it DOES NOT require power.

Removed ability to pull from adjacent inventories. Its laggy, complex,
and unnecessary now. If you need more capacity, use a Hopper or Chute.
2013-05-28 18:50:03 -07:00
CovertJaguar
95114cf79a Added BiomeDictionary support to Oil gen
Can't believe I didn't see this thing sooner.
2013-05-28 05:11:05 -07:00
CovertJaguar
7e8bcadbb2 Added BiomeDictionary support to Oil gen 2013-05-28 04:53:19 -07:00
CovertJaguar
56567d73af Made Inv Iterator subclasses private 2013-05-28 04:52:58 -07:00
CovertJaguar
e3420842fe Transactor Optimization
It was an O(n^2) operation to insert an item. Now its just O(n). The
functions for checking to see if a stack is valid in a slot are
expensive and should never be called more than once per slot, let alone
n^2 times (where n is the length of the inventory).

Additionally, by wrapping inventory in a slot iterator, I was able to
eliminate the need to handle FSided and VSided differently from
IInventory.
2013-05-27 20:06:27 -07:00
CovertJaguar
0a18ae34ff Adjusted Shift code to support Phantom slots
Yes, this also was stolen from Railcraft. Its also much more robust than
the code BC was using.
2013-05-27 18:08:17 -07:00
CovertJaguar
6d6e05044c Transactors should obey isValid() for partials 2013-05-27 16:37:51 -07:00
CovertJaguar
6169b8b9b5 Clean up var names in Laser Table 2013-05-27 15:56:16 -07:00
CovertJaguar
a989d00223 Various fixes to the Laser Crafting Table
It no longer eats Golden Tickets or dupes items, yay!
2013-05-27 15:52:27 -07:00
CovertJaguar
f1fcd6a0db Added RC's Phantom Slot System
And replaced BC's Advanced Slot System in Advanced Crafting Tables,
Emerald Pipes and Diamond Pipes.

The advantages of the Phantom Slot System is that it uses the same
Mojang code for net sync that normal Slots do. This results in much
simpler code and the slots can be treated just like any other inventory
slot instead of all the special case code that Advanced Slot does.

The Advanced Slot System is still used in several places (Assembly
Tables, Refineries, etc...), Gates but in these cases the Slot often
contains non-ItemStacks. So I'm not going to touch them for the moment.

Additionally, I cleaned up the names of some of the classes in the
Silicon package.
2013-05-27 14:19:51 -07:00
Krapht
3d460705ea Fixed combustion engines not dropping its inventory when broken 2013-05-25 10:15:44 +02:00
Krapht
3f7dc90e04 Made Combustion engines only accept Liquid containers and Ice 2013-05-25 09:09:50 +02:00
Krapht
2606aaccf9 Made the stirling engine accept only fuel-type items 2013-05-25 08:58:08 +02:00
Krapht
47cbc9fab0 Removed isStackValidForSlot from TileBuildCraft and moved it to subclasses. Fixes #878 2013-05-25 08:52:07 +02:00
Christian
9a68dcc304 Fix canonical liquid if there isn't one. gah! 2013-05-24 22:57:53 -04:00
CovertJaguar
a70eacc7fc Make addToRandomInventory type safe
Better, Faster, Stronger

Closes #877
2013-05-24 19:40:42 -07:00
Flow86
3cf2ff96d0 fix to addToRandomInventory not providing the correct side
fixed some space/tabs things (exactly eclipse did it for me...)
fixes #875
2013-05-23 14:13:08 +02:00
CovertJaguar
3e2a232f47 Pipe Chunk Boundary Optimization
Liquid and Power pipes will no longer query unloaded chunks for
neighbors. Item pipes however will continue to do in order to prevent
item spewing.
2013-05-22 12:10:57 -07:00
CovertJaguar
91e7edc256 Merge branch 'master' of https://github.com/BuildCraft/BuildCraft 2013-05-22 12:06:53 -07:00
CovertJaguar
b142a11917 Better Error for Pipe Render 2013-05-22 11:57:57 -07:00
Flow86
fb3cac293d fix smp-crash on pipe with facade removal
fixes #871
2013-05-22 09:07:51 +02:00
Flow86
a237829c3a cleaned up format and var names as requested by @CovertJaguar at #872 2013-05-22 08:11:05 +02:00
viliml
41cb9b04bd Add ISpecialInventory support to gate triggers
Fixes https://github.com/BuildCraft/BuildCraft/issues/356
2013-05-21 19:52:57 +03:00
Flow86
514260078d Merge pull request #868 from target-san/master
Pipe wires persistence between runs: update
2013-05-21 03:23:15 -07:00
target-san
3570f10d41 Added persistence for redstone broadcast. Now it should be possible to create two-gate loops based on redstone signal, though I doubt someone would use this 2013-05-21 08:08:05 +03:00
target-san
098cc8e66d Modified pipe persistence. Only pipe gates can actually broadcast wire signal. And redstone broadcast is generated from only from triggers and only on gates - so no sense to store it 2013-05-21 07:46:54 +03:00
SirSengir
46c0d7deaa Removed old, commented out code. 2013-05-19 23:33:54 +02:00
CovertJaguar
a5bb01d2cb Comment out unused portions of Simplex Lib 2013-05-19 12:27:07 -07:00
CovertJaguar
f32507da07 Some minor optimizations 2013-05-19 03:45:36 -07:00
CovertJaguar
50e08beb82 Merged Oil into Master 2013-05-19 02:54:31 -07:00
CovertJaguar
3cf74d7986 Merge branch 'master' of https://github.com/BuildCraft/BuildCraft 2013-05-19 02:48:02 -07:00
Krapht
104885f934 Disable grass facades 2013-05-19 09:25:38 +02:00
SirSengir
43c904ed02 Merge pull request #857 from immibis/nether-pump
pumping.controlList again.
2013-05-18 10:21:38 -07:00
robin
41622ab83e And remove the builder from the creative tab
Complete the last commit
(#6653aaa3893da023f350a48bb6fddeba3008e2e9)
2013-05-18 19:25:03 +03:00
CovertJaguar
03b583ce74 Biomes complete
Add Ocean Oil Field and Desert Oil Field biomes. Rare chance of
spawning. I only found a single Ocean Oil Field within 4k blocks of
spawn. But if you find one, you will never run out of Oil, ever.

These two biomes have a 40x multiplier on oil spawn chance.

They can be disabled by setting the biome Id in the config to -1.
2013-05-18 07:37:08 -07:00
SirSengir
05ae8e7994 Organize imports. 2013-05-18 16:17:58 +02:00
SirSengir
6653aaa389 Disable crafting recipe for the builder. 2013-05-18 16:15:56 +02:00
CovertJaguar
7b47ac8743 Update less Oil during gen so we don't crash
The game doesn't really like generating 50 oil wells at once
2013-05-18 07:01:37 -07:00
CovertJaguar
279d729d03 Moved OilPopulate to the worldgen package 2013-05-18 05:44:53 -07:00
immibis
a14a627627 Removed explosions, pumps will just ignore disallowed liquids. 2013-05-18 11:33:57 +12:00
CovertJaguar
f83341ece8 Ditched Chunk Spanning Algo
The chunk spanning gen code turned out to be unnecessary. The real
problem was that the Lake gen code was poorly balanced. That's fixed
now.

I've also added some code to prevent Wells and Lake from spawning on
overly rough terrain. No more wells on the edges of cliff faces for
example. I had to rebalance the spawn chances though. Of note is the
fact that I increased the chance multiplier for surface deposit biomes
from 1.5 to 4.  Distribution balance may need some more work.

Additionally, I've started work on an Oil Field biome, a rare biome that
spawns massive amounts of Oil. Its currently disabled, but the ground
work is there. Next step is creating a suitably sparse Simplex noise
field for the biome replacer.
2013-05-17 10:49:41 -07:00
immibis
2a643d4c45 Added missing class. 2013-05-17 20:03:37 +12:00
CovertJaguar
c5a5d037c9 More improvements
Height is "fixed", but there is still an issue with lakes generate in an
L shape consistently.
2013-05-17 00:12:35 -07:00
CovertJaguar
9e117c0b31 Make Oil physics somewhere between Water and Lava 2013-05-16 19:31:22 -07:00
immibis
645b3a35e6 Added pumping.controlList option.
Also fixed BlockIndex hashcode (massively speeding up pump searches) and added a timeout for pump searches.
2013-05-17 10:48:55 +12:00
CovertJaguar
50df601134 Simplification
Still some kind of bug with the groundLevel var. Many wells are 2-3
times taller than they should be.
2013-05-16 09:52:20 -07:00
CovertJaguar
ee16c288aa An attempt to create a chunk spanning gen algo
This is mostly just a proof of concept, Oil doesn't really need it.
2013-05-16 08:20:50 -07:00
Flow86
8e2613d60a Merge pull request #849 from target-san/master
Pipe wires persistence between runs
2013-05-16 04:04:03 -07:00
CovertJaguar
2705e74ad0 Fixed Typo 2013-05-16 01:59:21 -07:00
CovertJaguar
dd6fc63de8 Some cosmetic fixes for the last commit
Damn tabs!
2013-05-15 04:30:31 -07:00
CovertJaguar
0d392a1b6e Major Backport of Button code
I recently did a major overhaul of Railcraft's button code for some
upcoming features. Figured I backport it to Buildcraft as well.

Texture information was abstracted into an easily swapped object.
Multi-Buttons can now have different textures for each state.
Added tool tip support for all buttons (with mouse over delay!).
Added textures and states for a "Lock" Multi-Button.
Greatly reduced code duplication.
2013-05-15 04:17:26 -07:00
CovertJaguar
8721cb9719 This is how you make Oil Burn
@viliml seriously test your PRs, BlockFluid intercepts the fire methods

I also made Oil burn forever like Netherrack.
2013-05-13 18:54:04 -07:00
Krapht
232494a662 I think buildcraft has enough explosions already. ref #850 2013-05-13 22:08:53 +02:00
viliml
0de81a36ea Make still oil flammable and prone to explode(like real oil) 2013-05-13 20:43:50 +02:00
viliml
8d98cba857 Make flowing oil flammable and prone to explode(like real oil) 2013-05-13 20:42:15 +02:00
target-san
a8c3d9400b Added NBT persistence for pipe wires and redstone broadcast. Allows logic circuits with memory 2013-05-13 09:18:32 +03:00
Player
5617b67ef4 Prevent client crash from invalid pipe items. 2013-05-12 10:22:35 +02:00
SirSengir
722a3837bf 3.5.2 build changes. Removed SidedInventoryAdapter.java to cut down on helper classes. 2013-05-12 08:19:28 +02:00
Player
eb836c3ad0 Actually only use the slots for the side we're extracting from... 2013-05-12 04:57:03 +02:00
CovertJaguar
d2711c7427 Merge pull request #841 from KingLemming/master
Updated Liquid Pipe Connection Logic
2013-05-11 19:45:38 -07:00
Player
cdc86c0591 Fix inventory size calculating being 1 too low 2013-05-12 03:58:39 +02:00
King Lemming
092e40fb8f Fixed Liquid Pipe Connections for updated Pipe Connection logic.
Signed-off-by: King Lemming <kinglemming@gmail.com>
2013-05-11 14:34:05 -04:00
CovertJaguar
6e76d4bec5 Filler Flatten no longer stopped by flowers
Closes #769
2013-05-11 03:19:26 -07:00
SirSengir
fa38e293e5 Rewrote vanilla inventory handling to use dedicated classes. 2013-05-11 11:40:46 +02:00
SirSengir
02c3b19ea9 Removed unused SurroundingInventory.java. 2013-05-11 11:06:42 +02:00
SirSengir
15c16d433c Removed unused InventoryUtil.java. 2013-05-11 11:04:58 +02:00
SirSengir
afdaa18868 Minor cleanups to ISidedInventory handling. No special casing for vanilla furnace required anymore. 2013-05-11 11:03:38 +02:00
immibis
88f336c799 Call isStackValidForSlot when inserting. 2013-05-11 16:55:41 +12:00
immibis
cede00e162 Vanilla ISidedInventory support for wooden pipes. 2013-05-11 16:44:34 +12:00
Krapht
a40e7c5365 Merge branch 'BCPlug' 2013-05-09 16:25:41 +02:00
CovertJaguar
f578aa0e2c Possible fix for Power Pipe load issues
Closes #829
Closes #717
2013-05-09 05:11:42 -07:00
Krapht
cd08b69662 Added additional render component to plug, finally removed old code 2013-05-08 20:24:40 +02:00
Andrew Meehan
b1064b659f uodated tilehopper to return true rather than attempting to scan the inventory attached 2013-05-08 10:33:06 -04:00
Andrew Meehan
d559946562 implimented isStackValidForSlot to return true if valid to allow for automation inserst (mainly Applied Energistics)
Signed-off-by: Andrew Meehan <andrew@meehan.me.uk>
2013-05-08 10:18:29 -04:00
Krapht
a9636aa119 Make pipes not connect if either has a plug, fixed issue with pipes not recalculating its connections on plug placement 2013-05-07 21:32:54 +02:00
Krapht
fdd5648a05 Added add/remove of plugs, fixed plug render sync issue, fix renderer, prevent render of gate on plugged sides 2013-05-07 20:48:19 +02:00
Krapht
b39802f210 Added recipe for plug 2013-05-07 19:09:22 +02:00
Krapht
b1ed48da37 Added plug item and item renderer 2013-05-07 19:03:03 +02:00
Krapht
6a6ba168c7 Added initial rendering for plugs 2013-05-07 18:35:27 +02:00
Krapht
2324400ea0 Save/Load + netsync for plugs 2013-05-07 18:23:10 +02:00
viliml
25c5439637 Lower engine heat 10 times
I don't think a temperature of 10000°C or 0°C doesn't make sense. This way it will at least always be under the melting point of iron and above the freezing point of water.
2013-05-07 18:57:01 +03:00
Player
1bc52bc16f add equals to BlockIndex 2013-05-06 15:21:17 +02:00
Player
fddf865298 optimize TilePump.initializePumpFromPosition by using a HashSet instead of a TreeSet for markedBlocks 2013-05-06 14:47:10 +02:00
Flow86
6687d8baf8 add isPipeRegistered for mods to check if pipe-id already taken. 2013-05-06 14:10:48 +02:00
CovertJaguar
e1d88a7d8f Added config option to disable Oil Springs
And made the code ID Resolver compatible.
2013-05-05 06:41:29 -07:00
CovertJaguar
842e520b60 Pipes with missing info are now deleted
Closes #782
2013-05-04 20:25:04 -07:00
CovertJaguar
4ee70e100b Merge pull request #825 from viliml/patch-2
Add LiquidMotionEvents to waterproof pipes
2013-05-04 13:56:17 -07:00
SirSengir
8f15b6371c Reduced Forge requirement. Last one for 1.5.1 should be fine. 2013-05-04 19:34:26 +02:00
viliml
95323927fe Add LiquidMotionEvents to waterproof pipes
Why would it exist if it was never to be used?
2013-05-04 18:07:45 +03:00
CovertJaguar
f35d63ecb4 Fire is now a soft block. 2013-05-04 00:16:33 -07:00
CovertJaguar
4d601e976e More Oil improvements and tweaks
Added a 50% bonus to well gen in biomes that spawn Lakes.

Added Taiga to biomes that spawn Oil Lakes (waves at Canada and
Siberia).
2013-05-03 13:56:41 -07:00
SirSengir
c01fd677b6 Bumped required Forge version. 2013-05-03 16:24:32 +02:00
SirSengir
ab614d64a7 Updated mappings for Forge 7.8/MC 1.5.2. 2013-05-03 16:18:09 +02:00
CovertJaguar
234d17b700 Null check getTanks() 2013-05-02 19:18:19 -07:00
CovertJaguar
7b9994bd86 Minor bugfix for Oil Lakes 2013-05-02 15:00:30 -07:00
CovertJaguar
bd6024a53f More improvements to Oil Gen
Oil Lakes can no longer only spawn in sand. Added IMC calls for Lakes
and excluded Biomes.
"oil-lake-biome" and "oil-gen-exclude", both take the BiomeID as an
argument.

Increased specular highlights on Oil texture, you shouldn't have to jump
in the pool to tell the difference between lighting glitches and oil
anymore.

Oil Lakes now have 50% chance of being 2 blocks deep. Improved gen to
prevent floating trees, etc.

Oil Wells should no longer gen in mod added trees.
2013-05-02 04:19:33 -07:00
CovertJaguar
0b44d97359 Fixed a couple bugs from the Oil commit 2013-05-02 02:59:30 -07:00
CovertJaguar
52ffd07bb3 Some minor improvements to the Engine Renderer
Note: it still needs to be rewritten to use a single texture sheet.
2013-05-01 18:14:34 -07:00
CovertJaguar
d2e7279498 Reduced Oil Spring respawn chance 2013-05-01 18:01:32 -07:00
CovertJaguar
e980637f7e Minor Engine opt 2013-05-01 17:35:37 -07:00
CovertJaguar
4361db859c Fix toLowerCase() calls for Turkish 2013-05-01 17:30:39 -07:00
CovertJaguar
c2ddf66ec7 Fixed Wood Engine lockups
Closes #784
2013-05-01 14:26:42 -07:00
CovertJaguar
c61daa06a5 Added Oil Springs
Spawns an infinite Oil Spring at bedrock under 25% of large Oil Wells.
This Spring slowly produced more oil over time.

More balance testing needed, but I need to fix that damn Redstone Engine
bug first.
2013-05-01 13:31:18 -07:00
CovertJaguar
b185cf7954 Fixed Tank liquid rendering 2013-04-30 18:24:11 -07:00