Commit graph

1861 commits

Author SHA1 Message Date
SpaceToad
d8c4d5db14 first implementation of save / load of blueprint on the disk 2014-02-23 15:33:28 +01:00
SpaceToad
8980dfdcdf reorganized class serialization, now accepts more objects 2014-02-23 11:59:30 +01:00
Cisien
fdd8800f2b Remove extra logging 2014-02-22 16:38:42 -08:00
Cisien
1c61f29259 Spaces 2014-02-22 16:20:25 -08:00
Cisien
5ebb0e4338 clean up some spaces tabs 2014-02-22 16:12:46 -08:00
Cisien
55ef362018 Better support for mod blocks in facades
Blocks can be blacklisted from becoming facades in the config
Added an IMC message for blacklisting facades. send an IMC message with the item stack, and the blacklist-facade command
Register FacadeRecipe with the RecipeSorter
Facades store the block registry block name in place of the ID. Existing facades will be updated automatically.
The add-facade IMC string message implementation now requires block registry name instead of id. (but still works with id, for now)
The FacadeRecipe handler will rotate through the meta of the blocks the facade is made from allowing cycling through variants (such as colors of wool).
2014-02-22 15:41:46 -08:00
SpaceToad
3dbf9b6495 re-established raw building capability 2014-02-22 13:54:47 +01:00
SpaceToad
51f0580374 initiated replacement of schematics with updated version of original Bpt code 2014-02-22 13:21:49 +01:00
SpaceToad
b4deff27bd progress in fixing back tile architect 2014-02-22 00:14:49 +01:00
SpaceToad
e55950dee6 started to resurect old blueprint system and simplified tiles with boxes 2014-02-21 21:30:12 +01:00
SpaceToad
a69d4a3df6 Merge pull request #1461 from Cisien/patch-4
Set the block name for lasers
2014-02-21 07:42:47 +01:00
Chris
e0f968eeb9 Set the block name for lasers 2014-02-20 21:45:36 -08:00
Chris
8d1a56f02e SideOnly on client only methods in gates
Problem: When loading a world that has gates, the server will crash with this exception:
http://paste.cisien.com/f/33730518.txt

Solution: add @SideOnly(Side.CLIENT) to the methods that deal with IIcon, since they are client-side only.

Tested item pipes with gates pulling items from a chest in single player, and in multi-player
2014-02-20 20:38:28 -08:00
SpaceToad
95cb00fe91 connected builder robots to filler urbanist 2014-02-20 21:26:54 +01:00
SpaceToad
880fc11c4f implemented synchronization of box kind 2014-02-20 09:31:33 +01:00
SpaceToad
aa65b484ac fixed villages generation, fix #1458 2014-02-20 08:47:24 +01:00
SpaceToad
84d3cd6948 fixed block urbanist rendering 2014-02-20 08:43:05 +01:00
SpaceToad
d27f8d90ab fixed serialization for urbanist over the network 2014-02-19 23:37:35 +01:00
SpaceToad
4b144864d6 avoid using entities when rendering frames 2014-02-19 22:43:29 +01:00
SpaceToad
b517ce2bf6 fixed (again) item facades, fix #1454 2014-02-19 08:27:53 +01:00
SpaceToad
bcd31a1f96 made progress in block selection from third person view 2014-02-19 00:23:06 +01:00
SpaceToad
2f1eb04d5d merged with builder 2014-02-18 21:22:58 +01:00
SpaceToad
85149631ad merged with 5.0.x branch 2014-02-18 21:20:29 +01:00
SpaceToad
873c39f314 added back some proxy code, fixing server load, fix #1447 2014-02-18 20:42:57 +01:00
SpaceToad
31f6516b79 Merge branch 'patch-2' of https://github.com/viliml/BuildCraft into viliml-patch-2 2014-02-17 21:32:49 +01:00
viliml
5facf915ba Fix Facade names
This is how to control name of items.
2014-02-17 16:27:11 +01:00
Robin
7a48cd63f3 fix format and use splitToList 2014-02-17 13:31:48 +01:00
SpaceToad
be5b87eb12 attempt at making facade computation more robust, fix #1444 2014-02-16 22:33:42 +01:00
SpaceToad
f943487150 added save / load for pickup robot 2014-02-16 22:29:46 +01:00
SpaceToad
3ccc60a119 finalized initial implementation of picker AI, and refactored a bit robots 2014-02-16 18:36:35 +01:00
SpaceToad
4948e02cb5 initial categorization of items 2014-02-16 17:21:22 +01:00
SpaceToad
1677fa3785 merged with latest changes and fix compilation errors 2014-02-16 12:14:30 +01:00
SpaceToad
347bfd7a2e Merge branch 'BuildCraft-5.0.x' into builder 2014-02-16 12:10:42 +01:00
SpaceToad
90f2532278 migrated to Minecraft 1.7 2014-02-16 12:10:01 +01:00
SpaceToad
ce393ec0ef fixed conversion error, fix #1439 2014-02-16 09:37:00 +01:00
SpaceToad
f5f192e7df removed all references to EntityClientPlayerMP and fixed filler packet, fix #1437 2014-02-16 09:29:26 +01:00
SpaceToad
5be1c3d066 changed biome ids in config, fix #1438 2014-02-16 09:19:11 +01:00
robin4002
754857dbb6 Move to assets lang system 2014-02-16 00:48:23 +01:00
SpaceToad
2709b8a1b7 fixed compilation errors with Minecraft 1.7 2014-02-15 22:29:48 +01:00
SpaceToad
ce432eaa76 further fixes in facades 2014-02-15 14:45:22 +01:00
SpaceToad
6b21bdd901 more fixes following last pull 2014-02-15 14:16:23 +01:00
SpaceToad
8a30d95286 Merge pull request #1433 from fabricator77/BuildCraft-5.0.x
Fix IIcon sided crashes on dedicated server
2014-02-15 14:06:26 +01:00
SpaceToad
88bb117094 added more gate options in creative 2014-02-15 09:57:27 +01:00
SpaceToad
360d782ea9 normalized file headers 2014-02-15 09:21:40 +01:00
fabricator77
d2a4dabdc7 Fix IIcon sided crashes on dedicated server 2014-02-15 14:09:48 +10:30
SpaceToad
b3dac23866 fixed generic fluid pumping 2014-02-14 08:53:53 +01:00
SpaceToad
ebbc8d2146 resurected minimum amount of blueprint for quarry frame 2014-02-11 22:46:50 +01:00
SpaceToad
3580d4b34a fixed quarry placement and various minors twearks 2014-02-11 21:11:06 +01:00
SpaceToad
12ec799ea3 fixed calls to sendNetworkUpdate 2014-02-11 08:23:55 +01:00
SpaceToad
9742bd6911 fixed location of icons/triggers to get proper icon load 2014-02-10 21:49:48 +01:00
SpaceToad
ef400b1d92 fixed missing packet ids transmission 2014-02-10 18:24:27 +01:00
SpaceToad
8f7f8d31ad fixed player in net handler and deprecated proxies 2014-02-10 18:06:44 +01:00
SpaceToad
f227dc2afc fixed items traveling in pipes 2014-02-10 16:05:05 +01:00
SpaceToad
f10e728b59 fixed pipe state synchronization 2014-02-10 15:16:32 +01:00
SpaceToad
944b9d693b fixed get description packets 2014-02-10 13:04:20 +01:00
SpaceToad
32e3d44e13 added missing channel to energy mod 2014-02-09 21:29:23 +01:00
SpaceToad
4d1e73f9e7 added discriminator for tile update 2014-02-09 21:19:35 +01:00
SpaceToad
976b6733da fixed setBlock calls to null 2014-02-09 19:55:54 +01:00
SpaceToad
c516cc5862 fixed facade display and pipe initialization 2014-02-09 19:03:13 +01:00
SpaceToad
58ed5ee20c fixed biomes conflicts and forge version 2014-02-09 18:15:15 +01:00
SpaceToad
4dacb568ba fixed last compilation errors 2014-02-09 18:02:44 +01:00
SpaceToad
6692683e4f removed obsolete file 2014-02-09 12:30:02 +01:00
SpaceToad
36a9ef91e5 more compilation fixes for 1.7.2 2014-02-09 12:29:21 +01:00
SpaceToad
6b36051353 progress with 1.7.2 port 2014-02-08 20:39:39 +01:00
SpaceToad
20d08f393a progress with 1.7.2 port 2014-02-08 16:04:03 +01:00
SpaceToad
2bc0a85bbe made progress with 1.7.2 port 2014-02-08 14:47:31 +01:00
SpaceToad
87562542c9 Merge branch 'marmot' into BuildCraft-5.0.x 2014-02-08 10:39:18 +01:00
SpaceToad
2995c13c1d Merge branch 'marmot' into builder 2014-02-08 10:38:03 +01:00
SpaceToad
fce098b021 Merge branch 'nightly' into marmot 2014-02-08 10:37:36 +01:00
SpaceToad
ec265fd6f3 implemented robot stations and robot hierarchy 2014-02-08 10:28:16 +01:00
SpaceToad
12cb51373e various experiments for BC NextGen 2014-02-01 17:19:07 +01:00
SandGrainOne
5055d8c146 Fluid level trigger for tanks 2014-01-30 20:08:01 +01:00
SpaceToad
fef5ccbac1 further progress in supporting fillers for urbanist module 2014-01-25 11:45:26 +01:00
CovertJaguar
7c09c24499 Add NPE check in Iron Engine
Closes #1420
2014-01-21 20:24:36 -08:00
SpaceToad
3dd418a27a progress in tool filler 2014-01-20 21:15:30 +01:00
SpaceToad
8584db25a9 fixed robots for urbanist 2014-01-19 11:02:11 +01:00
SpaceToad
3742dfdec9 removed unused files 2014-01-18 14:53:57 +01:00
SpaceToad
48ec6c9da7 further progress in urbanist implementation 2014-01-18 14:53:09 +01:00
SpaceToad
b4a668e91f first set of Urbanism experiments 2014-01-16 22:53:16 +01:00
SpaceToad
3b973044ea migrated part of the sendTo* calls to the new network API 2014-01-14 19:22:10 +01:00
SpaceToad
14003341e3 progress made in MC 1.7 network support 2014-01-13 20:26:16 +01:00
SpaceToad
13213cd59d fixed IIcon and IIconRegister names 2014-01-12 23:05:36 +01:00
SpaceToad
be872d3692 Starting the port to Minecraft 1.7
Initial set of very obvious fixes for Minecraft 1.7 port, with
an early version of Forge.
2014-01-12 19:12:40 +01:00
SpaceToad
db943bff47 Merge branch 'marmot' into builder 2014-01-12 18:23:46 +01:00
SpaceToad
1c2e28f2dd Merge branch 'nightly' into marmot 2014-01-12 18:23:34 +01:00
SpaceToad
7af855040b Further progress for the library
Blueprint identification has been adjusted a bit in order to make it easier
to have an ordered list. Loading functions are temporary deactivated waiting
for some more insights on the serialization. Server and client databases have
been separated.
2014-01-12 17:57:32 +01:00
SpaceToad
33a77efaf2 Blueprint serialization over the network
This patch changes a bit the behavior of the Library. Instead of being an
item browsing blueprints on the server, it's going to retreive blueprints
built on the server for the client, and then allow the client to send back
its blueprints to the server.

This patch is a first milestone, with functional serialization and
deserialization of a blueprint over the newtork, using the Library as interface.
2014-01-11 20:55:24 +01:00
SpaceToad
3cf761226e Polymorph classes supported in serializer.
The serializer now supports cases where the actual object is different from
the object declared, sending once the class name on the stream.
2014-01-11 17:27:53 +01:00
SpaceToad
08d01c0394 Re-introduction of the builder block
Added back the builder block to the world, with fixes of initial obvious errors.
TileArchitect is now passing its name through RPCs.
2014-01-11 13:59:30 +01:00
SpaceToad
9dab76fc71 Support for multi-dimentional arrays in serialization.
Carrying on with the work on RPC, this patch implements support for multi-
dimension arrays in serialization.
2014-01-11 12:49:10 +01:00
SpaceToad
4e23782911 added nissing deprecated annotation 2014-01-11 10:56:01 +01:00
SpaceToad
4f4818bb35 Merge branch 'marmot' into builder 2014-01-11 10:49:45 +01:00
SpaceToad
c0cbc7f841 Merge branch 'nightly' into marmot 2014-01-11 10:49:34 +01:00
SpaceToad
7e4b66c127 Merge branch 'nightly' of github.com:BuildCraft/BuildCraft into nightly 2014-01-11 10:47:32 +01:00
SpaceToad
36c2d8d8e2 generalized change made for #1410 2014-01-11 10:46:30 +01:00
SpaceToad
3f591439f1 Merge branch 'TurtleQuarryFix' of https://github.com/acmihal/BuildCraft into acmihal-TurtleQuarryFix 2014-01-11 10:37:06 +01:00
acmihal
7e9f75a7bc Use rotationYaw to set quarry orientation.
Allows computercraft turtles to place quarries.
2014-01-10 21:28:08 -08:00
SpaceToad
498676bf0c updated documentation 2014-01-09 21:15:12 +01:00
SpaceToad
ce215587a8 Further changes in data synchronization.
ClassMapping now supports more advanced behavior, in particlar cases where
the destination object do not exist. It has now a much more comprehensive
documentation. TileNetworkData has been renamed NetworkData, as it's used
for more than just tile synchronization. Some additional markers have been
placed on the blueprints to make progress and identify which areas still
need support.
2014-01-09 09:02:23 +01:00
SpaceToad
17ed47d2a2 Improved RPC parameter support - now classes can be serialized through the
same system as tiles, and fields selected through @TileEntityNetwork. Improved
the TileLibrary rpc calls to take advantage of this new capability. The RPC
world identification has been fixed as well.
2014-01-08 22:43:25 +01:00
ArkeousAero
09e32da2c7 Added cylinder pattern for the filler. 2014-01-08 04:07:18 -06:00
CovertJaguar
282128d9a6 Close Gate GUI if someone removed the Gate 2014-01-07 16:33:36 -08:00
SpaceToad
1596c5ffc5 This patch is done in the context of TileLibrary synchronization and RPC
implementation.

Through the process of implementing RPC, a intrusive simplification in the
network message system has been implemented, completely removing the use
of PayloadArray. On top of that, ClassMapping is now much more flexible,
and doesn't need to be provided with a static size anymore, making it closer
to a suitable class for the needs of RPC message passing.

The result of this simplification is also a slight optimization of message
passing, where certain data needed to be passed over the network (for example
on null objects) which is not needed anymore.

With regards to the TileLibrary itself, the implementation is yet pretty
basic, showcasing the use of RPC to retreive a list of strings computed on
the server.
2014-01-07 22:52:10 +01:00
SpaceToad
ab37498ef1 Merge branch 'marmot' into builder 2014-01-06 20:37:23 +01:00
SpaceToad
78f62ffffb Merge branch 'nightly' into marmot 2014-01-06 20:24:58 +01:00
SpaceToad
da65d20282 removed unexpected network handler, fix #1405 2014-01-06 20:07:40 +01:00
SpaceToad
d697944364 added missing files for initial RPC implementation 2014-01-06 19:59:09 +01:00
SpaceToad
b1f5a4b96a initial set of experiments with RPC implementation 2014-01-06 19:57:54 +01:00
SpaceToad
69079dab94 Fixed lasers looking for tables on a regular basis, fix #1400
Attempt at improving SafeTimeTracker interface and implement
automatic randomization. If interface is confirmed, other places
in the code will need to be updated to the interface.
2014-01-05 17:47:48 +01:00
SpaceToad
c4cbdcc584 Implemented graphical animation for pulsing gates, close #1390
Fixed lit stage of gates, for #1401
2014-01-05 13:29:38 +01:00
CovertJaguar
8ee5270145 Merge branch 'marmot' into builder 2014-01-04 11:26:48 -08:00
CovertJaguar
b73a2d4f51 Fix Engine dupe
Closes #1361
2014-01-04 11:25:13 -08:00
CovertJaguar
f87e5c0add Fix Gate lit state 2014-01-04 07:42:53 -08:00
CovertJaguar
23a3a7004d Merge branch 'marmot' of https://github.com/BuildCraft/BuildCraft into marmot 2014-01-04 07:12:00 -08:00
CovertJaguar
2f7f6635fc comments 2014-01-04 07:11:43 -08:00
SpaceToad
fd058efd01 fixed location of icon for eneryg pulsar, following #1391 2014-01-04 16:06:33 +01:00
SpaceToad
197c5b7edf Implemented icons for pulsar and single pulsar, close #1391 2014-01-04 15:43:44 +01:00
CovertJaguar
5d9a9fa4e0 Add some stat tracking ability to the Power API 2014-01-03 16:47:30 -08:00
CovertJaguar
7fc7f25661 Bump Power API version 2014-01-03 01:32:19 -08:00
CovertJaguar
bb527bb48c Merge branch 'marmot' into builder
Conflicts:
	common/buildcraft/BuildCraftCore.java
2014-01-03 01:21:50 -08:00
CovertJaguar
ee71e86409 Merge branch 'nightly' into marmot 2014-01-03 01:19:52 -08:00
CovertJaguar
6c73c1a070 Convert Power API to use Double instead of Float
Closes #1288
2014-01-03 01:17:19 -08:00
CovertJaguar
da35a13f45 Fix derpy Filler Pattern selection
Closes #1394
2014-01-02 05:16:09 -08:00
CovertJaguar
3b0a047570 Finalize Gate Rework
-Added Integration Table Recipes
-Finished and tested Integration Table
-Re-added all Gate recipes
-Clean up Pipe Wires, Chipsets, etc...

Changes:
-Gate Logic Swap recipes moved from Workbench to Integration Table.
-Pipe Wires condensed into a single Item
-Pipe Wires are now distributed evenly between the gates: Red with the
Basic Gate, Blue with Iron, Yellow with Gold, and Green with Diamond.
Recipes adjusted to match.

As of this commit, Gates should be both craftable and usable again. The
Integration Table is also ready to be used. Gate Expansions are
completely implemented and usable.

Enjoy!
2014-01-02 04:58:08 -08:00
CovertJaguar
0c057f28d1 Flesh out remaining Integration Table details
No recipes defined yet, so no idea if it actually works.
2013-12-29 03:05:21 -08:00
CovertJaguar
173aabf91d Implement Integration Table logic 2013-12-28 23:01:15 -08:00
CovertJaguar
edf8f17a6f Add Integration Table Recipe API 2013-12-28 01:24:18 -08:00
CovertJaguar
4356c1098b Refactor Laser Tables to share common ancestor 2013-12-28 01:11:03 -08:00
CovertJaguar
fedb4d5a42 Merge branch 'nightly' into marmot 2013-12-28 00:43:25 -08:00
CovertJaguar
d77ee030c2 Modify Pipe RayTrace to better reflect EyeHeight 2013-12-28 00:41:05 -08:00
CovertJaguar
5150d01672 Add Redstone Fader Exp + major cleanup 2013-12-27 08:40:44 -08:00
Speiger Bär
d3a178375e Added gate changing on FluidPipes 2013-12-26 01:14:26 +01:00
CovertJaguar
4e3f4c1e94 Rewrite Timer Trigger so it actually works...
...and add Clock Timer Gate Expansion.
2013-12-24 00:22:17 -08:00
CovertJaguar
b3aa1aaafd Missed a line 2013-12-23 23:29:36 -08:00
CovertJaguar
d9f655d52b Merge branch 'marmot' into builder
Conflicts:
	common/buildcraft/BuildCraftCore.java
	common/buildcraft/builders/TileBuilder.java
2013-12-23 23:28:19 -08:00
CovertJaguar
f353d04feb Merge branch 'nightly' into marmot 2013-12-23 17:07:14 -08:00
CovertJaguar
46612e4e3c Desert Oil Biome should decorate
Closes #1374
2013-12-23 17:02:03 -08:00
CovertJaguar
f67d1a29b8 InventoryIterator should support Double Chests
Closes #1363
2013-12-23 16:58:46 -08:00
CovertJaguar
b64a8977c6 Modify Trigger API slightly to support Expansions
Unfortunately, this will break existing mods. But its a simple fix, just
implement the ITileTrigger interface.
2013-12-23 16:49:04 -08:00
CovertJaguar
1cb20ea59d Kill Gate Icon Provider, and cleanup unused icons 2013-12-21 19:49:20 -08:00
CovertJaguar
a0c2e5807c Serialize and Sync Gate Expansions
Expansions are synced in a similar manner to fluid ids. A packet is sent
on login with a String<->Byte mapping for each Expansion. The Pipe uses
this lookup table construct the Gate on the client side.

Remaining Todo List:
-Add Integration Table for adding Expansions to Gates
-Add Deconstruction Table for dismantling Gates
-Adapt Clock Timer Expansion to new framework
-Add Redstone Fader Expansion (name not final)
2013-12-21 19:11:51 -08:00
CovertJaguar
88c320a56b Move Pipe API into transport for now 2013-12-20 17:01:05 -08:00
CovertJaguar
c1cd0fa02b Remove IPipe, cleanup IPipeTile 2013-12-20 16:55:47 -08:00
CovertJaguar
0c438361e5 Code clean up 2013-12-20 16:27:01 -08:00
CovertJaguar
ae3a89bfe9 Clean up Fluid Update Packet
It was sending a ton of unused bytes, whoever did the Liquid->Fluid API
update left a bunch of old metadata related stuff in.

Also checking for valid fluids is necessary because its possible for
FluidStack.getFluid() to return null.
2013-12-19 20:36:58 -08:00
CovertJaguar
547c5d28ea Slow Item Pipe max speed so the code can keep up 2013-12-19 05:36:29 -08:00
CovertJaguar
986f407af6 Merge nightly into marmot 2013-12-19 05:35:40 -08:00
CovertJaguar
10daf6f202 Remove any possibility for CCMEs in Item pipes
Fixes
http://forum.feed-the-beast.com/threads/direwolf-20-1-6-4-public-beta.35476/page-18#post-500244

I should note that I still can't see how that could have happened, this
commit just made it utterly impossible.
2013-12-19 04:41:57 -08:00
CovertJaguar
c9acef05ca Improve perf of ACT by caching OreDict info 2013-12-19 03:33:22 -08:00
CovertJaguar
2936d76b95 Add a null check in dropItems() 2013-12-13 15:27:10 -08:00
CovertJaguar
35611e0bf7 ACT needs to support recipes with variable outputs
For example, ChristmasCraft Gifts that use input item NBT to determine
the output item.
2013-12-13 15:22:21 -08:00
CovertJaguar
70822c0178 Add additional support for Gate Expansions
Things left to do:
-Sync expansions on the pipe to the client
-Rewrite Assembly table to support modifying Item NBT so you can add
expansions to Gates
2013-12-10 02:02:35 -08:00
CovertJaguar
acef0b4d60 Fix Gate Rendering
Layers!
2013-12-10 01:02:21 -08:00
CovertJaguar
4a21f4ce24 Notify player of inv changes when filling 2013-12-08 21:03:29 -08:00
CovertJaguar
d7575d74ea Wrenches shouldn't stack 2013-12-08 21:02:46 -08:00
CovertJaguar
a4032762bc Merge branch 'marmot' of https://github.com/BuildCraft/BuildCraft into marmot 2013-12-08 16:57:03 -08:00
CovertJaguar
5be3a5c6a0 Fix Engine dupe
Closes #1361
2013-12-08 16:56:40 -08:00
Charles Comstock
ef71c35ad2 Extract GL.color(int color) for unpacking hex RGB
Centralizes all the unpacking of hex RGB values from an integer to a
single call to GL11.glColor4f.
2013-12-08 02:42:14 -06:00
CovertJaguar
0a4193b72e Some more minor optimizations 2013-12-05 18:05:32 -08:00
CovertJaguar
10015f8ffb Remove Fluid Motion Event, they cost too much CPU
And I'm told they are going away in the future.
2013-12-05 17:01:09 -08:00
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
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