[1.0.0] Logistics Pipes 0.1.6(ALPHA) for Buildcraft 2.2.x

HomeForumsRelated Mods and Texture PacksKrapht’s Logistic Pipes[1.0.0] Logistics Pipes 0.1.6(ALPHA) for Buildcraft 2.2.x

This topic has 86 voices, contains 296 replies, and was last updated by  Krapht 488 days ago.

Viewing 15 posts - 1 through 15 (of 297 total)
Author Posts
Author Posts
November 9, 2011 at 9:49 pm #1888

Krapht

SSP ONLY! MINECRAFT 1.0 ONLY! Buildcraft 2.2.7+
When installing new mods / upgrading, make sure to backup your saves first.
TLDR; – Scroll to bottom of post for download links, but you should read this at some point… Don’t say I didn’t warn you ;-)

Definitions:
Network – a collection of logistics pipes connected by standard buildcraft pipes. There can be multiple networks if there is no interconnection between them.

Router – The logic built in to all logistics pipes that directs items to the proper destination
Logistics Manager – The logic that decides where to send items, if orders are fullfillable etc.

About:
This is a mod to help automate moving stuff from one point to another. It consists of a several pipes, each with a different purpose.

Routing: Unlike other buildcraft pipes logistics pipes communicates with other logistics pipes connected to the same network. By doing this each pipe can get a clear picture of all other pipes on the network and how far it is to get there. Using this information it is possible to calculate the shortest distance to any other logistics pipe in the network. Items reaching its destination will be emitted on any exit which does not have a route. Routed exits have a green stripe, non-routed exists have a red stripe. If no non-routed exits exist the item will be dropped. Any item entering a network that does not have a specific route and there is a not a default route configured will also be dropped.

Basic logistics pipe: This pipe has an interface where you can put items (not too unlike the diamond pipe). The purpose of this is to have that type of item delivered to the pipe. When an item enters any logistics pipe, the logistics manager will tell the pipe where to send the item. The item is then routed through the network using the shortest path possible to its destination. If there are multiple possible destinations, the number of items in each logistics pipe will be interpreted as a desired ratio. Also a default route can be set on the pipe. This means it will accept any items that does not have a specific destination.

Provider logistics pipe: When attached to a chest it will extract items when requested from other logistics pipes. From 0.1.3 you can also specify which items should be provided in a GUI

Request logistics pipe: This pipe will attempt to gather the currently equipped item from any provider pipe attached to the network and have it routed to the request pipe.

Crafting logistics pipe: This pipe needs to be attached some kind of crafting device and will attempt to fulfill any request by crafting the item. It will first check if all materials are available before accepting a request. It is possible to have other crafting pipes fulfill the sub-request meaning that you can chain them together. You will need to configure the crafting table to produce what you want AND duplicate this in the crafting pipe (use wrench to open gui). Only 1 crafting table per crafting pipe supported. NOTE: Its not the pipe that does the crafting, its the crafting table so there is no point in tricking it with the wrong mats. When configuring the crafing pipe you do not need to match the recipe stack by stack. If the recipe requires four single-stack iron, you can put a stack of four iron in one of the item slots in the crafting pipe. The pipe should also work with furnaces and the like. Can be paired with a satellite pipe (see below)

Satellite logistics pipe: This pipe works together with the crafting pipe. Configured with the wrench you give it a unique id. Then you select this id in the crafting pipe. This will activate re-routing of the three rightmost item slots in the crafting pipe. If the satellite is off, all nine slot are available.

Supplier logistics pipe: This pipe is configured using the wrench and will try and keep adjacent chests supplied by requesting the missing items from the network.

Disclaimer:
This is currently ALPHA grade software, it has not been tested by anyone but myself and is not even finished. I highly recomend backing up everything minecraft related before trying this mod. I can currently not ensure world compatibility with future versions. Additional warning: This is my first mod, so I might not have a clue what I’m doing!

Videos
http://www.youtube.com/watch?v=D4aEY90ucSw (Spotlight update for 0.1.5 by direwolf20)
http://www.youtube.com/watch?v=-O-NH0F1T9E (0.1.4 + 0.1.5 by me)
http://www.youtube.com/watch?v=B5byFys9d58 (0.1.3 by me)
http://www.youtube.com/watch?v=3umzb9dEm-M (0.1.2 by me)
http://www.youtube.com/watch?v=GWIbbt1NLpE (Spotlight 0.1.1 by direwolf20)
http://www.youtube.com/watch?v=wyQXxghjISE (Spotlight 0.1.1 by odedex)
http://www.youtube.com/watch?v=StnD8DeZbx4 (Recap + 0.1.1 by me)
http://www.youtube.com/watch?v=3GYBfQsEW34 (A feature by the awesome SpaceToad)
http://www.youtube.com/watch?v=zFw1wXeBdW4 (Mod spotlight by the awesome direwolf20)
http://www.youtube.com/watch?v=qCNDMWf9aIs (0.1 by me)
http://www.youtube.com/watch?v=N9fNQaEQ7WY (0.0.1 by me)

Manual:
Required mods: Buildcraft (core + transport for sure, maybe others. Don’t know) + all mods that buildcraft depends on
Known conflicts with other mods: Using Optifine in combination with Zeldo’s additional pipes causes textures to be pink. HD Textures can cause pink textures.
Installation instructions: drop the zip into the mods folder and pray. DO NOT put it in the minecraft.jar. That’s all you’re getting from me =)

G Rt G
Gg Dp Gg
G Rt G

G = Glass
Dp = Diamond pipe
Gg = Golden gear
Rt = Redstone torch

gives you 8 Basic Logistics pipes.

P = Basic logistics pipe
g = Glowstone dust
r = Redstone
l = Lapis

g
d
Gives you 1 Request pipe

d
g
Gives you 1 Provider pipe

g P g
Gives you 1 crafting pipe

r P r
Gives you 1 satellite pipe

l P l
Gives you 1 supplier pipe

The remote orderer:
g = glass
D = Diamond Gear
g g
g g
D D
(Same shape as a door)

Also you can craft a Network Monitor
g g
G
g
g = gold ingot
G = gold gear
(Recipes are not by any means final)

To open the interfaces, you right click the pipe with a (buildcraft) wrench equipped. See the respective pipe for details.
In the interface you can have slots to put items that you want to have delivered to this pipe. It is possible to put multiple of the same item in (and multiple stacks). Doing this will instruct the logistics manager how big ratio this pipe should receive, should there be multiple destinations.

Items delivered to a logistics pipe will do one of the following
Prio 1 – deliver to a directly attached chest. If multiple are attached, a random one will be selected. It does not make an effort to ensure that there is room in the chest.
Prio 2 – deliver to an exit that has no logistics pipes, basically taking the item out of the network. If there are multiple choices, a random one will be selected.
Prio 3 – check with the logistics manager if there some other pipe that requests this item, if so route it there.
Last resort – If there is no connected chests, no possible non-routed exit and no other pipe wants the item. Drop it into the world.

Logistics pipes work best if there is a direct pipe connection between them. I have no influence over how standard buildcraft pipes choose to route the item. So if there is forks/splits in the connection between logistics pipes, expect weird results.

Rightclicking any logistics pipe without an item equipped will display the routes from that pipe to all other pipes it knows about. Mainly for debugging purposes, but it can be fun to watch. Rightclick again to toggle off.

Changes:

0.1.6
Bug fixes:
* Fixed incompatability with NEI on shift-clicking in configuration GUIs (holding shift will increase/decrease stack with 10 items instead of 1)
* Replaced client hang on crafting loops with a lag spike and error message
* Changed max stack size in configuration guis to 127 as that is the maximum stack size that can be saved to world file. This might be revisited to properly allow bigger stacks.

0.1.5
New stuff:
* The crafting pipe can now import recipes from configured automatic crafting tables. (ONLY works with automatic crafting tables)
* The provider can now also be configured to provide all items EXCEPT the ones in the filter
* The supplier can now be configured to do partial requests. If configured for it, it will first try requesting the full amount. Failing that it will request half the missing items, then half of that and so on down to 1
Bug fixes:
* Fixed an issue with logistics manager not using extras/leftovers properly
* Possible fix for nullpointerexception in sendFailed()
* Suppliers will no longer try to supply inventories with size 0 and are explicitly forbidden to supply redstone engines.
Other:
* You can now use the mouse wheel to change the requested number of items in the GUI for RemoteOrderer (experimental)
* The supplier will no longer supply while its GUI is open.

0.1.4
New stuff:
* RemoteOrderer – Instead of a GUI for requester pipe you get a portable item. Point at any logisticspipe (even basic ones) and you get your GUI. Lists all items and stock of all items in the current network that is connected to a provider. Items with a 0 are out of stock, but they might be able to be crafted. Items requested will be delivered to the logistics pipe you clicked on. Be aware that normal delivery rules apply. 1) Deliver to chest/inventory 2) Deliver to unrouted connection 3) Drop it
* Basic logisticspipe GUI and crafting GUI converted to use fake items. Upgrading to this version will convert your current items to fake ones and you will not get them back.

Bug fixes:
* Fixed nasty router bug (crash) due to lingering statics when you go between worlds without exiting MC.

Other:
* All requests will now favor providers/crafters closer (in terms of number of pipes) to the point of the request. Previously this was a bit undefined(random).
* Changed the Network Monitor sprite
* Replaced diamond with glowstone dust in the recipes for provider/requester/crafter pipes (yes, anyone playing legit may TMI exchange the appropriate amount of glowstone to diamonds as compensation)
* Slightly increased the extraction speed of providers

0.1.3
This is a minor release. I’m currently not coding much due to holidays, but I was playing legit and found a feature lacking so I added it. Also included the support for teleport pipes from the 0.1.2 special version.

New stuff:
* Provider pipes now have a filter gui. Putting items in it will ONLY provide those items. If empty it will provide all available items
* Logisticspipes now detect and use additionalpipes’ teleport pipes.

0.1.2
New stuff:
* Added Supplier pipe. Will try to keep an inventory supplied with the configured materials by requesting them from the network. Checks every 5 seconds (Do not place a provider pipe on the same chest and same network. It will not work!) oh, and Merry Christmas tomfoolery72!
* Added network monitor. Using this on any logistic pipe will bring up some network statistics
* Testing different a type of interface for supplier pipe. You do not need to use real items to configure suppliers.
* Requester pipes and crafting pipes will now attempt to re-request any items that go missing
* Added a network monitor to track some stats on the pipes.,
* Some behind the scenes tech improvements to be closer to saving the routed items to the world file.

Bug fixes:
* Changed the route table calculations to lazy-load (on demand). Didn’t see a point to completely recalculate the route table for every single router whenever the network changed. This should hopefully remove the massive lag spike some players are experiencing on maps with many pipes.
* Fixed provider pipes so they now work with double chests.
* Fixed the speed that non-requested extras from crafting pipes are extracted at.
* Fixed routing for items tagged with a destination that cannot be reached. It will now attempt to route it somewhere else or drop it. This is to prevent items randomly flowing around the logistics network.

Other:
* Items going to satellite pipes are now directly routed there
* Items crafted in furnace (or anything except crafting table) will now be picked up as soon as it is ready.
* Obsidian pipes will now (in addition to iron pipes) separate two networks
* Routing is now much more strict. Items in logistics pipes will no longer sometimes default to buildcraft’s standard way of directing items. If a pipe can not find a valid destination it will be dropped.

Remaining Issues:
* Its possible to cause circular recursion by have a crafting pipe craft A using B, at the same time as having another crafting pipe crafting B using A. This will crash the game
* Multiple providers on same chest.
* Supplier and provider connected to same chest and network.

0.1.1
New stuff:
* Added support in the crafting pipe to most IInventories (furnaces, chests etc)
* Added an output message stating why a request failed. Easier to know what you ran out of, easier for me to debug.
* Added new pipe, satellite pipe, these can be connected to crafting pipes and, if enabled, will send incoming materials in the 3 rightmost slots to the satellite instead of through the crafting pipe.

Bug fixes:
* Renamed zip file to solve issues on *nix (including Mac) when logisticspipes was loaded before buildcraft
* Renamed zip file to solve texture issues with other mods, only appearing when the other mod loaded after buildcraft, but before logisticspipes
* Did the right thing and added initiation of buildcraft, just in case this mod loads before buildcraft core.
* Fixed recipe for crafting pipe now its “dPd”, d = Diamond, P =Basic Logistics Pipe
* Routing no longer assumes that pipes next to each other actually are connected. (Cobblestone, smoothstone)
* Routing also makes additional checks to ensure that we don’t try and route over waterproof or conductive pipes.
* Route painting has been moved to the same method that calculates the paths for routes making it more robust and accurate
* Remove debug code accidentally left in provider pipes (to set time to day)
* Fixed bug where provider pipes extracts from connected pipes with inventory.
* Logisticsmanager will now properly make use of extra resources produced within a request
* Logisticsmanager will now make use of any extras from previous request that have not been crafted yet.
* Redid some routing logic. All routers now share a single map of all routers instead of having its own. Let me know how this works out
* Rightclicking on all all logisticspipes (except provider) will now allow placing of pipes

Other:
* Redesigned craftingpipe gui
* Changed the default routed speed to 10x normal speed, up from 5x. Upgrading users will have to update their config file.

0.1.0
* Ported to Minecraft 1.0.0 and Buildcraft 2.2.7
* Added requester, provider and crafting pipes
* Alternate textures for non-routed / routed exits
* Performance related fix that caused recalculation of shortest even when paths had not changed.
* Fixed bug that was could cause items to slow down if it was inputed at speeds higher than the speed the router would send them.
* “Fixed” routing bug – network wasn’t converging when loading world
* Iron pipes separate network segments
* Crafting, need specify input->output for logistics in gui (dynamic recepies)
* Logs to modloader.txt which texture ids it gets from buildcraft
* Added visual route “lasers”
* Added config file with some options.
* Other stuff I forgot about

0.0.2 Added “default route”
0.0.1 Initial alpha release

Known Issues:
(See separate thread)

non-secret Todo’s:
* Make prettier textures :-)
* SAVE STUFF! (Currently nothing gets persisted to the world file)
* Add automated unit tests to find bugs
* Other cool stuff
* More stuff
* Buildcraft 3.x!
* SMP

And I have some additional ideas to implement.

License:
Copyright (c) Krapht, 2011

“LogisticsPipes” is distributed under the terms of the Minecraft Mod Public License 1.0, or MMPL. Please check the contents of the license located in http://www.mod-buildcraft.com/MMPL-1.0.txt

Source code:
For long I was undecided if I wanted to release the source code at this early stage in development, but decided to do so for two major resons. 1) I wanted to release this as MMPL 2) Open source is good for a reason. Now people can easily look at my code and spot places to improve it. As a java “newbie” I might not be using the most efficient collections etc. Giving people access usually results in better code =)

Oh, its included in the download zip. So the zip contains both the source and the compiled mod. Nifty, right?

Download (direct):
(See http://www.mod-buildcraft.com/forums/topic/1-0-0-logistics-pipes/ for 3.x versions)
0.1.6A http://bit.ly/xt14sm
(bit.ly only for statistics, it’s a direct download)
Remember to backup your .minecraft before installing. Don’t blame me if I forgot a comma somewhere and your world blows up :-p

Old versions:
0.1.5A http://bit.ly/sTKqkJ
0.1.4A http://bit.ly/t2axtx
0.1.3A http://bit.ly/vxMNw5
0.1.2A http://bit.ly/tgSL74
0.1.1A http://dl.dropbox.com/u/8224895/Minecraft/LogisticsPipes/buildcraft-logisticspipes0.1.1A.zip
0.1.0A http://dl.dropbox.com/u/8224895/Minecraft/LogisticsPipes/buildcraft-logisticspipes0.1.0A.zip
0.0.2A: http://dl.dropbox.com/u/8224895/Minecraft/LogisticsPipes/LogisticsPipes002A.zip
0.0.1A: http://dl.dropbox.com/u/8224895/Minecraft/LogisticsPipes/LogisticsPipes001A.zip

Thanks:
SpaceToad – For making buildcraft and also for being open source about it. Without your work, this mod would never have been possible.
Direwolf20 – For making awesome youtube videos, very inspirational.
PowerKing – Oh you delicious energy drink that keeps me going. Nomnomnom

Donate:
I will not put a donation button anywhere. I did this for fun and will do it as long as it is entertaining. I do not want to feel pressured to maintain this mod should I lose interest in it (if that happends anyone else is free to pick it up though). But if you really reaaaally want to donate, you can find a donate button to SpaceToad on this very website. Buy him a beer for me =)

  • This reply was modified 562 days ago by  Krapht. Reason: Added video
  • This reply was modified 561 days ago by  Krapht. Reason: Added optifine as conflicting mod
  • This reply was modified 560 days ago by  Krapht.
  • This reply was modified 538 days ago by  SpaceToad.
  • This reply was modified 537 days ago by  Krapht. Reason: Changed name of zip file in hope of better compatability with Forestry
  • This reply was modified 537 days ago by  Krapht.
  • This reply was modified 529 days ago by  Krapht. Reason: Added video of 0.1.1
  • This reply was modified 527 days ago by  Krapht. Reason: Added !moar! videos
  • This reply was modified 527 days ago by  Krapht.
  • This reply was modified 523 days ago by  Krapht.
  • This reply was modified 523 days ago by  Krapht.
  • This reply was modified 523 days ago by  Krapht.
  • This reply was modified 516 days ago by  Krapht.
  • This reply was modified 516 days ago by  Krapht.
  • This reply was modified 516 days ago by  Krapht.
  • This reply was modified 513 days ago by  Krapht.
  • This reply was modified 509 days ago by  Krapht.
  • This reply was modified 508 days ago by  Krapht.
  • This reply was modified 503 days ago by  Krapht.
  • This reply was modified 503 days ago by  Krapht.
November 9, 2011 at 10:01 pm #1890

thewolfkillr

woot downloading thanks man this will go great with the next release of buildcraft

November 9, 2011 at 10:01 pm #1891

thewolfkillr

btw is this compatable with 2.2.4?

November 9, 2011 at 10:07 pm #1892

Krapht

Dunno, quite possibly. I started developing during 2.2.3 and haven’t changed anything (afik) due to incompatibilities.
I do know of one buildcraft issue that was fixed in 2.2.5 that affects this mod, but if it’s as I think then It will simply be performance related.
But please, try it out and let me know. All that is really needed it to backup the .minecraft folder and drop it it the mods folder. If it doesn’t work you can always go back.
Please dont use this on a “proper” save game yet though. I would try it out using a new world with TMI and play around with it and see if you can spot anything buggy =) I would appreciate the extra set of eyes

Edit: That is, if it even work for someone else… Maybe I have a superspecial minecraft folder so that it only “works on my machine”(http://www.codinghorror.com/blog/2007/03/the-works-on-my-machine-certification-program.html)

  • This reply was modified 562 days ago by  Krapht.
November 9, 2011 at 10:27 pm #1895

thewolfkillr

ok ill check it out for ya get back to ya on it tomorrow or tonight witchever

November 9, 2011 at 11:46 pm #1896

SpaceToad

Warm congratulations for you mods! You nailed down a pretty interesting mechanism here!

November 10, 2011 at 12:29 am #1900

Krapht

Added demo video

@SpaceToad Thanks! Feel free to “steal” it if you wish to integrate it in Transport :-p

November 10, 2011 at 2:32 pm #1916

thewolfkillr

ok found out that it works with 2.2.4 but one big issue in my opinion when you run optifine it fucks up the texture and makes it go purple zeldo had the same problem you might ask space toad about it or zeldo other than that everthing seems to be working fine and compatibility is good with all other big mods

November 10, 2011 at 5:42 pm #1926

Krapht

Aight, I’ll look into the Optifine issue and see what I can dig up. Also I’m hoping to get at least the gui part of the default route done today =)

November 10, 2011 at 5:48 pm #1927

thewolfkillr

ok ill check in about 5 hours

November 10, 2011 at 6:42 pm #1929

thewolfkillr

well i guess ill be watching but after the times up i wont be on

November 10, 2011 at 6:44 pm #1930

Krapht

Hmm, I installed optifine myself (the multicore version) and my textures seem ok. I do however see someone mention a problem with purple pipes with Zeldo’s mod and the recomendation was to install forge 1.1.1 (http://www.minecraftforum.net/topic/653775-mc181bc222-224rev29-buildcraft-teleport-pipes-now-called-additionalpipes/page__st__460) Judging from the forge and optifine downloads, some mc files are changed by both of them. I guess this could cause some incompatibility. I’m running with forge 1.1.2 and just got the latest version of optifine and its working for me. Which version of forge are you running, and which optifine?

November 10, 2011 at 6:49 pm #1931

thewolfkillr

forge 1.1.2
optifine forge edition

November 10, 2011 at 6:50 pm #1932

thewolfkillr

ill try seeing if theres a new version

November 10, 2011 at 7:00 pm #1933

Krapht

Nevermind… It didnt work for me either. Loading a saved world worked, but the item in TMI and then in inventory was just purple. And when I placed the pipe, all the previously working blocks also turned purple… Which is not fun because optifine really, seriously did increases FPS

Update: Reinstalling forge 1.1.2 in the same jar made it work again. And (I think) I’m using forge to override the buildcraft texture… But now ofc, while forge works, optifine is messed up

  • This reply was modified 561 days ago by  Krapht.
Viewing 15 posts - 1 through 15 (of 297 total)

The topic ‘[1.0.0] Logistics Pipes 0.1.6(ALPHA) for Buildcraft 2.2.x’ is closed to new replies.