LD Pipes do not work
fatboychummy opened this issue ยท 11 comments
Checked for existing issues
- I have checked for existing issues, and have found none.
Tested latest version
- I have checked that this occurs on the latest version.
GregTech CEu Version
1.1.3.b
Recipe Viewer Installed
None
Environment
Singleplayer
Cross-Mod Interaction
Unsure
Other Installed Mods
GregTech Community Pack Modern
Expected Behavior
When placing a pipeline (longer than 50 blocks), fluid should be able to flow through it.
Actual Behavior
Fluid does not flow through pipeline endpoints. Other types of fluid pipes actually even refuse to auto-connect (when placing with shift+rclick) to the pipeline endpoints.
Steps to Reproduce
- Place long pipeline (>50 blocks, I tested with ~100 and ~300 block pipelines).
- Add endpoints (or do this part first, either way seems to result in the same).
- Add a fluid tank source to your input endpoint and set it to output into the endpoint.
- Add an empty fluid tank to your output endpoint.
- Observe that no fluid gets outputted on the other side, and the fluid tank does not fill.
Additional Information
Other fluid pipes not auto-connecting
ding248.mp4
try wrenching the endpoints to reconnect them after placing? I noticed that needs to be done sometimes
also sometimes they break when reloading the world. ain't that fun?
Oh, interesting! I have found what you mean @screret : It seems that if you are flying and crouch it doesn't work (I was testing setups in creative mode when I ran into this issue, so I was flying the entire time!), but landing on the ground then crouching gives you the proper options to rotate the pipe end-pieces. From there, you can rotate it a different way and then back, and it starts working.
Interesting and weird issue, but at least there is a workaround.
Yeah, sorry for this late response, got like 4 assignments from my professors dumped on me all at once right after I posted this. I have tried wrenching, but the wrench outright just doesn't work on the endpoints. The right-click animation doesn't happen, and the overlay that shows sides that can be right-clicked has nothing there.
@fatboychummy, about last video. There is no autoconnect in gregtech.
@atikin19sh You can literally see it auto-connect to the tank in the first second of the video, lol. This behaviour exists for anything that can hold liquids or items (depending on the pipe used) if you crouch-place them.
@screret Tried both crouching, not crouching, etc. Nothing made it work.
Because I can't build forge edition, so I have to fix it by mixin. This mixin makes LD network correctly loading when entering a world.
@Mixin(value = LongDistanceEndpointMachine.class, remap = false)
abstract class MLongDistanceEndpointMachine extends MetaMachine {
public MLongDistanceEndpointMachine(IMachineBlockEntity holder) {
super(holder);
}
@Shadow
public abstract void updateNetwork();
@Inject(method = "onNeighborChanged", at = @At(value = "INVOKE", target = "Lcom/gregtechceu/gtceu/api/pipenet/longdistance/LongDistanceNetwork;get(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;)Lcom/gregtechceu/gtceu/api/pipenet/longdistance/LongDistanceNetwork;"))
private void update(Block block, BlockPos fromPos, boolean isMoving, CallbackInfo ci) {
this.updateNetwork();
}
@Inject(method = "updateNetwork", at = @At("HEAD"), cancellable = true)
private void checkWorldNull(CallbackInfo ci) {
if (getLevel().isClientSide()) {
ci.cancel();
}
}
@Override
public void onLoad() {
super.onLoad();
updateNetwork();
}
@Override
public void notifyBlockUpdate() {
super.notifyBlockUpdate();
updateNetwork();
}
}
I didn't test if it can fix the initiative setup bug of LD pipes. Maybe it can.