Commit graph

764 commits

Author SHA1 Message Date
Andrew Hill
131f2459ed another null check needed
the crafting helper is not used anywhere other than the 3 places that
have null checks. (this was the third location)
2013-02-21 01:50:51 +10:00
Andrew Hill
a48e184ddb correction to the previous commit
please --squash this or the previous ones.
(and i'll try not to write up commits using the web interface, even for
simple things in the future)
2013-02-21 01:04:11 +10:00
SirSengir
041e4afcf6 Merge pull request #646 from AartBluestoke/upstreamMaster
check for null recipe
2013-02-19 23:22:29 -08:00
Andrew Hill
d16e44fb81 check for null recipe 2013-02-20 11:04:35 +10:00
SirSengir
c211af80ee Merge pull request #641 from AartBluestoke/upstreamMaster
cache the IRecipe
2013-02-19 04:53:45 -08:00
Andrew Hill
6d700c4adc move CraftingHelper. 2013-02-19 10:04:30 +10:00
Andrew Hill
7d23bda09f add a method to get the recipe. 2013-02-18 16:11:01 +10:00
Andrew Hill
1730feed03 cache the IRecipe
act's should not re-search for their recipe, when the last recipe found
is still able to be used.

CraftingHelper.findMatchinRecipe() is identical to
vanilla.CraftingManager.findMatchingRecipe, except it returns the
IRecipe, rather than just the result.
2013-02-18 14:41:00 +10:00
Andrew Hill
2e2e1d8ce8 math.ceil() is very slow
see http://imgur.com/nT62QYQ
math.ceil is almost 100% of the cpu cost of pipePowerWood and transport.pipeTransportPower
(full nps from 
https://www.dropbox.com/s/01ywgc8lnyr2es2/1361111585024.nps?dl=1
several hundred k items extracted from ex-dim barrels, sent to a set of act's, crafted to blocks, and then sent back to barrels.

sendStack->queueRoutedItem() is to do with logistics HUD display, and is being worked on lag-wise also.)
2013-02-18 12:26:25 +10:00
SirSengir
fefd3df7e2 Merge pull request #633 from nallar/master
Improve quarry performance, updated build.xml. Correctly this time.
2013-02-16 14:14:47 -08:00
Ross Allan
814b450719 Improve quarry performance.
Reduce getBlockId calls in canChangeBlock/isSoftBlock to one, add canChangeBlock/isSoftBlock with blockID parameter to allow for only a single getBlockId call per block checked for the visit list.
Use heightmaps when building visit list to increase performance when checking a mostly empty quarry

Signed-off-by: Ross Allan <rallanpcl@gmail.com>
2013-02-15 21:52:10 +00:00
viper283
8eb7af5741 Override canCommandSenderUseCommand
This allows users to use the /Buildcraft command without needing to
enable cheats in the world creation menu
2013-02-15 19:34:24 +00:00
CovertJaguar
28639f46cc Merge pull request #636 from powercrystals/master
Additional transactor fix for getInventoryStackLimit
2013-02-13 23:00:20 -08:00
powercrystals
016ad7082b Update common/buildcraft/core/inventory/TransactorSimple.java
Fix getPartialSlot for inventories with a getInventoryStackLimit less than the item's max stack size
2013-02-13 19:21:59 -05:00
Player
bf22970fba Add better Pipe selection checking, open the gate GUI only if it has been clicked 2013-02-11 18:39:28 +01:00
sfPlayer1
e5c1af707f adv. assembly workbench: Match vanilla getStackInSlot behavior
The vanilla implementation checks for out of bound access and returns null in that case.
This fixes the following incompatibility: http://pastie.org/private/mn2yefhc5yddahbkxgcqw
2013-02-08 14:03:43 +01:00
immibis
b4d9b73a99 Removed any possibility of TransactorSimple entering an infinite loop when getPartialSlot and addToSlot disagree. 2013-02-05 19:33:04 +13:00
CovertJaguar
78745179ce Marked vines as a soft block 2013-02-01 06:15:28 -08:00
CovertJaguar
47541f7478 Better solution to the last commit
Don't even register the decorator if we aren't going to modify the
world.
2013-01-31 23:10:14 -08:00
CovertJaguar
2dab4b0a8b Added config check to prevent crashes
Fixes part of #618
2013-01-31 23:03:35 -08:00
Christian
ff05f75e12 Buff the autarchic gates - they always pulse at a single, fast rate, about
10% faster than a top speed RS engine. This means they're usefully responsive
in a gate network environment
2013-01-30 20:57:35 -05:00
Krapht
78be7c1b7d Fix potential NPE in RenderTank when liquid no longer exist. Closes #614 2013-01-29 17:28:42 +01:00
viper283
7f4b9b3927 Fix /buildcraft not working in singleplayer 2013-01-28 22:39:16 +00:00
Krapht
06b938d007 Enabled glass facades
Closes #606
2013-01-28 22:02:09 +01:00
Krapht
9d20450f81 Remove redundant loop
Closes #608
Closes #566
2013-01-28 20:01:13 +01:00
CovertJaguar
2bd1e96e11 Fix Tanks filling and added safety check on load 2013-01-28 04:26:04 -08:00
CovertJaguar
1c6cb011c8 Update Forge req 2013-01-27 12:25:56 -08:00
CovertJaguar
573630b601 Fixed last commit cause the PR was lazy 2013-01-26 16:10:37 -08:00
CovertJaguar
79274a36ec Merge pull request #581 from bculkin2442/master
Proper PR for issue #563 - dont make me fix it next time
2013-01-26 16:08:06 -08:00
CovertJaguar
581c95e14d Registered Pipe items with FML
This will cause the mismatched id warning to display once for existing
worlds. It should be ignored.
2013-01-26 16:00:23 -08:00
pahimar
9ddd728711 BC Version check now threaded, will attempt the check 3 times, waiting 10s between failed attempts 2013-01-26 15:15:46 -05:00
Krapht
129a437d4e Added onBlockPlacedBy() wrapper to BlockGenericPipe and Pipe 2013-01-26 17:58:06 +01:00
SirSengir
5659043223 Sanity checked for itemstacks returned from extract. (NPE check) Fixes #601 2013-01-26 10:04:18 +01:00
Krapht
1b4f9fb431 Added a helper for merging stacks 2013-01-26 03:24:37 +01:00
SirSengir
35e3532f3d Created BC tab for creative inventory. (Yes, finally.) 2013-01-23 21:04:36 +01:00
snyke7
1afcf370b5 Fix fuel burning mechanic in EngineIron
Old implementation was not as intended I think. For example, lava as fuel should have outputted 20000 MJ, but actually outputted 20980 MJ.
This was because burnTime's value went 20,19,...2,1,0,20 - so that it had actually outputted 21 MJ for each amount of fuel.
Also, when the last amount of fuel was burned, burnTime would be 20 but fuel would be null, and so would currentFuel so that the last cycle was skipped.
So the actual output of some fuel was:
powerPerCycle * ((amount - 1) * (totalBurnTime/1000 + 1) + 1).
There probably are better ways to fix it but this is what seemed best to me.
2013-01-21 14:27:38 +01:00
Christian
d7e06e07a3 Update rendering to use the vanilla renderitem- 3d items in pipes :)
Fixed for recent MCP update in forge as well. Refreshed the TileEntityPickupFX code
from the vanilla source. Easier to diff against that source too now.
2013-01-20 20:53:01 -05:00
CovertJaguar
03a14b6444 Merge pull request #584 from viliml/patch-6
Fix typo
2013-01-20 17:27:56 -08:00
CovertJaguar
304fc8cb97 Updated World Gen to the Event based system
Hopefully I did this correctly.

@ScottKillen could you take a look, I'm sure you have more experiance
than I.
2013-01-17 23:37:37 -08:00
pahimar
2936174e53 Temporarily neutered the world destruction potention of Builders until a proper fix is implemented 2013-01-17 12:37:05 -05:00
viliml
2377075577 Fix typo 2013-01-17 13:29:05 +01:00
SirSengir
8d6231d3e3 Merge pull request #578 from aznhe21/patch-pipes-useable
Close the GUI when pipes destroyed
2013-01-17 01:21:34 -08:00
CovertJaguar
8dfa54d930 Merge pull request #579 from psxlover/EngineGui
Fix #577 energy and heat on combustion engines reseting.
2013-01-16 18:09:05 -08:00
CovertJaguar
9c8953a830 Fixed Quarries breaking Bedrock
Closes #519
2013-01-16 18:04:09 -08:00
bculkin2442
71c84fc6b1 Part two of proper fix for issue #563
Implement ILiquidTank getTank properly
2013-01-16 19:49:54 -05:00
bculkin2442
96f1aed0a2 Part 1 of proper fix for issue #563
Implement ILiquidTank getTank properly.
2013-01-16 19:46:10 -05:00
psxlover
9504405b0f Fix energy and heat on combustion engines reseting after 65535 and 6553.5 respectively. It was caused because the messages were sending only one byte at a time while max heat (100000) needs 3 bytes to be sent (a short is 2 bytes so each message can send 2 bytes instead of one). 2013-01-17 00:48:45 +02:00
aznhe21
70adf53368 Close the GUI when pipes destroyed 2013-01-17 00:47:53 +09:00
SirSengir
10ef5530ea Removed unneeded check. 2013-01-16 16:27:06 +01:00
SirSengir
dc6fcac971 Added infinite water springs at bedrock level. 2013-01-16 16:18:21 +01:00
CovertJaguar
74c531ad2e Fixed headers in new files
Oops.
2013-01-14 17:19:07 -08:00
CovertJaguar
e63402b0fa Added Emerald Item/Liquid Pipes
Also new texture for the Laser Crafting Table and fixed a bug with
Wooden Item Pipes not diplaying items that are being pumped.

Emerald Pipes are advanced versions of the Wooden Pipes. The Item Pipe
posseses a filter that pulls items from inventories in a blocking Round
Robin fashion. The Liquid Pipe has capacity and flow rate equal to a
golden pipe.

Note: ISpecial and ISelective Inventory interaction with the Emerald
Item Pipes is untested, there seems to be nothing decent to test with in
Buildcraft.
2013-01-14 17:05:49 -08:00
Krapht
b4cb75d2d4 Merge pull request #575 from Dacktar13/patch-1
to allow use of the pipe creation method
2013-01-14 02:30:01 -08:00
SirSengir
e99dd51f12 Wooden pipe and redstone engine recipes now use the ore dictionary. 2013-01-13 19:52:48 +01:00
Dacktar13
add849a67d to allow use of the pipe creation method 2013-01-13 18:02:41 +00:00
SirSengir
644b173be2 Merge pull request #567 from davboecki/patch-itemload
Fix item drop on world load.
2013-01-11 05:35:14 -08:00
davboecki
451e09afd8 Remove static modifier from contributions inside EntityPassiveItem. 2013-01-11 13:54:37 +01:00
davboecki
cbfbfb07b2 Added missing delay. 2013-01-11 13:35:30 +01:00
davboecki
3a0d50f0bb Fix Item drops on worldLoad. 2013-01-11 00:18:59 +01:00
SirSengir
bc2e7bacda Merge pull request #559 from KingLemming/master
Pipe Connection fixes
2013-01-10 03:03:37 -08:00
SirSengir
27e8d4c877 Merge pull request #557 from Shukaro/master
Fixed NPE crash with Factorization Barrels
2013-01-10 03:01:13 -08:00
Agaricus
d640951f2d Log coordinates of invalid pipes
Based on Maeyanie's fix for the old BC2 Bukkit port:
7dac7f9c2a
Add more feedback to the 'invalid pipe' loading errors.
2013-01-09 19:35:06 -08:00
King Lemming
b46d1c33cc Adjustments to Pipe Connection method to allow for proper sided checks (for correct liquid pipe support). Liquid pipes now query vs the correct side rather than UNKNOWN.
Signed-off-by: King Lemming <kinglemming@gmail.com>
2013-01-09 19:12:56 -05:00
Ross Swartz
148ee72092 Fixed crash with Factorization Barrels. 2013-01-09 12:38:22 -05:00
CovertJaguar
513388f6e3 Backs of Engines are now solid 2013-01-09 08:40:38 -08:00
CovertJaguar
f03c00fba3 Transactors now obey getInventoryStackLimit() 2013-01-09 08:17:43 -08:00
Christian
c95063ebd3 Fix wrench to pass sneak-clicks to blocks 2013-01-09 08:35:16 -05:00
CovertJaguar
371189814b Minor Stuff 2013-01-08 18:12:30 -08:00
CovertJaguar
389d74b0ba Fixed last commit
Closes #550
2013-01-07 23:00:17 -08:00
CovertJaguar
ca93a6661b Fixed NBT bugs and converted Hopper to Transactors
And I really need to fix my dev env so I can test these commits.
2013-01-07 18:12:26 -08:00
Agarb
3fae38c1e8 Solution for issue #544
If mining is disallow, then recipe of pump change
2013-01-05 15:29:15 +09:00
CovertJaguar
d48c9f6dca Hopper now interates its inventory
Instead of only attempting to move the first stack, the Hopper will now
test each stack in turn until it finds something to move. (untested)
2013-01-04 07:08:33 -08:00
CovertJaguar
e4ef3b8108 Loosened up Power acceptance on Quarry/Refinery
I don't know if its enough to prevent Industrial Steam Engines from
exploding, but its better than it was. Should not affect overall power
usage.
2013-01-03 15:21:10 -08:00
SirSengir
0bb128acfd Merge pull request #525 from aznhe21/patch-pipes-refresh
Pipes should not refresh.
2013-01-03 05:19:44 -08:00
SirSengir
a345329843 Merge pull request #539 from Flow86/patch-gate
Make gates and wires available for other mods in "preInitialize" phase
2013-01-03 04:58:46 -08:00
Flow86
34ce0a9cc1 Make gates and wires available for other mods in "preInitialize" phase 2013-01-03 13:55:14 +01:00
Christian
e073bf604c Change the filler to stop it's use as a mining tool:
1. It empties from the top down now.
2. It uses less "max power" now.
3. Entity items dropped by the filler last 20 ticks.

It still works very well (better in fact) as a clearing and building
tool, but it's not a mining tool any more.

With thanks to the Mindcrack crew for demonstrating it's obvious flaws.
2013-01-02 22:01:03 -05:00
SirSengir
a817dab2d8 Merge pull request #530 from DeliciousJaffa/master
Filler Flatten only reaching 128
2013-01-01 16:10:09 -08:00
MrTJP
85644a33cf Made transactor alert inventory changes
Eliminates some client-server sync issues (given that the TE alerts server).
Also enables things like Factorization Barrels to update their item count.
2012-12-31 15:50:39 -05:00
SirSengir
f664ff8084 Fixed NBT data not synching when manipulating the diamond pipe gui. 2012-12-30 12:35:12 +01:00
SirSengir
e6a9ab6652 Mcp naming fix. 2012-12-30 10:08:06 +01:00
Kevin Murphy
e6009aed5c Stacked tanks no longer store different liquids 2012-12-30 01:03:03 -05:00
Christian
424329f164 Update for MCP updates with MC1.4.7 2012-12-28 15:29:35 -05:00
Jordan (DeliciousJaffaJaffa)
85a95543e4 Fix Filler Flatten
Now goes to the full 256 instead of 128, must have been overlooked,
2012-12-27 01:21:50 +00:00
aznhe21
e34b5b151f Override shouldRefresh. 2012-12-22 18:46:03 +09:00
tcooc
209f382aee Pipes replace blocks like grass, vines, etc.
Pipe place sound.
2012-12-21 16:28:37 -05:00
Octav Sandulescu
d6a0457368 Add way to query for refinery recipes 2012-12-19 15:02:00 +02:00
SirSengir
d8750a5d08 Fixed NPE when no recommended version is found. 2012-12-18 20:56:43 +01:00
SirSengir
a2d69bc4f8 Initial 1.4.6 port. 2012-12-18 20:43:22 +01:00
SirSengir
e42c71e9a3 Refactor/cleanup. 2012-12-17 23:30:54 +01:00
SirSengir
6ed78f37b2 Repackage for new Forge. 2012-12-17 23:29:42 +01:00
NeverCast
7d8efe6296 Liquid Pipes do a full update periodically for client sync
Added config option in BuildCraftCore regarding long update period
Added to core as it may be used for other things in future too
2012-12-15 21:47:42 +13:00
NeverCast
f23ddb476a Liquid Packets should not send before chunks on client join 2012-12-15 21:04:25 +13:00
NeverCast
3dbc451f31 Redudent null check on instanceof 2012-12-15 19:27:31 +13:00
NeverCast
8073fed1d1 Fix some NPEs on TileEngine when it has not be initialized 2012-12-15 17:32:58 +13:00
gishicrafter
93f9c25ba8 Fixed EngineIron fuel acceptance problem. 2012-12-14 20:59:49 +09:00
CovertJaguar
9c0e9205cf Power Pipes now display power stored too
There is now a visual indicator that a pipe will soon explode.
2012-12-14 02:15:26 -08:00
SirSengir
c1089e5e8a Added update notice. Will only display once per update and not annoy the player on each startup. 2012-12-13 20:46:20 +01:00
CovertJaguar
9fbdd4040b Some more minor opts 2012-12-12 23:10:56 -08:00
CovertJaguar
2c888525d6 Minor opt to TileEngine.fill() 2012-12-12 22:51:54 -08:00